Compare commits

...

175 Commits

Author SHA1 Message Date
Molkobain
cbaff212e7 N°7438 - Dashboard: Fix crash when closing the editor modal 2024-04-09 10:50:51 +02:00
Eric Espie
7f9b60d66f N°5913 - Add Event Listener methods & enhance methods management 2024-03-28 11:02:55 +01:00
Eric Espie
1278c4b196 N°7165 - Error message on application upgrade fatal Error due to CSS compilation 2024-03-27 11:11:55 +01:00
Eric Espie
a7f3bf9a56 N°7294 - EVENT_ADD_ATTACHMENT_TO_OBJECT not triggered 2024-03-27 10:34:48 +01:00
Eric Espie
4eed5bdeb9 N°7165 - Error message on application upgrade fatal Error due to CSS compilation 2024-03-27 10:12:21 +01:00
Eric Espie
7b999cef50 Compilation issue 2024-03-26 11:57:08 +01:00
Eric Espie
90458f6048 N°6974 - Flatten classes in datamodel - Allow _delta="merge" in strict mode 2024-03-22 10:11:25 +01:00
Molkobain
3653a4bc90 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	css/setup.css
2024-03-21 15:52:57 +01:00
Molkobain
bdfd956825 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	css/setup.css
#	setup/setuppage.class.inc.php
2024-03-21 15:37:33 +01:00
Molkobain
da99a250bf N°7075 - Add check for Content Security Policies (CSP) in the setup 2024-03-21 14:20:22 +01:00
Molkobain
5554241877 N°7122 N°4164 - Fix wrong merge in b08b5297 2024-03-21 14:04:18 +01:00
Eric Espié
2f30a0146e N°6974 - Flatten classes in datamodel (#603)
* N°6974 - Flatten classes in datamodel

* N°6882 - LoadDelta() in lax/strict mode

* N°6974 - Flatten classes in datamodel

* N°6882 - LoadDelta() in lax/strict mode

* N°7186 - Code hardening

* N°6974 - Flatten classes in datamodel

* N°6660 and N°7318 - Support delete_if_exists and define_if_not_exists in XML injection

* N°6974 - Flatten classes in datamodel

* Apply suggestions from code review

* Update core/designdocument.class.inc.php

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-03-19 13:53:14 +01:00
Pierre Goiffon
1de9e704fc Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-18 18:19:52 +01:00
Pierre Goiffon
f4b9a9a5fe N°6455 Fix datepicker widget icon on button
The buttonText is now escaped

(cherry picked from commit fa5d03fc6e)
2024-03-18 18:19:30 +01:00
Pierre Goiffon
fa5d03fc6e N°6455 Fix datepicker widget icon on button
The buttonText is now escaped
2024-03-18 18:15:39 +01:00
jf-cbd
8ffcb01c43 Merge branch 'support/3.0' into support/3.1 2024-03-14 17:00:20 +01:00
jf-cbd
5c46b4ef4a Added modules to GetLtsCompatibleModulesList (Dictionnarie tests) 2024-03-14 16:59:32 +01:00
Pierre Goiffon
79cdb837b5 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	core/log.class.inc.php
2024-03-14 09:13:56 +01:00
Pierre Goiffon
a97935ca01 N°7336 DeprecatedCallsLog robustness (#632)
Was creating PHP notices when deprecated method caller wasn't a class/method
Found in iTop 3.2.0-dev with itop-object-copier copy.php : it is calling WebPage::add_linked_script directly inside the copy.php script (no class nor function)

Co-authored-by: odain <olivier.dain@combodo.com>
2024-03-13 15:38:21 +01:00
Molkobain
87181669d1 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-13 15:18:33 +01:00
Molkobain
efd7fb0f59 N°7331 - Fix wrong file extension in .htaccess file 2024-03-13 15:16:46 +01:00
Pierre Goiffon
71a0f8b87d Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-13 10:03:48 +01:00
Pierre Goiffon
a4edf8cb21 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	tests/php-unit-tests/unitary-tests/setup/SetupUtilsTest.php
2024-03-13 09:59:28 +01:00
Pierre Goiffon
dbd5ba0377 N°7302 Fix SetupUtilsTest::testHumanReadableSize 2024-03-13 09:56:31 +01:00
Pierre Goiffon
5d6f293956 N°7302 Report SetupUtilsTest::testHumanReadableSize in the 2.7 branch 2024-03-13 09:48:46 +01:00
Pierre Goiffon
65e6c84477 N°7302 Fix SetupUtilsTest::testHumanReadableSize 2024-03-13 09:37:34 +01:00
Pierre Goiffon
9cc7ccb1cd Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-13 09:27:39 +01:00
Pierre Goiffon
a337ef3d88 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	setup/modelfactory.class.inc.php
#	setup/setuputils.class.inc.php
2024-03-13 09:27:06 +01:00
Pierre Goiffon
986c24d777 N°7302 Fix unit name in \SetupUtils::HumanReadableSize (#626) 2024-03-12 18:09:29 +01:00
Pierre Goiffon
763112c179 N°7344 rest.php core/get : add try/catch around query execution (#622)
Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-03-12 18:08:04 +01:00
Pierre Goiffon
a5efd981d8 N°7343 Catch ParseError when loading dict files in setup (#615) 2024-03-12 18:05:38 +01:00
Pierre Goiffon
c0e4d04a1c Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	tests/php-unit-tests/unitary-tests/core/DBObjectTest.php
2024-03-12 17:36:04 +01:00
Pierre Goiffon
289ca7b505 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-03-12 17:34:51 +01:00
Pierre Goiffon
2922b22478 \DBObject::GetSearchForUniquenessRule remove wrong @api 2024-03-12 17:34:28 +01:00
Pierre Goiffon
2af05a437e N°4314 - Fix Uniqueness rules not working with Silo
(cherry picked from commit e8c11f38d2)
2024-03-12 17:32:56 +01:00
vdumas
71d9536bc4 N°7268 Method SetComputedDate fails on Date only attribute
(cherry picked from commit b6caa51552)
(cherry picked from commit c8810708ef)
2024-03-12 17:29:04 +01:00
Molkobain
b08b5297cf N°7122 N°4164 - Adjustment to Symfony 5.4 2024-03-11 21:57:37 +01:00
Molkobain
3e6e096f62 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig
2024-03-11 21:27:59 +01:00
Molkobain
6377a738c5 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-03-11 21:18:53 +01:00
Molkobain
a9f8dcc5e8 N°7122 N°4164 - Portal: Hide log off button when user can't actually log off (eg. SSO using SAML or other providers) (#599)
* N°7122 N°4164 - Portal: Hide log off button when user can't actually log off (eg. SSO using SAML or other providers)

* N°7122 - Fix typo

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>

---------

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
2024-03-11 21:13:09 +01:00
Pierre Goiffon
9750fec959 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-11 16:40:14 +01:00
Pierre Goiffon
969a301cbb Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-03-11 16:40:01 +01:00
Pierre Goiffon
c325294e17 N°6599 Update moment from 2.22.2 to 2.30.1 2024-03-11 16:39:05 +01:00
Benjamin Dalsass
af2c6d9ab8 N°7279 - AttributeClass defined in XML datamodel compilation issue
- make more_values property optional
2024-03-11 16:03:38 +01:00
Eric Espie
cf6e8ab22a N°6974 - Add unit tests for compatibility validation 2024-03-08 13:29:04 +01:00
Pierre Goiffon
9032dac314 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-08 11:13:43 +01:00
Pierre Goiffon
a29b0a8e33 N°6455 Update JQuery-UI from 1.12.1 to 1.13.2 2024-03-08 11:13:32 +01:00
Pierre Goiffon
c1efad7556 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-07 11:11:34 +01:00
Pierre Goiffon
f78b57521a Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-03-07 11:11:19 +01:00
Pierre Goiffon
da490739be 💡 Fix \CMDBSource::Query phpdoc block 2024-03-07 11:10:53 +01:00
Pierre Goiffon
bf4b07a366 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-04 08:41:25 +01:00
Pierre Goiffon
48de13b5cf Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-03-04 08:32:59 +01:00
Pierre Goiffon
b867faa355 Fix DBObjectTest
Error was "Class 'Combodo\iTop\Test\UnitTest\Core\DBObjectSet' not found"
2024-03-04 08:09:35 +01:00
Pierre Goiffon
849c495093 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-01 17:26:19 +01:00
Pierre Goiffon
e878938e25 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-03-01 17:26:05 +01:00
jf-cbd
7453cc184f ✏️ fix a typo 2024-03-01 17:25:08 +01:00
Eric Espie
3b9ca4ad18 N°7310 - New Event to handle available Transitions 2024-03-01 09:39:00 +01:00
Anne-Cath
eddc750ca8 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	pages/audit.php
#	tests/php-unit-tests/unitary-tests/core/DBSearchTest.php
2024-02-29 16:53:39 +01:00
Anne-Cath
f3abe1ff13 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	pages/audit.php
2024-02-29 16:50:04 +01:00
Anne-Catherine
473cf004b6 N°6968 - Audit duration : add of a rule multiplie by 4 the time of response (#575) 2024-02-29 16:33:04 +01:00
Pierre Goiffon
46273dfc12 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-28 16:43:51 +01:00
Pierre Goiffon
24f1cf8ca1 💡 Fix deprecated in JSDoc 2024-02-28 16:43:40 +01:00
Anne-Catherine
86bf6ba0b0 N°5547 - Object deletion fails if friendlyname too long (#529) 2024-02-27 17:59:37 +01:00
Anne-Catherine
82e19f6eca N°6543 - Fix display of AttributeText with width parameter (#521) 2024-02-27 17:42:59 +01:00
Eric Espie
8f1d8b1dc2 N°7294 - EVENT_ADD_ATTACHMENT_TO_OBJECT not triggered on the object 2024-02-27 17:39:53 +01:00
Molkobain
3cc3f0e4ff N°7288 - Fix page crash due to unescaped characters in relations row actions (#620) 2024-02-27 08:34:34 +01:00
Molkobain
b7f43ba22b Fix test case case when context tag is present more than once 2024-02-21 18:27:21 +01:00
Molkobain
b13e0c92a5 Fix test case dependant to setup option Change Management Simple vs ITIL 2024-02-21 18:13:27 +01:00
jf-cbd
aa81c94dad Improved test and test cleanup 2024-02-21 16:30:00 +01:00
Benjamin Dalsass
f41f2a063d N°7279 - AttributeClass defined in XML datamodel compilation issue 2024-02-21 10:41:47 +01:00
Pierre Goiffon
095c94a917 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-20 12:11:57 +01:00
Pierre Goiffon
102a4a0c75 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/attributedef.class.inc.php
2024-02-20 12:11:02 +01:00
Pierre Goiffon
f6fec506b1 💡 Some PHPDoc hints on value types to pass to DBObject::Set 2024-02-20 12:10:00 +01:00
Pierre Goiffon
7d0801f74f Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-20 09:27:26 +01:00
Pierre Goiffon
3b9f281afd N°7246 DictionariesConsistencyTest : remove combodo-approval-light
We have an invalid CS dict in the 1.2.3 module version
2024-02-20 09:27:15 +01:00
Pierre Goiffon
bcba666483 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-20 09:12:47 +01:00
Pierre Goiffon
ec465174f7 N°7246 DictionariesConsistencyTest : remove syntax incompatible with PHP < 7.3 2024-02-20 09:11:47 +01:00
Molkobain
9f675fef02 N°7231 - PHP 8.1: Migrate deprecated usages of rawurlencode() with null value 2024-02-19 20:19:36 +01:00
Molkobain
1d106eb33a Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-19 09:51:08 +01:00
Molkobain
31bd763b90 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-02-19 09:49:26 +01:00
Molkobain
5c12151c26 📝 Update PR template 2024-02-19 09:46:12 +01:00
vdumas
961315cf34 N°6826 - Add SQL value for file attribute in DocumentFile 2024-02-16 10:37:44 +01:00
Pierre Goiffon
95fef002a6 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-15 14:43:19 +01:00
Pierre Goiffon
9777ac1a5c N°7246 DictionariesConsistencyTest : don't test extensions modules in old iTop builds 2024-02-15 14:39:00 +01:00
Pierre Goiffon
ba0020fa63 N°7246 Fix dict files : translated keys with tildes in /dictionaries/** 2024-02-15 10:59:10 +01:00
Pierre Goiffon
1e83f2eb60 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	dictionaries/ui/layouts/navigation-menu/pt_br.dictionary.itop.navigation-menu.php
#	dictionaries/ui/layouts/navigation-menu/zh_cn.dictionary.itop.navigation-menu.php
2024-02-15 10:55:54 +01:00
Pierre Goiffon
dd27a3ebb4 N°7246 Fix dict files : translated keys with tildes in /dictionaries/** 2024-02-15 10:50:08 +01:00
Pierre Goiffon
54439ad529 N°7249 DictionariesConsistencyTest : also scan /dictionaries sub-directories
Since 3.0.0 we introduced sub directories
2024-02-15 10:46:42 +01:00
Pierre Goiffon
2c61ac4949 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-15 09:47:55 +01:00
Pierre Goiffon
8f7bf00551 N°7246 DictionariesConsistencyTest : add /extensions for local debugging 2024-02-15 09:46:14 +01:00
Molkobain
0483cea226 N°7212 - PHP 8.1: Migrate remaining usages of strlen() with null value (#607) 2024-02-14 19:29:26 +01:00
Molkobain
922a842e96 N°7213 - PHP 8.1: Migrate remaining usages of md5() with null value (#608)
* N°7213 - PHP 8.1: Migrate remaining usages of md5() with null value

* Update core/attributedef.class.inc.php
2024-02-14 19:27:14 +01:00
Pierre Goiffon
e4f068a518 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-14 15:17:14 +01:00
Pierre Goiffon
c020de59a7 📝 tests README : retrofit of the support/3.2 version 2024-02-14 15:16:58 +01:00
vdumas
3c2350961d N°7217 - Not able to create a link between "Audit Domain" and "Audit category" with an "Audit Manager" profile 2024-02-14 14:38:21 +01:00
Pierre Goiffon
391c78ae42 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	datamodels/2.x/combodo-db-tools/dictionaries/zh_cn.dict.combodo-db-tools.php
#	datamodels/2.x/itop-attachments/dictionaries/zh_cn.dict.itop-attachments.php
#	datamodels/2.x/itop-backup/dictionaries/da.dict.itop-backup.php
#	datamodels/2.x/itop-backup/dictionaries/it.dict.itop-backup.php
#	datamodels/2.x/itop-backup/dictionaries/ja.dict.itop-backup.php
#	datamodels/2.x/itop-backup/dictionaries/sk.dict.itop-backup.php
#	datamodels/2.x/itop-backup/dictionaries/tr.dict.itop-backup.php
#	datamodels/2.x/itop-config-mgmt/dictionaries/it.dict.itop-config-mgmt.php
#	datamodels/2.x/itop-config/dictionaries/da.dict.itop-config.php
#	datamodels/2.x/itop-config/dictionaries/it.dict.itop-config.php
#	datamodels/2.x/itop-config/dictionaries/ja.dict.itop-config.php
#	datamodels/2.x/itop-config/dictionaries/sk.dict.itop-config.php
#	datamodels/2.x/itop-config/dictionaries/tr.dict.itop-config.php
#	datamodels/2.x/itop-core-update/dictionaries/cs.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/da.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/it.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/ja.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/sk.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/tr.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/zh_cn.dict.itop-core-update.php
#	datamodels/2.x/itop-faq-light/dictionaries/zh_cn.dict.itop-faq-light.php
#	datamodels/2.x/itop-files-information/dictionaries/de.dict.itop-files-information.php
#	datamodels/2.x/itop-files-information/dictionaries/pl.dict.itop-files-information.php
#	datamodels/2.x/itop-files-information/dictionaries/zh_cn.dict.itop-files-information.php
#	datamodels/2.x/itop-hub-connector/dictionaries/pt_br.dict.itop-hub-connector.php
#	datamodels/2.x/itop-oauth-client/dictionaries/cs.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/da.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/es_cr.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/it.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/ja.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/nl.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/pt_br.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/ru.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/sk.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/tr.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/zh_cn.dict.itop-oauth-client.php
#	datamodels/2.x/itop-service-mgmt-provider/dictionaries/de.dict.itop-service-mgmt-provider.php
#	datamodels/2.x/itop-tickets/dictionaries/da.dict.itop-tickets.php
#	datamodels/2.x/itop-tickets/dictionaries/hu.dict.itop-tickets.php
#	datamodels/2.x/itop-tickets/dictionaries/it.dict.itop-tickets.php
#	datamodels/2.x/itop-tickets/dictionaries/ja.dict.itop-tickets.php
#	dictionaries/cs.dictionary.itop.ui.php
#	dictionaries/da.dictionary.itop.core.php
#	dictionaries/da.dictionary.itop.ui.php
#	dictionaries/de.dictionary.itop.ui.php
#	dictionaries/en.dictionary.itop.ui.php
#	dictionaries/es_cr.dictionary.itop.ui.php
#	dictionaries/fr.dictionary.itop.ui.php
#	dictionaries/hu.dictionary.itop.ui.php
#	dictionaries/it.dictionary.itop.core.php
#	dictionaries/it.dictionary.itop.ui.php
#	dictionaries/ja.dictionary.itop.core.php
#	dictionaries/ja.dictionary.itop.ui.php
#	dictionaries/nl.dictionary.itop.ui.php
#	dictionaries/pl.dictionary.itop.core.php
#	dictionaries/pl.dictionary.itop.ui.php
#	dictionaries/pt_br.dictionary.itop.core.php
#	dictionaries/pt_br.dictionary.itop.ui.php
#	dictionaries/ru.dictionary.itop.core.php
#	dictionaries/ru.dictionary.itop.ui.php
#	dictionaries/sk.dictionary.itop.core.php
#	dictionaries/sk.dictionary.itop.ui.php
#	dictionaries/tr.dictionary.itop.core.php
#	dictionaries/tr.dictionary.itop.ui.php
#	dictionaries/zh_cn.dictionary.itop.core.php
#	dictionaries/zh_cn.dictionary.itop.ui.php
#	tests/php-unit-tests/integration-tests/DictionariesConsistencyTest.php
2024-02-14 14:21:22 +01:00
Pierre Goiffon
aa53de467d Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-02-14 11:39:42 +01:00
Pierre Goiffon
bc6efc99ed N°7246 Fix dict files : remove keys defined multiple times in the same file 2024-02-14 11:20:02 +01:00
Pierre Goiffon
bb3ab76205 N°7246 Fix dict files : missing constants in dict labels 2024-02-14 11:20:02 +01:00
Pierre Goiffon
0b1bdfff55 N°7246 Fix dict files : translated keys with tildes
Note that there were some keys in EN files with tildes at the end
2024-02-14 11:20:02 +01:00
Pierre Goiffon
77c0cdf5aa N°7246 📝 test README : add markTestAsSkipped restrictions 2024-02-14 11:20:02 +01:00
Pierre Goiffon
af9fb74c54 N°7246 Add new tests methods in DictionariesConsistencyTest (#610)
Adding following checks:
* no duplicate key in the same file
* for each value different than its EN counterpart, no tildes at the end
* good use of iTop name constants (ITOP_APPLICATION_SHORT, ITOP_APPLICATION, ITOP_VERSION_NAME), eg `'my value ITOP_APPLICATION'` instead of `'my value '.ITOP_APPLICATION`
2024-02-14 11:20:02 +01:00
Pierre Goiffon
5d6c4939f6 N°7245 Bettor logs on RunTimeEnvironment::CallInstallerHandlers exceptions (#606) 2024-02-14 11:01:12 +01:00
Pierre Goiffon
5663c61e51 N°7179 Remove unused var in ActionEmail::PrepareMessageContent (#605)
Introduced in fed149d in 3.1.0
2024-02-14 10:32:23 +01:00
Pierre Goiffon
51d0d16a11 N°7052 synchro_import.php: fix undefined offset notices (#583)
Regression brought by #269
2024-02-14 09:53:31 +01:00
Pierre Goiffon
848528567e Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	dictionaries/en.dictionary.itop.ui.php
2024-02-09 13:41:23 +01:00
Pierre Goiffon
b0634c9fbc N°7232 Fix regression on UI:RunQuery:Error
In the UI:RunQuery:Error key, the placeholder was removed when we migrated run_query.php to using UiBlock and Panel.
But it was restored by mistake in f65c6904 (N°5491 in 3.0.4 / 3.1.1)
This was the only key modified for this bug in a EN file.
2024-02-09 13:30:47 +01:00
Pierre Goiffon
fabeea8dba Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-09 12:05:00 +01:00
Pierre Goiffon
c951a33646 📝 Update js/README.md file locations 2024-02-09 12:04:21 +01:00
Pierre Goiffon
8f250e82f4 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-08 11:34:32 +01:00
Pierre Goiffon
ed694b09b0 💡 Update test PHPDoc 2024-02-08 11:34:13 +01:00
Timmy38
18deb79068 N°7172 HTML markup for n:n set properties (#604)
* N°7172 HTML markup for n:n set properties
2024-01-29 15:35:17 +01:00
Molkobain
4d4cdf9e60 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-01-24 15:18:37 +01:00
Molkobain
3868d57d28 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-01-24 15:11:29 +01:00
Molkobain
1b3a2c8470 N°5775 - Show error message to user in case of issue during token generation 2024-01-24 14:49:51 +01:00
Dennis Lassiter
618d8e6468 N°5775 - Allow configuration of OAuth client on MS Azure with single tenant (#553)
* Add Tenant-Support for Azure OAuthClient

* Improvement: Make tenant required

* Improvment: Removed check for null-value

Since last commit, the "tenant"-field either set to a custom value or "common" by default. It is not allowed to be null

* Add field description

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-01-24 14:38:54 +01:00
odain
53a2a7a8e2 N°7147 - cleanup 2024-01-23 20:45:35 +01:00
odain
9a26c37ffd N°7147 - Error HTTP 500 due to access_token not URL decoded 2024-01-23 16:50:21 +01:00
Eric Espie
cc5e105d7f N°7070 - remove _delta attribute from datamodel and avoid _delta attributes under a node having _delta in [define, define_if_not_exist, redefine, force] in deltas 2024-01-17 15:12:08 +01:00
jf-cbd
7f62bd61e3 N°7134 - Can't retrieve the list of changes when editing URP_UserProfile 2024-01-17 15:05:30 +01:00
Molkobain
72bbc31cd9 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-01-16 19:48:33 +01:00
Molkobain
f54d1273c9 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-01-16 19:46:55 +01:00
Molkobain
01a955a16f 📝 Add PR template 2024-01-16 19:42:39 +01:00
Pierre Goiffon
669e6f93fa Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-01-16 11:00:52 +01:00
Pierre Goiffon
a5aac0caad N°7143 Woops removed forgotten echo 2024-01-16 10:25:28 +01:00
Pierre Goiffon
31e29506fa N°7143 DictionariesConsistencyTest::testNoDictFileInDatamodelsModuleRootDirectory Add exclusion list to remove modules that must be compatible with iTop 2.7 2024-01-16 10:18:50 +01:00
Anne-Cath
3005bc1234 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-01-15 16:34:01 +01:00
Anne-Cath
3f3b0cbe55 Fix merge support/2.7 to support/3.0 2024-01-15 16:25:10 +01:00
Anne-Catherine
cff50f8732 N°3448 - Framework field size check not correctly implemented for multibytes languages/strings (#528) 2024-01-15 16:10:23 +01:00
Anne-Cath
a8cd9566ac Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-01-15 16:01:48 +01:00
Anne-Cath
dab03e5b5d Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/cmdbabstract.class.inc.php
2024-01-15 15:56:24 +01:00
Anne-Catherine
87582a021b N°6993 - Error message on bulk transition on object containing a null blob (#596) 2024-01-15 15:49:19 +01:00
Pierre Goiffon
200cdefa1a Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	datamodels/2.x/itop-core-update/dictionaries/pt_br.dict.itop-core-update.php
#	datamodels/2.x/itop-hub-connector/dictionaries/pl.dict.itop-hub-connector.php
#	datamodels/2.x/itop-hub-connector/dictionaries/pt_br.dict.itop-hub-connector.php
#	datamodels/2.x/itop-hub-connector/dictionaries/zh_cn.dict.itop-hub-connector.php
#	datamodels/2.x/itop-welcome-itil/dictionaries/tr.dict.itop-welcome-itil.php
2024-01-15 15:44:48 +01:00
Pierre Goiffon
8ef04bedf2 N°7143 Move datamodels/2.x dict files to dictionaries subdir
New phpunit method to ensure it won't happen again
2024-01-15 15:35:15 +01:00
Pierre Goiffon
9eeb4b8751 N°7143 itop-hub-connector dic files: fix buggy br tags 2024-01-15 15:35:15 +01:00
Pierre Goiffon
ae3d0f9444 N°7143 Fix bytes unit in attachments EN dict 2024-01-15 15:35:15 +01:00
Molkobain
1fa4fe6d35 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-01-12 12:05:24 +01:00
Molkobain
2ed0666c3b N°7085 - Remove comment about annotation as on support/3.0 branch not using runTestsInSeparateProcesses is the standard 2024-01-12 10:53:24 +01:00
odain
9b5988133b Merge branch 'support/3.0' into support/3.1 2024-01-12 08:57:51 +01:00
odain
a61b117f71 Merge branch 'support/2.7' into support/3.0 2024-01-12 08:56:25 +01:00
odain
9830178a47 N°7085 - ci restore runTestsInSeparateProcesses 2024-01-12 08:36:15 +01:00
odain
83ac219ec9 Merge branch 'support/2.7' into support/3.0 2024-01-12 08:19:05 +01:00
odain-cbd
c140ebcb6b N°7085 - Fix infinite loop in login page until fatal error occurs (#592)
* N°7085 - login page infinite loop until fatal error- add Config->AddAllowedLoginTypes

* N°7085 - reproduce issue via a test

* N°7085-fix infinite loop

* N°7085 - ci: fix config file rights in tearDown

* N°7085 - ci: fix config file rights in tearDown (again)

* N°7085 - ci: fix config file content

* N°7085 - ci : add runTestsInSeparateProcesses

* Update core/config.class.inc.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* N°7085 - exit -1 + enhance log message

* PR feedbacks from Romain regarding LoginTest annotations

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-01-12 08:13:40 +01:00
Molkobain
fddf9e36c7 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-01-11 22:16:10 +01:00
Molkobain
b181914d25 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-01-11 22:04:48 +01:00
Molkobain
7a0a4e377b N°7137 - Fix regression from 7fffbb60, missing "default_value" parameter 2024-01-11 16:40:40 +01:00
Thomas Casteleyn
7fffbb60e9 N°7137 - DataSynchro: Remove "Organization" as default value for SynchroReplica->dest_class (#551) 2024-01-11 15:38:02 +01:00
Benjamin Dalsass
03b095f246 N°7133 - Linkset displayed as property failed when filter contains single quote or new line 2024-01-10 16:50:03 +01:00
Pierre Goiffon
e8c371174c Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	approot.inc.php
#	datamodels/2.x/authent-cas/module.authent-cas.php
#	datamodels/2.x/authent-external/module.authent-external.php
#	datamodels/2.x/authent-ldap/module.authent-ldap.php
#	datamodels/2.x/authent-local/module.authent-local.php
#	datamodels/2.x/combodo-backoffice-darkmoon-theme/module.combodo-backoffice-darkmoon-theme.php
#	datamodels/2.x/combodo-db-tools/module.combodo-db-tools.php
#	datamodels/2.x/itop-attachments/module.itop-attachments.php
#	datamodels/2.x/itop-backup/module.itop-backup.php
#	datamodels/2.x/itop-bridge-cmdb-ticket/module.itop-bridge-cmdb-ticket.php
#	datamodels/2.x/itop-bridge-virtualization-storage/module.itop-bridge-virtualization-storage.php
#	datamodels/2.x/itop-change-mgmt-itil/module.itop-change-mgmt-itil.php
#	datamodels/2.x/itop-change-mgmt/module.itop-change-mgmt.php
#	datamodels/2.x/itop-config-mgmt/module.itop-config-mgmt.php
#	datamodels/2.x/itop-config/module.itop-config.php
#	datamodels/2.x/itop-core-update/module.itop-core-update.php
#	datamodels/2.x/itop-datacenter-mgmt/module.itop-datacenter-mgmt.php
#	datamodels/2.x/itop-endusers-devices/module.itop-endusers-devices.php
#	datamodels/2.x/itop-faq-light/module.itop-faq-light.php
#	datamodels/2.x/itop-files-information/module.itop-files-information.php
#	datamodels/2.x/itop-full-itil/module.itop-full-itil.php
#	datamodels/2.x/itop-hub-connector/module.itop-hub-connector.php
#	datamodels/2.x/itop-incident-mgmt-itil/module.itop-incident-mgmt-itil.php
#	datamodels/2.x/itop-knownerror-mgmt/module.itop-knownerror-mgmt.php
#	datamodels/2.x/itop-oauth-client/module.itop-oauth-client.php
#	datamodels/2.x/itop-portal-base/module.itop-portal-base.php
#	datamodels/2.x/itop-portal/module.itop-portal.php
#	datamodels/2.x/itop-problem-mgmt/module.itop-problem-mgmt.php
#	datamodels/2.x/itop-profiles-itil/module.itop-profiles-itil.php
#	datamodels/2.x/itop-request-mgmt-itil/module.itop-request-mgmt-itil.php
#	datamodels/2.x/itop-request-mgmt/module.itop-request-mgmt.php
#	datamodels/2.x/itop-service-mgmt-provider/module.itop-service-mgmt-provider.php
#	datamodels/2.x/itop-service-mgmt/module.itop-service-mgmt.php
#	datamodels/2.x/itop-sla-computation/module.itop-sla-computation.php
#	datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php
#	datamodels/2.x/itop-structure/module.itop-structure.php
#	datamodels/2.x/itop-themes-compat/module.itop-themes-compat.php
#	datamodels/2.x/itop-tickets/module.itop-tickets.php
#	datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php
#	datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php
#	datamodels/2.x/version.xml
2024-01-05 17:48:19 +01:00
Pierre Goiffon
b8892e9651 🔖 Prepare 3.0.4 version 2024-01-05 17:34:39 +01:00
Pierre Goiffon
8cde0ce5c5 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	approot.inc.php
#	css/css-variables.scss
#	datamodels/2.x/authent-cas/module.authent-cas.php
#	datamodels/2.x/authent-external/module.authent-external.php
#	datamodels/2.x/authent-ldap/module.authent-ldap.php
#	datamodels/2.x/authent-local/module.authent-local.php
#	datamodels/2.x/combodo-db-tools/module.combodo-db-tools.php
#	datamodels/2.x/itop-attachments/module.itop-attachments.php
#	datamodels/2.x/itop-backup/module.itop-backup.php
#	datamodels/2.x/itop-bridge-virtualization-storage/module.itop-bridge-virtualization-storage.php
#	datamodels/2.x/itop-change-mgmt-itil/module.itop-change-mgmt-itil.php
#	datamodels/2.x/itop-change-mgmt/module.itop-change-mgmt.php
#	datamodels/2.x/itop-config-mgmt/module.itop-config-mgmt.php
#	datamodels/2.x/itop-config/module.itop-config.php
#	datamodels/2.x/itop-core-update/module.itop-core-update.php
#	datamodels/2.x/itop-datacenter-mgmt/module.itop-datacenter-mgmt.php
#	datamodels/2.x/itop-endusers-devices/module.itop-endusers-devices.php
#	datamodels/2.x/itop-files-information/module.itop-files-information.php
#	datamodels/2.x/itop-full-itil/module.itop-full-itil.php
#	datamodels/2.x/itop-hub-connector/module.itop-hub-connector.php
#	datamodels/2.x/itop-incident-mgmt-itil/module.itop-incident-mgmt-itil.php
#	datamodels/2.x/itop-knownerror-mgmt/module.itop-knownerror-mgmt.php
#	datamodels/2.x/itop-oauth-client/module.itop-oauth-client.php
#	datamodels/2.x/itop-portal-base/module.itop-portal-base.php
#	datamodels/2.x/itop-portal/module.itop-portal.php
#	datamodels/2.x/itop-problem-mgmt/module.itop-problem-mgmt.php
#	datamodels/2.x/itop-profiles-itil/module.itop-profiles-itil.php
#	datamodels/2.x/itop-request-mgmt-itil/module.itop-request-mgmt-itil.php
#	datamodels/2.x/itop-request-mgmt/module.itop-request-mgmt.php
#	datamodels/2.x/itop-service-mgmt-provider/module.itop-service-mgmt-provider.php
#	datamodels/2.x/itop-service-mgmt/module.itop-service-mgmt.php
#	datamodels/2.x/itop-sla-computation/module.itop-sla-computation.php
#	datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php
#	datamodels/2.x/itop-tickets/module.itop-tickets.php
#	datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php
#	datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php
#	datamodels/2.x/version.xml
2024-01-05 17:26:28 +01:00
Pierre Goiffon
2fd9523c16 🔖 Prepare 2.7.10 version 2024-01-05 15:50:41 +01:00
Eric Espie
18887bf7f9 N°7118 - Act on guaranteed object deletion, with the object still accessible (EVENT_DB_ABOUT_TO_DELETE) 2024-01-05 11:21:59 +01:00
Pierre Goiffon
fad5571d9b Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-01-05 11:03:34 +01:00
Pierre Goiffon
48c4e2d13d Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/ajaxwebpage.class.inc.php
#	application/webpage.class.inc.php
#	application/xmlpage.class.inc.php
#	core/config.class.inc.php
2024-01-05 10:58:51 +01:00
Eric Espie
5b2b9c92e1 Merge branch 'support/3.1.1' into support/3.1 2024-01-05 10:51:21 +01:00
Pierre Goiffon
a4f6f6e877 N°4368 Fix CORB blocking regression (#598)
Don't send X-Content-Type-Options HTTP header for certain WebPage impl to workaround CORB blocking
To disable globally this new behavior introduced in 9865bf07, set the `security.enable_header_xcontent_type_options` config parameter to false

Thanks @Molkobain for the review !
2024-01-05 10:41:18 +01:00
jf-cbd
20478958ad Merge branch 'support/3.1.1' into support/3.1 2024-01-04 11:07:07 +01:00
jf-cbd
ba99f8f5a4 Merge branch 'support/3.1.1' into support/3.1 2024-01-04 10:34:48 +01:00
Pierre Goiffon
379062f1f7 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
Most of the conflicts are caused by HU translations (N°7077 / #584)

# Conflicts:
#	css/setup.css
#	datamodels/2.x/authent-cas/dictionaries/hu.dict.authent-cas.php
#	datamodels/2.x/authent-ldap/dictionaries/hu.dict.authent-ldap.php
#	datamodels/2.x/authent-local/dictionaries/hu.dict.authent-local.php
#	datamodels/2.x/combodo-backoffice-darkmoon-theme/dictionaries/hu.dict.combodo-backoffice-darkmoon-theme.php
#	datamodels/2.x/combodo-db-tools/dictionaries/hu.dict.combodo-db-tools.php
#	datamodels/2.x/itop-attachments/dictionaries/hu.dict.itop-attachments.php
#	datamodels/2.x/itop-backup/dictionaries/hu.dict.itop-backup.php
#	datamodels/2.x/itop-bridge-cmdb-ticket/dictionaries/hu.dict.itop-bridge-cmdb-ticket.php
#	datamodels/2.x/itop-change-mgmt-itil/dictionaries/hu.dict.itop-change-mgmt-itil.php
#	datamodels/2.x/itop-change-mgmt/dictionaries/hu.dict.itop-change-mgmt.php
#	datamodels/2.x/itop-config-mgmt/dictionaries/hu.dict.itop-config-mgmt.php
#	datamodels/2.x/itop-config/dictionaries/hu.dict.itop-config.php
#	datamodels/2.x/itop-core-update/dictionaries/hu.dict.itop-core-update.php
#	datamodels/2.x/itop-faq-light/dictionaries/hu.dict.itop-faq-light.php
#	datamodels/2.x/itop-hub-connector/dictionaries/hu.dict.itop-hub-connector.php
#	datamodels/2.x/itop-incident-mgmt-itil/dictionaries/hu.dict.itop-incident-mgmt-itil.php
#	datamodels/2.x/itop-knownerror-mgmt/dictionaries/hu.dict.itop-knownerror-mgmt.php
#	datamodels/2.x/itop-oauth-client/hu.dict.itop-oauth-client.php
#	datamodels/2.x/itop-portal-base/dictionaries/hu.dict.itop-portal-base.php
#	datamodels/2.x/itop-portal/dictionaries/hu.dict.itop-portal.php
#	datamodels/2.x/itop-problem-mgmt/dictionaries/hu.dict.itop-problem-mgmt.php
#	datamodels/2.x/itop-request-mgmt-itil/dictionaries/hu.dict.itop-request-mgmt-itil.php
#	datamodels/2.x/itop-request-mgmt/dictionaries/hu.dict.itop-request-mgmt.php
#	datamodels/2.x/itop-service-mgmt-provider/dictionaries/hu.dict.itop-service-mgmt-provider.php
#	datamodels/2.x/itop-service-mgmt/dictionaries/hu.dict.itop-service-mgmt.php
#	datamodels/2.x/itop-structure/dictionaries/hu.dict.itop-structure.php
#	datamodels/2.x/itop-tickets/dictionaries/hu.dict.itop-tickets.php
#	dictionaries/hu.dictionary.itop.core.php
#	dictionaries/hu.dictionary.itop.ui.php
#	dictionaries/ui/components/breadcrumbs/hu.dictionary.itop.breadcrumbs.php
#	dictionaries/ui/components/datatable/hu.dictionary.itop.datatable.php
#	dictionaries/ui/components/field/hu.dictionary.itop.field.php
#	dictionaries/ui/components/global-search/hu.dictionary.itop.global-search.php
#	dictionaries/ui/components/input/hu.dictionary.itop.input.php
#	dictionaries/ui/components/quick-create/hu.dictionary.itop.quick-create.php
#	dictionaries/ui/layouts/activity-panel/hu.dictionary.itop.activity-panel.php
#	dictionaries/ui/layouts/navigation-menu/hu.dictionary.itop.navigation-menu.php
#	dictionaries/ui/layouts/object-details/hu.dictionary.itop.object-details.php
#	dictionaries/ui/layouts/page-content/hu.dictionary.itop.page-content.php
#	dictionaries/ui/layouts/tab-container/hu.dictionary.itop.tab-container.php
#	dictionaries/ui/pages/errorpage/hu.dictionary.itop.errorpage.php
#	dictionaries/ui/pages/preferences/hu.dictionary.itop.preferences.php
#	tests/php-unit-tests/unitary-tests/setup/DBBackupTest.php
2024-01-03 17:30:57 +01:00
Pierre Goiffon
6042e7f74d Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	tests/php-unit-tests/post-build-integration-tests/SetupCssIntegrityChecklistTest.php
#	tests/php-unit-tests/unitary-tests/core/CMDBSource/CMDBSourceTest.php
2024-01-03 10:43:41 +01:00
denis.flaven@combodo.com
5e233f4bec N°7017 - Prevent race conditions when rebuilding cache 2024-01-02 17:02:44 +01:00
Molkobain
19c93249e3 Merge remote-tracking branch 'origin/support/3.1.1' into support/3.1 2024-01-02 11:56:30 +01:00
Molkobain
94c604a6af N°3062 - Fix setup.css compilation test to ensure that it is versioned correctly. 2023-12-21 12:00:26 +01:00
Pierre Goiffon
f84e2060be N°7077 Hungarian translations based on iTop 3.0.2-1 (#584)
Many thanks to Csaba TARJÁNYI (@tacsaby) !
2023-12-20 15:52:41 +01:00
Pierre Goiffon
6995a3c641 N°6889 backup mysqldump call : restore possibility to connect using socket protocol (#591)
With previous fix (N°6123) we forced to use the tcp protocol each time. This was blocking for users wanting to connect using the socket protocol on localhost.

Now for localhost we will : 
- send both port and protocol arguments if the `db_host` config parameter does contain a port
- don't send any of the port or protocol arguments if `db_host` doesn't contain a port
2023-12-20 15:19:50 +01:00
Pierre Goiffon
e007e09155 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	pages/ajax.render.php
2023-12-19 18:41:57 +01:00
Pierre Goiffon
4ee70cb95a Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/ajaxwebpage.class.inc.php
#	application/csvpage.class.inc.php
#	application/itopwebpage.class.inc.php
#	application/webpage.class.inc.php
#	application/xmlpage.class.inc.php
#	datamodels/2.x/itop-hub-connector/hubconnectorpage.class.inc.php
#	pages/ajax.document.php
#	pages/ajax.render.php
#	sources/application/TwigBase/Controller/Controller.php
#	webservices/export-v2.php
2023-12-19 18:38:45 +01:00
Pierre Goiffon
9865bf0779 N°4368 add sending X-Content-Type-Options HTTP header
Replace in consumers the \WebPage::add_xframe_options call by \WebPage::add_http_headers
2023-12-19 18:25:26 +01:00
Molkobain
2144933927 N°6816 - Search: Fix JS "me._onACSearchContainsSuccess is not a function" error (#556) 2023-12-14 10:57:53 +01:00
Molkobain
e2574a0738 Merge remote-tracking branch 'origin/support/3.1.0' into support/3.1 2023-12-13 18:47:00 +01:00
denis.flaven@combodo.com
3fb5c05467 N°7001 - Being admin to generate oAuth token is too restrictive 2023-12-13 13:57:44 +01:00
jf-cbd
17d131a9b1 N°7021 - Fix error log and useless compilation time due to SCSS file unnecessary compilation #579 2023-12-13 09:21:26 +01:00
Eric Espie
fc2be85c95 N°7054 - Rework the UpdateImpactedItems calls on Tickets 2023-12-12 11:25:27 +01:00
Eric Espie
e748d72c03 N°7054 - Rework the UpdateImpactedItems calls on Tickets 2023-12-12 10:40:48 +01:00
306 changed files with 8066 additions and 3888 deletions

83
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,83 @@
<!--
IMPORTANT: Please follow the guidelines within this PR template before submitting it, it will greatly help us process your PR. 🙏
Any PRs not following the guidelines or with missing information will not be considered.
-->
## Base information
| Question | Answer
|---------------------------------------------------------------|--------
| Related to a SourceForge thead / Another PR / Combodo ticket? | <!-- Put the URL -->
| Type of change? | Bug fix / Enhancement / Translations
## Symptom (bug) / Objective (enhancement)
<!--
If it's a bug
- Explain the symptom in details
- If possible put error messages, logs or screenshots (you can paste image directly in this editor).
If it's an enhancement
- Describe what is blocking you, what is the objective with as much details as possible.
- Add screenshots if it's related to UI.
-->
## Reproduction procedure (bug)
<!--
Remove this section only if it's NOT a bug.
Otherwise, explain step by step how to reproduce the issue on a standard iTop Community.
If it requires a custom datamodel, provide the minimal XML delta to reproduce it on a standard iTop Community.
-->
1. On iTop x.y.z <!-- Put complete iTop version (eg. 3.1.0-2) -->
2. With PHP x.y.z <!-- Put complete PHP version (eg. 8.1.24) -->
2. First go there
2. Then do that
3. ...
4. Finally, see that...
## Cause (bug)
<!--
Remove this section only if it's NOT a bug.
Otherwise, explain what is the cause of the issue (where in the code and why)
-->
## Proposed solution (bug and enhancement)
<!--
Explain in details how you are proposing to solve this:
- What did you do in the code and why
- If you changed something in the UI, put before / after screenshots (you can paste image directly in this editor)
-->
## Checklist before requesting a review
<!--
Don't remove these lines, check them once done.
-->
- [ ] I have performed a self-review of my code
- [ ] I have tested all changes I made on an iTop instance
- [ ] I have added a unit test, otherwise I have explained why I couldn't
- [ ] Is the PR clear and detailed enough so anyone can understand digging in the code?
## Checklist of things to do before PR is ready to merge
<!--
Things that needs to be done in the PR before it can be considered as ready to be merged
Examples:
- Changes requested in the review
- Unit test to add
- Dictionary entries to translate
- ...
-->
- [ ] ...
- [ ] ...
- [ ] ...

View File

@@ -107,7 +107,8 @@ We would like to give a special thank you 🤗 to the people from the community
- Rudner, Björn (a.k.a [@rudnerbjoern](https://github.com/rudnerbjoern))
- Seki, Shoji
- Shilov, Vladimir
- Stukalov, Ilya (a.k.a [@ilya](https://www.github.com/ilya)-stukalov)
- Stukalov, Ilya (a.k.a [@ilya](https://www.github.com/ilya-stukalov))
- Tarjányi, Csaba (a.k.a [@tacsaby](https://github.com/tacsaby))
- Tulio, Marco
- Turrubiates, Miguel

View File

@@ -2103,8 +2103,16 @@ class RestUtils
elseif (is_string($key))
{
// OQL
$oSearch = DBObjectSearch::FromOQL($key);
}
try {
$oSearch = DBObjectSearch::FromOQL($key);
} catch (Exception $e) {
throw new CoreOqlException('Query failed to execute', [
'query' => $key,
'exception_class' => get_class($e),
'exception_message' => $e->getMessage(),
]);
}
}
else
{
throw new Exception("Wrong format for key");

View File

@@ -86,7 +86,7 @@ class lnkAuditCategoryToAuditDomain extends cmdbAbstractObject
{
$aParams = array
(
"category" => "application, grant_by_profile",
"category" => "application,grant_by_profile",
"key_type" => "autoincrement",
"name_attcode" => "",
"state_attcode" => "",

View File

@@ -134,6 +134,8 @@ abstract class cmdbAbstractObject extends CMDBObject implements iDisplay
/** @var string */
public const ENUM_INPUT_TYPE_TAGSET = 'tagset';
/** @var string */
public const ENUM_INPUT_TYPE_TAGSET_LINKEDSET = 'tagset_linkedset';
/** @var string */
public const ENUM_INPUT_TYPE_RADIO = 'radio';
/** @var string */
public const ENUM_INPUT_TYPE_CHECKBOX = 'checkbox';
@@ -2359,6 +2361,7 @@ EOF
case 'LinkedSet':
if ($oAttDef->GetDisplayStyle() === LINKSET_DISPLAY_STYLE_PROPERTY) {
$sInputType = self::ENUM_INPUT_TYPE_TAGSET_LINKEDSET;
if (array_key_exists('bulk_context', $aArgs)) {
$oTagSetBlock = LinkSetUIBlockFactory::MakeForBulkLinkSet($iId, $oAttDef, $value, $sWizardHelperJsVarName, $aArgs['bulk_context']);
} else {
@@ -3709,7 +3712,7 @@ HTML;
if ($oAttDef->GetEditClass() == 'Document') {
/** @var \ormDocument $oDocument */
$oDocument = $this->Get($sAttCode);
if (!$oDocument->IsEmpty()) {
if (is_object($oDocument) && !$oDocument->IsEmpty()) {
$sFieldAsHtml = $this->GetAsHTML($sAttCode);
$sDisplayLabel = Dict::S('UI:OpenDocumentInNewWindow_');
@@ -5951,6 +5954,16 @@ JS
$this->FireEvent(EVENT_DB_CHECK_TO_DELETE, ['deletion_plan' => $oDeletionPlan]);
}
/**
* @return void
* @throws \CoreException
* @since 3.1.2
*/
final protected function FireEventAboutToDelete(): void
{
$this->FireEvent(EVENT_DB_ABOUT_TO_DELETE);
}
/**
* @return void
* @throws \CoreException

View File

@@ -187,7 +187,9 @@
</menus>
<events>
<event id="EVENT_DB_BEFORE_WRITE" _delta="define">
<description>An object is about to be written into the database. The object can be modified.</description>
<name>Before create or update</name>
<description><![CDATA[An object is about to be written into the database.
The object can be modified.]]></description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
@@ -208,7 +210,9 @@
</event_data>
</event>
<event id="EVENT_DB_CHECK_TO_WRITE" _delta="define">
<description>Check an object before it is written into the database (no change possible). Call DBObject::AddCheckIssue() to signal an issue</description>
<name>Check to write</name>
<description><![CDATA[Check an object before it is written into the database (no change possible).
Call $this->AddCheckIssue() to signal an issue.]]></description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
@@ -229,7 +233,9 @@
</event_data>
</event>
<event id="EVENT_DB_AFTER_WRITE" _delta="define">
<description>An object has been written into the database. The modifications can be propagated to other objects.</description>
<name>After create or update</name>
<description><![CDATA[An object has been written into the database.
The modifications can be propagated to other objects.]]></description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
@@ -244,7 +250,7 @@
<type>boolean</type>
</event_datum>
<event_datum id="changes">
<description>For updates, the list of changes done during this operation</description>
<description><![CDATA[For updates, the list of changes done during this operation]]></description>
<type>array</type>
</event_datum>
<event_datum id="debug_info">
@@ -254,7 +260,9 @@
</event_data>
</event>
<event id="EVENT_DB_CHECK_TO_DELETE" _delta="define">
<description>Check an object before it is deleted from the database. Call DBObject::AddDeleteIssue() to signal an issue</description>
<name>Check to delete</name>
<description><![CDATA[Check an object before it is deleted from the database.
Call $this->AddDeleteIssue() to signal an issue.]]></description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
@@ -270,8 +278,27 @@
</event_datum>
</event_data>
</event>
<event id="EVENT_DB_ABOUT_TO_DELETE" _delta="define">
<name>Before delete</name>
<description><![CDATA[An object is about to be deleted from the database]]></description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
<replaces>cmdbAbstractObject::OnDelete</replaces>
<event_data>
<event_datum id="object">
<description>The object about to be deleted</description>
<type>DBObject</type>
</event_datum>
<event_datum id="debug_info">
<description>Debug string</description>
<type>string</type>
</event_datum>
</event_data>
</event>
<event id="EVENT_DB_AFTER_DELETE" _delta="define">
<description>An object has been deleted into the database</description>
<name>After delete</name>
<description><![CDATA[An object has been deleted into the database]]></description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
@@ -287,8 +314,10 @@
</event_datum>
</event_data>
</event>
<event id="EVENT_DB_BEFORE_APPLY_STIMULUS" _delta="define">
<description>A stimulus is about to be applied to an object</description>
<event id="EVENT_ENUM_TRANSITIONS" _delta="define">
<name>Enum transitions</name>
<description><![CDATA[Manage the allowed transitions in current object state.
The only action allowed is to deny transitions with $this->DenyTransition()]]></description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
@@ -297,89 +326,9 @@
<description>The object where the stimulus is targeted</description>
<type>DBObject</type>
</event_datum>
<event_datum id="stimulus">
<description>Current stimulus applied</description>
<type>string</type>
</event_datum>
<event_datum id="previous_state">
<description>Object previous state</description>
<type>string</type>
</event_datum>
<event_datum id="new_state">
<description>Object new state</description>
<type>string</type>
</event_datum>
<event_datum id="save_object">
<description>The object must be saved in the database</description>
<type>boolean</type>
</event_datum>
<event_datum id="debug_info">
<description>Debug string</description>
<type>string</type>
</event_datum>
</event_data>
</event>
<event id="EVENT_DB_AFTER_APPLY_STIMULUS" _delta="define">
<description>A stimulus has been applied to an object</description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
<event_data>
<event_datum id="object">
<description>The object where the stimulus is targeted</description>
<type>DBObject</type>
</event_datum>
<event_datum id="stimulus">
<description>Current stimulus applied</description>
<type>string</type>
</event_datum>
<event_datum id="previous_state">
<description>Object previous state</description>
<type>string</type>
</event_datum>
<event_datum id="new_state">
<description>Object new state</description>
<type>string</type>
</event_datum>
<event_datum id="save_object">
<description>The object is asked to be saved in the database</description>
<type>boolean</type>
</event_datum>
<event_datum id="debug_info">
<description>Debug string</description>
<type>string</type>
</event_datum>
</event_data>
</event>
<event id="EVENT_DB_APPLY_STIMULUS_FAILED" _delta="define">
<description>A stimulus has failed</description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
<event_data>
<event_datum id="action">
<description>The action that failed to apply the stimulus</description>
<type>string</type>
</event_datum>
<event_datum id="object">
<description>The object where the stimulus is targeted</description>
<type>DBObject</type>
</event_datum>
<event_datum id="stimulus">
<description>Current stimulus applied</description>
<type>string</type>
</event_datum>
<event_datum id="previous_state">
<description>Object previous state</description>
<type>string</type>
</event_datum>
<event_datum id="new_state">
<description>Object new state</description>
<type>string</type>
</event_datum>
<event_datum id="save_object">
<description>The object must be saved in the database</description>
<type>boolean</type>
<event_datum id="allowed_stimuli">
<description>The list of available stimuli in the current state</description>
<type>array</type>
</event_datum>
<event_datum id="debug_info">
<description>Debug string</description>
@@ -388,7 +337,8 @@
</event_data>
</event>
<event id="EVENT_DB_LINKS_CHANGED" _delta="define">
<description>At least one link class was changed</description>
<name>Links on object have changed</name>
<description><![CDATA[At least one link class was changed]]></description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
@@ -404,7 +354,9 @@
</event_data>
</event>
<event id="EVENT_DB_OBJECT_RELOAD" _delta="define">
<description>An object has been re-loaded from the database</description>
<name>Object reload</name>
<internal>true</internal>
<description><![CDATA[An object has been re-loaded from the database]]></description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
@@ -420,7 +372,8 @@
</event_data>
</event>
<event id="EVENT_DB_COMPUTE_VALUES" _delta="define">
<description>An object needs to be recomputed after changes</description>
<name>Recompute object values</name>
<description><![CDATA[An object needs to be recomputed after changes]]></description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
@@ -437,7 +390,8 @@
</event_data>
</event>
<event id="EVENT_DB_ARCHIVE" _delta="define">
<description>An object has been archived</description>
<name>Object archived</name>
<description><![CDATA[An object has been archived]]></description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
@@ -453,7 +407,8 @@
</event_data>
</event>
<event id="EVENT_DB_UNARCHIVE" _delta="define">
<description>An object has been unarchived</description>
<name>Object unarchived</name>
<description><![CDATA[An object has been unarchived]]></description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
@@ -469,7 +424,9 @@
</event_data>
</event>
<event id="EVENT_DB_SET_ATTRIBUTES_FLAGS" _delta="define">
<description>Set object attributes flags. Call cmdbAbstractObject::AddAttributeFlags() for all the attributes to be set for this target state.</description>
<name>Set attributes flags</name>
<description><![CDATA[Set object attributes flags.
Call $this->AddAttributeFlags() for all the attributes to be set for this target state.]]></description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
@@ -480,7 +437,7 @@
</event_datum>
<event_datum id="target_state">
<description>The target state in which to evaluate the flags</description>
<type>array</type>
<type>string</type>
</event_datum>
<event_datum id="debug_info">
<description>Debug string</description>
@@ -489,7 +446,9 @@
</event_data>
</event>
<event id="EVENT_DB_SET_INITIAL_ATTRIBUTES_FLAGS" _delta="define">
<description>Set object initial attributes flags. Call cmdbAbstractObject::AddInitialAttributeFlags() for all the initial attributes to be set initially.</description>
<name>Set initial attributes flags</name>
<description><![CDATA[Set object initial attributes flags.
Call $this->AddInitialAttributeFlags() for all the initial attributes to be set initially.]]></description>
<sources>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
@@ -505,7 +464,8 @@
</event_data>
</event>
<event id="EVENT_DOWNLOAD_DOCUMENT" _delta="define">
<description>A document has been downloaded from the GUI</description>
<name>Document downloaded</name>
<description><![CDATA[A document has been downloaded from the GUI]]></description>
<sources>
<source id="Document">Document</source>
</sources>
@@ -525,7 +485,9 @@
</event_data>
</event>
<event id="EVENT_LOGIN" _delta="define">
<description>Inform the listeners about the connection states</description>
<name>Login</name>
<internal>true</internal>
<description><![CDATA[Inform the listeners about the connection states]]></description>
<event_data>
<event_datum id="code">
<description>The login step result code (LoginWebPage::EXIT_CODE_...) </description>

View File

@@ -119,6 +119,11 @@ class LoginDefaultAfter extends AbstractLoginFSMExtension implements iLogoutExte
protected function OnConnected(&$iErrorCode)
{
Session::Unset('login_temp_auth_user');
if (is_null(UserRights::GetUserObject())){
//N°7085 avoid infinite loop
IssueLog::Error("No user logged in. exit");
exit(-1);
}
return LoginWebPage::LOGIN_FSM_CONTINUE;
}
@@ -134,4 +139,4 @@ class LoginDefaultAfter extends AbstractLoginFSMExtension implements iLogoutExte
}
}
}
}
}

View File

@@ -90,7 +90,7 @@ class LoginWebPage extends NiceWebPage
parent::__construct($sTitle);
$this->SetStyleSheet();
$this->no_cache();
$this->add_xframe_options();
$this->add_http_headers();
}
public function SetStyleSheet()

View File

@@ -71,15 +71,16 @@ class UIHTMLEditorWidget
// To change the default settings of the editor,
// a) edit the file /js/ckeditor/config.js
// b) or override some of the configuration settings, using the second parameter of ckeditor()
$sJSDefineWidth = '';
$aConfig = utils::GetCkeditorPref();
$sWidthSpec = addslashes(trim($this->m_oAttDef->GetWidth()));
if ($sWidthSpec != '')
{
$aConfig['width'] = $sWidthSpec;
if ($sWidthSpec != '') {
/*N°6543 - the function min allow to keep text inside the column when width is defined*/
$aConfig['width'] = "min($sWidthSpec,100%)";
$sJSDefineWidth = '$("#cke_'.$iId.' iframe").contents().find("body").css("width", "'.$sWidthSpec.'")';
}
$sHeightSpec = addslashes(trim($this->m_oAttDef->GetHeight()));
if ($sHeightSpec != '')
{
if ($sHeightSpec != '') {
$aConfig['height'] = $sHeightSpec;
}
$sConfigJS = json_encode($aConfig);
@@ -110,6 +111,7 @@ $('#$iId').on('update', function(evt){
else
{
oMe.data('ckeditorInstance').setReadOnly(oMe.prop('disabled'));
$sJSDefineWidth
}
};
setTimeout(delayedSetReadOnly, 50);

View File

@@ -629,9 +629,7 @@ class ActionEmail extends ActionNotification
$oLog->Set('body', HTMLSanitizer::Sanitize($aMessageContent['body']));
}
}
$sStyles = file_get_contents(APPROOT.'css/email.css');
$sStyles .= MetaModel::GetConfig()->Get('email_css');
if ($this->IsBeingTested()) {
$sTestBody = $aMessageContent['body'];
$sTestBody .= "<div style=\"border: dashed;\">\n";

View File

@@ -3061,6 +3061,11 @@ class AttributeObjectKey extends AttributeDBFieldVoid
return ((int) $proposedValue) !== 0;
}
/**
* @inheritDoc
*
* @param int|DBObject $proposedValue Object key or valid ({@see MetaModel::IsValidObject()}) datamodel object
*/
public function MakeRealValue($proposedValue, $oHostObj)
{
if (is_null($proposedValue))
@@ -3073,7 +3078,6 @@ class AttributeObjectKey extends AttributeDBFieldVoid
}
if (MetaModel::IsValidObject($proposedValue))
{
/** @var \DBObject $proposedValue */
return $proposedValue->GetKey();
}
@@ -4530,7 +4534,6 @@ class AttributeText extends AttributeString
$sStyle = '';
if (count($aStyles) > 0)
{
$aStyles[] = 'overflow:auto';
$sStyle = 'style="'.implode(';', $aStyles).'"';
}
@@ -6510,6 +6513,11 @@ class AttributeDateTime extends AttributeDBField
}
}
/**
* @inheritDoc
*
* @param int|string $proposedValue timestamp ({@see DateTime::getTimestamp()) or date as string, following the {@see GetInternalFormat} format.
*/
public function MakeRealValue($proposedValue, $oHostObj)
{
if (is_null($proposedValue))
@@ -8299,9 +8307,9 @@ class AttributeBlob extends AttributeDefinition
}
/**
* Users can provide the document from an URL (including an URL on iTop itself)
* for CSV import. Administrators can even provide the path to a local file
* {@inheritDoc}
* {@inheritDoc}
*
* @param string $proposedValue Can be an URL (including an URL to iTop itself), or a local path (CSV import)
*
* @see AttributeDefinition::MakeRealValue()
*/
@@ -8542,7 +8550,7 @@ class AttributeBlob extends AttributeDefinition
$sFingerprint = '';
if ($value instanceOf ormDocument)
{
$sFingerprint = md5($value->GetData());
$sFingerprint = $value->GetSignature();
}
return $sFingerprint;

View File

@@ -160,7 +160,7 @@ class CellStatus_SearchIssue extends CellStatus_Issue
* @param null $sAllowedValues : used for additional message that provides allowed values $sAllowedValues for current class
* @param string|null $sAllowedValuesSearch : used to search all allowed values
*/
public function __construct($sSerializedSearch, $sReason, $sClass=null, $sAllowedValues=null, string $sAllowedValuesSearch=null)
public function __construct($sSerializedSearch, $sReason, $sClass = null, $sAllowedValues = null, string $sAllowedValuesSearch = null)
{
parent::__construct(null, null, $sReason);
$this->sSerializedSearch = $sSerializedSearch;
@@ -195,7 +195,7 @@ class CellStatus_SearchIssue extends CellStatus_Issue
public function GetSearchLinkUrl()
{
return sprintf("UI.php?operation=search&filter=%s",
rawurlencode($this->sSerializedSearch)
rawurlencode($this->sSerializedSearch ?? "")
);
}
@@ -206,7 +206,7 @@ class CellStatus_SearchIssue extends CellStatus_Issue
public function GetAllowedValuesLinkUrl(): ?string
{
return sprintf("UI.php?operation=search&filter=%s",
rawurlencode($this->sAllowedValuesSearch)
rawurlencode($this->sAllowedValuesSearch ?? "")
);
}
}
@@ -262,7 +262,7 @@ class CellStatus_Ambiguous extends CellStatus_Issue
public function GetSearchLinkUrl()
{
return sprintf("UI.php?operation=search&filter=%s",
rawurlencode($this->sSerializedSearch)
rawurlencode($this->sSerializedSearch ?? "")
);
}
}

View File

@@ -335,7 +335,7 @@ abstract class CMDBObject extends DBObject
$oMyChangeOp->Set("objclass", MetaModel::GetRootClass(get_class($this)));
$oMyChangeOp->Set("objkey", $objkey);
$oMyChangeOp->Set("fclass", get_class($this));
$oMyChangeOp->Set("fname", substr($this->GetRawName(), 0, 255)); // Protect against very long friendly names
$oMyChangeOp->SetTrim("fname", $this->GetRawName()); // Protect against very long friendly names
$iId = $oMyChangeOp->DBInsertNoReload();
}

View File

@@ -42,6 +42,12 @@ class CMDBSource
const ENUM_DB_VENDOR_MARIADB = 'MariaDB';
const ENUM_DB_VENDOR_PERCONA = 'Percona';
/**
* @since 2.7.10 3.0.4 3.1.2 3.0.2 N°6889 constant creation
* @internal will be removed in a future version
*/
const MYSQL_DEFAULT_PORT = 3306;
/**
* Error: 1205 SQLSTATE: HY000 (ER_LOCK_WAIT_TIMEOUT)
* Message: Lock wait timeout exceeded; try restarting transaction
@@ -212,16 +218,19 @@ class CMDBSource
/**
* @param string $sDbHost initial value ("p:domain:port" syntax)
* @param string $sServer server variable to update
* @param int $iPort port variable to update
* @param int|null $iPort port variable to update, will return null if nothing is specified in $sDbHost
*
* @since 2.7.10 3.0.4 3.1.2 3.2.0 N°6889 will return null in $iPort if port isn't present in $sDbHost. Use {@see MYSQL_DEFAULT_PORT} if needed
*
* @link http://php.net/manual/en/mysqli.persistconns.php documentation for the "p:" prefix (persistent connexion)
*/
public static function InitServerAndPort($sDbHost, &$sServer, &$iPort)
{
$aConnectInfo = explode(':', $sDbHost);
$bUsePersistentConnection = false;
if (strcasecmp($aConnectInfo[0], 'p') == 0)
if (strcasecmp($aConnectInfo[0], 'p') === 0)
{
// we might have "p:" prefix to use persistent connections (see http://php.net/manual/en/mysqli.persistconns.php)
$bUsePersistentConnection = true;
$sServer = $aConnectInfo[0].':'.$aConnectInfo[1];
}
@@ -239,10 +248,6 @@ class CMDBSource
{
$iPort = (int)($aConnectInfo[1]);
}
else
{
$iPort = 3306;
}
}
/**
@@ -544,10 +549,9 @@ class CMDBSource
/**
* @param string $sSQLQuery
*
* @return \mysqli_result|null
* @throws \MySQLException
* @throws \MySQLHasGoneAwayException
* @throws \CoreException
* @return mysqli_result|null
* @throws MySQLException
* @throws MySQLHasGoneAwayException
*
* @since 2.7.0 N°679 handles nested transactions
*/

View File

@@ -1643,6 +1643,14 @@ class Config
'source_of_value' => '',
'show_in_conf_sample' => false,
],
'security.enable_header_xcontent_type_options' => [
'type' => 'bool',
'description' => 'If set to false, iTop will stop sending the X-Content-Type-Options HTTP header. This header could trigger CORB protection on certain resources (JSON, XML, HTML, text) therefore blocking them.',
'default' => true,
'value' => '',
'source_of_value' => '',
'show_in_conf_sample' => false,
],
'security.disable_inline_documents_sandbox' => [
'type' => 'bool',
'description' => 'If true then the sandbox for documents displayed in a browser tab will be disabled; enabling scripts and other interactive content. Note that setting this to true will open the application to potential XSS attacks!',
@@ -2313,6 +2321,24 @@ class Config
$this->m_sAllowedLoginTypes = implode('|', $aAllowedLoginTypes);
}
/**
* @since 2.7.11 N°7085
* Add login mode if not configured already
* @param string $sLoginMode
*
* @return void
*/
public function AddAllowedLoginTypes($sLoginMode)
{
$aAllowedLoginTypes = $this->GetAllowedLoginTypes();
if (in_array($sLoginMode, $aAllowedLoginTypes)){
return;
}
$aAllowedLoginTypes[] = $sLoginMode;
$this->SetAllowedLoginTypes($aAllowedLoginTypes);
}
public function SetExternalAuthenticationVariable($sExtAuthVariable)
{
$this->m_sExtAuthVariable = $sExtAuthVariable;

View File

@@ -208,6 +208,7 @@ abstract class DBObject implements iDisplay
const MAX_UPDATE_LOOP_COUNT = 10;
private $aEventListeners = [];
private array $aAllowedTransitions = [];
/**
* DBObject constructor.
@@ -606,11 +607,10 @@ abstract class DBObject implements iDisplay
* Attributes setter
*
* Set $sAttCode to $value.
* The value must be valid according to the type of attribute.
* The value must be valid according to the type of attribute : see the different {@see AttributeDefinition::MakeRealValue()} implementations
* The value will not be recorded into the DB until DBObject::DBWrite() is called.
*
* @api
* @see DBWrite()
*
* @param string $sAttCode
* @param mixed $value
@@ -618,6 +618,8 @@ abstract class DBObject implements iDisplay
* @return bool
* @throws CoreException
* @throws CoreUnexpectedValue
*
* @see DBWrite()
*/
public function Set($sAttCode, $value)
{
@@ -756,9 +758,10 @@ abstract class DBObject implements iDisplay
{
$oAttDef = MetaModel::GetAttributeDef(get_class($this), $sAttCode);
$iMaxSize = $oAttDef->GetMaxSize();
if ($iMaxSize && (strlen($sValue) > $iMaxSize))
{
$sValue = substr($sValue, 0, $iMaxSize);
$sLength = mb_strlen($sValue);
if ($iMaxSize && ($sLength > $iMaxSize)) {
$sMessage = " -truncated ($sLength chars)";
$sValue = mb_substr($sValue, 0, $iMaxSize - mb_strlen($sMessage)).$sMessage;
}
$this->Set($sAttCode, $sValue);
}
@@ -2110,33 +2113,26 @@ abstract class DBObject implements iDisplay
return true;
}
if ($toCheck instanceof ormSet)
{
if ($toCheck instanceof ormSet) {
return true;
}
return "Bad type";
}
elseif ($oAtt->IsScalar())
{
} elseif ($oAtt->IsScalar()) {
$aValues = $oAtt->GetAllowedValues($this->ToArgsForQuery());
if (is_array($aValues) && (count($aValues) > 0))
{
if (!array_key_exists($toCheck, $aValues))
{
if (is_array($aValues) && (count($aValues) > 0)) {
if (!array_key_exists($toCheck, $aValues)) {
return "Value not allowed [$toCheck]";
}
}
if (!is_null($iMaxSize = $oAtt->GetMaxSize()))
{
$iLen = strlen($toCheck);
if ($iLen > $iMaxSize)
{
if (!is_null($iMaxSize = $oAtt->GetMaxSize())) {
$iLen = mb_strlen($toCheck);
if ($iLen > $iMaxSize) {
return "String too long (found $iLen, limited to $iMaxSize)";
}
}
if (!$oAtt->CheckFormat($toCheck))
{
if (!$oAtt->CheckFormat($toCheck)) {
return "Wrong format [$toCheck]";
}
}
@@ -2321,16 +2317,17 @@ abstract class DBObject implements iDisplay
}
/**
* @param array $aUniquenessRuleProperties uniqueness rule properties
*
* @param string $sUniquenessRuleId uniqueness rule ID
* @return \DBSearch
* @throws \OQLException
* @throws \CoreException
*
* @internal
*
* @param string $sUniquenessRuleId uniqueness rule ID
* @param array $aUniquenessRuleProperties uniqueness rule properties
*
* @return \DBSearch
* @throws \CoreException
* @throws \OQLException
* @since 2.6.0 N°659 uniqueness constraint
* @api
* @since 2.6.0 N°659 uniqueness constraint
* @since 2.7.11 3.1.2 3.2.0 N°4314 Fix Uniqueness rules not working with Silo
*/
protected function GetSearchForUniquenessRule($sUniquenessRuleId, $aUniquenessRuleProperties)
{
@@ -2359,8 +2356,10 @@ abstract class DBObject implements iDisplay
$oUniquenessQuery->AddConditionForInOperatorUsingParam('finalclass', $aChildClassesWithRuleDisabled, false);
}
return $oUniquenessQuery;
}
$oUniquenessQuery->AllowAllData();
return $oUniquenessQuery;
}
/**
* @param string $sAttCode
@@ -4106,6 +4105,8 @@ abstract class DBObject implements iDisplay
return;
}
$this->SetReadOnly("No modification allowed before delete");
$this->FireEventAboutToDelete();
$oKPI = new ExecutionKPI();
$this->OnDelete();
$oKPI->ComputeStatsForExtension($this, 'OnDelete');
@@ -4403,9 +4404,32 @@ abstract class DBObject implements iDisplay
]);
}
$this->aAllowedTransitions = $aSortedTransitions;
$this->FireEvent(EVENT_ENUM_TRANSITIONS, ['allowed_stimuli' => array_keys($aSortedTransitions)]);
$aSortedTransitions = $this->aAllowedTransitions;
$this->aAllowedTransitions = [];
return $aSortedTransitions;
}
/**
* Remove a transition for a specific stimulus.
* This is only usable by EVENT_ENUM_TRANSITIONS listeners in order
* to manage the allowed transitions in the current object state.
*
* @param string $sStimulus
*
* @return void
* @api
* @since 3.1.2
*/
public function DenyTransition(string $sStimulus): void
{
if (isset($this->aAllowedTransitions[$sStimulus])) {
unset($this->aAllowedTransitions[$sStimulus]);
}
}
/**
* Helper to reset a stop-watch
* Suitable for use as a lifecycle action
@@ -4491,14 +4515,6 @@ abstract class DBObject implements iDisplay
$sNewState = $aTransitionDef['target_state'];
$this->Set($sStateAttCode, $sNewState);
$aEventData = [
'stimulus' => $sStimulusCode,
'previous_state' => $sPreviousState,
'new_state' => $sNewState,
'save_object' => !$bDoNotWrite,
];
$this->FireEvent(EVENT_DB_BEFORE_APPLY_STIMULUS, $aEventData);
// $aTransitionDef is an
// array('target_state'=>..., 'actions'=>array of handlers procs, 'user_restriction'=>TBD
@@ -4583,8 +4599,6 @@ abstract class DBObject implements iDisplay
if (!$bDoNotWrite) {
$this->DBWrite();
}
$this->FireEvent(EVENT_DB_AFTER_APPLY_STIMULUS, $aEventData);
}
else
{
@@ -4593,8 +4607,6 @@ abstract class DBObject implements iDisplay
{
$this->m_aCurrValues[$sAttCode] = $aBackupValues[$sAttCode];
}
$aEventData['action'] = $sActionDesc;
$this->FireEvent(EVENT_DB_APPLY_STIMULUS_FAILED, $aEventData);
}
return $bSuccess;
}
@@ -4731,7 +4743,7 @@ abstract class DBObject implements iDisplay
}
}
$oDate->modify($sModifier);
$this->Set($sAttCode, $oDate->format('Y-m-d H:i:s'));
$this->Set($sAttCode, $oDate->getTimestamp());
}
/**
@@ -6625,6 +6637,14 @@ abstract class DBObject implements iDisplay
{
}
/**
* @return void
* @since 3.1.2
*/
protected function FireEventAboutToDelete(): void
{
}
/**
* @return void
* @since 3.1.0

View File

@@ -851,11 +851,11 @@ abstract class DBSearch
return;
}
if (count($aColumns) == 0)
{
$aColumns = array_keys(MetaModel::ListAttributeDefs($this->GetClass()));
// Add the standard id (as first column)
array_unshift($aColumns, 'id');
if (count($aColumns) == 0)
{
$aColumns = array_keys(MetaModel::ListAttributeDefs($this->GetClass()));
// Add the standard id (as first column)
array_unshift($aColumns, 'id');
}
$aQueryCols = CMDBSource::GetColumns($resQuery, $sSQL);
@@ -885,6 +885,55 @@ abstract class DBSearch
return $aRes;
}
/**
* Selects a column ($sAttCode) from the specified class ($sClassAlias - default main class) of the DBsearch object and gives the result as an array
* @param string $sAttCode
* @param string|null $sClassAlias
*
* @return array
* @throws ConfigException
* @throws CoreException
* @throws MissingQueryArgument
* @throws MySQLException
* @throws MySQLHasGoneAwayException
*/
public function SelectAttributeToArray(string $sAttCode, ?string $sClassAlias = null):array
{
if(is_null($sClassAlias)) {
$sClassAlias = $this->GetClassAlias();
}
$sClass = $this->GetClass();
if($sAttCode === 'id'){
$aAttToLoad[$sClassAlias]=[];
} else {
$aAttToLoad[$sClassAlias][$sAttCode] = MetaModel::GetAttributeDef($sClass, $sAttCode);
}
$sSQL = $this->MakeSelectQuery([], [], $aAttToLoad);
$resQuery = CMDBSource::Query($sSQL);
if (!$resQuery)
{
return [];
}
$sColName = $sClassAlias.$sAttCode;
$aRes = [];
while ($aRow = CMDBSource::FetchArray($resQuery))
{
$aMappedRow = array();
if($sAttCode === 'id') {
$aMappedRow[$sAttCode] = $aRow[$sColName];
} else {
$aMappedRow[$sAttCode] = $aAttToLoad[$sClassAlias][$sAttCode]->FromSQLToValue($aRow, $sColName);
}
$aRes[] = $aMappedRow;
}
CMDBSource::FreeResult($resQuery);
return $aRes;
}
////////////////////////////////////////////////////////////////////////////
//
// Construction of the SQL queries

View File

@@ -28,8 +28,13 @@ namespace Combodo\iTop;
use DOMDocument;
use DOMFormatException;
use DOMNode;
use DOMNodeList;
use DOMXPath;
use Exception;
use IssueLog;
use LogAPI;
use MFElement;
use utils;
/**
@@ -41,6 +46,11 @@ use utils;
*/
class DesignDocument extends DOMDocument
{
/** To fix DOMNode::getLineNo() ref https://www.php.net/manual/en/domnode.getlineno.php */
public const XML_PARSE_BIG_LINES = 4194304;
/**
* @throws \Exception
*/
@@ -69,10 +79,12 @@ class DesignDocument extends DOMDocument
*/
public function load($filename, $options = null)
{
libxml_clear_errors();
if (parent::load($filename, LIBXML_NOBLANKS) === false) {
$aErrors = libxml_get_errors();
IssueLog::Error("Error loading $filename", LogAPI::CHANNEL_DEFAULT, $aErrors);
if (is_file($filename)) {
libxml_clear_errors();
if (parent::load($filename, LIBXML_NOBLANKS | LIBXML_BIGLINES | LIBXML_PARSEHUGE | self::XML_PARSE_BIG_LINES) === false) {
$aErrors = libxml_get_errors();
IssueLog::Error("Error loading $filename", LogAPI::CHANNEL_DEFAULT, $aErrors);
}
}
}
@@ -227,6 +239,56 @@ class DesignElement extends \DOMElement
return '';
}
/**
* Compatibility with PHP8.0
*
* @return \DOMElement|null
*
* @since 3.1.2
*/
public function GetFirstElementChild()
{
if (property_exists($this, 'firstElementChild')) {
return $this->firstElementChild;
}
$oChildNode = $this->firstChild;
while (!is_null($oChildNode)) {
if ($oChildNode instanceof \DOMElement) {
return $oChildNode;
}
$oChildNode = $oChildNode->nextSibling;
}
return null;
}
/**
* Compatibility with PHP8.0
*
* @return \DOMElement|null
*
* @since 3.1.2
*/
public function GetNextElementSibling()
{
if (property_exists($this, 'nextElementSibling')) {
return $this->nextElementSibling;
}
$oSibling = $this->nextSibling;
while (!is_null($oSibling)) {
if ($oSibling instanceof \DOMElement) {
return $oSibling;
}
$oSibling = $oSibling->nextSibling;
}
return null;
}
/**
* Returns the node directly under the given node
* @param $sTagName
@@ -307,4 +369,146 @@ class DesignElement extends \DOMElement
}
return $sRet;
}
/**
* Check that the current node is actually a class node, under classes
* @since 3.1.2 3.2.0 N°6974
*/
public function IsClassNode(): bool
{
if ($this->tagName == 'class') {
// Beware: classes/class also exists in the group definition
if (($this->parentNode->tagName == 'classes') && ($this->parentNode->parentNode->tagName == 'itop_design')) {
return true;
}
}
return false;
}
/**
* True if the node is contained in a _delta="merge" tree
* @return bool
*/
public function IsInSpecifiedMerge(): bool
{
// Iterate through the parents: reset the flag if any of them has a flag set
for ($oParent = $this; $oParent instanceof MFElement; $oParent = $oParent->parentNode) {
$sDeltaSpec = $oParent->getAttribute('_delta');
if ($sDeltaSpec === 'merge') {
return true;
}
if (in_array($sDeltaSpec, ['define', 'define_if_not_exists', 'force', 'redefine'])) {
return false;
}
}
return false;
}
/**
* Find the child node matching the given node.
* UNSAFE: may return nodes marked as _alteration="removed"
* A method with the same signature MUST exist in MFDocument for the recursion to work fine
*
* @param DesignElement $oRefNode The node to search for
* @param null|string $sSearchId substitutes to the value of the 'id' attribute
*
* @return DesignElement|null
* @throws \Exception
* @since 3.1.2 3.2.0 N°6974
*/
public function _FindChildNode(DesignElement $oRefNode, $sSearchId = null): ?DesignElement
{
return self::_FindNode($this, $oRefNode, $sSearchId);
}
/**
* Find the child node matching the given node.
* UNSAFE: may return nodes marked as _alteration="removed"
* A method with the same signature MUST exist in MFDocument for the recursion to work fine
*
* @param DesignElement $oRefNode The node to search for
*
* @return DesignElement|null
* @throws \Exception
* @since 3.1.2 3.2.0 N°6974
*/
public function _FindChildNodes(DesignElement $oRefNode): ?DesignElement
{
return self::_FindNodes($this, $oRefNode);
}
/**
* Find the child node matching the given node under the specified parent.
* UNSAFE: may return nodes marked as _alteration="removed"
*
* @param \DOMNode $oParent
* @param DesignElement $oRefNode
* @param string|null $sSearchId
*
* @return DesignElement|null
* @throws Exception
* @since 3.1.2 3.2.0 N°6974
*/
public static function _FindNode(DOMNode $oParent, DesignElement $oRefNode, string $sSearchId = null): ?DesignElement
{
$oNodes = self::_FindNodes($oParent, $oRefNode, $sSearchId);
if ($oNodes instanceof DOMNodeList) {
/** @var DesignElement $oNode */
$oNode = $oNodes->item(0);
return $oNode;
}
return null;
}
/**
* Find the child node matching the given node under the specified parent.
* UNSAFE: may return nodes marked as _alteration="removed"
*
* @param \DOMNode $oParent
* @param DesignElement $oRefNode
* @param string|null $sSearchId
*
* @return \DOMNodeList|false|mixed
* @since 3.1.2 3.2.0 N°6974
*/
public static function _FindNodes(DOMNode $oParent, DesignElement $oRefNode, string $sSearchId = null)
{
if ($oParent instanceof DOMDocument)
{
$oDoc = $oParent->firstChild->ownerDocument;
$oRoot = $oParent;
}
else
{
$oDoc = $oParent->ownerDocument;
$oRoot = $oParent;
}
$oXPath = new DOMXPath($oDoc);
if ($oRefNode->hasAttribute('id'))
{
// Find the elements having the same tag name and id
if (!$sSearchId)
{
$sSearchId = $oRefNode->getAttribute('id');
}
$sXPath = './'.$oRefNode->tagName."[@id='$sSearchId']";
$oRes = $oXPath->query($sXPath, $oRoot);
}
else
{
// Get the elements having the same tag name
$sXPath = './'.$oRefNode->tagName;
$oRes = $oXPath->query($sXPath, $oRoot);
}
return $oRes;
}
}

View File

@@ -62,7 +62,7 @@ class DisplayableNode extends GraphNode
public function GetWidth()
{
return max(32, 5*strlen($this->GetProperty('label'))); // approximation of the text's bounding box
return max(32, 5 * mb_strlen($this->GetProperty('label'))); // approximation of the text's bounding box
}
public function GetHeight()
@@ -491,7 +491,7 @@ class DisplayableNode extends GraphNode
if ($bNoLabel)
{
// simulate a fake label with the approximate same size as the true label
$sLabel = str_repeat('x',strlen($this->GetProperty('label', $this->GetId())));
$sLabel = str_repeat('x', mb_strlen($this->GetProperty('label', $this->GetId())));
$sDot = 'label="'.$sLabel.'"';
}
else

View File

@@ -242,44 +242,33 @@ class EventIssue extends Event
{
if (is_string($sValue))
{
if (strlen($sValue) < 256)
{
if (mb_strlen($sValue) < 256) {
$aPost[$sKey] = $sValue;
} else {
$aPost[$sKey] = "!long string: ".mb_strlen($sValue)." chars";
}
else
{
$aPost[$sKey] = "!long string: ".strlen($sValue). " chars";
}
}
else
{
} else {
// Not a string (avoid warnings in case the value cannot be easily casted into a string)
$aPost[$sKey] = @(string) $sValue;
$aPost[$sKey] = @(string)$sValue;
}
}
$this->Set('arguments_post', $aPost);
}
else
{
} else {
$this->Set('arguments_post', array());
}
$sLength = strlen($this->Get('issue'));
if ($sLength > 255)
{
$this->Set('issue', substr($this->Get('issue'), 0, 200)." -truncated ($sLength chars)");
$sLength = mb_strlen($this->Get('issue'));
if ($sLength > 255) {
$this->Set('issue', mb_substr($this->Get('issue'), 0, 210)." -truncated ($sLength chars)");
}
$sLength = strlen($this->Get('impact'));
if ($sLength > 255)
{
$this->Set('impact', substr($this->Get('impact'), 0, 200)." -truncated ($sLength chars)");
$sLength = mb_strlen($this->Get('impact'));
if ($sLength > 255) {
$this->Set('impact', mb_substr($this->Get('impact'), 0, 210)." -truncated ($sLength chars)");
}
$sLength = strlen($this->Get('page'));
if ($sLength > 255)
{
$this->Set('page', substr($this->Get('page'), 0, 200)." -truncated ($sLength chars)");
$sLength = mb_strlen($this->Get('page'));
if ($sLength > 255) {
$this->Set('page', mb_substr($this->Get('page'), 0, 210)." -truncated ($sLength chars)");
}
}
}

View File

@@ -101,7 +101,7 @@ EOF;
EOF;
SetupUtils::builddir(dirname($sFilePath));
file_put_contents($sFilePath, $content);
file_put_contents($sFilePath, $content, LOCK_EX);
}
}
Dict::SetUserLanguage($sUserLang);

View File

@@ -1301,19 +1301,7 @@ class DeprecatedCallsLog extends LogAPI
}
$aStack = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3);
$iStackDeprecatedMethodLevel = 1; // level 0 = current method, level 1 = method containing the `NotifyDeprecatedPhpMethod` call
$sDeprecatedObject = $aStack[$iStackDeprecatedMethodLevel]['class'];
$sDeprecatedMethod = $aStack[$iStackDeprecatedMethodLevel]['function'];
$sCallerFile = $aStack[$iStackDeprecatedMethodLevel]['file'];
$sCallerLine = $aStack[$iStackDeprecatedMethodLevel]['line'];
$sMessage = "Call to {$sDeprecatedObject}::{$sDeprecatedMethod} in {$sCallerFile}#L{$sCallerLine}";
$iStackCallerMethodLevel = $iStackDeprecatedMethodLevel + 1; // level 2 = caller of the deprecated method
if (array_key_exists($iStackCallerMethodLevel, $aStack)) {
$sCallerObject = $aStack[$iStackCallerMethodLevel]['class'];
$sCallerMethod = $aStack[$iStackCallerMethodLevel]['function'];
$sMessage .= " ({$sCallerObject}::{$sCallerMethod})";
}
$sMessage = self::GetMessageFromStack($aStack);
if (!is_null($sAdditionalMessage)) {
$sMessage .= ' : '.$sAdditionalMessage;
@@ -1322,6 +1310,45 @@ class DeprecatedCallsLog extends LogAPI
static::Warning($sMessage, self::ENUM_CHANNEL_PHP_METHOD);
}
/**
* @param array $aDebugBacktrace data from {@see debug_backtrace()}
*
* @return string message to print to the log
*/
private static function GetMessageFromStack(array $aDebugBacktrace): string
{
// level 0 = current method
// level 1 = deprecated method, containing the `NotifyDeprecatedPhpMethod` call
$sMessage = 'Call'.self::GetMessageForCurrentStackLevel($aDebugBacktrace[1], " to ");
// level 2 = caller of the deprecated method
if (array_key_exists(2, $aDebugBacktrace)) {
$sMessage .= ' (from ';
$sMessage .= self::GetMessageForCurrentStackLevel($aDebugBacktrace[2]);
$sMessage .= ')';
}
return $sMessage;
}
private static function GetMessageForCurrentStackLevel(array $aCurrentLevelDebugTrace, ?string $sPrefix = ""): string
{
$sMessage = "";
if (array_key_exists('class', $aCurrentLevelDebugTrace)) {
$sDeprecatedObject = $aCurrentLevelDebugTrace['class'];
$sDeprecatedMethod = $aCurrentLevelDebugTrace['function'] ?? "";
$sMessage = "{$sPrefix}{$sDeprecatedObject}::{$sDeprecatedMethod} in ";
}
if (array_key_exists('file', $aCurrentLevelDebugTrace)) {
$sCallerFile = $aCurrentLevelDebugTrace['file'];
$sCallerLine = $aCurrentLevelDebugTrace['line'] ?? "";
$sMessage .= "{$sCallerFile}#L{$sCallerLine}";
}
return $sMessage;
}
/**
* @param string|null $sAdditionalMessage
* @since 3.1.0

View File

@@ -6846,18 +6846,6 @@ abstract class MetaModel
$sClass = $aRow[$sClassAlias."finalclass"];
}
// if an object is already being updated, then this method will return this object instead of recreating a new one.
// At this point the method DBUpdate of a new object with the same class and id won't do anything due to reentrance protection,
// so to ensure that the potential modifications are correctly saved, the object currently being updated is returned.
// DBUpdate() method then will take care that all the modifications will be saved.
if (array_key_exists($sClassAlias.'id', $aRow)) {
$iKey = $aRow[$sClassAlias."id"];
$oObject = self::GetReentranceObject($sClass, $iKey);
if ($oObject !== false) {
return $oObject;
}
}
return new $sClass($aRow, $sClassAlias, $aAttToLoad, $aExtendedDataSpec);
}

View File

@@ -169,7 +169,7 @@ class ormCaseLog {
}
// Process the case of an eventual remainder (quick migration of AttributeText fields)
if ($iPos < (strlen($this->m_sLog) - 1))
if ($iPos < (utils::StrLen($this->m_sLog) - 1))
{
$sTextEntry = substr($this->m_sLog, $iPos);
@@ -292,7 +292,7 @@ class ormCaseLog {
}
// Process the case of an eventual remainder (quick migration of AttributeText fields)
if ($iPos < (strlen($this->m_sLog) - 1)) {
if ($iPos < (utils::StrLen($this->m_sLog) - 1)) {
$sTextEntry = substr($this->m_sLog, $iPos);
$sTextEntry = str_replace(array("\r\n", "\n", "\r"), "<br/>", utils::EscapeHtml($sTextEntry));
@@ -373,7 +373,7 @@ class ormCaseLog {
}
// Process the case of an eventual remainder (quick migration of AttributeText fields)
if ($iPos < (strlen($this->m_sLog) - 1)) {
if ($iPos < (utils::StrLen($this->m_sLog) - 1)) {
$sTextEntry = substr($this->m_sLog, $iPos);
$sTextEntry = str_replace(array("\r\n", "\n", "\r"), "<br/>", utils::EscapeHtml($sTextEntry));
@@ -467,7 +467,7 @@ class ormCaseLog {
$oBlock->AddSubBlock($oCollapsibleBlock);
}
// Process the case of an eventual remainder (quick migration of AttributeText fields)
if ($iPos < (strlen($this->m_sLog) - 1)) {
if ($iPos < (utils::StrLen($this->m_sLog) - 1)) {
// In this case the format is always "text"
$sTextEntry = substr($this->m_sLog, $iPos);
$sTextEntry = str_replace(array("\r\n", "\n", "\r"), "<br/>", utils::EscapeHtml($sTextEntry));

View File

@@ -343,6 +343,6 @@ class ormDocument
*/
public function GetSignature(): string
{
return md5($this->GetData());
return md5($this->GetData() ?? '');
}
}

View File

@@ -161,7 +161,7 @@ abstract class UserRightsAddOnAPI
$oSearchSharers->AllowAllData();
$oSearchSharers->AddCondition_ReferencedBy($oShareSearch, 'sharing_org_id');
$aSharers = array();
foreach($oSearchSharers->ToDataArray(array('id')) as $aRow)
foreach($oSearchSharers->SelectAttributeToArray('id') as $aRow)
{
$aSharers[] = $aRow['id'];
}
@@ -186,7 +186,7 @@ abstract class UserRightsAddOnAPI
$oOrgField = new FieldExpression('org_id', $sShareClass);
$oSearchShares->AddConditionExpression(new BinaryExpression($oOrgField, 'IN', $oListExpr));
$aShared = array();
foreach($oSearchShares->ToDataArray(array($sShareAttCode)) as $aRow)
foreach($oSearchShares->SelectAttributeToArray($sShareAttCode) as $aRow)
{
$aShared[] = $aRow[$sShareAttCode];
}

View File

@@ -80,16 +80,29 @@ $ibo-field--enable-bulk--checkbox--margin-left: $ibo-spacing-300 !default;
}
}
}
/*N°6543 - We need the rule to keep text inside the column when width is defined*/
&[data-attribute-type="AttributeHtml"],
&[data-attribute-type="AttributeText"] {
&[data-attribute-flag-read-only="true"] {
display: grid;
> .ibo-field--value {
max-width: 100%;
overflow: auto;
}
}
}
}
/* Large field = Label on top, value below */
.ibo-field-large {
display: block;
/* Large field = Label on top, value below */
.ibo-field-large {
display: block;
.ibo-field--label {
position: relative; /* Necessary for fullscreen toggler */
display: flex;
align-items: center;
.ibo-field--label {
position: relative; /* Necessary for fullscreen toggler */
display: flex;
align-items: center;
max-width: initial;
width: 100%;
}

View File

@@ -123,6 +123,13 @@ $ibo-fieldsorter--selected--background-color: $ibo-color-blue-200 !default;
.ibo-datatable--row-actions-toolbar{
justify-content: end;
}
/* N°6543 - We need the rule to keep text inside the column when width is defined */
> [data-attribute-type="AttributeHtml"],
> [data-attribute-type="AttributeText"] {
max-width: 100%;
overflow: auto;
}
}
}

File diff suppressed because one or more lines are too long

View File

@@ -58,6 +58,9 @@ $progress-bar-error-bg-color: #F56565 !default;
.center {
text-align: center;
}
.hidden {
display: none;
}
/* Animations */
@keyframes progress_bar_color_ongoing {

View File

@@ -21,6 +21,6 @@
*/
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:UserLDAP' => 'LDAP felhasználó',
'Class:UserLDAP+' => '',
'Class:UserLDAP+' => 'LDAP vagy AD felhasználó',
'UserLDAP:server' => 'LDAP specifics~~',
));

View File

@@ -50,7 +50,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'One-time Password~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewal~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on~~',
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed~~',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.~~',
'UserLocal:password:expiration' => 'The fields below require an extension~~',

View File

@@ -35,7 +35,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'One-time Password~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewal~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on~~',
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed~~',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.~~',
'UserLocal:password:expiration' => 'The fields below require an extension~~',

View File

@@ -21,7 +21,7 @@
*/
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:UserLocal' => ITOP_APPLICATION_SHORT.' felhasználó',
'Class:UserLocal+' => '',
'Class:UserLocal+' => 'Rendszeren belül létrehozott felhasználó',
'Class:UserLocal/Attribute:password' => 'Jelszó',
'Class:UserLocal/Attribute:password+' => '',
'Class:UserLocal/Attribute:expiration' => 'Jelszó lejárati ideje',

View File

@@ -48,7 +48,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'One-time Password~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewal~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on~~',
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed~~',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.~~',
'UserLocal:password:expiration' => 'The fields below require an extension~~',

View File

@@ -35,7 +35,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'One-time Password~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewal~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on~~',
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed~~',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.~~',
'UserLocal:password:expiration' => 'The fields below require an extension~~',

View File

@@ -47,7 +47,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'One-time Password~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewal~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on~~',
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed~~',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.~~',
'UserLocal:password:expiration' => 'The fields below require an extension~~',

View File

@@ -49,7 +49,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'One-time Password~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewal~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on~~',
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed~~',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.~~',
'UserLocal:password:expiration' => 'The fields below require an extension~~',

View File

@@ -22,4 +22,4 @@
*/
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'theme:darkmoon' => 'Dark moon',
));
));

View File

@@ -23,9 +23,9 @@
// Database inconsistencies
Dict::Add('CS CZ', 'Czech', 'Čeština', array(
// Dictionary entries go here
'Menu:DBToolsMenu' => 'DB Tools~~',
'Menu:DBToolsMenu' => 'Database integrity~~',
'DBTools:Class' => 'Class~~',
'DBTools:Title' => 'Database Maintenance Tools~~',
'DBTools:Title' => 'Database integrity check~~',
'DBTools:ErrorsFound' => 'Errors Found~~',
'DBTools:Indication' => 'Important: after fixing errors in the database you\'ll have to run the analysis again as new inconsistencies will be generated~~',
'DBTools:Disclaimer' => 'DISCLAIMER: BACKUP YOUR DATABASE BEFORE RUNNING THE FIXES~~',

View File

@@ -23,9 +23,9 @@
// Database inconsistencies
Dict::Add('DA DA', 'Danish', 'Dansk', array(
// Dictionary entries go here
'Menu:DBToolsMenu' => 'DB Tools~~',
'Menu:DBToolsMenu' => 'Database integrity~~',
'DBTools:Class' => 'Class~~',
'DBTools:Title' => 'Database Maintenance Tools~~',
'DBTools:Title' => 'Database integrity check~~',
'DBTools:ErrorsFound' => 'Errors Found~~',
'DBTools:Indication' => 'Important: after fixing errors in the database you\'ll have to run the analysis again as new inconsistencies will be generated~~',
'DBTools:Disclaimer' => 'DISCLAIMER: BACKUP YOUR DATABASE BEFORE RUNNING THE FIXES~~',

View File

@@ -42,15 +42,15 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'DBTools:FetchCheck' => 'Lehívás ellenőrzés (hosszú)',
'DBTools:SelectAnalysisType' => 'Válasszon elemzés típust',
'DBTools:Analyze' => 'Elemzés',
'DBTools:Details' => 'Részletek mutatása',
'DBTools:ShowAll' => 'Minden hiba mutatása',
'DBTools:Details' => 'Részletek megjelenítése',
'DBTools:ShowAll' => 'Minden hiba megjelenítése',
'DBTools:Inconsistencies' => 'Adatbázis inkonzisztenciák',
'DBTools:DetailedErrorTitle' => '%2$s hiba a %1$s osztályban: %3$s',
'DBTools:DetailedErrorLimit' => 'List limited to %1$s errors~~',
'DBAnalyzer-Integrity-OrphanRecord' => 'Árva rekord a `%1$s` -ban, kell hogy legyen megfelelője a `%2$s` táblázatban',
'DBAnalyzer-Integrity-InvalidExtKey' => 'Érvénytelen a %1$s külső kulcs (oszlop: `%2$s.%3$s`)',
'DBAnalyzer-Integrity-MissingExtKey' => 'Hiányzik a %1$s külső külcs (oszlop: `%2$s.%3$s`)',
'DBAnalyzer-Integrity-InvalidValue' => '%1$s értéke érvénytelen (oszlop: `%2$s.%3$s`)~~',
'DBAnalyzer-Integrity-InvalidValue' => '%1$s értéke érvénytelen (oszlop: `%2$s.%3$s`)',
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Néhány felhasználónak egyáltalán nincs fiókja',
'DBAnalyzer-Integrity-HKInvalid' => 'Sérült a `%1$s` hierarchikus kulcs',
'DBAnalyzer-Fetch-Count-Error' => 'Lekérési hiba a `%1$s` -nál, %2$d bejegyzés lekérve / %3$d megszámlálva',

View File

@@ -23,9 +23,9 @@
// Database inconsistencies
Dict::Add('IT IT', 'Italian', 'Italiano', array(
// Dictionary entries go here
'Menu:DBToolsMenu' => 'DB Tools~~',
'Menu:DBToolsMenu' => 'Database integrity~~',
'DBTools:Class' => 'Class~~',
'DBTools:Title' => 'Database Maintenance Tools~~',
'DBTools:Title' => 'Database integrity check~~',
'DBTools:ErrorsFound' => 'Errors Found~~',
'DBTools:Indication' => 'Important: after fixing errors in the database you\'ll have to run the analysis again as new inconsistencies will be generated~~',
'DBTools:Disclaimer' => 'DISCLAIMER: BACKUP YOUR DATABASE BEFORE RUNNING THE FIXES~~',

View File

@@ -23,9 +23,9 @@
// Database inconsistencies
Dict::Add('JA JP', 'Japanese', '日本語', array(
// Dictionary entries go here
'Menu:DBToolsMenu' => 'DB Tools~~',
'Menu:DBToolsMenu' => 'Database integrity~~',
'DBTools:Class' => 'Class~~',
'DBTools:Title' => 'Database Maintenance Tools~~',
'DBTools:Title' => 'Database integrity check~~',
'DBTools:ErrorsFound' => 'Errors Found~~',
'DBTools:Indication' => 'Important: after fixing errors in the database you\'ll have to run the analysis again as new inconsistencies will be generated~~',
'DBTools:Disclaimer' => 'DISCLAIMER: BACKUP YOUR DATABASE BEFORE RUNNING THE FIXES~~',

View File

@@ -12,7 +12,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
// Dictionary entries go here
'Menu:DBToolsMenu' => 'Инструменты БД',
'DBTools:Class' => 'Класс',
'DBTools:Title' => 'Инструменты обслуживания базы данных~~',
'DBTools:Title' => 'Инструменты обслуживания базы данных',
'DBTools:ErrorsFound' => 'Найденные ошибки',
'DBTools:Indication' => 'Important: after fixing errors in the database you\'ll have to run the analysis again as new inconsistencies will be generated~~',
'DBTools:Disclaimer' => 'DISCLAIMER: BACKUP YOUR DATABASE BEFORE RUNNING THE FIXES~~',

View File

@@ -25,7 +25,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
// Dictionary entries go here
'Menu:DBToolsMenu' => 'Database integrity~~',
'DBTools:Class' => 'Class~~',
'DBTools:Title' => 'Database Maintenance Tools~~',
'DBTools:Title' => 'Database integrity check~~',
'DBTools:ErrorsFound' => 'Errors Found~~',
'DBTools:Indication' => 'Important: after fixing errors in the database you\'ll have to run the analysis again as new inconsistencies will be generated~~',
'DBTools:Disclaimer' => 'DISCLAIMER: BACKUP YOUR DATABASE BEFORE RUNNING THE FIXES~~',

View File

@@ -23,9 +23,9 @@
// Database inconsistencies
Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
// Dictionary entries go here
'Menu:DBToolsMenu' => 'DB Tools~~',
'Menu:DBToolsMenu' => 'Database integrity~~',
'DBTools:Class' => 'Class~~',
'DBTools:Title' => 'Database Maintenance Tools~~',
'DBTools:Title' => 'Database integrity check~~',
'DBTools:ErrorsFound' => 'Errors Found~~',
'DBTools:Indication' => 'Important: after fixing errors in the database you\'ll have to run the analysis again as new inconsistencies will be generated~~',
'DBTools:Disclaimer' => 'DISCLAIMER: BACKUP YOUR DATABASE BEFORE RUNNING THE FIXES~~',

View File

@@ -260,19 +260,19 @@
</classes>
<events>
<event id="EVENT_ADD_ATTACHMENT_TO_OBJECT" _delta="define">
<description>An attachment has been added to an object</description>
<name>Attachment added</name>
<description><![CDATA[An attachment has been added to an object]]></description>
<replaces>Attachment::AfterUpdate</replaces>
<sources>
<source id="Attachment">Attachment</source>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
<event_data>
<event_datum id="object">
<description>The attachment updated</description>
<description>The object where the attachment is added</description>
<type>DBObject</type>
</event_datum>
<event_datum id="target_object">
<description>The object to which the attachment is linked</description>
<event_datum id="attachment">
<description>The attachment added to the objet</description>
<type>DBObject</type>
</event_datum>
<event_datum id="debug_info">
@@ -282,19 +282,19 @@
</event_data>
</event>
<event id="EVENT_REMOVE_ATTACHMENT_FROM_OBJECT" _delta="define">
<description>An attachment has been removed from an object</description>
<name>Attachment removed</name>
<description><![CDATA[An attachment has been removed from an object]]></description>
<replaces>Attachment::AfterUpdate</replaces>
<sources>
<source id="Attachment">Attachment</source>
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
</sources>
<event_data>
<event_datum id="object">
<description>The attachment updated</description>
<description>The object where the attachment is removed</description>
<type>DBObject</type>
</event_datum>
<event_datum id="target_object">
<description>The object to which the attachment is linked</description>
<event_datum id="attachment">
<description>The attachment removed</description>
<type>DBObject</type>
</event_datum>
<event_datum id="debug_info">

View File

@@ -26,9 +26,9 @@ Dict::Add('EN US', 'English', 'English', array(
'Attachments:History_File_Removed' => 'Attachment %1$s removed.',
'Attachments:AddAttachment' => 'Add attachment: ',
'Attachments:UploadNotAllowedOnThisSystem' => 'File upload in NOT allowed on this system.',
'Attachment:Max_Go' => '(Maximum file size: %1$s Go)',
'Attachment:Max_Mo' => '(Maximum file size: %1$s Mo)',
'Attachment:Max_Ko' => '(Maximum file size: %1$s Ko)',
'Attachment:Max_Go' => '(Maximum file size: %1$s GB)',
'Attachment:Max_Mo' => '(Maximum file size: %1$s MB)',
'Attachment:Max_Ko' => '(Maximum file size: %1$s KB)',
'Attachments:NoAttachment' => 'No attachment. ',
'Attachments:PreviewNotAvailable' => 'Preview not available for this type of attachment.',
'Attachments:Error:FileTooLarge' => 'File is too large to be uploaded. %1$s',

View File

@@ -34,7 +34,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Attachment:Max_Ko' => '(Maximum fájlméret: %1$s KB)',
'Attachments:NoAttachment' => 'Nincs melléklet. ',
'Attachments:PreviewNotAvailable' => 'Az előnézet nem érhető el ilyen típusú melléklethez',
'Attachments:Error:FileTooLarge' => 'Túl nagy a fájl a feltöltéshez. %1$s',
'Attachments:Error:FileTooLarge' => 'Túl nagy a %1$s fájl a feltöltéshez.',
'Attachments:Error:UploadedFileEmpty' => 'A kapott fájl üres, ezért nem csatolható. Vagy egy üres fájlt húzott be, vagy kérdezze meg a rendszergazdát, hátha az iTop szerver lemeze telt meg.',
'Attachments:Render:Icons' => 'Mutassa ikonként',
'Attachments:Render:Table' => 'Mutassa listaként',
@@ -52,7 +52,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Attachment/Attribute:expire+' => '~~',
'Class:Attachment/Attribute:temp_id' => 'Átmeneti azonosító',
'Class:Attachment/Attribute:temp_id+' => '~~',
'Class:Attachment/Attribute:item_class' => 'Elem osztály',
'Class:Attachment/Attribute:item_class' => 'Elem típus',
'Class:Attachment/Attribute:item_class+' => '~~',
'Class:Attachment/Attribute:item_id' => 'Elem',
'Class:Attachment/Attribute:item_id+' => '~~',

View File

@@ -29,9 +29,9 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Attachments:History_File_Removed' => 'Attachment %1$s removed.~~',
'Attachments:AddAttachment' => 'Add attachment: ~~',
'Attachments:UploadNotAllowedOnThisSystem' => 'File upload in NOT allowed on this system.~~',
'Attachment:Max_Go' => '(Maximum file size: %1$s Go)~~',
'Attachment:Max_Mo' => '(Maximum file size: %1$s Mo)~~',
'Attachment:Max_Ko' => '(Maximum file size: %1$s Ko)~~',
'Attachment:Max_Go' => '(Maximum file size: %1$s GB)~~',
'Attachment:Max_Mo' => '(Maximum file size: %1$s MB)~~',
'Attachment:Max_Ko' => '(Maximum file size: %1$s KB)~~',
'Attachments:NoAttachment' => 'No attachment. ~~',
'Attachments:PreviewNotAvailable' => 'Preview not available for this type of attachment.~~',
'Attachments:Error:FileTooLarge' => 'File is too large to be uploaded. %1$s~~',

View File

@@ -29,9 +29,9 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'Attachments:History_File_Removed' => 'Attachment %1$s removed.~~',
'Attachments:AddAttachment' => 'Add attachment: ~~',
'Attachments:UploadNotAllowedOnThisSystem' => 'File upload in NOT allowed on this system.~~',
'Attachment:Max_Go' => '(Maximum file size: %1$s Go)~~',
'Attachment:Max_Mo' => '(Maximum file size: %1$s Mo)~~',
'Attachment:Max_Ko' => '(Maximum file size: %1$s Ko)~~',
'Attachment:Max_Go' => '(Maximum file size: %1$s GB)~~',
'Attachment:Max_Mo' => '(Maximum file size: %1$s MB)~~',
'Attachment:Max_Ko' => '(Maximum file size: %1$s KB)~~',
'Attachments:NoAttachment' => 'No attachment. ~~',
'Attachments:PreviewNotAvailable' => 'Preview not available for this type of attachment.~~',
'Attachments:Error:FileTooLarge' => 'File is too large to be uploaded. %1$s~~',

View File

@@ -262,10 +262,26 @@ class AttachmentPlugIn implements iApplicationUIExtension, iApplicationObjectExt
else
{
$oAttachmentsRenderer->RenderViewAttachmentsList();
}
}
/**
*
* @see ObjectFormManager::FinalizeAttachments() for the portal version
*
* @param $oObject
* @param $oChange
*
* @return void
* @throws \ArchivedObjectException
* @throws \CoreCannotSaveObjectException
* @throws \CoreException
* @throws \CoreUnexpectedValue
* @throws \DeleteException
* @throws \MySQLException
* @throws \MySQLHasGoneAwayException
* @throws \OQLException
*/
protected static function UpdateAttachments($oObject, $oChange = null)
{
self::$m_bIsModified = false;
@@ -291,8 +307,8 @@ class AttachmentPlugIn implements iApplicationUIExtension, iApplicationObjectExt
// Remove attachments that are no longer attached to the current object
if (in_array($oAttachment->GetKey(), $aRemovedAttachmentIds))
{
$aData = ['target_object' => $oObject];
$oAttachment->FireEvent(EVENT_REMOVE_ATTACHMENT_FROM_OBJECT, $aData);
$aData = ['attachment' => $oAttachment];
$oObject->FireEvent(EVENT_REMOVE_ATTACHMENT_FROM_OBJECT, $aData);
$oAttachment->DBDelete();
$aActions[] = self::GetActionChangeOp($oAttachment, false /* false => deletion */);
}
@@ -320,8 +336,8 @@ class AttachmentPlugIn implements iApplicationUIExtension, iApplicationObjectExt
$oAttachment->DBUpdate();
// temporary attachment confirmed, list it in the history
$aActions[] = self::GetActionChangeOp($oAttachment, true /* true => creation */);
$aData = ['target_object' => $oObject];
$oAttachment->FireEvent(EVENT_ADD_ATTACHMENT_TO_OBJECT, $aData);
$aData = ['attachment' => $oAttachment];
$oObject->FireEvent(EVENT_ADD_ATTACHMENT_TO_OBJECT, $aData);
}
}
if (count($aActions) > 0)

View File

@@ -23,8 +23,8 @@
Dict::Add('DA DA', 'Danish', 'Dansk', array(
'bkp-backup-running' => 'A backup is running. Please wait...~~',
'bkp-restore-running' => 'A restore is running. Please wait...~~',
'Menu:BackupStatus' => 'Scheduled Backups~~',
'bkp-status-title' => 'Scheduled Backups~~',
'Menu:BackupStatus' => 'Backups~~',
'bkp-status-title' => 'Backups~~',
'bkp-status-checks' => 'Settings and checks~~',
'bkp-mysqldump-ok' => 'mysqldump is present: %1$s~~',
'bkp-mysqldump-notfound' => 'mysqldump could not be found: %1$s - Please make sure it is installed and in the path, or edit the configuration file to tune mysql_bindir.~~',
@@ -46,7 +46,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'bkp-status-backups-auto' => 'Scheduled backups~~',
'bkp-status-backups-manual' => 'Manual backups~~',
'bkp-status-backups-none' => 'No backup yet~~',
'bkp-next-backup' => 'The next backup will occur on <b>%1$s</b> (%2$s) at %3$s~~',
'bkp-next-backup' => 'The next backup will occur on <b>%1$s</b> (%2$s) at %3$s.~~',
'bkp-next-backup-unknown' => 'The next backup is <b>not scheduled</b> yet.~~',
'bkp-button-backup-now' => 'Backup now!~~',
'bkp-button-restore-now' => 'Restore!~~',

View File

@@ -23,8 +23,8 @@
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'bkp-backup-running' => 'A mentés fut. Kérem várjon...',
'bkp-restore-running' => 'A visszaállítás fut. Kérem várjon...',
'Menu:BackupStatus' => 'Ütemezett biztonsági mentés',
'bkp-status-title' => 'Ütemezett biztonsági mentés',
'Menu:BackupStatus' => 'Biztonsági mentés',
'bkp-status-title' => 'Adatbázis biztonsági mentés',
'bkp-status-checks' => 'Beállítás és ellenőrzés',
'bkp-mysqldump-ok' => 'mysqldump megvan: %1$s',
'bkp-mysqldump-notfound' => 'mysqldump nem található: %1$s - Győződjön meg róla, hogy telepítve van és szerepel az elérési útvonalban, vagy szerkessze a konfigurációs fájlt a mysql_bindir beállításához..',
@@ -43,7 +43,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'bkp-table-size+' => '~~',
'bkp-table-actions' => 'Műveletek',
'bkp-table-actions+' => '~~',
'bkp-status-backups-auto' => 'Ütemezett biztonsági mentés',
'bkp-status-backups-auto' => 'Automatikus biztonsági mentés',
'bkp-status-backups-manual' => 'Manuális biztonsági mentés',
'bkp-status-backups-none' => 'Még nincs biztonsági mentés',
'bkp-next-backup' => 'A következő mentés <b>%1$s</b> (%2$s) fog lefutni %3$s -kor',

View File

@@ -23,8 +23,8 @@
Dict::Add('IT IT', 'Italian', 'Italiano', array(
'bkp-backup-running' => 'A backup is running. Please wait...~~',
'bkp-restore-running' => 'A restore is running. Please wait...~~',
'Menu:BackupStatus' => 'Scheduled backups~~',
'bkp-status-title' => 'Scheduled Backups~~',
'Menu:BackupStatus' => 'Backups~~',
'bkp-status-title' => 'Backups~~',
'bkp-status-checks' => 'Settings and checks~~',
'bkp-mysqldump-ok' => 'mysqldump is present: %1$s~~',
'bkp-mysqldump-notfound' => 'mysqldump could not be found: %1$s - Please make sure it is installed and in the path, or edit the configuration file to tune mysql_bindir.~~',
@@ -46,7 +46,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'bkp-status-backups-auto' => 'Scheduled backups~~',
'bkp-status-backups-manual' => 'Manual backups~~',
'bkp-status-backups-none' => 'No backup yet~~',
'bkp-next-backup' => 'The next backup will occur on <b>%1$s</b> (%2$s) at %3$s~~',
'bkp-next-backup' => 'The next backup will occur on <b>%1$s</b> (%2$s) at %3$s.~~',
'bkp-next-backup-unknown' => 'The next backup is <b>not scheduled</b> yet.~~',
'bkp-button-backup-now' => 'Backup now!~~',
'bkp-button-restore-now' => 'Restore!~~',

View File

@@ -23,8 +23,8 @@
Dict::Add('JA JP', 'Japanese', '日本語', array(
'bkp-backup-running' => 'A backup is running. Please wait...~~',
'bkp-restore-running' => 'A restore is running. Please wait...~~',
'Menu:BackupStatus' => 'Scheduled backups~~',
'bkp-status-title' => 'Scheduled Backups~~',
'Menu:BackupStatus' => 'Backups~~',
'bkp-status-title' => 'Backups~~',
'bkp-status-checks' => 'Settings and checks~~',
'bkp-mysqldump-ok' => 'mysqldump is present: %1$s~~',
'bkp-mysqldump-notfound' => 'mysqldump could not be found: %1$s - Please make sure it is installed and in the path, or edit the configuration file to tune mysql_bindir.~~',
@@ -46,7 +46,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'bkp-status-backups-auto' => 'Scheduled backups~~',
'bkp-status-backups-manual' => 'Manual backups~~',
'bkp-status-backups-none' => 'No backup yet~~',
'bkp-next-backup' => 'The next backup will occur on <b>%1$s</b> (%2$s) at %3$s~~',
'bkp-next-backup' => 'The next backup will occur on <b>%1$s</b> (%2$s) at %3$s.~~',
'bkp-next-backup-unknown' => 'The next backup is <b>not scheduled</b> yet.~~',
'bkp-button-backup-now' => 'Backup now!~~',
'bkp-button-restore-now' => 'Restore!~~',

View File

@@ -23,8 +23,8 @@
Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'bkp-backup-running' => 'A backup is running. Please wait...~~',
'bkp-restore-running' => 'A restore is running. Please wait...~~',
'Menu:BackupStatus' => 'Scheduled Backups~~',
'bkp-status-title' => 'Scheduled Backups~~',
'Menu:BackupStatus' => 'Backups~~',
'bkp-status-title' => 'Backups~~',
'bkp-status-checks' => 'Settings and checks~~',
'bkp-mysqldump-ok' => 'mysqldump is present: %1$s~~',
'bkp-mysqldump-notfound' => 'mysqldump could not be found: %1$s - Please make sure it is installed and in the path, or edit the configuration file to tune mysql_bindir.~~',
@@ -46,7 +46,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'bkp-status-backups-auto' => 'Scheduled backups~~',
'bkp-status-backups-manual' => 'Manual backups~~',
'bkp-status-backups-none' => 'No backup yet~~',
'bkp-next-backup' => 'The next backup will occur on <b>%1$s</b> (%2$s) at %3$s~~',
'bkp-next-backup' => 'The next backup will occur on <b>%1$s</b> (%2$s) at %3$s.~~',
'bkp-next-backup-unknown' => 'The next backup is <b>not scheduled</b> yet.~~',
'bkp-button-backup-now' => 'Backup now!~~',
'bkp-button-restore-now' => 'Restore!~~',

View File

@@ -23,8 +23,8 @@
Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'bkp-backup-running' => 'A backup is running. Please wait...~~',
'bkp-restore-running' => 'A restore is running. Please wait...~~',
'Menu:BackupStatus' => 'Scheduled Backups~~',
'bkp-status-title' => 'Scheduled Backups~~',
'Menu:BackupStatus' => 'Backups~~',
'bkp-status-title' => 'Backups~~',
'bkp-status-checks' => 'Settings and checks~~',
'bkp-mysqldump-ok' => 'mysqldump is present: %1$s~~',
'bkp-mysqldump-notfound' => 'mysqldump could not be found: %1$s - Please make sure it is installed and in the path, or edit the configuration file to tune mysql_bindir.~~',
@@ -46,7 +46,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'bkp-status-backups-auto' => 'Scheduled backups~~',
'bkp-status-backups-manual' => 'Manual backups~~',
'bkp-status-backups-none' => 'No backup yet~~',
'bkp-next-backup' => 'The next backup will occur on <b>%1$s</b> (%2$s) at %3$s~~',
'bkp-next-backup' => 'The next backup will occur on <b>%1$s</b> (%2$s) at %3$s.~~',
'bkp-next-backup-unknown' => 'The next backup is <b>not scheduled</b> yet.~~',
'bkp-button-backup-now' => 'Backup now!~~',
'bkp-button-restore-now' => 'Restore!~~',

View File

@@ -79,7 +79,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Document/Attribute:contracts_list' => 'Szerződések',
'Class:Document/Attribute:contracts_list+' => 'All the contracts linked to this document~~',
'Class:Document/Attribute:contracts_list+' => 'Ehhez a dokumentumhoz kapcsolódó szerződések',
'Class:Document/Attribute:services_list' => 'Szolgáltatások',
'Class:Document/Attribute:services_list+' => 'All the services linked to this document~~',
));
'Class:Document/Attribute:services_list+' => 'Ehhez a dokumentumhoz kapcsolódó szolgáltatások',
));

View File

@@ -36,9 +36,9 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:lnkFunctionalCIToTicket/Name' => '%1$s / %2$s~~',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_id' => 'Hibajegy',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_id+' => '~~',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_ref' => 'Ref',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_ref' => 'Referenciaszám',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_ref+' => '~~',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_title' => 'Hibajegy cím',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_title' => 'Hibajegy tárgya',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_title+' => '~~',
'Class:lnkFunctionalCIToTicket/Attribute:functionalci_id' => 'CI',
'Class:lnkFunctionalCIToTicket/Attribute:functionalci_id+' => '~~',
@@ -46,7 +46,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:lnkFunctionalCIToTicket/Attribute:functionalci_name+' => '~~',
'Class:lnkFunctionalCIToTicket/Attribute:impact' => 'Hatása (szöveg)',
'Class:lnkFunctionalCIToTicket/Attribute:impact+' => '~~',
'Class:lnkFunctionalCIToTicket/Attribute:impact_code' => 'Hatása',
'Class:lnkFunctionalCIToTicket/Attribute:impact_code' => 'Hatás kód',
'Class:lnkFunctionalCIToTicket/Attribute:impact_code/Value:manual' => 'Kézzel hozzáadva',
'Class:lnkFunctionalCIToTicket/Attribute:impact_code/Value:computed' => 'Számított',
'Class:lnkFunctionalCIToTicket/Attribute:impact_code/Value:not_impacted' => 'Nincs hatása',

View File

@@ -22,21 +22,21 @@
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Menu:ChangeManagement' => 'Változáskezelés',
'Menu:Change:Overview' => 'Áttekintő',
'Menu:Change:Overview+' => '~~',
'Menu:NewChange' => 'Új változás',
'Menu:NewChange+' => 'Új változásjegy létrehozása',
'Menu:SearchChanges' => 'Változás keresés',
'Menu:SearchChanges+' => 'Változásjegy keresés',
'Menu:Change:Shortcuts' => 'Gyorsgombok',
'Menu:Change:Shortcuts+' => '~~',
'Menu:WaitingAcceptance' => 'Elfogadásra váró változások',
'Menu:WaitingAcceptance+' => '~~',
'Menu:WaitingApproval' => 'Jóváhagyásra váró változások',
'Menu:WaitingApproval+' => '~~',
'Menu:Changes' => 'Nyitott változási kérelmek',
'Menu:Changes+' => 'Minden nyitott változási kérelem',
'Menu:MyChanges' => 'Hozzám rendelt változások',
'Menu:MyChanges+' => 'Changes assigned to me (as Agent)~~',
'Menu:Change:Overview+' => 'Áttekintő oldal',
'Menu:NewChange' => 'Új változás',
'Menu:NewChange+' => 'Új változásjegy létrehozása',
'Menu:SearchChanges' => 'Változás keresés',
'Menu:SearchChanges+' => 'Változásjegy keresés',
'Menu:Change:Shortcuts' => 'Gyorsgombok',
'Menu:Change:Shortcuts+' => 'Gyorselérés gombok',
'Menu:WaitingAcceptance' => 'Elfogadásra váró változások',
'Menu:WaitingAcceptance+' => 'Elfogadásra váró változások',
'Menu:WaitingApproval' => 'Jóváhagyásra váró változások',
'Menu:WaitingApproval+' => 'Jóváhagyásra váró változások',
'Menu:Changes' => 'Nyitott változási kérelmek',
'Menu:Changes+' => 'Nyitott változási kérelmek összesítése',
'Menu:MyChanges' => 'Hozzám rendelt változások',
'Menu:MyChanges+' => 'Ügyintézőként hozzám rendelt változások',
'UI-ChangeManagementOverview-ChangeByCategory-last-7-days' => 'Változások kategóriánként az elmúlt 7 napban',
'UI-ChangeManagementOverview-Last-7-days' => 'A változások száma az elmúlt 7 napban',
'UI-ChangeManagementOverview-ChangeByDomain-last-7-days' => 'Változások tartományonként az elmúlt 7 napban',
@@ -119,22 +119,22 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Change/Attribute:outage/Value:yes+' => '',
'Class:Change/Attribute:fallback' => 'Visszavonás',
'Class:Change/Attribute:fallback+' => '',
'Class:Change/Attribute:parent_id' => 'Szülő változás',
'Class:Change/Attribute:parent_id+' => '~~',
'Class:Change/Attribute:parent_name' => 'Szülő változás Ref',
'Class:Change/Attribute:parent_name+' => '~~',
'Class:Change/Attribute:related_request_list' => 'Kapcsolódó kérelmek',
'Class:Change/Attribute:related_request_list+' => 'All the user requests linked to this change~~',
'Class:Change/Attribute:related_problems_list' => 'Kapcsolódó problémák',
'Class:Change/Attribute:related_problems_list+' => 'All the problems linked to this change~~',
'Class:Change/Attribute:related_incident_list' => 'Kapcsolódó incidensek',
'Class:Change/Attribute:related_incident_list+' => 'All the incidents linked to this change~~',
'Class:Change/Attribute:child_changes_list' => 'Gyermek változások',
'Class:Change/Attribute:child_changes_list+' => 'All the sub changes linked to this change~~',
'Class:Change/Attribute:parent_id_friendlyname' => 'Szülő változás rövid név',
'Class:Change/Attribute:parent_id_friendlyname+' => '~~',
'Class:Change/Attribute:parent_id_finalclass_recall' => 'Változás típus',
'Class:Change/Attribute:parent_id_finalclass_recall+' => '~~',
'Class:Change/Attribute:parent_id' => 'Fölérendelt változás',
'Class:Change/Attribute:parent_id+' => '',
'Class:Change/Attribute:parent_name' => 'Referenciaszám',
'Class:Change/Attribute:parent_name+' => '',
'Class:Change/Attribute:related_request_list' => 'Kapcsolódó kérelmek',
'Class:Change/Attribute:related_request_list+' => 'Ehhez a változáshoz kapcsolódó felhasználói kérelmek',
'Class:Change/Attribute:related_problems_list' => 'Kapcsolódó problémák',
'Class:Change/Attribute:related_problems_list+' => 'Ehhez a változáshoz kapcsolódó problémák',
'Class:Change/Attribute:related_incident_list' => 'Kapcsolódó incidensek',
'Class:Change/Attribute:related_incident_list+' => 'Ehhez a változáshoz kapcsolódó incidensek',
'Class:Change/Attribute:child_changes_list' => 'Kapcsolódó változások',
'Class:Change/Attribute:child_changes_list+' => 'Ehhez a változáshoz kapcsolódó változások',
'Class:Change/Attribute:parent_id_friendlyname' => 'Fölérendelt változás rövid név',
'Class:Change/Attribute:parent_id_friendlyname+' => '',
'Class:Change/Attribute:parent_id_finalclass_recall' => 'Változás típus',
'Class:Change/Attribute:parent_id_finalclass_recall+' => '',
'Class:Change/Stimulus:ev_validate' => 'Ellenőrzés',
'Class:Change/Stimulus:ev_validate+' => '',
'Class:Change/Stimulus:ev_reject' => 'Elutasítás',

View File

@@ -21,23 +21,23 @@
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Menu:ChangeManagement' => 'Változáskezelés',
'Menu:Change:Overview' => 'Áttekintő',
'Menu:Change:Overview+' => '~~',
'Menu:NewChange' => 'Új változás',
'Menu:NewChange+' => 'Új változásjegy létrehozása',
'Menu:SearchChanges' => 'Változás keresés',
'Menu:SearchChanges+' => 'Változásjegy keresés',
'Menu:Change:Shortcuts' => 'Gyorsgombok',
'Menu:Change:Shortcuts+' => '~~',
'Menu:WaitingAcceptance' => 'Elfogadásra váró változások',
'Menu:WaitingAcceptance+' => '~~',
'Menu:WaitingApproval' => 'Jóváhagyásra váró változások',
'Menu:WaitingApproval+' => '~~',
'Menu:Changes' => 'Nyitott változási kérelmek',
'Menu:Changes+' => 'Minden nyitott változási kérelem',
'Menu:MyChanges' => 'Hozzám rendelt változások',
'Menu:MyChanges+' => 'Changes assigned to me (as Agent)~~',
'Menu:ChangeManagement' => 'Változáskezelés',
'Menu:Change:Overview' => 'Áttekintő',
'Menu:Change:Overview+' => 'Áttekintő oldal',
'Menu:NewChange' => 'Új változás',
'Menu:NewChange+' => 'Új változásjegy létrehozása',
'Menu:SearchChanges' => 'Változás keresés',
'Menu:SearchChanges+' => 'Változásjegy keresés',
'Menu:Change:Shortcuts' => 'Gyorsgombok',
'Menu:Change:Shortcuts+' => 'Gyorselérés gombok',
'Menu:WaitingAcceptance' => 'Elfogadásra váró változások',
'Menu:WaitingAcceptance+' => 'Elfogadásra váró változások',
'Menu:WaitingApproval' => 'Jóváhagyásra váró változások',
'Menu:WaitingApproval+' => 'Jóváhagyásra váró változások',
'Menu:Changes' => 'Nyitott változási kérelmek',
'Menu:Changes+' => 'Nyitott változási kérelmek összesítése',
'Menu:MyChanges' => 'Hozzám rendelt változások',
'Menu:MyChanges+' => 'Ügyintézőként hozzám rendelt változások',
'UI-ChangeManagementOverview-ChangeByCategory-last-7-days' => 'Változások kategóriánként az elmúlt 7 napban',
'UI-ChangeManagementOverview-Last-7-days' => 'A változások száma az elmúlt 7 napban',
'UI-ChangeManagementOverview-ChangeByDomain-last-7-days' => 'Változások tartományonként az elmúlt 7 napban',
@@ -81,26 +81,26 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Change/Attribute:category' => 'Kategória',
'Class:Change/Attribute:category+' => '~~',
'Class:Change/Attribute:category/Value:application' => 'Alkalmazás',
'Class:Change/Attribute:category/Value:application+' => 'application~~',
'Class:Change/Attribute:category/Value:application+' => '',
'Class:Change/Attribute:category/Value:hardware' => 'Hardver',
'Class:Change/Attribute:category/Value:hardware+' => 'hardware~~',
'Class:Change/Attribute:category/Value:hardware+' => '',
'Class:Change/Attribute:category/Value:network' => 'Hálózat',
'Class:Change/Attribute:category/Value:network+' => 'network~~',
'Class:Change/Attribute:category/Value:network+' => '',
'Class:Change/Attribute:category/Value:other' => 'Egyéb',
'Class:Change/Attribute:category/Value:other+' => 'other~~',
'Class:Change/Attribute:category/Value:other+' => '',
'Class:Change/Attribute:category/Value:software' => 'Szoftver',
'Class:Change/Attribute:category/Value:software+' => 'software~~',
'Class:Change/Attribute:category/Value:software+' => '',
'Class:Change/Attribute:category/Value:system' => 'Rendszer',
'Class:Change/Attribute:category/Value:system+' => 'system~~',
'Class:Change/Attribute:category/Value:system+' => '',
'Class:Change/Attribute:reject_reason' => 'Elutasítás oka',
'Class:Change/Attribute:reject_reason+' => '~~',
'Class:Change/Attribute:changemanager_id' => 'Változás menedzser',
'Class:Change/Attribute:changemanager_id+' => '~~',
'Class:Change/Attribute:changemanager_email' => 'Változás menedzser email címe',
'Class:Change/Attribute:changemanager_email+' => '~~',
'Class:Change/Attribute:parent_id' => 'Szülő változás',
'Class:Change/Attribute:parent_id+' => '~~',
'Class:Change/Attribute:parent_name' => 'Szülő változás ref.',
'Class:Change/Attribute:parent_id' => 'Fölérendelt változás',
'Class:Change/Attribute:parent_id+' => '~~',
'Class:Change/Attribute:parent_name' => 'Referenciaszám',
'Class:Change/Attribute:parent_name+' => '~~',
'Class:Change/Attribute:creation_date' => 'Létrehozás dátuma',
'Class:Change/Attribute:creation_date+' => '~~',
@@ -109,14 +109,14 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Change/Attribute:fallback_plan' => 'Tartalék terv',
'Class:Change/Attribute:fallback_plan+' => '~~',
'Class:Change/Attribute:related_request_list' => 'Kapcsolódó kérelmek',
'Class:Change/Attribute:related_request_list+' => 'All the user requests linked to this change~~',
'Class:Change/Attribute:related_incident_list' => 'Kapcsolódó incidensek',
'Class:Change/Attribute:related_incident_list+' => 'All the incidents linked to this change~~',
'Class:Change/Attribute:related_problems_list' => 'Kapcsolódó problémák',
'Class:Change/Attribute:related_problems_list+' => 'All the problems linked to this change~~',
'Class:Change/Attribute:child_changes_list' => 'Gyermek változások',
'Class:Change/Attribute:child_changes_list+' => 'All the sub changes linked to this change~~',
'Class:Change/Attribute:parent_id_friendlyname' => 'Szülő változás rövid név',
'Class:Change/Attribute:related_request_list+' => 'Ehhez a változáshoz kapcsolódó felhasználói kérelmek',
'Class:Change/Attribute:related_incident_list' => 'Kapcsolódó incidensek',
'Class:Change/Attribute:related_incident_list+' => 'Ehhez a változáshoz kapcsolódó incidensek',
'Class:Change/Attribute:related_problems_list' => 'Kapcsolódó problémák',
'Class:Change/Attribute:related_problems_list+' => 'Ehhez a változáshoz kapcsolódó problémák',
'Class:Change/Attribute:child_changes_list' => 'Kapcsolódó változások',
'Class:Change/Attribute:child_changes_list+' => 'Ehhez a változáshoz kapcsolódó változások',
'Class:Change/Attribute:parent_id_friendlyname' => 'Fölérendelt változás rövid név',
'Class:Change/Attribute:parent_id_friendlyname+' => '~~',
'Class:Change/Stimulus:ev_assign' => 'Hozzárendelés',
'Class:Change/Stimulus:ev_assign+' => '~~',

View File

@@ -77,7 +77,7 @@
<default_value/>
<is_null_allowed>true</is_null_allowed>
</field>
<field id="contacts_list" xsi:type="AttributeLinkedSetIndirect" _delta="define">
<field id="contacts_list" xsi:type="AttributeLinkedSetIndirect">
<linked_class>lnkContactToFunctionalCI</linked_class>
<ext_key_to_me>functionalci_id</ext_key_to_me>
<count_min>0</count_min>

View File

@@ -1282,7 +1282,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'Class:VLAN/Attribute:org_id' => 'Organization~~',
'Class:VLAN/Attribute:org_id+' => '~~',
'Class:VLAN/Attribute:org_name' => 'Organization name~~',
'Class:VLAN/Attribute:org_name+' => 'Common name~~',
'Class:VLAN/Attribute:org_name+' => '',
'Class:VLAN/Attribute:subnets_list' => 'Subnets~~',
'Class:VLAN/Attribute:subnets_list+' => '~~',
'Class:VLAN/Attribute:physicalinterfaces_list' => 'Physical network interfaces~~',

View File

@@ -34,7 +34,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'Relation:depends on/UpStream' => 'Wirkt auf ...',
'Relation:impacts/LoadData' => 'Daten laden',
'Relation:impacts/FilteredData' => 'Daten sind über den Tab "Grafische Ansicht" gefiltert',
'Relation:impacts/NoFilteredData' => 'Bitte wählen Sie Objekte ~~',
'Relation:impacts/NoFilteredData' => 'Bitte wählen Sie Objekte',
));

View File

@@ -20,17 +20,17 @@
* @license http://opensource.org/licenses/AGPL-3.0
*/
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Relation:impacts/Description' => 'Konfigurációs elem működését befolyásolják',
'Relation:impacts/DownStream' => 'Hatás',
'Relation:impacts/DownStream+' => 'Konfigurációs elem működését befolyásolják',
'Relation:impacts/UpStream' => 'Függőségek',
'Relation:impacts/UpStream+' => 'Konfigurációs elemtől függnek',
// Legacy entries
'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' => 'Adat betöltés',
'Relation:impacts/NoFilteredData' => 'please select objects and load data~~',
'Relation:impacts/Description' => 'Konfigurációs elem működését befolyásolják',
'Relation:impacts/DownStream' => 'Hatáselemzés',
'Relation:impacts/DownStream+' => 'Konfigurációs elem működését befolyásolják',
'Relation:impacts/UpStream' => 'Függőségek',
'Relation:impacts/UpStream+' => 'Konfigurációs elemtől függnek',
// Legacy entries
'Relation:depends on/Description' => 'Konfigurációs elemtől függnek',
'Relation:depends on/DownStream' => 'Függőségek',
'Relation:depends on/UpStream' => 'Hatáselemzés',
'Relation:impacts/LoadData' => 'Adat betöltés',
'Relation:impacts/NoFilteredData' => 'kérjük, válassza ki az objektumokat a grafikus nézetben',
'Relation:impacts/FilteredData' => 'Filtered data~~',
));
@@ -97,16 +97,16 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:FunctionalCI' => 'Funkcionális CI',
'Class:FunctionalCI+' => '',
'Class:FunctionalCI/Attribute:name' => 'Név',
'Class:FunctionalCI/Attribute:name' => 'CI Név',
'Class:FunctionalCI/Attribute:name+' => '',
'Class:FunctionalCI/Attribute:description' => 'Leírás',
'Class:FunctionalCI/Attribute:description+' => '~~',
'Class:FunctionalCI/Attribute:org_id' => 'Tulajdonos szevezeti egység',
'Class:FunctionalCI/Attribute:description+' => '',
'Class:FunctionalCI/Attribute:org_id' => 'Tulajdonos szervezeti egység',
'Class:FunctionalCI/Attribute:org_id+' => '',
'Class:FunctionalCI/Attribute:organization_name' => 'Szervezeti egység név',
'Class:FunctionalCI/Attribute:organization_name+' => 'Általános név',
'Class:FunctionalCI/Attribute:business_criticity' => 'Üzlet kritikusság',
'Class:FunctionalCI/Attribute:business_criticity+' => '~~',
'Class:FunctionalCI/Attribute:business_criticity+' => '',
'Class:FunctionalCI/Attribute:business_criticity/Value:high' => 'magas',
'Class:FunctionalCI/Attribute:business_criticity/Value:high+' => 'high~~',
'Class:FunctionalCI/Attribute:business_criticity/Value:low' => 'alacsony',
@@ -114,7 +114,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:FunctionalCI/Attribute:business_criticity/Value:medium' => 'közepes',
'Class:FunctionalCI/Attribute:business_criticity/Value:medium+' => 'medium~~',
'Class:FunctionalCI/Attribute:move2production' => 'Használatba vétel dátuma',
'Class:FunctionalCI/Attribute:move2production+' => '~~',
'Class:FunctionalCI/Attribute:move2production+' => '',
'Class:FunctionalCI/Attribute:contacts_list' => 'Kapcsolattartók',
'Class:FunctionalCI/Attribute:contacts_list+' => 'Kapcsolattartók ehhez a konfigurációs elemhez',
'Class:FunctionalCI/Attribute:documents_list' => 'Dokumentumok',
@@ -123,9 +123,9 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:FunctionalCI/Attribute:applicationsolution_list+' => 'Alkalmazásmegoldások, melyek ettől a konfigurációs elemtől függenek',
'Class:FunctionalCI/Attribute:softwares_list' => 'Szoftverek',
'Class:FunctionalCI/Attribute:softwares_list+' => 'Szoftverek, melyek erre a konfigurációs elemre vannak telepítve',
'Class:FunctionalCI/Attribute:finalclass' => 'Típus',
'Class:FunctionalCI/Attribute:finalclass+' => '',
'Class:FunctionalCI/Tab:OpenedTickets' => 'Aktív hibajegyek',
'Class:FunctionalCI/Attribute:finalclass' => 'CI típus',
'Class:FunctionalCI/Attribute:finalclass+' => '',
'Class:FunctionalCI/Tab:OpenedTickets' => 'Nyitott hibajegyek',
'Class:FunctionalCI/Tab:OpenedTickets+' => 'Active Tickets which are impacting this functional CI~~',
));
@@ -146,10 +146,10 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:PhysicalDevice/Attribute:status' => 'Állapot',
'Class:PhysicalDevice/Attribute:status+' => '~~',
'Class:PhysicalDevice/Attribute:status/Value:implementation' => 'Megvalósítás alatt',
'Class:PhysicalDevice/Attribute:status/Value:implementation+' => 'implementáció',
'Class:PhysicalDevice/Attribute:status/Value:implementation+' => 'implementation',
'Class:PhysicalDevice/Attribute:status/Value:obsolete' => 'Elavult',
'Class:PhysicalDevice/Attribute:status/Value:obsolete+' => 'obsolete~~',
'Class:PhysicalDevice/Attribute:status/Value:production' => 'Használatban',
'Class:PhysicalDevice/Attribute:status/Value:production' => 'Bevezetve',
'Class:PhysicalDevice/Attribute:status/Value:production+' => 'production~~',
'Class:PhysicalDevice/Attribute:status/Value:stock' => 'Készleten',
'Class:PhysicalDevice/Attribute:status/Value:stock+' => 'stock~~',
@@ -159,7 +159,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:PhysicalDevice/Attribute:brand_name+' => '~~',
'Class:PhysicalDevice/Attribute:model_id' => 'Modell',
'Class:PhysicalDevice/Attribute:model_id+' => '~~',
'Class:PhysicalDevice/Attribute:model_name' => 'Modellnév',
'Class:PhysicalDevice/Attribute:model_name' => 'Modell név',
'Class:PhysicalDevice/Attribute:model_name+' => '~~',
'Class:PhysicalDevice/Attribute:asset_number' => 'Leltári szám',
'Class:PhysicalDevice/Attribute:asset_number+' => '~~',
@@ -181,8 +181,8 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Rack/Attribute:nb_u+' => '~~',
'Class:Rack/Attribute:device_list' => 'Eszközök',
'Class:Rack/Attribute:device_list+' => 'Minden fizikai eszköz amely ebbe a rack-be lett beszerelve',
'Class:Rack/Attribute:enclosure_list' => 'Készülékházak',
'Class:Rack/Attribute:enclosure_list+' => 'Minden készülékház ebben a rack-ben',
'Class:Rack/Attribute:enclosure_list' => 'Beépítőkeretek',
'Class:Rack/Attribute:enclosure_list+' => 'Minden beépítőkeret ebben a rack-ben',
));
//
@@ -262,14 +262,14 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:DatacenterDevice/Attribute:rack_id+' => '~~',
'Class:DatacenterDevice/Attribute:rack_name' => 'Rack név',
'Class:DatacenterDevice/Attribute:rack_name+' => '~~',
'Class:DatacenterDevice/Attribute:enclosure_id' => 'Készülékház',
'Class:DatacenterDevice/Attribute:enclosure_id+' => '~~',
'Class:DatacenterDevice/Attribute:enclosure_name' => 'Készülékház név',
'Class:DatacenterDevice/Attribute:enclosure_name+' => '~~',
'Class:DatacenterDevice/Attribute:nb_u' => 'Unit magasság',
'Class:DatacenterDevice/Attribute:nb_u+' => '~~',
'Class:DatacenterDevice/Attribute:managementip' => 'Menedzsment IP cím',
'Class:DatacenterDevice/Attribute:managementip+' => '~~',
'Class:DatacenterDevice/Attribute:enclosure_id' => 'Beépítőkeret',
'Class:DatacenterDevice/Attribute:enclosure_id+' => '~~',
'Class:DatacenterDevice/Attribute:enclosure_name' => 'Beépítőkeret név',
'Class:DatacenterDevice/Attribute:enclosure_name+' => '~~',
'Class:DatacenterDevice/Attribute:nb_u' => 'Unit magasság',
'Class:DatacenterDevice/Attribute:nb_u+' => '~~',
'Class:DatacenterDevice/Attribute:managementip' => 'Menedzsment IP cím',
'Class:DatacenterDevice/Attribute:managementip+' => 'Az eszköz konfigurációs felületének az ip címe',
'Class:DatacenterDevice/Attribute:powerA_id' => 'PowerA áramforrás',
'Class:DatacenterDevice/Attribute:powerA_id+' => '~~',
'Class:DatacenterDevice/Attribute:powerA_name' => 'PowerA áramforrás név',
@@ -304,11 +304,11 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:NetworkDevice/Attribute:connectablecis_list' => 'Kapcsolódó eszközök',
'Class:NetworkDevice/Attribute:connectablecis_list+' => 'Az összes eszköz, amely ehhez a hálózati eszközhöz csatlakozik',
'Class:NetworkDevice/Attribute:iosversion_id' => 'IOS verzió',
'Class:NetworkDevice/Attribute:iosversion_id+' => '~~',
'Class:NetworkDevice/Attribute:iosversion_name' => 'IOS verzió név',
'Class:NetworkDevice/Attribute:iosversion_name+' => '~~',
'Class:NetworkDevice/Attribute:ram' => 'RAM',
'Class:NetworkDevice/Attribute:ram+' => '',
'Class:NetworkDevice/Attribute:iosversion_id+' => 'A hálózati eszköz firmware-je',
'Class:NetworkDevice/Attribute:iosversion_name' => 'IOS verzió név',
'Class:NetworkDevice/Attribute:iosversion_name+' => '',
'Class:NetworkDevice/Attribute:ram' => 'RAM',
'Class:NetworkDevice/Attribute:ram+' => 'Műveleti memória',
));
//
@@ -320,21 +320,21 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Server+' => '',
'Class:Server/ComplementaryName' => '%1$s - %2$s~~',
'Class:Server/Attribute:osfamily_id' => 'OS család',
'Class:Server/Attribute:osfamily_id+' => '~~',
'Class:Server/Attribute:osfamily_id+' => '',
'Class:Server/Attribute:osfamily_name' => 'OS család név',
'Class:Server/Attribute:osfamily_name+' => '~~',
'Class:Server/Attribute:osfamily_name+' => '',
'Class:Server/Attribute:osversion_id' => 'OS verzió',
'Class:Server/Attribute:osversion_id+' => '~~',
'Class:Server/Attribute:osversion_id+' => '',
'Class:Server/Attribute:osversion_name' => 'OS verzió név',
'Class:Server/Attribute:osversion_name+' => '~~',
'Class:Server/Attribute:osversion_name+' => '',
'Class:Server/Attribute:oslicence_id' => 'OS licenc',
'Class:Server/Attribute:oslicence_id+' => '~~',
'Class:Server/Attribute:oslicence_id+' => '',
'Class:Server/Attribute:oslicence_name' => 'OS licenc név',
'Class:Server/Attribute:oslicence_name+' => '~~',
'Class:Server/Attribute:oslicence_name+' => '',
'Class:Server/Attribute:cpu' => 'CPU',
'Class:Server/Attribute:cpu+' => '',
'Class:Server/Attribute:ram' => 'RAM',
'Class:Server/Attribute:ram+' => '',
'Class:Server/Attribute:cpu+' => 'Processzor típus',
'Class:Server/Attribute:ram' => 'RAM',
'Class:Server/Attribute:ram+' => 'Műveleti memória',
'Class:Server/Attribute:logicalvolumes_list' => 'Logikai kötetek',
'Class:Server/Attribute:logicalvolumes_list+' => 'Logikai kötetek, melyek ehhez a szerverhez kapcsolódnak',
));
@@ -345,7 +345,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:StorageSystem' => 'Tárolórendszer',
'Class:StorageSystem+' => '~~',
'Class:StorageSystem+' => '',
'Class:StorageSystem/ComplementaryName' => '%1$s - %2$s~~',
'Class:StorageSystem/Attribute:logicalvolume_list' => 'Logikai kötetek',
'Class:StorageSystem/Attribute:logicalvolume_list+' => 'Logikai kötetek ebben a tárolórendszerben',
@@ -357,7 +357,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:SANSwitch' => 'SAN Switch',
'Class:SANSwitch+' => '~~',
'Class:SANSwitch+' => 'Tárolórendszer switch',
'Class:SANSwitch/ComplementaryName' => '%1$s - %2$s~~',
'Class:SANSwitch/Attribute:datacenterdevice_list' => 'Kapcsolódó eszközök',
'Class:SANSwitch/Attribute:datacenterdevice_list+' => 'Ehhez a SAN-switch-hez csatlakozó konfigurációs elemek',
@@ -369,10 +369,10 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:TapeLibrary' => 'Szalagos tároló',
'Class:TapeLibrary+' => '~~',
'Class:TapeLibrary+' => 'Mágnesszalagos tároló',
'Class:TapeLibrary/ComplementaryName' => '%1$s - %2$s~~',
'Class:TapeLibrary/Attribute:tapes_list' => 'Szalagok',
'Class:TapeLibrary/Attribute:tapes_list+' => 'Szalagok a szalagos tárolóhoz',
'Class:TapeLibrary/Attribute:tapes_list+' => 'Szalagok (kazetták) a szalagos tárolóhoz',
));
//
@@ -381,7 +381,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:NAS' => 'NAS',
'Class:NAS+' => '~~',
'Class:NAS+' => 'Hálózati adattároló',
'Class:NAS/ComplementaryName' => '%1$s - %2$s~~',
'Class:NAS/Attribute:nasfilesystem_list' => 'Fájlrendszerek',
'Class:NAS/Attribute:nasfilesystem_list+' => 'A NAS fájlrendszerei',
@@ -393,22 +393,22 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:PC' => 'PC',
'Class:PC+' => '',
'Class:PC+' => 'Személyi számítógép',
'Class:PC/ComplementaryName' => '%1$s - %2$s~~',
'Class:PC/Attribute:osfamily_id' => 'OS család',
'Class:PC/Attribute:osfamily_id+' => '~~',
'Class:PC/Attribute:osfamily_id+' => '',
'Class:PC/Attribute:osfamily_name' => 'OS család név',
'Class:PC/Attribute:osfamily_name+' => '~~',
'Class:PC/Attribute:osfamily_name+' => '',
'Class:PC/Attribute:osversion_id' => 'OS verzió',
'Class:PC/Attribute:osversion_id+' => '~~',
'Class:PC/Attribute:osversion_id+' => '',
'Class:PC/Attribute:osversion_name' => 'OS verzió név',
'Class:PC/Attribute:osversion_name+' => '~~',
'Class:PC/Attribute:osversion_name+' => '',
'Class:PC/Attribute:cpu' => 'CPU',
'Class:PC/Attribute:cpu+' => '',
'Class:PC/Attribute:ram' => 'RAM',
'Class:PC/Attribute:ram+' => '',
'Class:PC/Attribute:type' => 'Típus',
'Class:PC/Attribute:type+' => '~~',
'Class:PC/Attribute:type+' => '',
'Class:PC/Attribute:type/Value:desktop' => 'Desktop',
'Class:PC/Attribute:type/Value:desktop+' => 'desktop~~',
'Class:PC/Attribute:type/Value:laptop' => 'Laptop',
@@ -441,7 +441,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:PowerSource' => 'Áramforrás',
'Class:PowerSource+' => '~~',
'Class:PowerSource+' => 'UPS, generátor, akkumulátor stb.',
'Class:PowerSource/ComplementaryName' => '%1$s - %2$s~~',
'Class:PowerSource/Attribute:pdus_list' => 'PDU-k',
'Class:PowerSource/Attribute:pdus_list+' => 'Tápelosztók amik ezt az áramforrást használják',
@@ -453,16 +453,16 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:PDU' => 'PDU',
'Class:PDU+' => '~~',
'Class:PDU+' => 'Tápelosztó a rack-ben',
'Class:PDU/ComplementaryName' => '%1$s - %2$s - %3$s - %4$s~~',
'Class:PDU/Attribute:rack_id' => 'Rack',
'Class:PDU/Attribute:rack_id+' => '~~',
'Class:PDU/Attribute:rack_name' => 'Rack név',
'Class:PDU/Attribute:rack_name+' => '~~',
'Class:PDU/Attribute:powerstart_id' => 'Betápláló',
'Class:PDU/Attribute:powerstart_id+' => '~~',
'Class:PDU/Attribute:powerstart_name' => 'Betápláló név',
'Class:PDU/Attribute:powerstart_name+' => '~~',
'Class:PDU/Attribute:powerstart_id' => 'Áramforrás',
'Class:PDU/Attribute:powerstart_id+' => '~~',
'Class:PDU/Attribute:powerstart_name' => 'Áramforrás név',
'Class:PDU/Attribute:powerstart_name+' => '~~',
));
//
@@ -480,8 +480,8 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
//
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Enclosure' => 'Készülékház',
'Class:Enclosure+' => '~~',
'Class:Enclosure' => 'Beépítőkeret',
'Class:Enclosure+' => 'Rack-be szerelhető készülékszerelvény',
'Class:Enclosure/ComplementaryName' => '%1$s - %2$s - %3$s~~',
'Class:Enclosure/Attribute:rack_id' => 'Rack',
'Class:Enclosure/Attribute:rack_id+' => '~~',
@@ -498,14 +498,14 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
//
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:ApplicationSolution' => 'Egyedi alkalmazás',
'Class:ApplicationSolution+' => '',
'Class:ApplicationSolution' => 'Alkalmazásmegoldás',
'Class:ApplicationSolution+' => 'Több alkalmazás és CI kombinációja egy adott feladatra',
'Class:ApplicationSolution/Attribute:functionalcis_list' => 'CI-k',
'Class:ApplicationSolution/Attribute:functionalcis_list+' => 'Konfigurációs elemek, melyek ezt az alkalmazásmegoldást alkotják',
'Class:ApplicationSolution/Attribute:businessprocess_list' => 'Üzleti folyamatok',
'Class:ApplicationSolution/Attribute:businessprocess_list+' => 'Üzleti folyamatok, melyek ettől az alkalmazásmegoldástól függenek',
'Class:ApplicationSolution/Attribute:status' => 'Állapot',
'Class:ApplicationSolution/Attribute:status+' => '~~',
'Class:ApplicationSolution/Attribute:status+' => '',
'Class:ApplicationSolution/Attribute:status/Value:active' => 'Aktív',
'Class:ApplicationSolution/Attribute:status/Value:active+' => 'active~~',
'Class:ApplicationSolution/Attribute:status/Value:inactive' => 'Inaktív',
@@ -522,11 +522,11 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:BusinessProcess' => 'Üzleti folyamat',
'Class:BusinessProcess+' => '',
'Class:BusinessProcess+' => 'Személyek, szolgáltatások és CI-k értékteremtő kombinációja',
'Class:BusinessProcess/Attribute:applicationsolutions_list' => 'Alkalmazásmegoldások',
'Class:BusinessProcess/Attribute:applicationsolutions_list+' => 'Alkalmazásmegoldások melyek hatással vannak erre az üzleti folyamatra',
'Class:BusinessProcess/Attribute:status' => 'Állapot',
'Class:BusinessProcess/Attribute:status+' => '~~',
'Class:BusinessProcess/Attribute:status+' => '',
'Class:BusinessProcess/Attribute:status/Value:active' => 'Aktív',
'Class:BusinessProcess/Attribute:status/Value:active+' => 'active~~',
'Class:BusinessProcess/Attribute:status/Value:inactive' => 'Inaktív',
@@ -539,27 +539,27 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:SoftwareInstance' => 'Szoftverpéldány',
'Class:SoftwareInstance+' => '',
'Class:SoftwareInstance+' => 'A szoftver telepített példányai',
'Class:SoftwareInstance/Attribute:system_id' => 'Rendszer',
'Class:SoftwareInstance/Attribute:system_id+' => '~~',
'Class:SoftwareInstance/Attribute:system_id+' => '',
'Class:SoftwareInstance/Attribute:system_name' => 'Rendszer név',
'Class:SoftwareInstance/Attribute:system_name+' => '~~',
'Class:SoftwareInstance/Attribute:system_name+' => '',
'Class:SoftwareInstance/Attribute:software_id' => 'Szoftver',
'Class:SoftwareInstance/Attribute:software_id+' => '~~',
'Class:SoftwareInstance/Attribute:software_id+' => '',
'Class:SoftwareInstance/Attribute:software_name' => 'Szoftvernév',
'Class:SoftwareInstance/Attribute:software_name+' => '',
'Class:SoftwareInstance/Attribute:softwarelicence_id' => 'Szoftver licenc',
'Class:SoftwareInstance/Attribute:softwarelicence_id+' => '~~',
'Class:SoftwareInstance/Attribute:softwarelicence_id+' => '',
'Class:SoftwareInstance/Attribute:softwarelicence_name' => 'Szoftver licenc név',
'Class:SoftwareInstance/Attribute:softwarelicence_name+' => '~~',
'Class:SoftwareInstance/Attribute:softwarelicence_name+' => '',
'Class:SoftwareInstance/Attribute:path' => 'Elérési út',
'Class:SoftwareInstance/Attribute:path+' => '~~',
'Class:SoftwareInstance/Attribute:path+' => '',
'Class:SoftwareInstance/Attribute:status' => 'Állapot',
'Class:SoftwareInstance/Attribute:status+' => '~~',
'Class:SoftwareInstance/Attribute:status+' => '',
'Class:SoftwareInstance/Attribute:status/Value:active' => 'Aktív',
'Class:SoftwareInstance/Attribute:status/Value:active+' => 'active~~',
'Class:SoftwareInstance/Attribute:status/Value:active+' => '',
'Class:SoftwareInstance/Attribute:status/Value:inactive' => 'Inaktív',
'Class:SoftwareInstance/Attribute:status/Value:inactive+' => 'inactive~~',
'Class:SoftwareInstance/Attribute:status/Value:inactive+' => '',
));
//
@@ -568,9 +568,9 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Middleware' => 'Middleware',
'Class:Middleware+' => 'Köztes szoftver',
'Class:Middleware/Attribute:middlewareinstance_list' => 'Middleware példány',
'Class:Middleware/Attribute:middlewareinstance_list+' => 'Middleware példányok melyeket ez a middlaware biztosít',
'Class:Middleware+' => 'Köztes szoftver rendszerek összekötéséhez',
'Class:Middleware/Attribute:middlewareinstance_list' => 'Middleware példányok',
'Class:Middleware/Attribute:middlewareinstance_list+' => 'Middleware példányok melyeket ez a middleware biztosít',
));
//
@@ -578,8 +578,8 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
//
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:DBServer' => 'Adatbázis',
'Class:DBServer+' => '',
'Class:DBServer' => 'Adatbázis szerver',
'Class:DBServer+' => 'Adatbázis kiszolgáló',
'Class:DBServer/Attribute:dbschema_list' => 'DB sémák',
'Class:DBServer/Attribute:dbschema_list+' => 'A DB szerver adatbázis sémái',
));
@@ -590,7 +590,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:WebServer' => 'Webszerver',
'Class:WebServer+' => '~~',
'Class:WebServer+' => 'Webkiszolgáló',
'Class:WebServer/Attribute:webapp_list' => 'Webalkalmazások',
'Class:WebServer/Attribute:webapp_list+' => 'Webalkalmazások, melyek elérhetőek ezen a webszerveren',
));
@@ -601,7 +601,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:PCSoftware' => 'PC Szoftver',
'Class:PCSoftware+' => '~~',
'Class:PCSoftware+' => 'Személyi számítógép szoftverei',
));
//
@@ -671,7 +671,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:VirtualDevice/Attribute:status/Value:implementation+' => 'implementation~~',
'Class:VirtualDevice/Attribute:status/Value:obsolete' => 'Elavult',
'Class:VirtualDevice/Attribute:status/Value:obsolete+' => 'obsolete~~',
'Class:VirtualDevice/Attribute:status/Value:production' => 'Használatban',
'Class:VirtualDevice/Attribute:status/Value:production' => 'Bevezetve',
'Class:VirtualDevice/Attribute:status/Value:production+' => 'production~~',
'Class:VirtualDevice/Attribute:status/Value:stock' => 'Készleten',
'Class:VirtualDevice/Attribute:status/Value:stock+' => 'stock~~',
@@ -696,7 +696,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Hypervisor' => 'Hypervisor',
'Class:Hypervisor+' => '~~',
'Class:Hypervisor+' => 'Virtuális gépeket futtató szoftver',
'Class:Hypervisor/Attribute:farm_id' => 'Szerverfarm',
'Class:Hypervisor/Attribute:farm_id+' => '~~',
'Class:Hypervisor/Attribute:farm_name' => 'Szerverfarm név',
@@ -713,9 +713,9 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Farm' => 'Szerverfarm',
'Class:Farm+' => '~~',
'Class:Farm+' => 'Szerverek egy klaszterben',
'Class:Farm/Attribute:hypervisor_list' => 'Hypervisor-ok',
'Class:Farm/Attribute:hypervisor_list+' => 'All the hypervisors that compose this farm~~',
'Class:Farm/Attribute:hypervisor_list+' => 'Hypervisor-ok amelyek a farmot alkotják',
'Class:Farm/Attribute:redundancy' => 'Magas rendelkezésre állás',
'Class:Farm/Attribute:redundancy/disabled' => 'A farm működik, ha az összes hypervisor működik.',
'Class:Farm/Attribute:redundancy/count' => 'A farm működik, ha legalább %1$s hypervisor működik',
@@ -771,7 +771,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:LogicalVolume/Attribute:description+' => '~~',
'Class:LogicalVolume/Attribute:raid_level' => 'Raid szint',
'Class:LogicalVolume/Attribute:raid_level+' => '~~',
'Class:LogicalVolume/Attribute:size' => 'Méret',
'Class:LogicalVolume/Attribute:size' => 'Tárhely',
'Class:LogicalVolume/Attribute:size+' => '~~',
'Class:LogicalVolume/Attribute:storagesystem_id' => 'Tárolórendszer',
'Class:LogicalVolume/Attribute:storagesystem_id+' => '~~',
@@ -799,7 +799,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:lnkServerToVolume/Attribute:server_id+' => '~~',
'Class:lnkServerToVolume/Attribute:server_name' => 'Szerver név',
'Class:lnkServerToVolume/Attribute:server_name+' => '~~',
'Class:lnkServerToVolume/Attribute:size_used' => 'Felhasznált méret',
'Class:lnkServerToVolume/Attribute:size_used' => 'Felhasznált tárhely',
'Class:lnkServerToVolume/Attribute:size_used+' => '~~',
));
@@ -819,7 +819,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:lnkVirtualDeviceToVolume/Attribute:virtualdevice_id+' => '~~',
'Class:lnkVirtualDeviceToVolume/Attribute:virtualdevice_name' => 'Virtuális eszköz név',
'Class:lnkVirtualDeviceToVolume/Attribute:virtualdevice_name+' => '~~',
'Class:lnkVirtualDeviceToVolume/Attribute:size_used' => 'Felhasznált méret',
'Class:lnkVirtualDeviceToVolume/Attribute:size_used' => 'Felhasznált tárhely',
'Class:lnkVirtualDeviceToVolume/Attribute:size_used+' => '~~',
));
@@ -852,11 +852,11 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Tape' => 'Szalag',
'Class:Tape+' => '~~',
'Class:Tape/Attribute:name' => 'Név',
'Class:Tape/Attribute:name' => 'Szalag név',
'Class:Tape/Attribute:name+' => '~~',
'Class:Tape/Attribute:description' => 'Leírás',
'Class:Tape/Attribute:description+' => '~~',
'Class:Tape/Attribute:size' => 'Méret',
'Class:Tape/Attribute:size' => 'Tárhely',
'Class:Tape/Attribute:size+' => '~~',
'Class:Tape/Attribute:tapelibrary_id' => 'Szalagos tároló',
'Class:Tape/Attribute:tapelibrary_id+' => '~~',
@@ -871,13 +871,13 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:NASFileSystem' => 'NAS Fájlrendszer',
'Class:NASFileSystem+' => '~~',
'Class:NASFileSystem/Attribute:name' => 'Név',
'Class:NASFileSystem/Attribute:name' => 'Fájlrendszer név',
'Class:NASFileSystem/Attribute:name+' => '~~',
'Class:NASFileSystem/Attribute:description' => 'Leírás',
'Class:NASFileSystem/Attribute:description+' => '~~',
'Class:NASFileSystem/Attribute:raid_level' => 'Raid szint',
'Class:NASFileSystem/Attribute:raid_level+' => '~~',
'Class:NASFileSystem/Attribute:size' => 'Méret',
'Class:NASFileSystem/Attribute:size' => 'Tárhely',
'Class:NASFileSystem/Attribute:size+' => '~~',
'Class:NASFileSystem/Attribute:nas_id' => 'NAS',
'Class:NASFileSystem/Attribute:nas_id+' => '~~',
@@ -926,16 +926,16 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
//
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Patch' => 'Javítócsomag',
'Class:Patch+' => '',
'Class:Patch/Attribute:name' => 'Név',
'Class:Patch/Attribute:name+' => '',
'Class:Patch/Attribute:documents_list' => 'Dokumentumok',
'Class:Patch/Attribute:documents_list+' => 'A javítócsomag dokumentumai',
'Class:Patch/Attribute:description' => 'Leírás',
'Class:Patch/Attribute:description+' => '',
'Class:Patch/Attribute:finalclass' => 'Típus',
'Class:Patch/Attribute:finalclass+' => 'A végső osztály neve',
'Class:Patch' => 'Szervizcsomag',
'Class:Patch+' => 'Szoftver patch',
'Class:Patch/Attribute:name' => 'Szervizcsomag név',
'Class:Patch/Attribute:name+' => '',
'Class:Patch/Attribute:documents_list' => 'Dokumentumok',
'Class:Patch/Attribute:documents_list+' => 'A szervizcsomag dokumentumai',
'Class:Patch/Attribute:description' => 'Leírás',
'Class:Patch/Attribute:description+' => '',
'Class:Patch/Attribute:finalclass' => 'Szervizcsomag típus',
'Class:Patch/Attribute:finalclass+' => 'A végső osztály neve',
));
//
@@ -944,7 +944,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:OSPatch' => 'OS javítócsomag',
'Class:OSPatch+' => '~~',
'Class:OSPatch+' => 'Operációs rendszer szervizcsomag',
'Class:OSPatch/Attribute:functionalcis_list' => 'Eszközök',
'Class:OSPatch/Attribute:functionalcis_list+' => 'Rendszerek, amelyekre telepítve lett ez az OS javítócsomag',
'Class:OSPatch/Attribute:osversion_id' => 'OS verzió',
@@ -958,7 +958,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
//
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:SoftwarePatch' => 'Szoftver javítócsomag',
'Class:SoftwarePatch' => 'Szoftver szervizcsomag',
'Class:SoftwarePatch+' => '~~',
'Class:SoftwarePatch/Attribute:software_id' => 'Szoftver',
'Class:SoftwarePatch/Attribute:software_id+' => '~~',
@@ -973,34 +973,34 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
//
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Licence' => 'Licensz',
'Class:Licence+' => '',
'Class:Licence/Attribute:name' => 'Név',
'Class:Licence/Attribute:name+' => '',
'Class:Licence/Attribute:documents_list' => 'Dokumentumok',
'Class:Licence/Attribute:documents_list+' => 'A licenc dokumentumai',
'Class:Licence/Attribute:org_id' => 'Tulajdonos szevezeti egység',
'Class:Licence/Attribute:org_id+' => '',
'Class:Licence/Attribute:organization_name' => 'Szervezeti egység név',
'Class:Licence/Attribute:organization_name+' => 'Általános név',
'Class:Licence/Attribute:usage_limit' => 'Felhasználási korlátok',
'Class:Licence/Attribute:usage_limit+' => '',
'Class:Licence/Attribute:description' => 'Leírás',
'Class:Licence/Attribute:description+' => '~~',
'Class:Licence/Attribute:start_date' => 'Kezdő dátum',
'Class:Licence/Attribute:start_date+' => '~~',
'Class:Licence/Attribute:end_date' => 'Befejező dátum',
'Class:Licence/Attribute:end_date+' => '~~',
'Class:Licence/Attribute:licence_key' => 'Licenckulcs',
'Class:Licence/Attribute:licence_key+' => '',
'Class:Licence/Attribute:perpetual' => 'Öröklicenc',
'Class:Licence/Attribute:perpetual+' => '~~',
'Class:Licence/Attribute:perpetual/Value:no' => 'nem',
'Class:Licence/Attribute:perpetual/Value:no+' => 'no~~',
'Class:Licence/Attribute:perpetual/Value:yes' => 'igen',
'Class:Licence/Attribute:perpetual/Value:yes+' => 'yes~~',
'Class:Licence/Attribute:finalclass' => 'Típus',
'Class:Licence/Attribute:finalclass+' => 'A végső osztály neve',
'Class:Licence' => 'Licenc',
'Class:Licence+' => '',
'Class:Licence/Attribute:name' => 'Licenc név',
'Class:Licence/Attribute:name+' => '',
'Class:Licence/Attribute:documents_list' => 'Dokumentumok',
'Class:Licence/Attribute:documents_list+' => 'A licenc dokumentumai',
'Class:Licence/Attribute:org_id' => 'Tulajdonos szervezeti egység',
'Class:Licence/Attribute:org_id+' => '',
'Class:Licence/Attribute:organization_name' => 'Szervezeti egység név',
'Class:Licence/Attribute:organization_name+' => 'Általános név',
'Class:Licence/Attribute:usage_limit' => 'Felhasználási korlátok',
'Class:Licence/Attribute:usage_limit+' => '',
'Class:Licence/Attribute:description' => 'Leírás',
'Class:Licence/Attribute:description+' => '',
'Class:Licence/Attribute:start_date' => 'Érvényesség kezdete',
'Class:Licence/Attribute:start_date+' => '',
'Class:Licence/Attribute:end_date' => 'Érvényesség vége',
'Class:Licence/Attribute:end_date+' => '',
'Class:Licence/Attribute:licence_key' => 'Licenckulcs',
'Class:Licence/Attribute:licence_key+' => '',
'Class:Licence/Attribute:perpetual' => 'Öröklicenc',
'Class:Licence/Attribute:perpetual+' => '',
'Class:Licence/Attribute:perpetual/Value:no' => 'nem',
'Class:Licence/Attribute:perpetual/Value:no+' => 'no~~',
'Class:Licence/Attribute:perpetual/Value:yes' => 'igen',
'Class:Licence/Attribute:perpetual/Value:yes+' => 'yes~~',
'Class:Licence/Attribute:finalclass' => 'Licenc típus',
'Class:Licence/Attribute:finalclass+' => 'A végső osztály neve',
));
//
@@ -1108,12 +1108,12 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Model/Attribute:type/Value:PowerSource+' => 'Áramforrás',
'Class:Model/Attribute:type/Value:DiskArray' => 'Lemez tömb',
'Class:Model/Attribute:type/Value:DiskArray+' => '',
'Class:Model/Attribute:type/Value:Enclosure' => 'Készülékház',
'Class:Model/Attribute:type/Value:Enclosure+' => 'Enclosure~~',
'Class:Model/Attribute:type/Value:Enclosure' => 'Beépítőkeret',
'Class:Model/Attribute:type/Value:Enclosure+' => '',
'Class:Model/Attribute:type/Value:IPPhone' => 'Egyéb eszköz',
'Class:Model/Attribute:type/Value:IPPhone+' => 'IP Phone~~',
'Class:Model/Attribute:type/Value:IPPhone+' => 'pl.IP telefon',
'Class:Model/Attribute:type/Value:MobilePhone' => 'Mobiltelefon',
'Class:Model/Attribute:type/Value:MobilePhone+' => 'Mobile Phone~~',
'Class:Model/Attribute:type/Value:MobilePhone+' => '',
'Class:Model/Attribute:type/Value:NAS' => 'NAS',
'Class:Model/Attribute:type/Value:NAS+' => 'NAS~~',
'Class:Model/Attribute:type/Value:NetworkDevice' => 'Hálózati eszköz',
@@ -1143,7 +1143,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Model/Attribute:physicaldevices_list' => 'Fizikai eszközök',
'Class:Model/Attribute:physicaldevices_list+' => 'Fizikai eszközök melyek ehhez a modellszámhoz tartoznak',
'Class:Model/UniquenessRule:name_brand+' => 'A névnek egyedinek kell lennie a gyártón belül',
'Class:Model/UniquenessRule:name_brand' => 'a gyártó ezen modellje már létezik',
'Class:Model/UniquenessRule:name_brand' => 'A gyártó ezen modellje már létezik',
));
//
@@ -1163,7 +1163,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:IOSVersion' => 'IOS Verzió',
'Class:IOSVersion+' => '~~',
'Class:IOSVersion+' => 'A hálózati eszköz firmware-je',
'Class:IOSVersion/Attribute:brand_id' => 'Gyártó',
'Class:IOSVersion/Attribute:brand_id+' => '~~',
'Class:IOSVersion/Attribute:brand_name' => 'Gyártó név',
@@ -1175,12 +1175,12 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
//
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:lnkDocumentToPatch' => 'Dokumentum / Javítócsomag',
'Class:lnkDocumentToPatch' => 'Dokumentum / Szervizcsomag',
'Class:lnkDocumentToPatch+' => '~~',
'Class:lnkDocumentToPatch/Name' => '%1$s / %2$s~~',
'Class:lnkDocumentToPatch/Attribute:patch_id' => 'Javítócsomag',
'Class:lnkDocumentToPatch/Attribute:patch_id' => 'Szervízcsomag',
'Class:lnkDocumentToPatch/Attribute:patch_id+' => '~~',
'Class:lnkDocumentToPatch/Attribute:patch_name' => 'Javítócsomag név',
'Class:lnkDocumentToPatch/Attribute:patch_name' => 'Szervizcsomag név',
'Class:lnkDocumentToPatch/Attribute:patch_name+' => '~~',
'Class:lnkDocumentToPatch/Attribute:document_id' => 'Dokumentum',
'Class:lnkDocumentToPatch/Attribute:document_id+' => '~~',
@@ -1193,12 +1193,12 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
//
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:lnkSoftwareInstanceToSoftwarePatch' => 'Szoftverpéldány / Szoftver javítócsomag',
'Class:lnkSoftwareInstanceToSoftwarePatch' => 'Szoftverpéldány / Szoftver szervizcsomag',
'Class:lnkSoftwareInstanceToSoftwarePatch+' => '~~',
'Class:lnkSoftwareInstanceToSoftwarePatch/Name' => '%1$s / %2$s~~',
'Class:lnkSoftwareInstanceToSoftwarePatch/Attribute:softwarepatch_id' => 'Szoftver javítócsomag',
'Class:lnkSoftwareInstanceToSoftwarePatch/Attribute:softwarepatch_id+' => '~~',
'Class:lnkSoftwareInstanceToSoftwarePatch/Attribute:softwarepatch_name' => 'Szoftver javítócsomag név',
'Class:lnkSoftwareInstanceToSoftwarePatch/Attribute:softwarepatch_id' => 'Szoftver szervizcsomag',
'Class:lnkSoftwareInstanceToSoftwarePatch/Attribute:softwarepatch_id+' => '~~',
'Class:lnkSoftwareInstanceToSoftwarePatch/Attribute:softwarepatch_name' => 'Szoftver szervizcsomag név',
'Class:lnkSoftwareInstanceToSoftwarePatch/Attribute:softwarepatch_name+' => '~~',
'Class:lnkSoftwareInstanceToSoftwarePatch/Attribute:softwareinstance_id' => 'Szoftverpéldány',
'Class:lnkSoftwareInstanceToSoftwarePatch/Attribute:softwareinstance_id+' => '~~',
@@ -1211,12 +1211,12 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
//
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:lnkFunctionalCIToOSPatch' => 'Funkcionális CI / OS javítócsomag',
'Class:lnkFunctionalCIToOSPatch' => 'Funkcionális CI / OS szervizcsomag',
'Class:lnkFunctionalCIToOSPatch+' => '~~',
'Class:lnkFunctionalCIToOSPatch/Name' => '%1$s / %2$s~~',
'Class:lnkFunctionalCIToOSPatch/Attribute:ospatch_id' => 'OS javítócsomag',
'Class:lnkFunctionalCIToOSPatch/Attribute:ospatch_id+' => '~~',
'Class:lnkFunctionalCIToOSPatch/Attribute:ospatch_name' => 'OS javítócsomag név',
'Class:lnkFunctionalCIToOSPatch/Attribute:ospatch_id' => 'OS szervizcsomag',
'Class:lnkFunctionalCIToOSPatch/Attribute:ospatch_id+' => '~~',
'Class:lnkFunctionalCIToOSPatch/Attribute:ospatch_name' => 'OS szervizcsomag név',
'Class:lnkFunctionalCIToOSPatch/Attribute:ospatch_name+' => '~~',
'Class:lnkFunctionalCIToOSPatch/Attribute:functionalci_id' => 'Funkcionális CI',
'Class:lnkFunctionalCIToOSPatch/Attribute:functionalci_id+' => '~~',
@@ -1254,17 +1254,17 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Subnet/Attribute:description' => 'Leírás',
'Class:Subnet/Attribute:description+' => '',
'Class:Subnet/Attribute:subnet_name' => 'Alhálózat név',
'Class:Subnet/Attribute:subnet_name+' => '~~',
'Class:Subnet/Attribute:org_id' => 'Tulajdonos szevezeti egység',
'Class:Subnet/Attribute:org_id+' => '',
'Class:Subnet/Attribute:org_name' => 'Név',
'Class:Subnet/Attribute:subnet_name+' => '',
'Class:Subnet/Attribute:org_id' => 'Tulajdonos szervezeti egység',
'Class:Subnet/Attribute:org_id+' => '',
'Class:Subnet/Attribute:org_name' => 'Szervezeti egység név',
'Class:Subnet/Attribute:org_name+' => 'Általános név',
'Class:Subnet/Attribute:ip' => 'IP cím',
'Class:Subnet/Attribute:ip+' => '',
'Class:Subnet/Attribute:ip_mask' => 'IP netmaszk',
'Class:Subnet/Attribute:ip_mask+' => '',
'Class:Subnet/Attribute:vlans_list' => 'VLAN-ok',
'Class:Subnet/Attribute:vlans_list+' => '~~',
'Class:Subnet/Attribute:vlans_list+' => '',
));
//
@@ -1278,11 +1278,11 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:VLAN/Attribute:vlan_tag+' => '~~',
'Class:VLAN/Attribute:description' => 'Leírás',
'Class:VLAN/Attribute:description+' => '~~',
'Class:VLAN/Attribute:org_id' => 'Szervezeti egység',
'Class:VLAN/Attribute:org_id' => 'Tulajdonos szervezeti egység',
'Class:VLAN/Attribute:org_id+' => '~~',
'Class:VLAN/Attribute:org_name' => 'Szervezeti egység név',
'Class:VLAN/Attribute:org_name+' => 'Általános név',
'Class:VLAN/Attribute:subnets_list' => 'Alhálozatok',
'Class:VLAN/Attribute:subnets_list' => 'Alhálózatok',
'Class:VLAN/Attribute:subnets_list+' => '~~',
'Class:VLAN/Attribute:physicalinterfaces_list' => 'Fizikai hálózati csatolók',
'Class:VLAN/Attribute:physicalinterfaces_list+' => '~~',
@@ -1317,7 +1317,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:NetworkInterface+' => '',
'Class:NetworkInterface/Attribute:name' => 'Név',
'Class:NetworkInterface/Attribute:name+' => '~~',
'Class:NetworkInterface/Attribute:finalclass' => 'Típus',
'Class:NetworkInterface/Attribute:finalclass' => 'Hálózati csatoló típus',
'Class:NetworkInterface/Attribute:finalclass+' => 'A végső osztály neve',
));
@@ -1419,7 +1419,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:lnkConnectableCIToNetworkDevice' => 'Kapcsolható CI / Hálózati eszköz',
'Class:lnkConnectableCIToNetworkDevice+' => '~~',
'Class:lnkConnectableCIToNetworkDevice+' => 'Hálózati csatlakozással rendelkező eszközök',
'Class:lnkConnectableCIToNetworkDevice/Name' => '%1$s / %2$s~~',
'Class:lnkConnectableCIToNetworkDevice/Attribute:networkdevice_id' => 'Hálózati eszköz',
'Class:lnkConnectableCIToNetworkDevice/Attribute:networkdevice_id+' => '~~',
@@ -1430,15 +1430,15 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:lnkConnectableCIToNetworkDevice/Attribute:connectableci_name' => 'Csatlakoztatott eszköz név',
'Class:lnkConnectableCIToNetworkDevice/Attribute:connectableci_name+' => '~~',
'Class:lnkConnectableCIToNetworkDevice/Attribute:network_port' => 'Hálózati port',
'Class:lnkConnectableCIToNetworkDevice/Attribute:network_port+' => '~~',
'Class:lnkConnectableCIToNetworkDevice/Attribute:device_port' => 'Eszköz port',
'Class:lnkConnectableCIToNetworkDevice/Attribute:device_port+' => '~~',
'Class:lnkConnectableCIToNetworkDevice/Attribute:connection_type' => 'Csatlakozás típus',
'Class:lnkConnectableCIToNetworkDevice/Attribute:connection_type+' => '~~',
'Class:lnkConnectableCIToNetworkDevice/Attribute:connection_type/Value:downlink' => 'down link',
'Class:lnkConnectableCIToNetworkDevice/Attribute:connection_type/Value:downlink+' => 'down link~~',
'Class:lnkConnectableCIToNetworkDevice/Attribute:connection_type/Value:uplink' => 'up link',
'Class:lnkConnectableCIToNetworkDevice/Attribute:connection_type/Value:uplink+' => 'up link~~',
'Class:lnkConnectableCIToNetworkDevice/Attribute:network_port+' => 'Ennek az eszköznek a hálózat felé',
'Class:lnkConnectableCIToNetworkDevice/Attribute:device_port' => 'Eszköz port',
'Class:lnkConnectableCIToNetworkDevice/Attribute:device_port+' => 'A másik csatlakoztatott eszköz portja',
'Class:lnkConnectableCIToNetworkDevice/Attribute:connection_type' => 'Csatlakozás típus',
'Class:lnkConnectableCIToNetworkDevice/Attribute:connection_type+' => 'A hálózati topológia iránya az eszközök között',
'Class:lnkConnectableCIToNetworkDevice/Attribute:connection_type/Value:downlink' => 'Bejövő',
'Class:lnkConnectableCIToNetworkDevice/Attribute:connection_type/Value:downlink+' => 'bejövő link',
'Class:lnkConnectableCIToNetworkDevice/Attribute:connection_type/Value:uplink' => 'Kimenő',
'Class:lnkConnectableCIToNetworkDevice/Attribute:connection_type/Value:uplink+' => 'kimenő link',
));
//
@@ -1485,7 +1485,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Group' => 'Csoport',
'Class:Group+' => '',
'Class:Group/ComplementaryName' => '%1$s - %2$s~~',
'Class:Group/Attribute:name' => 'Név',
'Class:Group/Attribute:name' => 'CI csoport név',
'Class:Group/Attribute:name+' => '',
'Class:Group/Attribute:status' => 'Állapot',
'Class:Group/Attribute:status+' => '',
@@ -1493,24 +1493,24 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:Group/Attribute:status/Value:implementation+' => '',
'Class:Group/Attribute:status/Value:obsolete' => 'Elavult',
'Class:Group/Attribute:status/Value:obsolete+' => '',
'Class:Group/Attribute:status/Value:production' => 'Használatban',
'Class:Group/Attribute:status/Value:production+' => '',
'Class:Group/Attribute:org_id' => 'Szevezeti egység',
'Class:Group/Attribute:org_id+' => '',
'Class:Group/Attribute:owner_name' => 'Név',
'Class:Group/Attribute:owner_name+' => '',
'Class:Group/Attribute:description' => 'Leírás',
'Class:Group/Attribute:description+' => '',
'Class:Group/Attribute:type' => 'Típus',
'Class:Group/Attribute:type+' => '',
'Class:Group/Attribute:parent_id' => 'Fölérendelt csoport',
'Class:Group/Attribute:parent_id+' => '',
'Class:Group/Attribute:parent_name' => 'Név',
'Class:Group/Attribute:parent_name+' => '',
'Class:Group/Attribute:ci_list' => 'Kapcsolódó CI-k',
'Class:Group/Attribute:ci_list+' => 'All the configuration items linked to this group~~',
'Class:Group/Attribute:parent_id_friendlyname' => 'Szülő csoport',
'Class:Group/Attribute:parent_id_friendlyname+' => '~~',
'Class:Group/Attribute:status/Value:production' => 'Bevezetve',
'Class:Group/Attribute:status/Value:production+' => '',
'Class:Group/Attribute:org_id' => 'Tulajdonos szervezeti egység',
'Class:Group/Attribute:org_id+' => '',
'Class:Group/Attribute:owner_name' => 'Tulajdonos név',
'Class:Group/Attribute:owner_name+' => '',
'Class:Group/Attribute:description' => 'Leírás',
'Class:Group/Attribute:description+' => '',
'Class:Group/Attribute:type' => 'Típus',
'Class:Group/Attribute:type+' => '',
'Class:Group/Attribute:parent_id' => 'Fölérendelt csoport',
'Class:Group/Attribute:parent_id+' => '',
'Class:Group/Attribute:parent_name' => 'Fölérendelt csoport név',
'Class:Group/Attribute:parent_name+' => '',
'Class:Group/Attribute:ci_list' => 'Kapcsolódó CI-k',
'Class:Group/Attribute:ci_list+' => '',
'Class:Group/Attribute:parent_id_friendlyname' => 'Fölérendelt csoport név',
'Class:Group/Attribute:parent_id_friendlyname+' => '',
));
//
@@ -1518,19 +1518,19 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
//
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:lnkGroupToCI' => 'Csoport / CI',
'Class:lnkGroupToCI' => 'CI csoport / CI',
'Class:lnkGroupToCI+' => '',
'Class:lnkGroupToCI/Name' => '%1$s / %2$s~~',
'Class:lnkGroupToCI/Attribute:group_id' => 'Csoport',
'Class:lnkGroupToCI/Attribute:group_id+' => '',
'Class:lnkGroupToCI/Attribute:group_name' => 'Név',
'Class:lnkGroupToCI/Attribute:group_name+' => '',
'Class:lnkGroupToCI/Attribute:ci_id' => 'CI',
'Class:lnkGroupToCI/Attribute:ci_id+' => '',
'Class:lnkGroupToCI/Attribute:ci_name' => 'Név',
'Class:lnkGroupToCI/Attribute:ci_name+' => '',
'Class:lnkGroupToCI/Attribute:reason' => 'Indoklás',
'Class:lnkGroupToCI/Attribute:reason+' => '',
'Class:lnkGroupToCI/Attribute:group_id' => 'CI csoport',
'Class:lnkGroupToCI/Attribute:group_id+' => '',
'Class:lnkGroupToCI/Attribute:group_name' => 'CI csoport név',
'Class:lnkGroupToCI/Attribute:group_name+' => '',
'Class:lnkGroupToCI/Attribute:ci_id' => 'CI',
'Class:lnkGroupToCI/Attribute:ci_id+' => '',
'Class:lnkGroupToCI/Attribute:ci_name' => 'CI név',
'Class:lnkGroupToCI/Attribute:ci_name+' => '',
'Class:lnkGroupToCI/Attribute:reason' => 'Indoklás',
'Class:lnkGroupToCI/Attribute:reason+' => '',
));
// Add translation for Fieldsets
@@ -1574,49 +1574,48 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
//
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Menu:Application' => 'Alkalmazások',
'Menu:Application+' => '',
'Menu:DBServer' => 'Adatbázis szerverek',
'Menu:DBServer+' => '',
'Menu:BusinessProcess' => 'Üzleti folyamatok',
'Menu:BusinessProcess+' => '',
'Menu:ApplicationSolution' => 'Egyedi alkalmazások',
'Menu:ApplicationSolution+' => '',
'Menu:ConfigManagementSoftware' => 'Alkalmazás kezelés',
'Menu:Licence' => 'Licencek',
'Menu:Licence+' => '',
'Menu:Patch' => 'Frissítések',
'Menu:Patch+' => '',
'Menu:ApplicationInstance' => 'Telepített szoftverek',
'Menu:ApplicationInstance+' => '',
'Menu:ConfigManagementHardware' => 'Infrastruktúra kezelés',
'Menu:Subnet' => 'Alhálózatok',
'Menu:Subnet+' => '',
'Menu:NetworkDevice' => 'Hálózati eszközök',
'Menu:NetworkDevice+' => '',
'Menu:Server' => 'Szerverek',
'Menu:Server+' => '',
'Menu:Printer' => 'Nyomtatók',
'Menu:Printer+' => '',
'Menu:MobilePhone' => 'Mobiltelefonok',
'Menu:MobilePhone+' => '',
'Menu:PC' => 'PC-k',
'Menu:PC+' => '',
'Menu:NewCI' => 'Új CI',
'Menu:NewCI+' => '',
'Menu:SearchCIs' => 'CI keresés',
'Menu:SearchCIs+' => '',
'Menu:ConfigManagement:Devices' => 'Eszközök',
'Menu:ConfigManagement:AllDevices' => 'Infrastruktúra',
'Menu:ConfigManagement:virtualization' => 'Virtualizáció',
'Menu:ConfigManagement:EndUsers' => 'Végfelhasználói eszközök',
'Menu:ConfigManagement:SWAndApps' => 'Szoftverek és egyedi alkalmazások',
'Menu:ConfigManagement:Misc' => 'Egyéb',
'Menu:Group' => 'CI csoportok',
'Menu:Group+' => '',
'Menu:OSVersion' => 'OS verziók',
'Menu:OSVersion+' => '~~',
'Menu:Software' => 'Szoftverkatalógus',
'Menu:Software+' => 'Software catalog~~',
'Menu:Application' => 'Alkalmazások',
'Menu:Application+' => '',
'Menu:DBServer' => 'Adatbázis szerverek',
'Menu:DBServer+' => '',
'Menu:BusinessProcess' => 'Üzleti folyamatok',
'Menu:BusinessProcess+' => '',
'Menu:ApplicationSolution' => 'Alkalmazásmegoldások',
'Menu:ApplicationSolution+' => '',
'Menu:ConfigManagementSoftware' => 'Alkalmazás kezelés',
'Menu:Licence' => 'Licencek',
'Menu:Licence+' => '',
'Menu:Patch' => 'Szervizcsomagok',
'Menu:Patch+' => '',
'Menu:ApplicationInstance' => 'Telepített szoftverek',
'Menu:ApplicationInstance+' => '',
'Menu:ConfigManagementHardware' => 'Infrastruktúra kezelés',
'Menu:Subnet' => 'Alhálózatok',
'Menu:Subnet+' => '',
'Menu:NetworkDevice' => 'Hálózati eszközök',
'Menu:NetworkDevice+' => '',
'Menu:Server' => 'Szerverek',
'Menu:Server+' => '',
'Menu:Printer' => 'Nyomtatók',
'Menu:Printer+' => '',
'Menu:MobilePhone' => 'Mobiltelefonok',
'Menu:MobilePhone+' => '',
'Menu:PC' => 'PC-k',
'Menu:PC+' => '',
'Menu:NewCI' => 'Új konfigurációs elem (CI)',
'Menu:NewCI+' => 'Eszköz, szoftver, licenc, stb.',
'Menu:SearchCIs' => 'CI keresés',
'Menu:SearchCIs+' => '',
'Menu:ConfigManagement:Devices' => 'Eszközök',
'Menu:ConfigManagement:AllDevices' => 'Infrastruktúra',
'Menu:ConfigManagement:virtualization' => 'Virtualizáció',
'Menu:ConfigManagement:EndUsers' => 'Végfelhasználói eszközök',
'Menu:ConfigManagement:SWAndApps' => 'Szoftverek és alkalmazások',
'Menu:ConfigManagement:Misc' => 'Egyéb',
'Menu:Group' => 'CI csoportok',
'Menu:Group+' => '',
'Menu:OSVersion' => 'OS verziók',
'Menu:OSVersion+' => '',
'Menu:Software' => 'Szoftverkatalógus',
'Menu:Software+' => 'Szoftverek',
));
?>

View File

@@ -105,7 +105,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:FunctionalCI/Attribute:org_id+' => '',
'Class:FunctionalCI/Attribute:organization_name' => 'Organization name~~',
'Class:FunctionalCI/Attribute:organization_name+' => 'Common name~~',
'Class:FunctionalCI/Attribute:business_criticity' => 'Business criticity~~',
'Class:FunctionalCI/Attribute:business_criticity' => 'Business criticality~~',
'Class:FunctionalCI/Attribute:business_criticity+' => '~~',
'Class:FunctionalCI/Attribute:business_criticity/Value:high' => 'high~~',
'Class:FunctionalCI/Attribute:business_criticity/Value:high+' => 'high~~',
@@ -268,7 +268,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:DatacenterDevice/Attribute:enclosure_name+' => '~~',
'Class:DatacenterDevice/Attribute:nb_u' => 'Rack units~~',
'Class:DatacenterDevice/Attribute:nb_u+' => '~~',
'Class:DatacenterDevice/Attribute:managementip' => 'Management ip~~',
'Class:DatacenterDevice/Attribute:managementip' => 'Management IP~~',
'Class:DatacenterDevice/Attribute:managementip+' => '~~',
'Class:DatacenterDevice/Attribute:powerA_id' => 'PowerA source~~',
'Class:DatacenterDevice/Attribute:powerA_id+' => '~~',
@@ -327,9 +327,9 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:Server/Attribute:osversion_id+' => '~~',
'Class:Server/Attribute:osversion_name' => 'OS version name~~',
'Class:Server/Attribute:osversion_name+' => '~~',
'Class:Server/Attribute:oslicence_id' => 'OS licence~~',
'Class:Server/Attribute:oslicence_id' => 'OS license~~',
'Class:Server/Attribute:oslicence_id+' => '~~',
'Class:Server/Attribute:oslicence_name' => 'OS licence name~~',
'Class:Server/Attribute:oslicence_name' => 'OS license name~~',
'Class:Server/Attribute:oslicence_name+' => '~~',
'Class:Server/Attribute:cpu' => 'CPU',
'Class:Server/Attribute:cpu+' => '',
@@ -548,9 +548,9 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:SoftwareInstance/Attribute:software_id+' => '~~',
'Class:SoftwareInstance/Attribute:software_name' => 'Software',
'Class:SoftwareInstance/Attribute:software_name+' => '',
'Class:SoftwareInstance/Attribute:softwarelicence_id' => 'Software licence~~',
'Class:SoftwareInstance/Attribute:softwarelicence_id' => 'Software license~~',
'Class:SoftwareInstance/Attribute:softwarelicence_id+' => '~~',
'Class:SoftwareInstance/Attribute:softwarelicence_name' => 'Software licence name~~',
'Class:SoftwareInstance/Attribute:softwarelicence_name' => 'Software license name~~',
'Class:SoftwareInstance/Attribute:softwarelicence_name+' => '~~',
'Class:SoftwareInstance/Attribute:path' => 'Path~~',
'Class:SoftwareInstance/Attribute:path+' => '~~',
@@ -742,9 +742,9 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:VirtualMachine/Attribute:osversion_id+' => '~~',
'Class:VirtualMachine/Attribute:osversion_name' => 'OS version name~~',
'Class:VirtualMachine/Attribute:osversion_name+' => '~~',
'Class:VirtualMachine/Attribute:oslicence_id' => 'OS licence~~',
'Class:VirtualMachine/Attribute:oslicence_id' => 'OS license~~',
'Class:VirtualMachine/Attribute:oslicence_id+' => '~~',
'Class:VirtualMachine/Attribute:oslicence_name' => 'OS licence name~~',
'Class:VirtualMachine/Attribute:oslicence_name' => 'OS license name~~',
'Class:VirtualMachine/Attribute:oslicence_name+' => '~~',
'Class:VirtualMachine/Attribute:cpu' => 'CPU~~',
'Class:VirtualMachine/Attribute:cpu+' => '~~',
@@ -895,7 +895,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:Software/ComplementaryName' => '%1$s - %2$s~~',
'Class:Software/Attribute:name' => 'Nome',
'Class:Software/Attribute:name+' => '',
'Class:Software/Attribute:vendor' => 'vendor~~',
'Class:Software/Attribute:vendor' => 'Vendor~~',
'Class:Software/Attribute:vendor+' => '~~',
'Class:Software/Attribute:version' => 'Version~~',
'Class:Software/Attribute:version+' => '~~',
@@ -917,8 +917,8 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:Software/Attribute:softwareinstance_list+' => 'All the software instances for this software~~',
'Class:Software/Attribute:softwarepatch_list' => 'Software Patches~~',
'Class:Software/Attribute:softwarepatch_list+' => 'All the patchs for this software~~',
'Class:Software/Attribute:softwarelicence_list' => 'Software Licences~~',
'Class:Software/Attribute:softwarelicence_list+' => 'All the licences for this software~~',
'Class:Software/Attribute:softwarelicence_list' => 'Software Licenses~~',
'Class:Software/Attribute:softwarelicence_list+' => 'All the licenses for this software~~',
));
//
@@ -934,7 +934,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:Patch/Attribute:documents_list+' => 'All the documents linked to this patch~~',
'Class:Patch/Attribute:description' => 'Descrizione',
'Class:Patch/Attribute:description+' => '',
'Class:Patch/Attribute:finalclass' => 'Type~~',
'Class:Patch/Attribute:finalclass' => 'Patch sub-class~~',
'Class:Patch/Attribute:finalclass+' => 'Name of the final class~~',
));
@@ -978,7 +978,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:Licence/Attribute:name' => 'Nome',
'Class:Licence/Attribute:name+' => '',
'Class:Licence/Attribute:documents_list' => 'Documents~~',
'Class:Licence/Attribute:documents_list+' => 'All the documents linked to this licence~~',
'Class:Licence/Attribute:documents_list+' => 'All the documents linked to this license~~',
'Class:Licence/Attribute:org_id' => 'Proprietario',
'Class:Licence/Attribute:org_id+' => '',
'Class:Licence/Attribute:organization_name' => 'Organization name~~',
@@ -999,7 +999,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:Licence/Attribute:perpetual/Value:no+' => 'no~~',
'Class:Licence/Attribute:perpetual/Value:yes' => 'yes~~',
'Class:Licence/Attribute:perpetual/Value:yes+' => 'yes~~',
'Class:Licence/Attribute:finalclass' => 'Type~~',
'Class:Licence/Attribute:finalclass' => 'License sub-class~~',
'Class:Licence/Attribute:finalclass+' => 'Name of the final class~~',
));
@@ -1008,7 +1008,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
//
Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:OSLicence' => 'OS Licence~~',
'Class:OSLicence' => 'OS License~~',
'Class:OSLicence+' => '~~',
'Class:OSLicence/ComplementaryName' => '%1$s - %2$s~~',
'Class:OSLicence/Attribute:osversion_id' => 'OS version~~',
@@ -1016,9 +1016,9 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:OSLicence/Attribute:osversion_name' => 'OS version name~~',
'Class:OSLicence/Attribute:osversion_name+' => '~~',
'Class:OSLicence/Attribute:virtualmachines_list' => 'Virtual machines~~',
'Class:OSLicence/Attribute:virtualmachines_list+' => 'All the virtual machines where this licence is used~~',
'Class:OSLicence/Attribute:servers_list' => 'servers~~',
'Class:OSLicence/Attribute:servers_list+' => 'All the servers where this licence is used~~',
'Class:OSLicence/Attribute:virtualmachines_list+' => 'All the virtual machines where this license is used~~',
'Class:OSLicence/Attribute:servers_list' => 'Servers~~',
'Class:OSLicence/Attribute:servers_list+' => 'All the servers where this license is used~~',
));
//
@@ -1026,7 +1026,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
//
Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:SoftwareLicence' => 'Software Licence~~',
'Class:SoftwareLicence' => 'Software License~~',
'Class:SoftwareLicence+' => '~~',
'Class:SoftwareLicence/ComplementaryName' => '%1$s - %2$s~~',
'Class:SoftwareLicence/Attribute:software_id' => 'Software~~',
@@ -1034,7 +1034,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:SoftwareLicence/Attribute:software_name' => 'Software name~~',
'Class:SoftwareLicence/Attribute:software_name+' => '~~',
'Class:SoftwareLicence/Attribute:softwareinstance_list' => 'Software instances~~',
'Class:SoftwareLicence/Attribute:softwareinstance_list+' => 'All the systems where this licence is used~~',
'Class:SoftwareLicence/Attribute:softwareinstance_list+' => 'All the systems where this license is used~~',
));
//
@@ -1042,12 +1042,12 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
//
Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:lnkDocumentToLicence' => 'Link Document / Licence~~',
'Class:lnkDocumentToLicence' => 'Link Document / License~~',
'Class:lnkDocumentToLicence+' => '~~',
'Class:lnkDocumentToLicence/Name' => '%1$s / %2$s~~',
'Class:lnkDocumentToLicence/Attribute:licence_id' => 'Licence~~',
'Class:lnkDocumentToLicence/Attribute:licence_id' => 'License~~',
'Class:lnkDocumentToLicence/Attribute:licence_id+' => '~~',
'Class:lnkDocumentToLicence/Attribute:licence_name' => 'Licence name~~',
'Class:lnkDocumentToLicence/Attribute:licence_name' => 'License name~~',
'Class:lnkDocumentToLicence/Attribute:licence_name+' => '~~',
'Class:lnkDocumentToLicence/Attribute:document_id' => 'Document~~',
'Class:lnkDocumentToLicence/Attribute:document_id+' => '~~',
@@ -1257,8 +1257,8 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:Subnet/Attribute:subnet_name+' => '~~',
'Class:Subnet/Attribute:org_id' => 'Organizzazione proprietaria',
'Class:Subnet/Attribute:org_id+' => '',
'Class:Subnet/Attribute:org_name' => 'Name~~',
'Class:Subnet/Attribute:org_name+' => 'Common name~~',
'Class:Subnet/Attribute:org_name' => 'Organization name~~',
'Class:Subnet/Attribute:org_name+' => '~~',
'Class:Subnet/Attribute:ip' => 'IP',
'Class:Subnet/Attribute:ip+' => '',
'Class:Subnet/Attribute:ip_mask' => 'IP Mask',
@@ -1281,7 +1281,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:VLAN/Attribute:org_id' => 'Organization~~',
'Class:VLAN/Attribute:org_id+' => '~~',
'Class:VLAN/Attribute:org_name' => 'Organization name~~',
'Class:VLAN/Attribute:org_name+' => 'Common name~~',
'Class:VLAN/Attribute:org_name+' => '~~',
'Class:VLAN/Attribute:subnets_list' => 'Subnets~~',
'Class:VLAN/Attribute:subnets_list+' => '~~',
'Class:VLAN/Attribute:physicalinterfaces_list' => 'Physical network interfaces~~',
@@ -1317,7 +1317,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:NetworkInterface+' => '',
'Class:NetworkInterface/Attribute:name' => 'Name~~',
'Class:NetworkInterface/Attribute:name+' => '~~',
'Class:NetworkInterface/Attribute:finalclass' => 'Type~~',
'Class:NetworkInterface/Attribute:finalclass' => 'NetworkInterface sub-class~~',
'Class:NetworkInterface/Attribute:finalclass+' => 'Name of the final class~~',
));

View File

@@ -1281,7 +1281,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'Class:VLAN/Attribute:org_id' => 'Organization~~',
'Class:VLAN/Attribute:org_id+' => '~~',
'Class:VLAN/Attribute:org_name' => 'Organization name~~',
'Class:VLAN/Attribute:org_name+' => 'Common name~~',
'Class:VLAN/Attribute:org_name+' => '~~',
'Class:VLAN/Attribute:subnets_list' => 'Subnets~~',
'Class:VLAN/Attribute:subnets_list+' => '~~',
'Class:VLAN/Attribute:physicalinterfaces_list' => 'Physical network interfaces~~',

View File

@@ -1286,7 +1286,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'Class:VLAN/Attribute:org_id' => 'Organization~~',
'Class:VLAN/Attribute:org_id+' => '~~',
'Class:VLAN/Attribute:org_name' => 'Organization name~~',
'Class:VLAN/Attribute:org_name+' => 'Common name~~',
'Class:VLAN/Attribute:org_name+' => '~~',
'Class:VLAN/Attribute:subnets_list' => 'Subnets~~',
'Class:VLAN/Attribute:subnets_list+' => '~~',
'Class:VLAN/Attribute:physicalinterfaces_list' => 'Physical network interfaces~~',

View File

@@ -21,7 +21,7 @@
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/
Dict::Add('DA DA', 'Danish', 'Dansk', array(
'Menu:ConfigEditor' => 'Configuration~~',
'Menu:ConfigEditor' => 'General configuration~~',
'config-edit-title' => 'Configuration File Editor~~',
'config-edit-intro' => 'Be very cautious when editing the configuration file.~~',
'config-apply' => 'Apply~~',

View File

@@ -21,7 +21,7 @@
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/
Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Menu:ConfigEditor' => 'Configuration~~',
'Menu:ConfigEditor' => 'General configuration~~',
'config-edit-title' => 'Configuration File Editor~~',
'config-edit-intro' => 'Be very cautious when editing the configuration file.~~',
'config-apply' => 'Apply~~',

View File

@@ -21,7 +21,7 @@
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/
Dict::Add('JA JP', 'Japanese', '日本語', array(
'Menu:ConfigEditor' => 'Configuration~~',
'Menu:ConfigEditor' => 'General configuration~~',
'config-edit-title' => 'Configuration File Editor~~',
'config-edit-intro' => 'Be very cautious when editing the configuration file.~~',
'config-apply' => 'Apply~~',

View File

@@ -21,7 +21,7 @@
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/
Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'Menu:ConfigEditor' => 'Configuration~~',
'Menu:ConfigEditor' => 'General configuration~~',
'config-edit-title' => 'Configuration File Editor~~',
'config-edit-intro' => 'Be very cautious when editing the configuration file.~~',
'config-apply' => 'Apply~~',

View File

@@ -21,7 +21,7 @@
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/
Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'Menu:ConfigEditor' => 'Configuration~~',
'Menu:ConfigEditor' => 'General configuration~~',
'config-edit-title' => 'Configuration File Editor~~',
'config-edit-intro' => 'Be very cautious when editing the configuration file.~~',
'config-apply' => 'Apply~~',

View File

@@ -23,9 +23,9 @@
Dict::Add('CS CZ', 'Czech', 'Čeština', 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:ConfirmUpdate' => 'Confirm Application Upgrade~~',
'itop-core-update:UI:UpdateCoreFiles' => 'Application Upgrading~~',
'iTopUpdate:UI:MaintenanceModeActive' => 'The application is currently under maintenance in read-only mode. You have to run a setup 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~~',
@@ -62,10 +62,10 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'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:Loading' => 'Checking files~~',
'iTopUpdate:UI:CanCoreUpdate:Error' => 'Checking files failed (%1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Checking files failed (File not exist %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Checking files 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~~',
@@ -81,7 +81,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'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:Compile' => 'Upgrade application~~',
'iTopUpdate:UI:SetupMessage:UpdateDatabase' => 'Upgrade database~~',
'iTopUpdate:UI:SetupMessage:ExitMaintenance' => 'Exiting maintenance mode~~',
'iTopUpdate:UI:SetupMessage:UpdateDone' => 'Upgrade completed~~',

View File

@@ -23,9 +23,9 @@
Dict::Add('DA DA', 'Danish', 'Dansk', 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:ConfirmUpdate' => 'Confirm Application Upgrade~~',
'itop-core-update:UI:UpdateCoreFiles' => 'Application Upgrading~~',
'iTopUpdate:UI:MaintenanceModeActive' => 'The application is currently under maintenance in read-only mode. You have to run a setup 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~~',
@@ -62,10 +62,10 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'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:Loading' => 'Checking files~~',
'iTopUpdate:UI:CanCoreUpdate:Error' => 'Checking files failed (%1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Checking files failed (File not exist %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Checking files 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~~',
@@ -81,7 +81,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'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:Compile' => 'Upgrade application~~',
'iTopUpdate:UI:SetupMessage:UpdateDatabase' => 'Upgrade database~~',
'iTopUpdate:UI:SetupMessage:ExitMaintenance' => 'Exiting maintenance mode~~',
'iTopUpdate:UI:SetupMessage:UpdateDone' => 'Upgrade completed~~',

View File

@@ -49,7 +49,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'iTopUpdate:UI:UploadArchive' => 'Válasszon egy csomagot a feltöltéshez',
'iTopUpdate:UI:ServerFile' => 'A kiszolgálón már meglévő csomag elérési útvonala',
'iTopUpdate:UI:WarningReadOnlyDuringUpdate' => 'A frissítés során az alkalmazás csak olvasható lesz.',
'iTopUpdate:UI:Status' => 'Státusz',
'iTopUpdate:UI:Status' => 'Állapotjelentés',
'iTopUpdate:UI:Action' => 'Frissítés',
'iTopUpdate:UI:Setup' => ITOP_APPLICATION_SHORT.' Setup~~',
'iTopUpdate:UI:History' => 'Verziótörténet',
@@ -69,7 +69,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Az alkalmazás frissíthető',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Az alkalmazás nem frissíthető: %1$s',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Figyelem: alkalmazás frissítés sikertelen lehet: %1$s',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>SNéhány módosított fájlt észleltünk</b>, a részleges frissítés nem hajtható végre.</br>Kövesse a <a target="_blank" href="%2$s"> eljárást</a> az iTop manuális frissítéséhez. Az alkalmazás frissítéséhez a <a href="%1$s">setup</a> parancsot kell használnia.',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Néhány manuálisan módosított fájlt észleltünk</b>, a részleges frissítés nem hajtható végre.</br>Kövesse ezt az <a target="_blank" href="%2$s"> eljárást</a> az iTop manuális frissítéséhez. Az alkalmazás frissítéséhez a <a href="%1$s">setup</a> parancsot kell használnia.',
'iTopUpdate:UI:CheckInProgress' => 'Kérjük, várjon az integritás ellenőrzés alatt',
'iTopUpdate:UI:SetupLaunch' => 'Launch '.ITOP_APPLICATION_SHORT.' Setup~~',
'iTopUpdate:UI:SetupLaunchConfirm' => 'This will launch '.ITOP_APPLICATION_SHORT.' setup, are you sure?~~',
@@ -111,5 +111,3 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:ModuleInstallation/Attribute:version' => 'Verzió',
'Class:ModuleInstallation/Attribute:comment' => 'Megjegyzés',
));

View File

@@ -23,9 +23,9 @@
Dict::Add('IT IT', 'Italian', 'Italiano', 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:ConfirmUpdate' => 'Confirm Application Upgrade~~',
'itop-core-update:UI:UpdateCoreFiles' => 'Application Upgrading~~',
'iTopUpdate:UI:MaintenanceModeActive' => 'The application is currently under maintenance in read-only mode. You have to run a setup 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~~',
@@ -62,10 +62,10 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'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:Loading' => 'Checking files~~',
'iTopUpdate:UI:CanCoreUpdate:Error' => 'Checking files failed (%1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Checking files failed (File not exist %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Checking files 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~~',
@@ -81,7 +81,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'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:Compile' => 'Upgrade application~~',
'iTopUpdate:UI:SetupMessage:UpdateDatabase' => 'Upgrade database~~',
'iTopUpdate:UI:SetupMessage:ExitMaintenance' => 'Exiting maintenance mode~~',
'iTopUpdate:UI:SetupMessage:UpdateDone' => 'Upgrade completed~~',

View File

@@ -23,9 +23,9 @@
Dict::Add('JA JP', 'Japanese', '日本語', 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:ConfirmUpdate' => 'Confirm Application Upgrade~~',
'itop-core-update:UI:UpdateCoreFiles' => 'Application Upgrading~~',
'iTopUpdate:UI:MaintenanceModeActive' => 'The application is currently under maintenance in read-only mode. You have to run a setup 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~~',
@@ -62,10 +62,10 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'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:Loading' => 'Checking files~~',
'iTopUpdate:UI:CanCoreUpdate:Error' => 'Checking files failed (%1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Checking files failed (File not exist %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Checking files 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~~',
@@ -81,7 +81,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'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:Compile' => 'Upgrade application~~',
'iTopUpdate:UI:SetupMessage:UpdateDatabase' => 'Upgrade database~~',
'iTopUpdate:UI:SetupMessage:ExitMaintenance' => 'Exiting maintenance mode~~',
'iTopUpdate:UI:SetupMessage:UpdateDone' => 'Upgrade completed~~',

View File

@@ -23,9 +23,9 @@
Dict::Add('SK SK', 'Slovak', 'Slovenčina', 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:ConfirmUpdate' => 'Confirm Application Upgrade~~',
'itop-core-update:UI:UpdateCoreFiles' => 'Application Upgrading~~',
'iTopUpdate:UI:MaintenanceModeActive' => 'The application is currently under maintenance in read-only mode. You have to run a setup 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~~',
@@ -62,10 +62,10 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'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:Loading' => 'Checking files~~',
'iTopUpdate:UI:CanCoreUpdate:Error' => 'Checking files failed (%1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Checking files failed (File not exist %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Checking files 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~~',
@@ -81,7 +81,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'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:Compile' => 'Upgrade application~~',
'iTopUpdate:UI:SetupMessage:UpdateDatabase' => 'Upgrade database~~',
'iTopUpdate:UI:SetupMessage:ExitMaintenance' => 'Exiting maintenance mode~~',
'iTopUpdate:UI:SetupMessage:UpdateDone' => 'Upgrade completed~~',

View File

@@ -23,9 +23,9 @@
Dict::Add('TR TR', 'Turkish', 'Türkçe', 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:ConfirmUpdate' => 'Confirm Application Upgrade~~',
'itop-core-update:UI:UpdateCoreFiles' => 'Application Upgrading~~',
'iTopUpdate:UI:MaintenanceModeActive' => 'The application is currently under maintenance in read-only mode. You have to run a setup 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~~',
@@ -62,10 +62,10 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'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:Loading' => 'Checking files~~',
'iTopUpdate:UI:CanCoreUpdate:Error' => 'Checking files failed (%1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Checking files failed (File not exist %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Checking files 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~~',
@@ -81,7 +81,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'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:Compile' => 'Upgrade application~~',
'iTopUpdate:UI:SetupMessage:UpdateDatabase' => 'Upgrade database~~',
'iTopUpdate:UI:SetupMessage:ExitMaintenance' => 'Exiting maintenance mode~~',
'iTopUpdate:UI:SetupMessage:UpdateDone' => 'Upgrade completed~~',

View File

@@ -45,6 +45,7 @@ class UpdateController extends Controller
$aParams['sFileUploadMaxSize'] = utils::BytesToFriendlyFormat($aParams['iFileUploadMaxSize']);
$aParams['sPostMaxSize'] = ini_get('post_max_size');
$aParams['sUploadMaxSize'] = ini_get('upload_max_filesize');
$aParams['bDontUpgradeIfIntegrityFailed'] = !utils::IsDevelopmentEnvironment();
$oFilter = DBObjectSearch::FromOQL('SELECT ModuleInstallation WHERE parent_id=0 AND name!="datamodel"');
$oSet = new DBObjectSet($oFilter, ['installed' => false]); // Most recent first
$aParams['oSet'] = $oSet;
@@ -129,7 +130,6 @@ class UpdateController extends Controller
$sTransactionId = utils::GetNewTransactionId();
$aParams['sTransactionId'] = $sTransactionId;
$this->AddSaas('css/backoffice/main.scss');
$this->m_sOperation = 'ConfirmUpdate';
$this->DisplaySetupPage($aParams);
}
@@ -158,7 +158,6 @@ class UpdateController extends Controller
'sAjaxURL' => utils::GetAbsoluteUrlAppRoot().'/pages/UI.php',
];
$this->AddLinkedScript(utils::GetAbsoluteUrlAppRoot().'setup/jquery.progression.js');
$this->AddSaas('css/backoffice/main.scss');
$this->AddSaas('env-'.utils::GetCurrentEnvironment().'/itop-core-update/css/itop-core-update.scss');
$this->m_sOperation = 'UpdateCoreFiles';
$this->DisplaySetupPage($aParams);

View File

@@ -28,10 +28,17 @@ $.ajax({
$("#file-container").removeClass("ibo-is-hidden");
$("#check-in-progress").addClass("ibo-is-hidden");
} else {
$("#check-update").prop("disabled", true);
$("#file").prop("disabled", true);
$('#form-update-outer').slideUp(600);
oRequirements.addClass("ibo-is-failure");
{% if bDontUpgradeIfIntegrityFailed %}
$("#check-update").prop("disabled", true);
$("#file").prop("disabled", true);
$('#form-update-outer').slideUp(600);
{% else %}
$("#check-update").prop("disabled", false);
$("#file").prop("disabled", false);
$("#file-container").removeClass("ibo-is-hidden");
$("#check-in-progress").addClass("ibo-is-hidden");
{% endif %}
}
}
});
@@ -55,7 +62,7 @@ var oGetDBDiskSpace = $.ajax({
method: "POST",
url: "{{ sAjaxURL|raw }}",
data: {
route: "core_update_ajax.get_d_b_disk_space",
route: "core_update_ajax.get_db_disk_space",
maintenance: true
},
dataType: "json",

View File

@@ -23,23 +23,23 @@
// Class: FAQ
//
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:FAQ' => 'Tudástár',
'Class:FAQ+' => 'Gyakran Ismételt Kérdések',
'Class:FAQ/Attribute:title' => 'Cím',
'Class:FAQ/Attribute:title+' => '~~',
'Class:FAQ/Attribute:summary' => 'Összefoglaló',
'Class:FAQ/Attribute:summary+' => '~~',
'Class:FAQ/Attribute:description' => 'Leírás',
'Class:FAQ/Attribute:description+' => '~~',
'Class:FAQ/Attribute:category_id' => 'Kategória',
'Class:FAQ/Attribute:category_id+' => '~~',
'Class:FAQ/Attribute:category_name' => 'Kategória név',
'Class:FAQ/Attribute:category_name+' => '~~',
'Class:FAQ/Attribute:error_code' => 'Hibakód',
'Class:FAQ/Attribute:error_code+' => '~~',
'Class:FAQ/Attribute:key_words' => 'Kulcsszavak',
'Class:FAQ/Attribute:key_words+' => '~~',
'Class:FAQ/Attribute:domains' => 'Hibatartomány',
'Class:FAQ' => 'Tudástár',
'Class:FAQ+' => 'Gyakran Ismételt Kérdések',
'Class:FAQ/Attribute:title' => 'Cím',
'Class:FAQ/Attribute:title+' => 'A tudástár címe',
'Class:FAQ/Attribute:summary' => 'Összefoglaló',
'Class:FAQ/Attribute:summary+' => 'Egy rövid leírás a témáról',
'Class:FAQ/Attribute:description' => 'Leírás',
'Class:FAQ/Attribute:description+' => 'Maga a tudástár cikk',
'Class:FAQ/Attribute:category_id' => 'Kategória',
'Class:FAQ/Attribute:category_id+' => '~~',
'Class:FAQ/Attribute:category_name' => 'Kategória név',
'Class:FAQ/Attribute:category_name+' => '~~',
'Class:FAQ/Attribute:error_code' => 'Hibakód',
'Class:FAQ/Attribute:error_code+' => '~~',
'Class:FAQ/Attribute:key_words' => 'Kulcsszavak',
'Class:FAQ/Attribute:key_words+' => 'A keresést segítő kulcsszavak',
'Class:FAQ/Attribute:domains' => 'Hibatartomány',
));
//
@@ -47,22 +47,22 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
//
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:FAQCategory' => 'Tudástár kategória',
'Class:FAQCategory+' => 'Category for FAQ~~',
'Class:FAQCategory/Attribute:name' => 'Név',
'Class:FAQCategory/Attribute:name+' => '~~',
'Class:FAQCategory/Attribute:faq_list' => 'Tudástárak',
'Class:FAQCategory/Attribute:faq_list+' => 'All the frequently asked questions related to this category~~',
'Class:FAQCategory' => 'Tudástár kategória',
'Class:FAQCategory+' => '',
'Class:FAQCategory/Attribute:name' => 'Kategória név',
'Class:FAQCategory/Attribute:name+' => '~~',
'Class:FAQCategory/Attribute:faq_list' => 'Tudástárak',
'Class:FAQCategory/Attribute:faq_list+' => 'Gyakori kérdések ehhez a kategóriához kapcsolódóan',
));
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Menu:ProblemManagement' => 'Problémakezelés',
'Menu:ProblemManagement+' => '',
'Menu:Problem:Shortcuts' => 'Gyorsgombok',
'Menu:FAQCategory' => 'Tudástár kategória',
'Menu:FAQCategory+' => 'Összes tudástár kategória',
'Menu:FAQ' => 'Tudástár',
'Menu:FAQ+' => 'Összes tudástár',
'Brick:Portal:FAQ:Menu' => 'Tudástár',
'Brick:Portal:FAQ:Title' => 'Tudástárak',
'Brick:Portal:FAQ:Title+' => '<p>Siet?</p><p>Nézze át a leggyakoribb kérdések listáját, és (talán) azonnal megtalálja a keresett választ.</p>',
'Menu:ProblemManagement' => 'Problémakezelés',
'Menu:ProblemManagement+' => '',
'Menu:Problem:Shortcuts' => 'Gyorsgombok',
'Menu:FAQCategory' => 'Tudástár kategória',
'Menu:FAQCategory+' => 'Tudástár kategóriák',
'Menu:FAQ' => 'Tudástár',
'Menu:FAQ+' => 'Meglévő tudástárak',
'Brick:Portal:FAQ:Menu' => 'Tudástár',
'Brick:Portal:FAQ:Title' => 'Tudástárak',
'Brick:Portal:FAQ:Title+' => '<p>Siet?</p><p>Nézze át a leggyakoribb kérdések listáját, és (talán) azonnal megtalálja a keresett választ.</p>',
));

View File

@@ -24,7 +24,7 @@ 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:ListCorruptedFile' => 'File(s) corrupted: %1$s ~~',
'FilesInformation:Error:CantWriteToFile' => 'Can not write to file %1$s~~',
));

View File

@@ -24,7 +24,7 @@ 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:ListCorruptedFile' => 'File(s) corrupted: %1$s ~~',
'FilesInformation:Error:CantWriteToFile' => 'Can not write to file %1$s~~',
));

View File

@@ -25,7 +25,7 @@ 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:ListCorruptedFile' => 'File(s) corrupted: %1$s ~~',
'FilesInformation:Error:CantWriteToFile' => 'No se puede escribir al archivo %1$s',
));

View File

@@ -24,7 +24,7 @@ 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:ListCorruptedFile' => 'File(s) corrupted: %1$s ~~',
'FilesInformation:Error:CantWriteToFile' => 'Can not write to file %1$s~~',
));

View File

@@ -24,7 +24,7 @@ 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:ListCorruptedFile' => 'File(s) corrupted: %1$s ~~',
'FilesInformation:Error:CantWriteToFile' => 'Can not write to file %1$s~~',
));

View File

@@ -26,7 +26,7 @@ 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:ListCorruptedFile' => 'File(s) corrupted: %1$s ~~',
'FilesInformation:Error:CantWriteToFile' => 'Kan niet schrijven naar bestand %1$s',
));

View File

@@ -24,7 +24,7 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
// Errors
'FilesInformation:Error:MissingFile' => 'Arquivo ausente: %1$s',
'FilesInformation:Error:CorruptedFile' => 'Arquivo %1$s está corrompido',
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s~~',
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s ~~',
'FilesInformation:Error:CantWriteToFile' => 'Sem permissão de escrita no arquivo %1$s',
));

View File

@@ -12,7 +12,7 @@ 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:ListCorruptedFile' => 'File(s) corrupted: %1$s ~~',
'FilesInformation:Error:CantWriteToFile' => 'Невозможно выполнить запись в файл %1$s',
));

View File

@@ -24,7 +24,7 @@ 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:ListCorruptedFile' => 'File(s) corrupted: %1$s ~~',
'FilesInformation:Error:CantWriteToFile' => 'Can not write to file %1$s~~',
));

View File

@@ -24,7 +24,7 @@ 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:ListCorruptedFile' => 'File(s) corrupted: %1$s ~~',
'FilesInformation:Error:CantWriteToFile' => 'Can not write to file %1$s~~',
));

View File

@@ -22,7 +22,7 @@
*/
Dict::Add('ZH CN', 'Chinese', '简体中文', array(
// Errors
'FilesInformation:Error:MissingFile' => '文件丢失: %1$s~~',
'FilesInformation:Error:MissingFile' => '文件丢失: %1$s',
'FilesInformation:Error:CorruptedFile' => '文件 %1$s 已损坏',
'FilesInformation:Error:ListCorruptedFile' => '已损坏的文件: %1$s',
'FilesInformation:Error:CantWriteToFile' => '文件 %1$s 无法写入',

View File

@@ -25,12 +25,12 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'Menu:iTopHub' => 'iTop Hub~~',
'Menu:iTopHub:Register' => 'Connect to iTop Hub~~',
'Menu:iTopHub:Register+' => 'Go to iTop Hub to update your '.ITOP_APPLICATION_SHORT.' instance~~',
'Menu:iTopHub:Register:Description' => '<p>Get access to your community platform iTop Hub!</br>Find all the content and information you need, manage your instances through personalized tools & install more extensions.</br><br/>By connecting to the Hub from this page, you will push information about this '.ITOP_APPLICATION_SHORT.' instance into the Hub.</p>~~',
'Menu:iTopHub:Register:Description' => '<p>Get access to your community platform iTop Hub!<br>Find all the content and information you need, manage your instances through personalized tools & install more extensions.<br><br>By connecting to the Hub from this page, you will push information about this '.ITOP_APPLICATION_SHORT.' instance into the Hub.</p>~~',
'Menu:iTopHub:MyExtensions' => 'Deployed extensions~~',
'Menu:iTopHub:MyExtensions+' => 'See the list of extensions deployed on this instance of '.ITOP_APPLICATION_SHORT.'~~',
'Menu:iTopHub:BrowseExtensions' => 'Get extensions from iTop Hub~~',
'Menu:iTopHub:BrowseExtensions+' => 'Browse for more extensions on iTop Hub~~',
'Menu:iTopHub:BrowseExtensions:Description' => '<p>Look into iTop Hubs store, your one stop place to find wonderful '.ITOP_APPLICATION_SHORT.' extensions !</br>Find the ones that will help you customize and adapt '.ITOP_APPLICATION_SHORT.' to your processes.</br><br/>By connecting to the Hub from this page, you will push information about this '.ITOP_APPLICATION_SHORT.' instance into the Hub.</p>~~',
'Menu:iTopHub:BrowseExtensions:Description' => '<p>Look into iTop Hubs store, your one stop place to find wonderful iTop extensions !<br>Find the ones that will help you customize and adapt '.ITOP_APPLICATION_SHORT.' to your processes.<br><br>By connecting to the Hub from this page, you will push information about this '.ITOP_APPLICATION_SHORT.' instance into the Hub.</p>',
'iTopHub:GoBtn' => 'Go To iTop Hub~~',
'iTopHub:CloseBtn' => 'Close~~',
'iTopHub:GoBtn:Tooltip' => 'Jump to www.itophub.io~~',
@@ -45,7 +45,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'iTopHub:Landing:Status' => 'Deployment status~~',
'iTopHub:Landing:Install' => 'Deploying extensions...~~',
'iTopHub:CompiledOK' => 'Compilation successful.~~',
'iTopHub:ConfigurationSafelyReverted' => 'Error detected during deployment!<br/>'.ITOP_APPLICATION_SHORT.' configuration has NOT been modified.~~',
'iTopHub:ConfigurationSafelyReverted' => 'Error detected during deployment!<br>'.ITOP_APPLICATION_SHORT.' configuration has NOT been modified.~~',
'iTopHub:FailAuthent' => 'Authentication failed for this action.~~',
'iTopHub:InstalledExtensions' => 'Extensions deployed on this instance~~',
'iTopHub:ExtensionCategory:Manual' => 'Extensions deployed manually~~',

View File

@@ -25,12 +25,12 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'Menu:iTopHub' => 'iTop Hub~~',
'Menu:iTopHub:Register' => 'Connect to iTop Hub~~',
'Menu:iTopHub:Register+' => 'Go to iTop Hub to update your '.ITOP_APPLICATION_SHORT.' instance~~',
'Menu:iTopHub:Register:Description' => '<p>Get access to your community platform iTop Hub!</br>Find all the content and information you need, manage your instances through personalized tools & install more extensions.</br><br/>By connecting to the Hub from this page, you will push information about this '.ITOP_APPLICATION_SHORT.' instance into the Hub.</p>~~',
'Menu:iTopHub:Register:Description' => '<p>Get access to your community platform iTop Hub!<br>Find all the content and information you need, manage your instances through personalized tools & install more extensions.<br><br>By connecting to the Hub from this page, you will push information about this '.ITOP_APPLICATION_SHORT.' instance into the Hub.</p>~~',
'Menu:iTopHub:MyExtensions' => 'Deployed extensions~~',
'Menu:iTopHub:MyExtensions+' => 'See the list of extensions deployed on this instance of '.ITOP_APPLICATION_SHORT.'~~',
'Menu:iTopHub:BrowseExtensions' => 'Get extensions from iTop Hub~~',
'Menu:iTopHub:BrowseExtensions+' => 'Browse for more extensions on iTop Hub~~',
'Menu:iTopHub:BrowseExtensions:Description' => '<p>Look into iTop Hubs store, your one stop place to find wonderful '.ITOP_APPLICATION_SHORT.' extensions !</br>Find the ones that will help you customize and adapt '.ITOP_APPLICATION_SHORT.' to your processes.</br><br/>By connecting to the Hub from this page, you will push information about this '.ITOP_APPLICATION_SHORT.' instance into the Hub.</p>~~',
'Menu:iTopHub:BrowseExtensions:Description' => '<p>Look into iTop Hubs store, your one stop place to find wonderful iTop extensions !<br>Find the ones that will help you customize and adapt '.ITOP_APPLICATION_SHORT.' to your processes.<br><br>By connecting to the Hub from this page, you will push information about this '.ITOP_APPLICATION_SHORT.' instance into the Hub.</p>',
'iTopHub:GoBtn' => 'Go To iTop Hub~~',
'iTopHub:CloseBtn' => 'Close~~',
'iTopHub:GoBtn:Tooltip' => 'Jump to www.itophub.io~~',
@@ -45,7 +45,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'iTopHub:Landing:Status' => 'Deployment status~~',
'iTopHub:Landing:Install' => 'Deploying extensions...~~',
'iTopHub:CompiledOK' => 'Compilation successful.~~',
'iTopHub:ConfigurationSafelyReverted' => 'Error detected during deployment!<br/>'.ITOP_APPLICATION_SHORT.' configuration has NOT been modified.~~',
'iTopHub:ConfigurationSafelyReverted' => 'Error detected during deployment!<br>'.ITOP_APPLICATION_SHORT.' configuration has NOT been modified.~~',
'iTopHub:FailAuthent' => 'Authentication failed for this action.~~',
'iTopHub:InstalledExtensions' => 'Extensions deployed on this instance~~',
'iTopHub:ExtensionCategory:Manual' => 'Extensions deployed manually~~',

View File

@@ -25,12 +25,12 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'Menu:iTopHub' => 'iTop Hub',
'Menu:iTopHub:Register' => 'Mit dem iTop Hub verbinden',
'Menu:iTopHub:Register+' => ITOP_APPLICATION_SHORT.'-Instanzen über den iTop Hub updaten',
'Menu:iTopHub:Register:Description' => '<p>Zugriff auf die Community-Plattform iTop Hub!</br>Hier finden sie Informationen zu ihren '.ITOP_APPLICATION_SHORT.' Instanzen, können diese mit personalisierten Tools verwalten und sich Erweiterungen installieren.</br><br/>Durch die Verbindung mit dem iTop Hub, werden Informationen zu Ihrer '.ITOP_APPLICATION_SHORT.' Instanz zum iTop Hub übertragen.</p>',
'Menu:iTopHub:Register:Description' => '<p>Zugriff auf die Community-Plattform iTop Hub!<br>Hier finden sie Informationen zu ihren '.ITOP_APPLICATION_SHORT.' Instanzen, können diese mit personalisierten Tools verwalten und sich Erweiterungen installieren.<br><br>Durch die Verbindung mit dem iTop Hub, werden Informationen zu Ihrer '.ITOP_APPLICATION_SHORT.' Instanz zum iTop Hub übertragen.</p>',
'Menu:iTopHub:MyExtensions' => 'Installierte Erweiterungen',
'Menu:iTopHub:MyExtensions+' => 'Liste der auf ihrer '.ITOP_APPLICATION_SHORT.' Instanz installierten Erweiterungen',
'Menu:iTopHub:BrowseExtensions' => 'Erweiterungen vom iTop Hub beziehen',
'Menu:iTopHub:BrowseExtensions+' => 'Mehr Erweiterungen auf dem iTop Hub entdecken',
'Menu:iTopHub:BrowseExtensions:Description' => '<p>Zugriff auf die Community-Plattform iTop Hub!</br>Hier finden sie Informationen zu ihren '.ITOP_APPLICATION_SHORT.' Instanzen, können diese mit personalisierten Tools verwalten und sich Erweiterungen installieren.</br><br/>Durch die Verbindung mit dem iTop Hub, werden Informationen zu Ihrer '.ITOP_APPLICATION_SHORT.' Instanz zum iTop Hub übertragen.</p>',
'Menu:iTopHub:BrowseExtensions:Description' => '<p>Zugriff auf die Community-Plattform iTop Hub!<br>Hier finden sie Informationen zu ihren '.ITOP_APPLICATION_SHORT.' Instanzen, können diese mit personalisierten Tools verwalten und sich Erweiterungen installieren.<br><br>Durch die Verbindung mit dem iTop Hub, werden Informationen zu Ihrer '.ITOP_APPLICATION_SHORT.' Instanz zum iTop Hub übertragen.</p>',
'iTopHub:GoBtn' => 'Gehe zum iTop Hub',
'iTopHub:CloseBtn' => 'Schließen',
'iTopHub:GoBtn:Tooltip' => 'Gehe zu www.itophub.io',
@@ -45,7 +45,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'iTopHub:Landing:Status' => 'Installationsstatus',
'iTopHub:Landing:Install' => 'Erweiterungen werden installiert...',
'iTopHub:CompiledOK' => 'Installation erfolgreich',
'iTopHub:ConfigurationSafelyReverted' => 'Fehler während der Installation!<br/>'.ITOP_APPLICATION_SHORT.' Konfiguration wurde NICHT angepasst.',
'iTopHub:ConfigurationSafelyReverted' => 'Fehler während der Installation!<br>'.ITOP_APPLICATION_SHORT.' Konfiguration wurde NICHT angepasst.',
'iTopHub:FailAuthent' => 'Die Authentifizierung für diese Aktion ist fehlgeschlagen.',
'iTopHub:InstalledExtensions' => 'Erweiterungen, die auf dieser Instanz installiert sind',
'iTopHub:ExtensionCategory:Manual' => 'Manuell installierte Erweiterungen',

View File

@@ -26,12 +26,12 @@ Dict::Add('EN US', 'English', 'English', array(
'Menu:iTopHub' => 'iTop Hub',
'Menu:iTopHub:Register' => 'Connect to iTop Hub',
'Menu:iTopHub:Register+' => 'Go to iTop Hub to update your '.ITOP_APPLICATION_SHORT.' instance',
'Menu:iTopHub:Register:Description' => '<p>Get access to your community platform iTop Hub!</br>Find all the content and information you need, manage your instances through personalized tools & install more extensions.</br><br/>By connecting to the Hub from this page, you will push information about this '.ITOP_APPLICATION_SHORT.' instance into the Hub.</p>',
'Menu:iTopHub:Register:Description' => '<p>Get access to your community platform iTop Hub!<br>Find all the content and information you need, manage your instances through personalized tools & install more extensions.<br><br>By connecting to the Hub from this page, you will push information about this '.ITOP_APPLICATION_SHORT.' instance into the Hub.</p>',
'Menu:iTopHub:MyExtensions' => 'Deployed extensions',
'Menu:iTopHub:MyExtensions+' => 'See the list of extensions deployed on this instance of '.ITOP_APPLICATION_SHORT,
'Menu:iTopHub:BrowseExtensions' => 'Get extensions from iTop Hub',
'Menu:iTopHub:BrowseExtensions+' => 'Browse for more extensions on iTop Hub',
'Menu:iTopHub:BrowseExtensions:Description' => '<p>Look into iTop Hubs store, your one stop place to find wonderful iTop extensions !</br>Find the ones that will help you customize and adapt '.ITOP_APPLICATION_SHORT.' to your processes.</br><br/>By connecting to the Hub from this page, you will push information about this '.ITOP_APPLICATION_SHORT.' instance into the Hub.</p>',
'Menu:iTopHub:BrowseExtensions:Description' => '<p>Look into iTop Hubs store, your one stop place to find wonderful iTop extensions !<br>Find the ones that will help you customize and adapt '.ITOP_APPLICATION_SHORT.' to your processes.<br><br>By connecting to the Hub from this page, you will push information about this '.ITOP_APPLICATION_SHORT.' instance into the Hub.</p>',
'iTopHub:GoBtn' => 'Go To iTop Hub',
'iTopHub:CloseBtn' => 'Close',
'iTopHub:GoBtn:Tooltip' => 'Jump to www.itophub.io',
@@ -47,7 +47,7 @@ Dict::Add('EN US', 'English', 'English', array(
'iTopHub:Landing:Status' => 'Deployment status',
'iTopHub:Landing:Install' => 'Deploying extensions...',
'iTopHub:CompiledOK' => 'Compilation successful.',
'iTopHub:ConfigurationSafelyReverted' => 'Error detected during deployment!<br/>'.ITOP_APPLICATION_SHORT.' configuration has NOT been modified.',
'iTopHub:ConfigurationSafelyReverted' => 'Error detected during deployment!<br>'.ITOP_APPLICATION_SHORT.' configuration has NOT been modified.',
'iTopHub:FailAuthent' => 'Authentication failed for this action.',
'iTopHub:InstalledExtensions' => 'Extensions deployed on this instance',
@@ -65,7 +65,7 @@ Dict::Add('EN US', 'English', 'English', array(
'iTopHub:Uncompressing' => 'Uncompressing extensions...',
'iTopHub:InstallationWelcome' => 'Installation of the extensions downloaded from iTop Hub',
'iTopHub:DBBackupLabel' => 'Instance backup',
'iTopHub:DBBackupSentence' => 'Do a backup of the database and iTop configuration before updating',
'iTopHub:DBBackupSentence' => 'Do a backup of the database and '.ITOP_APPLICATION_SHORT.' configuration before updating',
'iTopHub:DeployBtn' => 'Deploy !',
'iTopHub:DatabaseBackupProgress' => 'Instance backup...',

Some files were not shown because too many files have changed in this diff Show More