Compare commits

...

42 Commits

Author SHA1 Message Date
Molkobain
0211627b5c Merge remote-tracking branch 'origin/support/3.3' into develop 2026-10-02 13:48:11 +02:00
Molkobain
d375fc7d82 🙈 Remove data/.compilation-symlinks, .gitignore will ensure that it is not put back 2026-10-02 13:46:51 +02:00
Molkobain
9c3dffdbc3 Merge remote-tracking branch 'origin/support/3.3' into develop 2026-10-02 13:27:56 +02:00
Molkobain
a32cff4286 🙈 Restore data/.compilation-symlinks 2026-10-02 13:25:49 +02:00
Stephen Abello
15f9a0ec7f Merge branch 'support/3.3' into develop 2026-10-01 17:11:48 +02:00
Stephen Abello
87b6b34683 Merge branch 'support/3.2' into support/3.3
# Conflicts:
#	core/oql/expression.class.inc.php
2026-10-01 17:10:51 +02:00
Molkobain
0a4bbfe5a9 🙈 Ensure data/.compilation-symlinks is not commited is deleted 2026-10-01 16:29:57 +02:00
Stephen Abello
31a4e1a0a0 N°10120 - Filtered classes in subqueries produce invalid SQL (#1059)
* N°10120 - Filtered classes in subqueries produce invalid SQL

* Avoid SQL cache to be shared between ids only and full columns queries
2026-10-01 10:44:33 +02:00
Stephen Abello
de74103118 Fix unit test cause by security changes in #1055 2026-10-01 09:35:55 +02:00
jf-cbd
11fba06d58 📝 Update README.md 2026-09-29 11:15:35 +02:00
jf-cbd
7908f67be0 📝 Remove SourceForge links 2026-09-29 11:13:30 +02:00
Stephen Abello
220d6df86a Merge branch 'support/3.3' into develop 2026-09-29 10:04:21 +02:00
Stephen Abello
67c6a0732c Merge branch 'support/3.2' into support/3.3 2026-09-29 10:03:43 +02:00
Stephen Abello
a2a00cb582 N°10075 - Update configuration parameters default value (#1055) 2026-09-29 10:02:57 +02:00
Molkobain
8dd2f2d7e9 💚 Fix typo in XML file 2026-09-29 08:36:47 +02:00
jf-cbd
4cfc1c2153 Merge remote-tracking branch 'origin/support/3.3' into develop 2026-09-28 11:41:03 +02:00
jf-cbd
4e8d34bb23 Merge remote-tracking branch 'origin/support/3.2' into support/3.3 2026-09-28 11:40:24 +02:00
jf-cbd
4d699f79e8 Add unit test for N°9740 2026-09-28 11:30:54 +02:00
Molkobain
28cb200e63 💚 Update datamodel files version to 3.4 2026-09-28 10:08:31 +02:00
Molkobain
fcd66bed2a 💬 Update version to 3.4.0 2026-09-27 18:03:10 +02:00
Molkobain
58d74f1521 Merge remote-tracking branch 'origin/support/3.3' into develop 2026-09-27 17:56:23 +02:00
Molkobain
4e70886d2a 💬 Update version to 3.3.1 2026-09-27 17:55:49 +02:00
Stephen Abello
f9c94e9c62 Merge branch 'support/3.3' into develop 2026-09-25 10:29:37 +02:00
Stephen Abello
c2929ecd33 Merge branch 'support/3.2' into support/3.3 2026-09-25 10:28:55 +02:00
Stephen Abello
873cea1a76 N°9557 - Small improvement to shortcut preferences (#1049)
* N°9557 - Small improvement to shortcut preferences

* Apply code review suggestions
2026-09-25 10:28:05 +02:00
jf-cbd
f637669336 Merge remote-tracking branch 'origin/support/3.3' into develop 2026-09-21 09:50:51 +02:00
jf-cbd
b7432b9e60 Merge remote-tracking branch 'origin/support/3.2' into support/3.3 2026-09-21 09:50:18 +02:00
jf-cbd
b4386b0ce6 Merge remote-tracking branch 'origin/support/3.2' into develop 2026-09-18 15:43:24 +02:00
jf-cbd
adc2596b4a Issue/9740 fix attachment removal (#1052)
(cherry picked from commit af972313d7)
2026-09-18 15:40:52 +02:00
jf-cbd
af972313d7 Issue/9740 fix attachment removal (#1052) 2026-09-18 14:05:06 +02:00
jf-cbd
d051d51699 Update and rename action.yml to add-to-dashboard.yml 2026-09-16 11:50:58 +02:00
Denis
16d68fe993 Version 3.3.0 2026-09-15 15:29:07 +02:00
Molkobain
4e1bf80b9f Merge remote-tracking branch 'origin/support/3.2' into develop 2026-09-15 10:17:15 +02:00
Molkobain
2ac4229ee0 N°10070 - Loss of DroidSansFallback font which impacts exports in east asian character sets (#1048)
* N°10070 - Loss of DroidSansFallback font which impacts exports in east asian character sets

* N°10070 - Add unit test
2026-09-15 10:03:52 +02:00
Timmy38
e6d485855e N°10045 Fix modules in production-modules automatically set to visible false 2026-09-14 16:34:40 +02:00
Stephen Abello
ab9d270b62 Merge branch 'support/3.2' into develop 2026-09-14 09:54:17 +02:00
Stephen Abello
4a6af15237 N°10041 - Fullscreen CKeditor in a modal can't take the focus (#1043) 2026-09-14 09:52:21 +02:00
jf-cbd
05e585ced3 📝 Update enhancement.yml and pull_request_template.md 2026-09-11 16:57:45 +02:00
lenaick.moreira
9e4f2a3053 RC 3.3 Update contributors 2026-09-04 15:14:44 +02:00
Benjamin DALSASS
a8b7622110 RC 3.3 - Update dictionnaries (not supported languages lt et) 2026-09-04 11:54:24 +02:00
Benjamin DALSASS
c241c257a5 RC 3.3 - Update dictionnaries (CS Fixer) 2026-09-04 11:05:03 +02:00
Benjamin DALSASS
ffa2a6dfd4 RC 3.3 - Update dictionnaries
RC 3.3 - Update dictionnaries
2026-09-04 10:32:51 +02:00
940 changed files with 30356 additions and 56445 deletions

View File

@@ -110,11 +110,11 @@ gitGraph
commit id: "2025-09-25" tag: "2.7.13" commit id: "2025-09-25" tag: "2.7.13"
checkout support/3.2 checkout support/3.2
commit id: "2026-04-27 " tag: "3.2.3" commit id: "2026-04-27 " tag: "3.2.3"
checkout support/3.2.3
commit id: "2026-05-25 " tag: "3.2.3-1" commit id: "2026-05-25 " tag: "3.2.3-1"
commit id: "2026-07-17 " tag: "3.2.3-2" commit id: "2026-07-17 " tag: "3.2.3-2"
checkout develop checkout develop
commit id: "2026-07-23" tag: "3.3.0-beta1" commit id: "2026-07-23" tag: "3.3.0-beta1"
commit id: "2026-09-15" tag: "3.3.0"
``` ```
To learn more, check the [iTop community versions history on the official wiki](https://www.itophub.io/wiki/page?id=latest:release:start). To learn more, check the [iTop community versions history on the official wiki](https://www.itophub.io/wiki/page?id=latest:release:start).

View File

@@ -9,6 +9,7 @@ body:
- Please describe what's your improvement proposition. - Please describe what's your improvement proposition.
- Then tell us if you're willing to create a PR for this enhancement ? If so, we'll indicate in the issue if we're interested in it. - Then tell us if you're willing to create a PR for this enhancement ? If so, we'll indicate in the issue if we're interested in it.
- The more users are affected and the greater is the impact, the more likely this improvement will be accepted. If you identified a bug and have an improvement proposition, please use the 'Bug report' template instead." - The more users are affected and the greater is the impact, the more likely this improvement will be accepted. If you identified a bug and have an improvement proposition, please use the 'Bug report' template instead."
Please note we're not willing to accept code improvement (e.g. refactoring) that won't have a "functional" change for the user.
- type: textarea - type: textarea
id: enhancement_details id: enhancement_details

View File

@@ -2,8 +2,11 @@
IMPORTANT: Before creating your PR, please create an issue first to know if Combodo is interested in your contribution (not needed for translations PR). IMPORTANT: Before creating your PR, please create an issue first to know if Combodo is interested in your contribution (not needed for translations PR).
Since we may refuse a PR, it's preferable to create an issue first, to avoid spending time coding something that won't be accepted. Since we may refuse a PR, it's preferable to create an issue first, to avoid spending time coding something that won't be accepted.
PR that will benefit the most users and has a greater impact on the product are more likely to be accepted, so please explain your use case and why you think it would be useful for the community. PR that will benefit the most users and has a greater impact on the product are more likely to be accepted, so please explain your use case and why you think it would be useful for the community.
We're not willing to receive PR concerning codes improvements (e.g. code refactoring), except if it's part of a code that brings/corrects a feature for users.
Please note that we're working with sprints, so we reserve the right to decline a PR if we do not plan to work on that subject in the 6 coming months.
Thank you for your comprehension 😊
Once you've done it, and we confirmed we're interested in it, please follow the guidelines within this PR template before submitting it, it will greatly help us process your PR. 🙏 Once you've created the issue, and we confirmed we're interested in it, 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. Any PRs not following the guidelines or with missing information will not be considered.
--> -->

View File

@@ -1,56 +0,0 @@
name: Add PRs to Combodo PRs Dashboard
on:
pull_request:
types:
- opened
issues:
types:
- opened
workflow_call:
jobs:
add-to-project:
name: Add PR to Combodo Project
runs-on: ubuntu-latest
steps:
- name: Check if author is a member of the organization
id: check-membership
run: |
ORG="Combodo"
AUTHOR=$(jq -r .pull_request.user.login "$GITHUB_EVENT_PATH")
RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" -H "Authorization: token ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}" \
"https://api.github.com/orgs/$ORG/members/$AUTHOR")
if [ "$RESPONSE" == "404" ]; then
echo "project_url=https://github.com/orgs/Combodo/projects/5" >> $GITHUB_ENV
echo "is_member=false" >> $GITHUB_ENV
else
echo "project_url=https://github.com/orgs/Combodo/projects/4" >> $GITHUB_ENV
echo "is_member=true" >> $GITHUB_ENV
fi
- name: Add internal tag if member of the organization
if: env.is_member == 'true'
run: |
curl -X POST -H "Authorization: token ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/labels \
-d '{"labels":["internal"]}'
- name: Set PR author as assignee if member of the organization
if: env.is_member == 'true' && github.event_name == 'pull_request'
run: |
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}" \
https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/assignees \
-d '{"assignees":["${{ github.event.pull_request.user.login }}"]}'
env:
is_member: ${{ env.is_member }}
- name: Add PR to the appropriate project
uses: actions/add-to-project@v2
with:
project-url: ${{ env.project_url }}
github-token: ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}

13
.github/workflows/add-to-dashboard.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
name: Add issue/PR to Combodo dashboard
on:
pull_request:
types: [opened]
issues:
types: [opened]
jobs:
route-to-project:
uses: Combodo/.github/.github/workflows/action.yml@master
secrets:
PR_AUTOMATICALLY_ADD_TO_PROJECT: ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}

1
.gitignore vendored
View File

@@ -33,7 +33,6 @@ tests/*/vendor/*
!/data/index.php !/data/index.php
!/data/web.config !/data/web.config
!/data/exclude.txt !/data/exclude.txt
!/data/.compilation-symlinks
# iTop extensions # iTop extensions
/extensions/** /extensions/**

View File

@@ -61,7 +61,7 @@ foreach ($aTcpdfFontsDirContent as $sTcpdfFontResourceName) {
* 2) Then adding the DroidSansFallback font (useful for CJK data for example) * 2) Then adding the DroidSansFallback font (useful for CJK data for example)
*/ */
echo $sCurrentScriptFileName.": ---2) Copying font files to TCPDF ($sTcPdfFontsFolder)...\n"; echo $sCurrentScriptFileName.": ---2) Copying font files to TCPDF ($sTcPdfFontsFolder)...\n";
$aFontFilesToCopy = glob(__DIR__.'\droidsansfallback.*'); $aFontFilesToCopy = glob(__DIR__.DIRECTORY_SEPARATOR.'droidsansfallback.*');
foreach ($aFontFilesToCopy as $sFontFileToCopy) { foreach ($aFontFilesToCopy as $sFontFileToCopy) {
$sFontFileName = basename($sFontFileToCopy); $sFontFileName = basename($sFontFileToCopy);
echo $sCurrentScriptFileName.': copying '.$sFontFileName."\n"; echo $sCurrentScriptFileName.': copying '.$sFontFileName."\n";

View File

@@ -33,13 +33,13 @@ iTop also offers mass import tools to help you become even more efficient.
[62]: https://www.itophub.io/wiki/page?id=latest:release:change_log [62]: https://www.itophub.io/wiki/page?id=latest:release:change_log
[63]: https://www.itophub.io/wiki/page?id=latest:release:start [63]: https://www.itophub.io/wiki/page?id=latest:release:start
[64]: https://www.itophub.io/wiki/page?id=latest:install:start [64]: https://www.itophub.io/wiki/page?id=latest:install:start
[65]: https://sourceforge.net/projects/itop/files/latest/download [65]: https://github.com/Combodo/iTop/releases/latest
## Resources ## Resources
- [iTop Forums][1]: community support - [GitHub Discussions][1]: community support
- [iTop Tickets][2]: for feature requests and bug reports - [GitHub Issues Tickets ][2]: for feature requests and bug reports
- [Releases download][3] - [Releases download][3]
- [iTop requirements][4] - [iTop requirements][4]
- [Documentation][5] covering both iTop and its official extensions - [Documentation][5] covering both iTop and its official extensions
@@ -47,9 +47,9 @@ iTop also offers mass import tools to help you become even more efficient.
- [iTop versions history][7] - [iTop versions history][7]
[1]: https://sourceforge.net/p/itop/discussion/ [1]: https://github.com/Combodo/iTop/discussions
[2]: https://sourceforge.net/p/itop/tickets/ [2]: https://github.com/Combodo/iTop/issues
[3]: https://sourceforge.net/projects/itop/files/itop/ [3]: https://github.com/Combodo/iTop/releases
[4]: https://www.itophub.io/wiki/page?id=latest:install:requirements [4]: https://www.itophub.io/wiki/page?id=latest:install:requirements
[5]: https://www.itophub.io/wiki [5]: https://www.itophub.io/wiki
[6]: https://store.itophub.io/en_US/ [6]: https://store.itophub.io/en_US/
@@ -95,7 +95,7 @@ We would like to give a special thank you 🤗 to the people from the community
- Casteleyn, Thomas (a.k.a [@Hipska](https://www.github.com/Hipska)) - Casteleyn, Thomas (a.k.a [@Hipska](https://www.github.com/Hipska))
- Castro, Randall Badilla - Castro, Randall Badilla
- Colantoni, Maria Laura - Colantoni, Maria Laura
- Couronné, Guy - Couronné, Guy [@GurneyHallack](https://github.com/GurneyHallack)
- Dejin, Bie (a.k.a [@bdejin](https://github.com/bdejin)) - Dejin, Bie (a.k.a [@bdejin](https://github.com/bdejin))
- Delicado, Elodie - Delicado, Elodie
- Dvořák, Lukáš - Dvořák, Lukáš
@@ -110,7 +110,7 @@ We would like to give a special thank you 🤗 to the people from the community
- Khamit, Shamil - Khamit, Shamil
- Kincel, Martin - Kincel, Martin
- Konečný, Kamil - Konečný, Kamil
- Kunin, Vladimir - Kunin, Vladimir (a.k.a [@vbkunin](https://github.com/vbkunin)
- Lassiter, Denis (a.k.a [@delassiter](https://github.com/delassiter)) - Lassiter, Denis (a.k.a [@delassiter](https://github.com/delassiter))
- Lazcano, Federico - Lazcano, Federico
- Lucas, Jonathan - Lucas, Jonathan
@@ -128,6 +128,7 @@ We would like to give a special thank you 🤗 to the people from the community
- Šafránek, Jaroslav (a.k.a [jkcinik](https://sourceforge.net/u/jkcinik/profile/) on SourceForge) - Šafránek, Jaroslav (a.k.a [jkcinik](https://sourceforge.net/u/jkcinik/profile/) on SourceForge)
- Seki, Shoji - Seki, Shoji
- Shilov, Vladimir - Shilov, Vladimir
- Srivastava, Vaibhav (a.k.a [@vaibhav8a](https://github.com/vaibhav8a))
- Stetina, Pavel (a.k.a [@Stetinac](https://github.com/Stetinac)) - Stetina, Pavel (a.k.a [@Stetinac](https://github.com/Stetinac))
- 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)) - Tarjányi, Csaba (a.k.a [@tacsaby](https://github.com/tacsaby))

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://www.combodo.com/itop-schema/3.3" xsi:noNamespaceSchemaLocation="https://www.combodo.com/itop-schema/3.3"
version="3.3"> version="3.4">
<classes> <classes>
<class id="AbstractResource" _delta="define"> <class id="AbstractResource" _delta="define">
<parent>cmdbAbstractObject</parent> <parent>cmdbAbstractObject</parent>

View File

@@ -109,10 +109,18 @@ $('#shortcut_rename_dlg').dialog({
modal: true, modal: true,
title: '$sDialogTitle', title: '$sDialogTitle',
buttons: [ buttons: [
{ text: "$sOkButtonLabel", click: ShortcutRenameOK}, {
{ text: "$sCancelButtonLabel", click: function() { text: "$sCancelButtonLabel",
$(this).dialog( "close" ); $(this).remove(); click: function() {
} }, $(this).dialog( "close" ); $(this).remove();
},
'class': 'ibo-button ibo-is-alternative ibo-is-neutral action cancel'
},
{
text: "$sOkButtonLabel",
click: ShortcutRenameOK,
'class': 'ibo-is-regular ibo-is-primary'
},
], ],
close: function() { $(this).remove(); } close: function() { $(this).remove(); }
}); });

View File

@@ -11,7 +11,7 @@ define('APPCONF', APPROOT.'conf/');
* *
* @see ITOP_CORE_VERSION to get full iTop core version * @see ITOP_CORE_VERSION to get full iTop core version
*/ */
define('ITOP_DESIGN_LATEST_VERSION', '3.3'); define('ITOP_DESIGN_LATEST_VERSION', '3.4');
/** /**
* Constant containing the iTop core version, whatever application was built * Constant containing the iTop core version, whatever application was built
@@ -23,7 +23,7 @@ define('ITOP_DESIGN_LATEST_VERSION', '3.3');
* @used-by utils::GetItopVersionWikiSyntax() * @used-by utils::GetItopVersionWikiSyntax()
* @used-by iTopModulesPhpVersionIntegrationTest * @used-by iTopModulesPhpVersionIntegrationTest
*/ */
define('ITOP_CORE_VERSION', '3.3.0'); define('ITOP_CORE_VERSION', '3.4.0');
/** /**
* @var string * @var string

View File

@@ -29,7 +29,7 @@ define('ITOP_APPLICATION_SHORT', 'iTop');
* *
* @see ITOP_CORE_VERSION to get iTop core version * @see ITOP_CORE_VERSION to get iTop core version
*/ */
define('ITOP_VERSION', '3.3.0-dev'); define('ITOP_VERSION', '3.4.0-dev');
define('ITOP_VERSION_NAME', 'Fullmoon'); define('ITOP_VERSION_NAME', 'Fullmoon');
define('ITOP_REVISION', 'svn'); define('ITOP_REVISION', 'svn');
@@ -1765,8 +1765,8 @@ class Config
'security.disable_joined_classes_filter' => [ 'security.disable_joined_classes_filter' => [
'type' => 'bool', 'type' => 'bool',
'description' => 'If true, scope filters aren\'t applied to joined classes or union classes not directly listed in the SELECT clause.', 'description' => 'If true, scope filters aren\'t applied to joined classes or union classes not directly listed in the SELECT clause.',
'default' => true, 'default' => false,
'value' => true, 'value' => false,
'source_of_value' => '', 'source_of_value' => '',
'show_in_conf_sample' => false, 'show_in_conf_sample' => false,
], ],
@@ -1781,8 +1781,8 @@ class Config
'security.disable_exec_forced_login_for_all_enpoints' => [ 'security.disable_exec_forced_login_for_all_enpoints' => [
'type' => 'bool', 'type' => 'bool',
'description' => 'If true, when no delegated authentication module is defined, no login will be forced on modules exec endpoints', 'description' => 'If true, when no delegated authentication module is defined, no login will be forced on modules exec endpoints',
'default' => true, 'default' => false,
'value' => true, 'value' => false,
'source_of_value' => '', 'source_of_value' => '',
'show_in_conf_sample' => false, 'show_in_conf_sample' => false,
], ],

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.3"> <itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.4">
<classes> <classes>
<class id="lnkActionNotificationToContact" _delta="define"> <class id="lnkActionNotificationToContact" _delta="define">
<parent>DBObject</parent> <parent>DBObject</parent>

View File

@@ -1711,7 +1711,7 @@ class DBObjectSearch extends DBSearch
* @return array|mixed|\SQLObjectQuery|null * @return array|mixed|\SQLObjectQuery|null
* @throws \CoreException * @throws \CoreException
*/ */
public function GetSQLQueryStructure($aAttToLoad, $bGetCount, $aGroupByExpr = null, $aSelectedClasses = null, $aSelectExpr = null) public function GetSQLQueryStructure($aAttToLoad, $bGetCount, $aGroupByExpr = null, $aSelectedClasses = null, $aSelectExpr = null, $bSelectOnlyIds = false)
{ {
// Hide objects that are not visible to the current user // Hide objects that are not visible to the current user
// //
@@ -1782,6 +1782,8 @@ class DBObjectSearch extends DBSearch
$aContextData['aSelectExpr'] = $aSelectExpr; $aContextData['aSelectExpr'] = $aSelectExpr;
$sRawId .= $bGetCount; $sRawId .= $bGetCount;
$aContextData['bGetCount'] = $bGetCount; $aContextData['bGetCount'] = $bGetCount;
$sRawId .= 'ids:'.($bSelectOnlyIds ? '1' : '0');
$aContextData['bSelectOnlyIds'] = $bSelectOnlyIds;
if (is_array($aSelectedClasses)) { if (is_array($aSelectedClasses)) {
$sRawId .= implode(',', $aSelectedClasses); // Unions may alter the list of selected columns $sRawId .= implode(',', $aSelectedClasses); // Unions may alter the list of selected columns
} }
@@ -1835,7 +1837,7 @@ class DBObjectSearch extends DBSearch
if (!isset($oSQLQuery)) { if (!isset($oSQLQuery)) {
$oKPI = new ExecutionKPI(); $oKPI = new ExecutionKPI();
$oSQLObjectQueryBuilder = new SQLObjectQueryBuilder($oSearch); $oSQLObjectQueryBuilder = new SQLObjectQueryBuilder($oSearch);
$oSQLQuery = $oSQLObjectQueryBuilder->BuildSQLQueryStruct($aAttToLoad, $bGetCount, $aModifierProperties, $aGroupByExpr, $aSelectedClasses, $aSelectExpr); $oSQLQuery = $oSQLObjectQueryBuilder->BuildSQLQueryStruct($aAttToLoad, $bGetCount, $aModifierProperties, $aGroupByExpr, $aSelectedClasses, $aSelectExpr, $bSelectOnlyIds);
$oKPI->ComputeStats('BuildSQLQueryStruct', $sOqlQuery); $oKPI->ComputeStats('BuildSQLQueryStruct', $sOqlQuery);
if (self::$m_bQueryCacheEnabled) { if (self::$m_bQueryCacheEnabled) {
@@ -1945,7 +1947,7 @@ class DBObjectSearch extends DBSearch
$oSearch = $this; $oSearch = $this;
$aClassesToFilter = $this->GetSelectedClasses(); $aClassesToFilter = $this->GetSelectedClasses();
// Opt-in for joined classes filtering, otherwise only filter the selected class(es) // Joined classes filtering can be disabled through the configuration.
if (MetaModel::GetConfig()->Get('security.disable_joined_classes_filter') === false) { if (MetaModel::GetConfig()->Get('security.disable_joined_classes_filter') === false) {
$aClassesToFilter = $this->GetJoinedClasses(); $aClassesToFilter = $this->GetJoinedClasses();
} }

View File

@@ -921,7 +921,7 @@ abstract class DBSearch
* @internal * @internal
* *
*/ */
public function MakeSelectQuery($aOrderBy = [], $aArgs = [], $aAttToLoad = null, $aExtendedDataSpec = null, $iLimitCount = 0, $iLimitStart = 0, $bGetCount = false, $bBeautifulSQL = true) public function MakeSelectQuery($aOrderBy = [], $aArgs = [], $aAttToLoad = null, $aExtendedDataSpec = null, $iLimitCount = 0, $iLimitStart = 0, $bGetCount = false, $bBeautifulSQL = true, $bSelectOnlyIds = false)
{ {
// Check the order by specification, and prefix with the class alias // Check the order by specification, and prefix with the class alias
// and make sure that the ordering columns are going to be selected // and make sure that the ordering columns are going to be selected
@@ -962,7 +962,7 @@ abstract class DBSearch
} }
} }
$oSQLQuery = $this->GetSQLQuery($aOrderBy, $aArgs, $aAttToLoad, $aExtendedDataSpec, $iLimitCount, $iLimitStart, $bGetCount); $oSQLQuery = $this->GetSQLQuery($aOrderBy, $aArgs, $aAttToLoad, $aExtendedDataSpec, $iLimitCount, $iLimitStart, $bGetCount, null, null, $bSelectOnlyIds);
if ($this->m_bNoContextParameters) { if ($this->m_bNoContextParameters) {
// Only internal parameters // Only internal parameters
@@ -1046,7 +1046,7 @@ abstract class DBSearch
* @internal * @internal
* *
*/ */
protected function GetSQLQuery($aOrderBy, $aArgs, $aAttToLoad, $aExtendedDataSpec, $iLimitCount, $iLimitStart, $bGetCount, $aGroupByExpr = null, $aSelectExpr = null) protected function GetSQLQuery($aOrderBy, $aArgs, $aAttToLoad, $aExtendedDataSpec, $iLimitCount, $iLimitStart, $bGetCount, $aGroupByExpr = null, $aSelectExpr = null, $bSelectOnlyIds = false)
{ {
$oSearch = $this->ApplyDataFilters(); $oSearch = $this->ApplyDataFilters();
@@ -1068,7 +1068,7 @@ abstract class DBSearch
} }
} }
$oSQLQuery = $oSearch->GetSQLQueryStructure($aAttToLoad, $bGetCount, $aGroupByExpr, null, $aSelectExpr); $oSQLQuery = $oSearch->GetSQLQueryStructure($aAttToLoad, $bGetCount, $aGroupByExpr, null, $aSelectExpr, $bSelectOnlyIds);
$oSQLQuery->SetSourceOQL($oSearch->ToOQL()); $oSQLQuery->SetSourceOQL($oSearch->ToOQL());
// Join to an additional table, if required... // Join to an additional table, if required...
@@ -1103,7 +1103,8 @@ abstract class DBSearch
$bGetCount, $bGetCount,
$aGroupByExpr = null, $aGroupByExpr = null,
$aSelectedClasses = null, $aSelectedClasses = null,
$aSelectExpr = null $aSelectExpr = null,
$bSelectOnlyIds = false
); );
/** /**

View File

@@ -527,10 +527,10 @@ class DBUnionSearch extends DBSearch
throw new Exception('MakeUpdateQuery is not implemented for the unions!'); throw new Exception('MakeUpdateQuery is not implemented for the unions!');
} }
public function GetSQLQueryStructure($aAttToLoad, $bGetCount, $aGroupByExpr = null, $aSelectedClasses = null, $aSelectExpr = null) public function GetSQLQueryStructure($aAttToLoad, $bGetCount, $aGroupByExpr = null, $aSelectedClasses = null, $aSelectExpr = null, $bSelectOnlyIds = false)
{ {
if (count($this->aSearches) == 1) { if (count($this->aSearches) == 1) {
return $this->aSearches[0]->GetSQLQueryStructure($aAttToLoad, $bGetCount, $aGroupByExpr, $aSelectedClasses, $aSelectExpr); return $this->aSearches[0]->GetSQLQueryStructure($aAttToLoad, $bGetCount, $aGroupByExpr, $aSelectedClasses, $aSelectExpr, $bSelectOnlyIds);
} }
$aSQLQueries = []; $aSQLQueries = [];
@@ -610,7 +610,7 @@ class DBUnionSearch extends DBSearch
} }
} }
} }
$oSubQuery = $oSearch->GetSQLQueryStructure($aQueryAttToLoad, false, $aQueryGroupByExpr, $aSearchSelectedClasses, $aQuerySelectExpr); $oSubQuery = $oSearch->GetSQLQueryStructure($aQueryAttToLoad, false, $aQueryGroupByExpr, $aSearchSelectedClasses, $aQuerySelectExpr, $bSelectOnlyIds);
if (count($aSearchAliases) > 1) { if (count($aSearchAliases) > 1) {
// Necessary to make sure that selected columns will match throughout all the queries // Necessary to make sure that selected columns will match throughout all the queries
// (default order of selected fields depending on the order of JOINS) // (default order of selected fields depending on the order of JOINS)
@@ -683,7 +683,7 @@ class DBUnionSearch extends DBSearch
return $this; return $this;
} }
// Opt-in for joined classes filtering, otherwise fallback on DBSearch filtering // Joined classes filtering can be disabled through the configuration.
if (MetaModel::GetConfig()->Get('security.disable_joined_classes_filter') === true) { if (MetaModel::GetConfig()->Get('security.disable_joined_classes_filter') === true) {
return parent::ApplyDataFilters(); return parent::ApplyDataFilters();
} }

File diff suppressed because it is too large Load Diff

View File

@@ -29,13 +29,14 @@ class SQLObjectQueryBuilder
* @param array $aGroupByExpr * @param array $aGroupByExpr
* @param array $aSelectedClasses * @param array $aSelectedClasses
* @param array $aSelectExpr * @param array $aSelectExpr
* @param bool $bSelectOnlyIds
* *
* @return null|SQLObjectQuery * @return null|SQLObjectQuery
* @throws \CoreException * @throws \CoreException
*/ */
public function BuildSQLQueryStruct($aAttToLoad, $bGetCount, $aModifierProperties, $aGroupByExpr = null, $aSelectedClasses = null, $aSelectExpr = null) public function BuildSQLQueryStruct($aAttToLoad, $bGetCount, $aModifierProperties, $aGroupByExpr = null, $aSelectedClasses = null, $aSelectExpr = null, $bSelectOnlyIds = false)
{ {
if ($bGetCount || !is_null($aGroupByExpr)) { if ($bGetCount || !is_null($aGroupByExpr) || $bSelectOnlyIds) {
// Avoid adding all the fields for counts or "group by" requests // Avoid adding all the fields for counts or "group by" requests
$aAttToLoad = []; $aAttToLoad = [];
foreach ($this->oDBObjetSearch->GetSelectedClasses() as $sClassAlias => $sClass) { foreach ($this->oDBObjetSearch->GetSelectedClasses() as $sClassAlias => $sClass) {

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.3"> <itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.4">
<constants> <constants>
</constants> </constants>
<classes> <classes>

View File

@@ -3,10 +3,13 @@
/** /**
* Localized data * Localized data
* *
* @copyright Copyright (C) 2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
*
*/ */
Dict::Add('EN GB', 'British English', 'British English', [ Dict::Add('EN GB', 'British English', 'British English', [
'CAS:Error:UserNotAllowed' => 'User not allowed', 'CAS:Error:UserNotAllowed' => 'User not allowed',
'CAS:Login:SignIn' => 'Sign in with CAS', 'CAS:Login:SignIn' => 'Sign in with CAS',

View File

@@ -1,12 +1,15 @@
<?php <?php
/** /**
* Spanish Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* @author Miguel Turrubiates <miguel_tf@yahoo.com> * @author Miguel Turrubiates <miguel_tf@yahoo.com>
* @notas Utilizar codificación UTF-8 para mostrar acentos y otros caracteres especiales *
*/ */
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'CAS:Error:UserNotAllowed' => 'Usuario no permitido', 'CAS:Error:UserNotAllowed' => 'Usuario no permitido',

View File

@@ -5,8 +5,11 @@
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
*
*/ */
Dict::Add('ZH CN', 'Chinese', '简体中文', [ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'CAS:Error:UserNotAllowed' => '用户被禁止登录', 'CAS:Error:UserNotAllowed' => '用户被禁止登录',
'CAS:Login:SignIn' => '使用 CAS 登录', 'CAS:Login:SignIn' => '使用 CAS 登录',

View File

@@ -6,7 +6,7 @@
SetupWebPage::AddModule( SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file __FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'authent-cas/3.3.0', 'authent-cas/3.4.0',
[ [
// Identification // Identification
// //

View File

@@ -3,39 +3,13 @@
/** /**
* Localized data * Localized data
* *
* @copyright Copyright (C) 2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//
// Class: UserExternal
//
Dict::Add('EN GB', 'British English', 'British English', [ Dict::Add('EN GB', 'British English', 'British English', [
'Class:UserExternal' => 'External user', 'Class:UserExternal' => 'External user',
'Class:UserExternal+' => 'User authentified outside of '.ITOP_APPLICATION_SHORT, 'Class:UserExternal+' => 'User authentified outside of '.ITOP_APPLICATION_SHORT,

View File

@@ -1,12 +1,15 @@
<?php <?php
/** /**
* Spanish Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* @author Miguel Turrubiates <miguel_tf@yahoo.com> * @author Miguel Turrubiates <miguel_tf@yahoo.com>
* @notas Utilizar codificación UTF-8 para mostrar acentos y otros caracteres especiales *
*/ */
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'Class:UserExternal' => 'Usuario externo', 'Class:UserExternal' => 'Usuario externo',

View File

@@ -12,5 +12,5 @@
*/ */
Dict::Add('HU HU', 'Hungarian', 'Magyar', [ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
'Class:UserExternal' => 'Külső felhasználó', 'Class:UserExternal' => 'Külső felhasználó',
'Class:UserExternal+' => '', 'Class:UserExternal+' => 'User authentified outside of '.ITOP_APPLICATION_SHORT.'~~',
]); ]);

View File

@@ -12,5 +12,5 @@
*/ */
Dict::Add('PT BR', 'Brazilian', 'Brazilian', [ Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
'Class:UserExternal' => 'Usuário externo', 'Class:UserExternal' => 'Usuário externo',
'Class:UserExternal+' => '', 'Class:UserExternal+' => 'User authentified outside of '.ITOP_APPLICATION_SHORT.'~~',
]); ]);

View File

@@ -5,37 +5,12 @@
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
* @author Robert Deng <denglx@gmail.com>
* This file is part of iTop.
* *
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
/**
// Dictionnay conventions * @author Robert Deng <denglx@gmail.com>
// Class:<class_name> *
// Class:<class_name>+ */
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//
// Class: UserExternal
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:UserExternal' => '外部用户', 'Class:UserExternal' => '外部用户',
'Class:UserExternal+' => '用户在'.ITOP_APPLICATION_SHORT.'外部验证身份', 'Class:UserExternal+' => '用户在'.ITOP_APPLICATION_SHORT.'外部验证身份',

View File

@@ -27,7 +27,7 @@
SetupWebPage::AddModule( SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file __FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'authent-external/3.3.0', 'authent-external/3.4.0',
[ [
// Identification // Identification
// //

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.3"> <itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.4">
<classes> <classes>
<class id="UserLDAP" _delta="define"> <class id="UserLDAP" _delta="define">
<parent>cmdbAbstractObject</parent> <parent>cmdbAbstractObject</parent>

View File

@@ -16,13 +16,6 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', [
'Class:UserLDAP' => 'LDAP uživatel', 'Class:UserLDAP' => 'LDAP uživatel',
'Class:UserLDAP+' => 'Uživatel ověřen přes LDAP', 'Class:UserLDAP+' => 'Uživatel ověřen přes LDAP',
'UserLDAP:server' => 'Specifika LDAP', 'UserLDAP:server' => 'Specifika LDAP',
]);
//
// Class: UserLDAP
//
Dict::Add('CS CZ', 'Czech', 'Čeština', [
'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~', 'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~',
'Class:UserLDAP/Attribute:ldap_server+' => '~~', 'Class:UserLDAP/Attribute:ldap_server+' => '~~',
]); ]);

View File

@@ -15,13 +15,6 @@ Dict::Add('DA DA', 'Danish', 'Dansk', [
'Class:UserLDAP' => 'LDAP-Bruger', 'Class:UserLDAP' => 'LDAP-Bruger',
'Class:UserLDAP+' => 'Bruger der godkendes via LDAP', 'Class:UserLDAP+' => 'Bruger der godkendes via LDAP',
'UserLDAP:server' => 'LDAP specifics~~', 'UserLDAP:server' => 'LDAP specifics~~',
]);
//
// Class: UserLDAP
//
Dict::Add('DA DA', 'Danish', 'Dansk', [
'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~', 'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~',
'Class:UserLDAP/Attribute:ldap_server+' => '~~', 'Class:UserLDAP/Attribute:ldap_server+' => '~~',
]); ]);

View File

@@ -15,13 +15,6 @@ Dict::Add('DE DE', 'German', 'Deutsch', [
'Class:UserLDAP' => 'LDAP-Benutzer', 'Class:UserLDAP' => 'LDAP-Benutzer',
'Class:UserLDAP+' => 'Benutzer, der via LDAP authentifiziert wird', 'Class:UserLDAP+' => 'Benutzer, der via LDAP authentifiziert wird',
'UserLDAP:server' => 'LDAP-Einstellungen', 'UserLDAP:server' => 'LDAP-Einstellungen',
]);
//
// Class: UserLDAP
//
Dict::Add('DE DE', 'German', 'Deutsch', [
'Class:UserLDAP/Attribute:ldap_server' => 'LDAP-Server', 'Class:UserLDAP/Attribute:ldap_server' => 'LDAP-Server',
'Class:UserLDAP/Attribute:ldap_server+' => 'Optional: LDAP-Server, der zur Authentifizierung verwendet werden soll, falls mehrere LDAP-Server konfiguriert sind.', 'Class:UserLDAP/Attribute:ldap_server+' => 'Optional: LDAP-Server, der zur Authentifizierung verwendet werden soll, falls mehrere LDAP-Server konfiguriert sind.',
]); ]);

View File

@@ -3,41 +3,17 @@
/** /**
* Localized data * Localized data
* *
* @copyright Copyright (C) 2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//
// Class: UserLDAP
//
Dict::Add('EN GB', 'British English', 'British English', [ Dict::Add('EN GB', 'British English', 'British English', [
'Class:UserLDAP' => 'LDAP user', 'Class:UserLDAP' => 'LDAP user',
'Class:UserLDAP+' => 'User authenticated by LDAP', 'Class:UserLDAP+' => 'User authenticated by LDAP',
'UserLDAP:server' => 'LDAP specifics', 'UserLDAP:server' => 'LDAP specifics',
'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~',
'Class:UserLDAP/Attribute:ldap_server+' => '~~',
]); ]);

View File

@@ -1,24 +1,20 @@
<?php <?php
/** /**
* Spanish Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* @author Miguel Turrubiates <miguel_tf@yahoo.com> * @author Miguel Turrubiates <miguel_tf@yahoo.com>
* @notas Utilizar codificación UTF-8 para mostrar acentos y otros caracteres especiales *
*/ */
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'Class:UserLDAP' => 'Usuario LDAP', 'Class:UserLDAP' => 'Usuario LDAP',
'Class:UserLDAP+' => 'Usuario autenticado vía LDAP', 'Class:UserLDAP+' => 'Usuario autenticado vía LDAP',
'UserLDAP:server' => 'Especificaciones LDAP', 'UserLDAP:server' => 'Especificaciones LDAP',
]);
//
// Class: UserLDAP
//
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~', 'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~',
'Class:UserLDAP/Attribute:ldap_server+' => '~~', 'Class:UserLDAP/Attribute:ldap_server+' => '~~',
]); ]);

View File

@@ -14,13 +14,6 @@ Dict::Add('FR FR', 'French', 'Français', [
'Class:UserLDAP' => 'Utilisateur LDAP', 'Class:UserLDAP' => 'Utilisateur LDAP',
'Class:UserLDAP+' => 'Utilisateur authentifié par un serveur LDAP', 'Class:UserLDAP+' => 'Utilisateur authentifié par un serveur LDAP',
'UserLDAP:server' => 'Champs spécifiques pour LDAP', 'UserLDAP:server' => 'Champs spécifiques pour LDAP',
]);
//
// Class: UserLDAP
//
Dict::Add('FR FR', 'French', 'Français', [
'Class:UserLDAP/Attribute:ldap_server' => 'Serveur LDAP', 'Class:UserLDAP/Attribute:ldap_server' => 'Serveur LDAP',
'Class:UserLDAP/Attribute:ldap_server+' => 'Serveur LDAP utilisé pour l\'authentification de cet utilisateur', 'Class:UserLDAP/Attribute:ldap_server+' => 'Serveur LDAP utilisé pour l\'authentification de cet utilisateur',
]); ]);

View File

@@ -14,13 +14,6 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
'Class:UserLDAP' => 'LDAP felhasználó', 'Class:UserLDAP' => 'LDAP felhasználó',
'Class:UserLDAP+' => 'LDAP vagy AD felhasználó', 'Class:UserLDAP+' => 'LDAP vagy AD felhasználó',
'UserLDAP:server' => 'LDAP specifics~~', 'UserLDAP:server' => 'LDAP specifics~~',
]);
//
// Class: UserLDAP
//
Dict::Add('HU HU', 'Hungarian', 'Magyar', [
'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~', 'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~',
'Class:UserLDAP/Attribute:ldap_server+' => '~~', 'Class:UserLDAP/Attribute:ldap_server+' => '~~',
]); ]);

View File

@@ -14,13 +14,6 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [
'Class:UserLDAP' => 'Utente LDAP', 'Class:UserLDAP' => 'Utente LDAP',
'Class:UserLDAP+' => 'Utente autenticato da LDAP', 'Class:UserLDAP+' => 'Utente autenticato da LDAP',
'UserLDAP:server' => 'Specifiche LDAP', 'UserLDAP:server' => 'Specifiche LDAP',
]);
//
// Class: UserLDAP
//
Dict::Add('IT IT', 'Italian', 'Italiano', [
'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~', 'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~',
'Class:UserLDAP/Attribute:ldap_server+' => '~~', 'Class:UserLDAP/Attribute:ldap_server+' => '~~',
]); ]);

View File

@@ -15,13 +15,6 @@ Dict::Add('JA JP', 'Japanese', '日本語', [
'Class:UserLDAP' => 'LDAP ユーザー', 'Class:UserLDAP' => 'LDAP ユーザー',
'Class:UserLDAP+' => 'LDAP認証ユーザー', 'Class:UserLDAP+' => 'LDAP認証ユーザー',
'UserLDAP:server' => 'LDAP specifics~~', 'UserLDAP:server' => 'LDAP specifics~~',
]);
//
// Class: UserLDAP
//
Dict::Add('JA JP', 'Japanese', '日本語', [
'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~', 'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~',
'Class:UserLDAP/Attribute:ldap_server+' => '~~', 'Class:UserLDAP/Attribute:ldap_server+' => '~~',
]); ]);

View File

@@ -10,18 +10,12 @@
/** /**
* @author Thomas Casteleyn <thomas.casteleyn@super-visions.com> * @author Thomas Casteleyn <thomas.casteleyn@super-visions.com>
* @author Jeffrey Bostoen <info@jeffreybostoen.be> (2018 - 2022) * @author Jeffrey Bostoen <info@jeffreybostoen.be> (2018 - 2022)
*
*/ */
Dict::Add('NL NL', 'Dutch', 'Nederlands', [ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:UserLDAP' => 'LDAP-gebruiker', 'Class:UserLDAP' => 'LDAP-gebruiker',
'Class:UserLDAP+' => 'Gebruiker die aanmeldt via LDAP', 'Class:UserLDAP+' => 'Gebruiker die aanmeldt via LDAP',
'UserLDAP:server' => 'LDAP informatie', 'UserLDAP:server' => 'LDAP informatie',
]);
//
// Class: UserLDAP
//
Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~', 'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~',
'Class:UserLDAP/Attribute:ldap_server+' => '~~', 'Class:UserLDAP/Attribute:ldap_server+' => '~~',
]); ]);

View File

@@ -14,13 +14,6 @@ Dict::Add('PL PL', 'Polish', 'Polski', [
'Class:UserLDAP' => 'Użytkownik LDAP', 'Class:UserLDAP' => 'Użytkownik LDAP',
'Class:UserLDAP+' => 'Użytkownik uwierzytelniony przez LDAP', 'Class:UserLDAP+' => 'Użytkownik uwierzytelniony przez LDAP',
'UserLDAP:server' => 'Serwer LDAP', 'UserLDAP:server' => 'Serwer LDAP',
]);
//
// Class: UserLDAP
//
Dict::Add('PL PL', 'Polish', 'Polski', [
'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~', 'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~',
'Class:UserLDAP/Attribute:ldap_server+' => '~~', 'Class:UserLDAP/Attribute:ldap_server+' => '~~',
]); ]);

View File

@@ -12,15 +12,8 @@
*/ */
Dict::Add('PT BR', 'Brazilian', 'Brazilian', [ Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
'Class:UserLDAP' => 'Usuário externo via LDAP', 'Class:UserLDAP' => 'Usuário externo via LDAP',
'Class:UserLDAP+' => '', 'Class:UserLDAP+' => 'User authenticated by LDAP~~',
'UserLDAP:server' => 'LDAP specifics~~', 'UserLDAP:server' => 'LDAP specifics~~',
]);
//
// Class: UserLDAP
//
Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~', 'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~',
'Class:UserLDAP/Attribute:ldap_server+' => '~~', 'Class:UserLDAP/Attribute:ldap_server+' => '~~',
]); ]);

View File

@@ -15,13 +15,6 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:UserLDAP' => 'Пользователь LDAP', 'Class:UserLDAP' => 'Пользователь LDAP',
'Class:UserLDAP+' => 'Пользователь, аутентифицируемый через LDAP', 'Class:UserLDAP+' => 'Пользователь, аутентифицируемый через LDAP',
'UserLDAP:server' => 'Особенности LDAP', 'UserLDAP:server' => 'Особенности LDAP',
]);
//
// Class: UserLDAP
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:UserLDAP/Attribute:ldap_server' => 'Сервер LDAP', 'Class:UserLDAP/Attribute:ldap_server' => 'Сервер LDAP',
'Class:UserLDAP/Attribute:ldap_server+' => '', 'Class:UserLDAP/Attribute:ldap_server+' => '~~',
]); ]);

View File

@@ -14,13 +14,6 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
'Class:UserLDAP' => 'LDAP užívateľ', 'Class:UserLDAP' => 'LDAP užívateľ',
'Class:UserLDAP+' => 'User authenticated by LDAP~~', 'Class:UserLDAP+' => 'User authenticated by LDAP~~',
'UserLDAP:server' => 'LDAP specifics~~', 'UserLDAP:server' => 'LDAP specifics~~',
]);
//
// Class: UserLDAP
//
Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~', 'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~',
'Class:UserLDAP/Attribute:ldap_server+' => '~~', 'Class:UserLDAP/Attribute:ldap_server+' => '~~',
]); ]);

View File

@@ -15,13 +15,6 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', [
'Class:UserLDAP' => 'LDAP kullanıcısı', 'Class:UserLDAP' => 'LDAP kullanıcısı',
'Class:UserLDAP+' => 'Yetki kontrolü LDAP tarafından yapılan', 'Class:UserLDAP+' => 'Yetki kontrolü LDAP tarafından yapılan',
'UserLDAP:server' => 'LDAP specifics~~', 'UserLDAP:server' => 'LDAP specifics~~',
]);
//
// Class: UserLDAP
//
Dict::Add('TR TR', 'Turkish', 'Türkçe', [
'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~', 'Class:UserLDAP/Attribute:ldap_server' => 'Ldap server~~',
'Class:UserLDAP/Attribute:ldap_server+' => '~~', 'Class:UserLDAP/Attribute:ldap_server+' => '~~',
]); ]);

View File

@@ -5,48 +5,16 @@
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
* @author Robert Deng <denglx@gmail.com>
* This file is part of iTop.
* *
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
/**
// Dictionnay conventions * @author Robert Deng <denglx@gmail.com>
// Class:<class_name> *
// Class:<class_name>+ */
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//
// Class: UserLDAP
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:UserLDAP' => 'LDAP 用户', 'Class:UserLDAP' => 'LDAP 用户',
'Class:UserLDAP+' => '用户身份由 LDAP 认证', 'Class:UserLDAP+' => '用户身份由 LDAP 认证',
'UserLDAP:server' => 'LDAP 详情', 'UserLDAP:server' => 'LDAP 详情',
]);
//
// Class: UserLDAP
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:UserLDAP/Attribute:ldap_server' => 'LDAP 服务器', 'Class:UserLDAP/Attribute:ldap_server' => 'LDAP 服务器',
'Class:UserLDAP/Attribute:ldap_server+' => '', 'Class:UserLDAP/Attribute:ldap_server+' => '~~',
]); ]);

View File

@@ -7,7 +7,7 @@ if (function_exists('ldap_connect')) {
SetupWebPage::AddModule( SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file __FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'authent-ldap/3.3.0', 'authent-ldap/3.4.0',
[ [
// Identification // Identification
// //

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.3"> <itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.4">
<module_parameters> <module_parameters>
<parameters id="authent-local" _delta="define"> <parameters id="authent-local" _delta="define">
<password_validation.pattern>^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{12,}$</password_validation.pattern> <password_validation.pattern>^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{12,}$</password_validation.pattern>

View File

@@ -16,7 +16,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', [
'Class:UserLocal' => 'interní uživatel '.ITOP_APPLICATION_SHORT, 'Class:UserLocal' => 'interní uživatel '.ITOP_APPLICATION_SHORT,
'Class:UserLocal+' => 'Uživatel ověřen interně v '.ITOP_APPLICATION_SHORT, 'Class:UserLocal+' => 'Uživatel ověřen interně v '.ITOP_APPLICATION_SHORT,
'Class:UserLocal/Attribute:password' => 'Heslo', 'Class:UserLocal/Attribute:password' => 'Heslo',
'Class:UserLocal/Attribute:password+' => '', 'Class:UserLocal/Attribute:password+' => 'User authentication string~~',
'Class:UserLocal/Attribute:expiration' => 'Exspirace hesla', 'Class:UserLocal/Attribute:expiration' => 'Exspirace hesla',
'Class:UserLocal/Attribute:expiration+' => 'Status exspirace hesla (je vyžadováno rozšíření, aby mělo efekt)', 'Class:UserLocal/Attribute:expiration+' => 'Status exspirace hesla (je vyžadováno rozšíření, aby mělo efekt)',
'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Může exspirovat', 'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Může exspirovat',

View File

@@ -19,11 +19,11 @@ Dict::Add('DE DE', 'German', 'Deutsch', [
'Class:UserLocal/Attribute:expiration' => 'Passwortablauf', 'Class:UserLocal/Attribute:expiration' => 'Passwortablauf',
'Class:UserLocal/Attribute:expiration+' => 'Passwortablaufstatus (statusabhängige Effekte müssen per Extension implementiert werden)', 'Class:UserLocal/Attribute:expiration+' => 'Passwortablaufstatus (statusabhängige Effekte müssen per Extension implementiert werden)',
'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'kann ablaufen', 'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'kann ablaufen',
'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'läuft nie ab', 'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'läuft nie ab',
'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'abgelaufen', 'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'abgelaufen',
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'einmaliges Passwort', 'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'einmaliges Passwort',
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Das Passwort kann vom Benutzer nicht geändert werden.', 'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Das Passwort kann vom Benutzer nicht geändert werden.',
'Class:UserLocal/Attribute:password_renewed_date' => 'Letzte Passworterneuerung', 'Class:UserLocal/Attribute:password_renewed_date' => 'Letzte Passworterneuerung',

View File

@@ -3,58 +3,30 @@
/** /**
* Localized data * Localized data
* *
* @copyright Copyright (C) 2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//
// Class: UserLocal
//
Dict::Add('EN GB', 'British English', 'British English', [ Dict::Add('EN GB', 'British English', 'British English', [
'Class:UserLocal' => ITOP_APPLICATION_SHORT.' user', 'Class:UserLocal' => ITOP_APPLICATION_SHORT.' user',
'Class:UserLocal+' => 'User authentified by '.ITOP_APPLICATION_SHORT, 'Class:UserLocal+' => 'User authentified by '.ITOP_APPLICATION_SHORT,
'Class:UserLocal/Attribute:password' => 'Password', 'Class:UserLocal/Attribute:password' => 'Password',
'Class:UserLocal/Attribute:password+' => 'User authentication string', 'Class:UserLocal/Attribute:password+' => 'User authentication string',
'Class:UserLocal/Attribute:expiration' => 'Password expiration', 'Class:UserLocal/Attribute:expiration' => 'Password expiration',
'Class:UserLocal/Attribute:expiration+' => 'Password expiration status (requires an extension to have an effect)', 'Class:UserLocal/Attribute:expiration+' => 'Password expiration status (requires an extension to have an effect)',
'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Can expire', 'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Can expire',
'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'Never expire', 'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'Never expire',
'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'Expired', 'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'Expired',
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'One-time Password', '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:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on', 'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewed on',
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed', 'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 12 characters and include uppercase, lowercase, numeric and special characters.', 'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Password must be at least 12 characters and include uppercase, lowercase, numeric and special characters.',
'UserLocal:password:expiration' => 'The fields below require an extension', 'UserLocal:password:expiration' => 'The fields below require an extension',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User', 'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User',

View File

@@ -1,12 +1,15 @@
<?php <?php
/** /**
* Spanish Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* @author Miguel Turrubiates <miguel_tf@yahoo.com> * @author Miguel Turrubiates <miguel_tf@yahoo.com>
* @notas Utilizar codificación UTF-8 para mostrar acentos y otros caracteres especiales *
*/ */
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'Class:UserLocal' => 'Usuario de '.ITOP_APPLICATION_SHORT, 'Class:UserLocal' => 'Usuario de '.ITOP_APPLICATION_SHORT,
@@ -16,11 +19,11 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'Class:UserLocal/Attribute:expiration' => 'Expiración de contraseña', 'Class:UserLocal/Attribute:expiration' => 'Expiración de contraseña',
'Class:UserLocal/Attribute:expiration+' => 'Estatus de expiración de contraseña (requiere de una extensión para que tenga efecto)', 'Class:UserLocal/Attribute:expiration+' => 'Estatus de expiración de contraseña (requiere de una extensión para que tenga efecto)',
'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Puede expirar', 'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Puede expirar',
'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'Nunca expirar', 'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'Nunca expirar',
'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'Expirado', 'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'Expirado',
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'Contraseña de un solo uso', 'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'Contraseña de un solo uso',
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'El usuario no puede cambiar la contraseña.', 'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'El usuario no puede cambiar la contraseña.',
'Class:UserLocal/Attribute:password_renewed_date' => 'Renovación de contraseña', 'Class:UserLocal/Attribute:password_renewed_date' => 'Renovación de contraseña',

View File

@@ -14,17 +14,17 @@ Dict::Add('FR FR', 'French', 'Français', [
'Class:UserLocal' => 'Utilisateur '.ITOP_APPLICATION_SHORT, 'Class:UserLocal' => 'Utilisateur '.ITOP_APPLICATION_SHORT,
'Class:UserLocal+' => 'Utilisateur authentifié par '.ITOP_APPLICATION_SHORT, 'Class:UserLocal+' => 'Utilisateur authentifié par '.ITOP_APPLICATION_SHORT,
'Class:UserLocal/Attribute:password' => 'Mot de passe', 'Class:UserLocal/Attribute:password' => 'Mot de passe',
'Class:UserLocal/Attribute:password+' => '', 'Class:UserLocal/Attribute:password+' => 'User authentication string~~',
'Class:UserLocal/Attribute:expiration' => 'Validité du mot de passe', 'Class:UserLocal/Attribute:expiration' => 'Validité du mot de passe',
'Class:UserLocal/Attribute:expiration+' => 'État du mot de passe (nécessite une extension pour avoir un effet)', 'Class:UserLocal/Attribute:expiration+' => 'État du mot de passe (nécessite une extension pour avoir un effet)',
'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Durée limitée', 'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Durée limitée',
'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'Permanente', 'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'Permanente',
'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'A changer à la prochaine connexion', 'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'A changer à la prochaine connexion',
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'Usage unique', 'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'Usage unique',
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Password cannot be changed by the user.~~',
'Class:UserLocal/Attribute:password_renewed_date' => 'Mot de passe changé le', 'Class:UserLocal/Attribute:password_renewed_date' => 'Mot de passe changé le',
'Class:UserLocal/Attribute:password_renewed_date+' => 'Dernière date à laquelle le mot de passe a été changé', 'Class:UserLocal/Attribute:password_renewed_date+' => 'Dernière date à laquelle le mot de passe a été changé',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Le mot de passe doit contenir au moins 12 caractères, avec minuscule, majuscule, nombre et caractère spécial.', 'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Le mot de passe doit contenir au moins 12 caractères, avec minuscule, majuscule, nombre et caractère spécial.',

View File

@@ -14,7 +14,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
'Class:UserLocal' => ITOP_APPLICATION_SHORT.' felhasználó', 'Class:UserLocal' => ITOP_APPLICATION_SHORT.' felhasználó',
'Class:UserLocal+' => 'Rendszeren belül létrehozott felhasználó', 'Class:UserLocal+' => 'Rendszeren belül létrehozott felhasználó',
'Class:UserLocal/Attribute:password' => 'Jelszó', 'Class:UserLocal/Attribute:password' => 'Jelszó',
'Class:UserLocal/Attribute:password+' => '', 'Class:UserLocal/Attribute:password+' => 'User authentication string~~',
'Class:UserLocal/Attribute:expiration' => 'Jelszó lejárati ideje', 'Class:UserLocal/Attribute:expiration' => 'Jelszó lejárati ideje',
'Class:UserLocal/Attribute:expiration+' => 'Jelszó lejárati státusz (bővítmény szükséges hozzá)', 'Class:UserLocal/Attribute:expiration+' => 'Jelszó lejárati státusz (bővítmény szükséges hozzá)',
'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Lejár', 'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Lejár',

View File

@@ -19,11 +19,11 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:UserLocal/Attribute:expiration' => 'Wachtwoord verloopt', 'Class:UserLocal/Attribute:expiration' => 'Wachtwoord verloopt',
'Class:UserLocal/Attribute:expiration+' => 'Of het wachtwoord al dan niet verlopen is (vereist een extensie vooraleer dit werkt)', 'Class:UserLocal/Attribute:expiration+' => 'Of het wachtwoord al dan niet verlopen is (vereist een extensie vooraleer dit werkt)',
'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Kan verlopen', 'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Kan verlopen',
'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'Verloopt nooit', 'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'Verloopt nooit',
'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'Moet veranderd worden', 'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'Moet veranderd worden',
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'Eenmalig wachtwoord', 'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'Eenmalig wachtwoord',
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'De gebruiker kan dit wachtwoord niet veranderen.', 'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'De gebruiker kan dit wachtwoord niet veranderen.',
'Class:UserLocal/Attribute:password_renewed_date' => 'Wachtwoord laatst aangepast', 'Class:UserLocal/Attribute:password_renewed_date' => 'Wachtwoord laatst aangepast',

View File

@@ -18,11 +18,11 @@ Dict::Add('PL PL', 'Polish', 'Polski', [
'Class:UserLocal/Attribute:expiration' => 'Wygaśnięcie hasła', 'Class:UserLocal/Attribute:expiration' => 'Wygaśnięcie hasła',
'Class:UserLocal/Attribute:expiration+' => 'Stan wygaśnięcia hasła (wymaga rozszerzenia, aby zadziałało)', 'Class:UserLocal/Attribute:expiration+' => 'Stan wygaśnięcia hasła (wymaga rozszerzenia, aby zadziałało)',
'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Może wygasnąć', 'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Może wygasnąć',
'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'Nigdy nie wygasa', 'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'Nigdy nie wygasa',
'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'Wygasło', 'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'Wygasło',
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'Jednorazowe hasło', 'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'Jednorazowe hasło',
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Hasło nie może być zmienione przez użytkownika.', 'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Hasło nie może być zmienione przez użytkownika.',
'Class:UserLocal/Attribute:password_renewed_date' => 'Odnowienie hasła', 'Class:UserLocal/Attribute:password_renewed_date' => 'Odnowienie hasła',

View File

@@ -12,17 +12,17 @@
*/ */
Dict::Add('PT BR', 'Brazilian', 'Brazilian', [ Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
'Class:UserLocal' => 'Usuário local', 'Class:UserLocal' => 'Usuário local',
'Class:UserLocal+' => '', 'Class:UserLocal+' => 'User authentified by '.ITOP_APPLICATION_SHORT.'~~',
'Class:UserLocal/Attribute:password' => 'Senha', 'Class:UserLocal/Attribute:password' => 'Senha',
'Class:UserLocal/Attribute:password+' => '', 'Class:UserLocal/Attribute:password+' => 'User authentication string~~',
'Class:UserLocal/Attribute:expiration' => 'Expiração da senha', 'Class:UserLocal/Attribute:expiration' => 'Expiração da senha',
'Class:UserLocal/Attribute:expiration+' => 'Status de expiração de senha (Requer uma extensão para fazer efeito)', 'Class:UserLocal/Attribute:expiration+' => 'Status de expiração de senha (Requer uma extensão para fazer efeito)',
'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Senha expira', 'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Senha expira',
'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'Senha nunca expira', 'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'Senha nunca expira',
'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'Senha expirada', 'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'Senha expirada',
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'One-Time Password (OTP)', 'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'One-Time Password (OTP)',
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Senha não pode ser alterada pelo usuário', 'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Senha não pode ser alterada pelo usuário',
'Class:UserLocal/Attribute:password_renewed_date' => 'Data da última alteração de senha', 'Class:UserLocal/Attribute:password_renewed_date' => 'Data da última alteração de senha',

View File

@@ -19,11 +19,11 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:UserLocal/Attribute:expiration' => 'Срок действия пароля', 'Class:UserLocal/Attribute:expiration' => 'Срок действия пароля',
'Class:UserLocal/Attribute:expiration+' => 'Статус срока действия пароля (требуется расширение для эффекта)', 'Class:UserLocal/Attribute:expiration+' => 'Статус срока действия пароля (требуется расширение для эффекта)',
'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Органиченный', 'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Органиченный',
'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'Неограниченный', 'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'Неограниченный',
'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'Истёкший', 'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'Истёкший',
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'Одноразовый пароль', 'Class:UserLocal/Attribute:expiration/Value:otp_expire' => 'Одноразовый пароль',
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Пароль не может быть изменён пользователем.', 'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => 'Пароль не может быть изменён пользователем.',
'Class:UserLocal/Attribute:password_renewed_date' => 'Дата изменения пароля', 'Class:UserLocal/Attribute:password_renewed_date' => 'Дата изменения пароля',

View File

@@ -5,56 +5,29 @@
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
* @author Robert Deng <denglx@gmail.com>
* This file is part of iTop.
* *
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
/**
// Dictionnay conventions * @author Robert Deng <denglx@gmail.com>
// Class:<class_name> *
// Class:<class_name>+ */
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//
// Class: UserLocal
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:UserLocal' => ITOP_APPLICATION_SHORT.' 用户', 'Class:UserLocal' => ITOP_APPLICATION_SHORT.' 用户',
'Class:UserLocal+' => '用户由'.ITOP_APPLICATION_SHORT.'验证身份', 'Class:UserLocal+' => '用户由'.ITOP_APPLICATION_SHORT.'验证身份',
'Class:UserLocal/Attribute:password' => '密码', 'Class:UserLocal/Attribute:password' => '密码',
'Class:UserLocal/Attribute:password+' => '用于验证用户身份的字符串', 'Class:UserLocal/Attribute:password+' => '用于验证用户身份的字符串',
'Class:UserLocal/Attribute:expiration' => '密码过期时间', 'Class:UserLocal/Attribute:expiration' => '密码过期时间',
'Class:UserLocal/Attribute:expiration+' => '密码过期状态 (需要扩展才能生效)', 'Class:UserLocal/Attribute:expiration+' => '密码过期状态 (需要扩展才能生效)',
'Class:UserLocal/Attribute:expiration/Value:can_expire' => '允许过期', 'Class:UserLocal/Attribute:expiration/Value:can_expire' => '允许过期',
'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:never_expire' => '永不过期', 'Class:UserLocal/Attribute:expiration/Value:never_expire' => '永不过期',
'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:force_expire' => '已过期', 'Class:UserLocal/Attribute:expiration/Value:force_expire' => '已过期',
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '', 'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '~~',
'Class:UserLocal/Attribute:expiration/Value:otp_expire' => '一次性密码', 'Class:UserLocal/Attribute:expiration/Value:otp_expire' => '一次性密码',
'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => '用户不允许修改密码.', 'Class:UserLocal/Attribute:expiration/Value:otp_expire+' => '用户不允许修改密码.',
'Class:UserLocal/Attribute:password_renewed_date' => '密码更新时间', 'Class:UserLocal/Attribute:password_renewed_date' => '密码更新时间',
'Class:UserLocal/Attribute:password_renewed_date+' => '上次修改密码的时间', 'Class:UserLocal/Attribute:password_renewed_date+' => '上次修改密码的时间',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => '密码必须至少12个字符, 包含大小写, 数字和特殊字符.', 'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => '密码必须至少12个字符, 包含大小写, 数字和特殊字符.',
'UserLocal:password:expiration' => '下面的区域需要插件扩展', 'UserLocal:password:expiration' => '下面的区域需要插件扩展',
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => '不允许用户为自己设置 "一次性密码" 的失效期限', 'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => '不允许用户为自己设置 "一次性密码" 的失效期限',

View File

@@ -2,7 +2,7 @@
SetupWebPage::AddModule( SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file __FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'authent-local/3.3.0', 'authent-local/3.4.0',
[ [
// Identification // Identification
// //

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.3"> <itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.4">
<branding> <branding>
<themes> <themes>
<theme id="darkmoon" _delta="define"> <theme id="darkmoon" _delta="define">

View File

@@ -3,25 +3,13 @@
/** /**
* Localized data * Localized data
* *
* @copyright Copyright (C) 2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('EN GB', 'British English', 'British English', [ Dict::Add('EN GB', 'British English', 'British English', [
'theme:darkmoon' => 'Dark moon', 'theme:darkmoon' => 'Dark moon',
]); ]);

View File

@@ -1,12 +1,15 @@
<?php <?php
/** /**
* Spanish Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* @author Miguel Turrubiates <miguel_tf@yahoo.com> * @author Miguel Turrubiates <miguel_tf@yahoo.com>
* @notas Utilizar codificación UTF-8 para mostrar acentos y otros caracteres especiales *
*/ */
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'theme:darkmoon' => 'Luna Obscura', 'theme:darkmoon' => 'Luna Obscura',

View File

@@ -6,22 +6,10 @@
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
/**
*
*/
Dict::Add('ZH CN', 'Chinese', '简体中文', [ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'theme:darkmoon' => 'Dark moon', 'theme:darkmoon' => 'Dark moon',
]); ]);

View File

@@ -6,7 +6,7 @@
SetupWebPage::AddModule( SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file __FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'combodo-backoffice-darkmoon-theme/3.3.0', 'combodo-backoffice-darkmoon-theme/3.4.0',
[ [
// Identification // Identification
// //

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.3"> <itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.4">
<branding> <branding>
<themes> <themes>
<theme id="fullmoon-high-contrast" _delta="define"> <theme id="fullmoon-high-contrast" _delta="define">

View File

@@ -4,22 +4,11 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
* *
* This file is part of iTop. */
/**
* *
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('CS CZ', 'Czech', 'Čeština', [ Dict::Add('CS CZ', 'Czech', 'Čeština', [
'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~', 'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~',

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('DA DA', 'Danish', 'Dansk', [ Dict::Add('DA DA', 'Danish', 'Dansk', [
'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~', 'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~',
]); ]);

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('DE DE', 'German', 'Deutsch', [ Dict::Add('DE DE', 'German', 'Deutsch', [
'theme:fullmoon-high-contrast' => 'Fullmoon (Hoher Kontrast)', 'theme:fullmoon-high-contrast' => 'Fullmoon (Hoher Kontrast)',
]); ]);

View File

@@ -3,25 +3,13 @@
/** /**
* Localized data * Localized data
* *
* @copyright Copyright (C) 2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('EN GB', 'British English', 'British English', [ Dict::Add('EN GB', 'British English', 'British English', [
'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)', 'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)',
]); ]);

View File

@@ -1,12 +1,15 @@
<?php <?php
/** /**
* Spanish Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* @author Miguel Turrubiates <miguel_tf@yahoo.com> * @author Miguel Turrubiates <miguel_tf@yahoo.com>
* @notas Utilizar codificación UTF-8 para mostrar acentos y otros caracteres especiales *
*/ */
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'theme:fullmoon-high-contrast' => 'Luna Llena (Alto Contraste)', 'theme:fullmoon-high-contrast' => 'Luna Llena (Alto Contraste)',

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('HU HU', 'Hungarian', 'Magyar', [ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~', 'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~',
]); ]);

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('IT IT', 'Italian', 'Italiano', [ Dict::Add('IT IT', 'Italian', 'Italiano', [
'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~', 'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~',
]); ]);

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('JA JP', 'Japanese', '日本語', [ Dict::Add('JA JP', 'Japanese', '日本語', [
'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~', 'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~',
]); ]);

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('NL NL', 'Dutch', 'Nederlands', [ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~', 'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~',
]); ]);

View File

@@ -4,22 +4,11 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
* *
* This file is part of iTop. */
/**
* *
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('PL PL', 'Polish', 'Polski', [ Dict::Add('PL PL', 'Polish', 'Polski', [
'theme:fullmoon-high-contrast' => 'Pełnia księżyca (wysoki kontrast)', 'theme:fullmoon-high-contrast' => 'Pełnia księżyca (wysoki kontrast)',

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('PT BR', 'Brazilian', 'Brazilian', [ Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~', 'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~',
]); ]);

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('RU RU', 'Russian', 'Русский', [ Dict::Add('RU RU', 'Russian', 'Русский', [
'theme:fullmoon-high-contrast' => 'Fullmoon (высокая контрастность)', 'theme:fullmoon-high-contrast' => 'Fullmoon (высокая контрастность)',
]); ]);

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('SK SK', 'Slovak', 'Slovenčina', [ Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~', 'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~',
]); ]);

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('TR TR', 'Turkish', 'Türkçe', [ Dict::Add('TR TR', 'Turkish', 'Türkçe', [
'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~', 'theme:fullmoon-high-contrast' => 'Fullmoon (High contrast)~~',
]); ]);

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('ZH CN', 'Chinese', '简体中文', [ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'theme:fullmoon-high-contrast' => 'Fullmoon (高对比度)', 'theme:fullmoon-high-contrast' => 'Fullmoon (高对比度)',
]); ]);

View File

@@ -6,7 +6,7 @@
SetupWebPage::AddModule( SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file __FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'combodo-backoffice-fullmoon-high-contrast-theme/3.3.0', 'combodo-backoffice-fullmoon-high-contrast-theme/3.4.0',
[ [
// Identification // Identification
// //

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.3"> <itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.4">
<branding> <branding>
<themes> <themes>
<theme id="fullmoon-protanopia-deuteranopia" _delta="define"> <theme id="fullmoon-protanopia-deuteranopia" _delta="define">

View File

@@ -4,22 +4,11 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
* *
* This file is part of iTop. */
/**
* *
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('CS CZ', 'Czech', 'Čeština', [ Dict::Add('CS CZ', 'Czech', 'Čeština', [
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~', 'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~',

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('DA DA', 'Danish', 'Dansk', [ Dict::Add('DA DA', 'Danish', 'Dansk', [
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~', 'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~',
]); ]);

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('DE DE', 'German', 'Deutsch', [ Dict::Add('DE DE', 'German', 'Deutsch', [
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopie & Deuteranopie)', 'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopie & Deuteranopie)',
]); ]);

View File

@@ -3,25 +3,13 @@
/** /**
* Localized data * Localized data
* *
* @copyright Copyright (C) 2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('EN GB', 'British English', 'British English', [ Dict::Add('EN GB', 'British English', 'British English', [
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)', 'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)',
]); ]);

View File

@@ -1,12 +1,15 @@
<?php <?php
/** /**
* Spanish Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license https://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* @author Miguel Turrubiates <miguel_tf@yahoo.com> * @author Miguel Turrubiates <miguel_tf@yahoo.com>
* @notas Utilizar codificación UTF-8 para mostrar acentos y otros caracteres especiales *
*/ */
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'theme:fullmoon-protanopia-deuteranopia' => 'Luna Llena (Protanopia & Deuteranopia)', 'theme:fullmoon-protanopia-deuteranopia' => 'Luna Llena (Protanopia & Deuteranopia)',

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('HU HU', 'Hungarian', 'Magyar', [ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~', 'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~',
]); ]);

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('IT IT', 'Italian', 'Italiano', [ Dict::Add('IT IT', 'Italian', 'Italiano', [
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~', 'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~',
]); ]);

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('JA JP', 'Japanese', '日本語', [ Dict::Add('JA JP', 'Japanese', '日本語', [
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~', 'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~',
]); ]);

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('NL NL', 'Dutch', 'Nederlands', [ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~', 'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~',
]); ]);

View File

@@ -4,22 +4,11 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
* *
* This file is part of iTop. */
/**
* *
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('PL PL', 'Polish', 'Polski', [ Dict::Add('PL PL', 'Polish', 'Polski', [
'theme:fullmoon-protanopia-deuteranopia' => 'Pełnia Księżyca (Protanopia i Deuteranopia)', 'theme:fullmoon-protanopia-deuteranopia' => 'Pełnia Księżyca (Protanopia i Deuteranopia)',

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('PT BR', 'Brazilian', 'Brazilian', [ Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~', 'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~',
]); ]);

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('RU RU', 'Russian', 'Русский', [ Dict::Add('RU RU', 'Russian', 'Русский', [
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (протанопия и дейтеранопия)', 'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (протанопия и дейтеранопия)',
]); ]);

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('SK SK', 'Slovak', 'Slovenčina', [ Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~', 'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~',
]); ]);

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('TR TR', 'Turkish', 'Türkçe', [ Dict::Add('TR TR', 'Turkish', 'Türkçe', [
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~', 'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (Protanopia & Deuteranopia)~~',
]); ]);

View File

@@ -4,24 +4,12 @@
* Localized data * Localized data
* *
* @copyright Copyright (C) 2010-2024 Combodo SAS * @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0 * @license https://opensource.org/licenses/AGPL-3.0
*
*/
/**
* *
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/ */
Dict::Add('ZH CN', 'Chinese', '简体中文', [ Dict::Add('ZH CN', 'Chinese', '简体中文', [
'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (红绿色盲 & 绿色色盲)', 'theme:fullmoon-protanopia-deuteranopia' => 'Fullmoon (红绿色盲 & 绿色色盲)',
]); ]);

View File

@@ -6,7 +6,7 @@
SetupWebPage::AddModule( SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file __FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'combodo-backoffice-fullmoon-protanopia-deuteranopia-theme/3.3.0', 'combodo-backoffice-fullmoon-protanopia-deuteranopia-theme/3.4.0',
[ [
// Identification // Identification
// //

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.3"> <itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.4">
<branding> <branding>
<themes> <themes>
<theme id="fullmoon-tritanopia" _delta="define"> <theme id="fullmoon-tritanopia" _delta="define">

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