Compare commits

..

1 Commits

Author SHA1 Message Date
v-dumas
e898c86a05 N°8142 - User Request and Incident menu label standardisation 2026-03-09 18:01:02 +01:00
764 changed files with 9170 additions and 30633 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 KiB

View File

@@ -7,8 +7,7 @@
'git4': 'grey',
'git5': 'grey',
'git6': 'grey',
'git7': 'grey',
'git8': 'grey'
'git7': 'grey'
}, 'gitGraph': {'showBranches': true,'mainBranchName': 'develop','rotateCommitLabel': true}} }%%
gitGraph
commit id: "2016-07-06" tag: "2.3.0" type: HIGHLIGHT
@@ -87,25 +86,24 @@ gitGraph
commit id: "2024-01-17a" tag: "2.7.10"
checkout support/3.0
commit id: "2024-01-17b" tag: "3.0.4"
checkout support/2.7
commit id: "2024-09-28" tag: "2.7.11"
checkout support/3.1
commit id: "2024-09-27" tag: "3.1.2"
checkout support/3.2
commit id: "2024-06-25" tag: "3.2.0-beta1" type: REVERSE
commit id: "2024-08-07" tag: "3.2.0"
checkout support/2.7
commit id: "2025-02-07a" tag: "2.7.12"
commit id: "2024-09-13" tag: "3.2.0-2"
checkout support/3.1
commit id: "2025-02-07b" tag: "3.1.3"
checkout support/3.2
commit id: "2025-02-07c " tag: "3.2.1"
commit id: "2025-03-31 " tag: "3.2.1-1"
commit id: "2025-07-28 " tag: "3.2.2"
commit id: "2024-09-27" tag: "3.1.2"
checkout support/2.7
commit id: "2025-09-25" tag: "2.7.13"
commit id: "2024-09-28" tag: "2.7.11"
checkout support/2.7
commit id: "2025-02-25" tag: "2.7.12"
checkout support/3.1
commit id: "2025-02-25 " tag: "3.1.3"
checkout support/3.2
commit id: "2026-04-27 " tag: "3.2.3"
commit id: "2025-02-25 " tag: "3.2.1"
commit id: "2025-04-08" tag: "3.2.1-1"
commit id: "2025-08-19" tag: "3.2.2-1"
checkout support/2.7
commit id: "2025-10-07" tag: "2.7.13"
```
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

@@ -1,60 +0,0 @@
name: "Bug report"
description: "Report a bug that you identified in iTop"
type: bug
body:
- type: markdown
attributes:
value: |
Please explain why you're creating this issue :
- Are you willing to create a PR for the bug fix ? If so, we'll indicate in the issue if we're interested in it.
- Then, please describe how to reproduce the issue.
- type: dropdown
id: willing_to_pr
attributes:
label: Are you willing to create (at a later stage) a PR for that?
options:
- 'Yes'
- 'No'
validations:
required: true
- type: input
id: itop_version
attributes:
label: iTop version
description: "Complete iTop version (e.g., 3.2.3)"
validations:
required: false
- type: input
id: php_version
attributes:
label: PHP version
description: "Complete PHP version (e.g., 8.4.20)"
validations:
required: false
- type: textarea
id: reproduction_steps
attributes:
label: Reproduction procedure
description: |
Please explain step by step how to reproduce the issue on a standard iTop Community.
If it requires a custom datamodel, provide the minimal XML delta to reproduce it.
placeholder: |
1. First go there
2. Then do that
3. ...
4. Finally, see that... (what is expected and what is actually happening)
validations:
required: false
- type: upload
id: additional_info
attributes:
label: Additional information (if needed)
description: "Add/drag and drop screenshots, logs or any files that can be relevant for your issue."
validations:
required: false
accept: ".png, .jpg, .jpeg, .gif, .webp, .log, .txt, .json, .csv, .xml, .zip"

View File

@@ -1,47 +0,0 @@
name: "Enhancement suggestion"
description: "Suggest an improvement to iTop"
type: feature
body:
- type: markdown
attributes:
value: |
Please explain why you're creating this issue :
- 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.
- type: textarea
id: enhancement_details
attributes:
label: Enhancement details
description: |
Please explain what you want to improve, and your proposition to make it better.
If it requires a custom datamodel, provide the minimal XML delta to reproduce it.
validations:
required: false
- type: input
id: itop_version
attributes:
label: iTop version (if appropriate)
description: "Complete iTop version (e.g., 3.2.3)"
validations:
required: false
- type: dropdown
id: willing_to_pr
attributes:
label: Are you willing to create (at a later stage) a PR for that?
options:
- 'Yes'
- 'No'
validations:
required: true
- type: upload
id: additional_info
attributes:
label: Additional information (if needed)
description: "Add/drag and drop screenshots, logs or any files that can be relevant for your issue."
validations:
required: false
accept: ".png, .jpg, .jpeg, .gif, .webp, .log, .txt, .json, .csv, .xml, .zip"

View File

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

View File

@@ -1,13 +1,9 @@
name: Add PRs to Combodo PRs Dashboard
on:
pull_request:
pull_request_target:
types:
- opened
issues:
types:
- opened
workflow_call:
jobs:
add-to-project:
@@ -35,22 +31,23 @@ jobs:
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 \
https://api.github.com/repos/Combodo/iTop/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'
if: env.is_member == 'true'
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 \
https://api.github.com/repos/Combodo/iTop/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
uses: actions/add-to-project@v1.0.2
with:
project-url: ${{ env.project_url }}
github-token: ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}

View File

@@ -4,33 +4,30 @@ You want to contribute to iTop? Many thanks to you! 🎉 👍
Here are some guidelines that will help us integrate your work!
## Contributions
### Subjects
You are welcome to create pull requests on any of those subjects:
* 🐛 bug fix
* 🌐 translation / i18n / l10n
* 🚸 enhancement
But before creating a PR, please [create a corresponding issue][itop-issues] for review.
We should review within two weeks, and get back to you to indicate if we're interested in your proposal or not.
If you don't create an issue, you won't know if we're interested in your contribution, and you may spend time coding something that won't be accepted.
If you ever want to begin implementation, do so in a fork, and add a link to the corresponding commits in the issue.
If you want to implement a **new feature**, please [create a corresponding ticket](https://sourceforge.net/p/itop/tickets/new/) for review.
If you ever want to begin implementation, do so in a fork, and add a link to the corresponding commits in the ticket.
For all **security related subjects**, please see our [security policy](SECURITY.md).
All **datamodel modification** should be done in an extension. Beware that such change would
impact all existing customers, and could prevent them from upgrading!
Combodo has a long experience of datamodel changes: they are very disruptive!
All **datamodel modification** should be done in an extension. Beware that such change would
impact all existing customers, and could prevent them from
upgrading!
Combodo has a long experience of datamodel changes: they are very disruptive!
This is why we avoid them in iTop core, especially the changes on existing objects/fields.
If you have an idea you're sure would benefit to all of iTop users, you may
[create a corresponding issue][itop-issues] to submit it, but be warned that there are lots of good
If you have an idea you're sure would benefit to all of iTop users, you may
[create a corresponding ticket](https://sourceforge.net/p/itop/tickets/new/) to submit it, but be warned that there are lots of good
reasons to refuse such changes.
### 📄 License and copyright
iTop is distributed under the AGPL-3.0 license (see the [license.txt] file).
The iTop repository is divided in three parts: iTop (mainly PHP/JS/XML sources and dictionaries), images, and third-party libraries.
@@ -40,33 +37,48 @@ Anyhow, you are encouraged to signal your contribution by the mean of `@author`
If you want to use another license or keep the code ownership (copyright), you may [create an extension][wiki new ext].
[license.txt]: https://github.com/Combodo/iTop/blob/develop/license.txt
[itop-issues]: https://github.com/Combodo/iTop/issues
[wiki new ext]: https://www.itophub.io/wiki/page?id=latest%3Acustomization%3Astart#by_writing_your_own_extension
## 🔀 iTop branch model
When we first start with Git, we were using the [GitFlow](https://nvie.com/posts/a-successful-git-branching-model/) branch model. As
there was some confusions about branches to use for current developed release and previous maintained release, and also because we were
using just a very few of the GitFlow commands, we decided to add just a little modification to this branch model : since April 2020
we don't have a `master` branch anymore.
there was some confusions about branches to use for current developed release and previous maintained release, and also because we were
using just a very few of the GitFlow commands, we decided to add just a little modification to this branch model : since april 2020
we don't have a `master` branch anymore.
Here are the branches we use and their meaning :
Here are the branches we use and their meaning :
- `develop`: ongoing development version
- `release/*`: if present, that means we are working on a alpha/beta/rc version for shipping
- `support/*`: maintenance branches for older versions
For example, if no version is currently prepared for shipping we could have:
- `develop` containing future 3.3.0 version
- `support/3.2`: 3.2.x maintenance version
- `develop` containing future 3.1.0 version
- `support/3.0`: 3.0.x maintenance version
- `support/2.7`: 2.7.x maintenance version
- `support/2.6`: 2.6.x maintenance version
And when 3.3.0 will be out:
In this example, when 3.1.0-beta is shipped that will become:
- `develop`: future 3.2.0 version
- `release/3.1.0`: 3.1.0-beta
- `support/3.0`: 3.0.x maintenance version
- `support/2.7`: 2.7.x maintenance version
- `support/2.6`: 2.6.x maintenance version
And when 3.1.0 final will be out:
- `develop`: future 3.2.0 version
- `support/3.1`: 3.1.x maintenance version (will host developments for 3.1.1)
- `support/3.0`: 3.0.x maintenance version
- `support/2.7`: 2.7.x maintenance version
- `support/2.6`: 2.6.x maintenance version
Also note that we have a "micro-version" concept : each of those versions have a very small amount of modifications. They are made from
`support/*` branches as well. For example 2.6.2-1 and 2.6.2-2 were made from the `support/2.6.2` branch.
- `develop`: future 3.4.0 version
- `support/3.3`: 3.3.x maintenance version (will host developments for 3.3.1)
- `support/3.2`: 3.2.x maintenance version
## Coding
@@ -80,11 +92,12 @@ A [dedicated page](https://www.itophub.io/wiki/page?id=latest%3Acustomization%3A
2. Create a branch in this fork, based on the develop branch
3. Code !
Do create a dedicated branch for each modification you want to propose : if you don't, it will be very hard to merge back your work !
Do create a dedicated branch for each modification you want to propose : if you don't it will be very hard to merge back your work !
Most of the time you should base your developments on the develop branch.
Most of the time you should based your developments on the develop branch.
That may be different if you want to fix a bug, please use develop anyway and ask in your PR if rebase is possible.
### 🎨 PHP styleguide
Please follow [our guidelines](https://www.itophub.io/wiki/page?id=latest%3Acustomization%3Acoding_standards).
@@ -93,7 +106,7 @@ Please follow [our guidelines](https://www.itophub.io/wiki/page?id=latest%3Acust
Please create tests that covers as much as possible the code you're submitting.
Our tests are located in the `tests/` directory, containing a PHPUnit config file : `phpunit.xml.dist`.
Our tests are located in the `test/` directory, containing a PHPUnit config file : `phpunit.xml.dist`.
### Git Commit Messages
@@ -125,14 +138,14 @@ When your code is working, please:
* Rebase your branch on our repo last commit,
* Create a pull request. _Detailed procedure to work on fork and create PR is available [in GitHub help pages](https://help.github.com/articles/creating-a-pull-request-from-a-fork/)_.
* Pull request description: mind to add all the information useful to understand why you're suggesting this modification and anything necessary to dive into your work. Especially:
- Bugfixes: exact steps to reproduce the bug (given/when/then), description of the bug cause and what solution is implemented
- Enhancements: use cases, implementation details if needed
* Mind to check the "[Allow edits from maintainers](https://docs.github.com/en/github-ae@latest/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork)" option ! (note that if you are working with an org fork, this
option [won't be available](https://github.com/orgs/community/discussions/5634))
- Bugfixes: exact steps to reproduce the bug (given/when/then), description of the bug cause and what solution is implemented
- Enhancements: use cases, implementation details if needed
* Mind to check the "[Allow edits from maintainers](https://docs.github.com/en/github-ae@latest/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork)" option ! (note that if you are working with an org fork, this option [won't be available](https://github.com/orgs/community/discussions/5634))
## 🙏 We are thankful
We are thankful for all your contributions to the iTop universe! As a thank-you gift, we will send stickers to every iTop (& extensions) contributors!
We are thankful for all your contributions to the iTop universe! As a thank you gift, we will send stickers to every iTop (& extensions) contributors!
We have one sticker per contribution type. You might get multiple stickers with one contribution though :)
@@ -146,6 +159,6 @@ We have one sticker per contribution type. You might get multiple stickers with
* Beta tester: Test and give feedback on beta releases
* Extension developer: Develop and publish an extension
Here is the design of each sticker:
Here is the design of each stickers for year 2024:
![iTop stickers](.doc/contributing-guide/contributing-stickers-side-by-side.png)
![iTop stickers 2025](.doc/contributing-guide/2025.contributing-stickers-side-by-side.png)

View File

@@ -53,7 +53,7 @@ iTop also offers mass import tools to help you become even more efficient.
[4]: https://www.itophub.io/wiki/page?id=latest:install:requirements
[5]: https://www.itophub.io/wiki
[6]: https://store.itophub.io/en_US/
[7]: .doc/itop-version-history.md
[7]: itop-version-history.md
[10]: https://www.itophub.io/wiki/page?id=latest%3Adatamodel%3Astart#configuration_management_cmdb
[11]: https://www.itophub.io/wiki/page?id=latest%3Adatamodel%3Astart#ticketing

View File

@@ -819,7 +819,6 @@ HTML
foreach ($aNotificationClasses as $sNotifClass) {
$aNotifSearches[$sNotifClass] = DBObjectSearch::FromOQL("SELECT $sNotifClass AS Ev WHERE Ev.object_id = :id AND Ev.object_class = :class");
$aNotifSearches[$sNotifClass]->SetInternalParams($aParams);
$aNotifSearches[$sNotifClass]->AllowAllData();
$oNotifSet = new DBObjectSet($aNotifSearches[$sNotifClass], []);
$iNotifsCount += $oNotifSet->Count();
}
@@ -833,7 +832,6 @@ HTML
'menu' => false,
'panel_title' => MetaModel::GetName($sNotifClass),
'panel_icon' => MetaModel::GetClassIcon($sNotifClass, false),
'display_unauthorized_objects' => true,
]);
}
}
@@ -1035,7 +1033,7 @@ HTML
// Add extra data for markup generation
// - Attribute code and AttributeDef. class
$val['attcode'] = $sAttCode;
$val['atttype'] = $oAttDef->GetType();
$val['atttype'] = $sAttDefClass;
$val['attlabel'] = $sAttLabel;
$val['attflags'] = ($bEditMode) ? $this->GetFormAttributeFlags($sAttCode) : OPT_ATT_READONLY;
@@ -4495,7 +4493,7 @@ HTML;
$oDivField = FieldUIBlockFactory::MakeLarge("");
// UIContentBlockUIBlockFactory::MakeStandard(null,["field_container field_large"]);
$oDivField->AddDataAttribute("attribute-type", $oAttDef->GetType());
$oDivField->AddDataAttribute("attribute-type", $sAttDefClass);
$oDivField->AddDataAttribute("attribute-label", $sAttMetaDataLabel);
$oDivField->AddDataAttribute("attribute-flag-hidden", false);
$oDivField->AddDataAttribute("attribute-flag-read-only", false);
@@ -5064,10 +5062,10 @@ EOF
} else {
if (count($aObjects) == 1) {
$oObj = $aObjects[0];
$sSubtitle = Dict::Format('UI:Delete:Confirm_Object', $oObj->GetHyperLink());
$sSubtitle = Dict::Format('UI:Delect:Confirm_Object', $oObj->GetHyperLink());
} else {
$sSubtitle = Dict::Format(
'UI:Delete:Confirm_Count_ObjectsOf_Class',
'UI:Delect:Confirm_Count_ObjectsOf_Class',
count($aObjects),
MetaModel::GetName($sClass)
);

View File

@@ -726,10 +726,6 @@ class DisplayBlock
}
}
if (!$this->m_oFilter->IsAllDataAllowed() && ($aExtraParams['display_unauthorized_objects'] ?? false) === true) {
$this->m_oFilter->AllowAllData();
}
$aExtraParams['query_params'] = $this->m_oFilter->GetInternalParams();
$this->m_oSet = new CMDBObjectSet($this->m_oFilter, $aOrderBy, $aQueryParams);
}
@@ -1383,10 +1379,7 @@ JS
// Check the classes that can be read (i.e authorized) by this user...
foreach ($aClasses as $sAlias => $sClassName) {
if (
(UserRights::IsActionAllowed($sClassName, UR_ACTION_READ, $this->m_oSet) !== UR_ALLOWED_NO)
|| ($aExtraParams['display_unauthorized_objects'] ?? false) === true
) {
if (UserRights::IsActionAllowed($sClassName, UR_ACTION_READ, $this->m_oSet) != UR_ALLOWED_NO) {
$aAuthorizedClasses[$sAlias] = $sClassName;
}
}

View File

@@ -75,10 +75,13 @@ class LoginExternal extends AbstractLoginFSMExtension
}
/**
* @return bool|mixed
* @return bool
*/
private function GetAuthUser()
{
return MetaModel::GetConfig()->GetExternalAuthenticationVariable();
$sExtAuthVar = MetaModel::GetConfig()->GetExternalAuthenticationVariable(); // In which variable is the info passed ?
eval('$sAuthUser = isset('.$sExtAuthVar.') ? '.$sExtAuthVar.' : false;'); // Retrieve the value
/** @var string $sAuthUser */
return $sAuthUser; // Retrieve the value
}
}

View File

@@ -1423,21 +1423,12 @@ class ShortcutMenuNode extends MenuNode
public function GetHyperlink($aExtraParams)
{
$sContext = $this->oShortcut->Get('context');
try {
$aContext = utils::Unserialize($sContext);
if (isset($aContext['menu'])) {
unset($aContext['menu']);
}
foreach ($aContext as $sArgName => $sArgValue) {
$aExtraParams[$sArgName] = $sArgValue;
}
} catch (Exception $e) {
IssueLog::Warning("User shortcut corrupted, delete the shortcut", LogChannels::CONSOLE, [
'shortcut_name' => $this->oShortcut->GetName(),
'root_cause' => $e->getMessage(),
]);
// delete the shortcut
$this->oShortcut->DBDelete();
$aContext = unserialize($sContext);
if (isset($aContext['menu'])) {
unset($aContext['menu']);
}
foreach ($aContext as $sArgName => $sArgValue) {
$aExtraParams[$sArgName] = $sArgValue;
}
return parent::GetHyperlink($aExtraParams);
}

View File

@@ -924,6 +924,11 @@ CSS;
public static function CloneThemeParameterAndIncludeVersion($aThemeParameters, $bSetupCompilationTimestamp, $aImportsPaths)
{
$aThemeParametersVariable = [];
if (array_key_exists('variables', $aThemeParameters)) {
if (is_array($aThemeParameters['variables'])) {
$aThemeParametersVariable = array_merge([], $aThemeParameters['variables']);
}
}
if (array_key_exists('variable_imports', $aThemeParameters)) {
if (is_array($aThemeParameters['variable_imports'])) {
@@ -931,14 +936,6 @@ CSS;
}
}
// Variables defined in theme XML have the priority over variables defined in XML imports files
// They're defined after so they overwrite previous parameters
if (array_key_exists('variables', $aThemeParameters)) {
if (is_array($aThemeParameters['variables'])) {
$aThemeParametersVariable = array_merge($aThemeParametersVariable, $aThemeParameters['variables']);
}
}
$aThemeParametersVariable['$version'] = $bSetupCompilationTimestamp;
return $aThemeParametersVariable;
}

View File

@@ -228,7 +228,7 @@ JS
<<<HTML
<form id="ObjectsAddForm_{$this->sInputid}">
<div id="SearchResultsToAdd_{$this->sInputid}">
<div style="border:0; text-align:center; vertical-align:middle;"><p>{$sEmptyList}</p></div>
<div style="background: #fff; border:0; text-align:center; vertical-align:middle;"><p>{$sEmptyList}</p></div>
</div>
<input type="hidden" id="count_{$this->sInputid}" value="0"/>
</form>

View File

@@ -27,9 +27,6 @@ require_once(APPROOT.'/application/displayblock.class.inc.php');
class UISearchFormForeignKeys
{
private $m_sRemoteClass;
private $m_iInputId;
public function __construct($sTargetClass, $iInputId = null)
{
$this->m_sRemoteClass = $sTargetClass;
@@ -43,7 +40,7 @@ class UISearchFormForeignKeys
*
* @throws \Exception
*/
public function ShowModalSearchForeignKeys($oPage)
public function ShowModalSearchForeignKeys($oPage, $sTitle)
{
$oFilter = new DBObjectSearch($this->m_sRemoteClass);
@@ -63,17 +60,52 @@ class UISearchFormForeignKeys
]
));
$sEmptyList = Dict::S('UI:Message:EmptyList:UseSearchForm');
$sCancel = Dict::S('UI:Button:Cancel');
$sAdd = Dict::S('UI:Button:Add');
$oPage->add(
<<<HTML
<form id="ObjectsAddForm_{$this->m_iInputId}">
<div id="SearchResultsToAdd_{$this->m_iInputId}" style="vertical-align:top;height:100%;overflow:auto;padding:0;border:0;">
<div style="border:0; text-align:center; vertical-align:middle;"><p>{$sEmptyList}</p></div>
<div style="background: #fff; border:0; text-align:center; vertical-align:middle;"><p>{$sEmptyList}</p></div>
</div>
<input type="hidden" id="count_{$this->m_iInputId}" value="0"/>
</form>
HTML
);
$oPage->add_ready_script(
<<<JS
$('#dlg_{$this->m_iInputId}').dialog({
width: $(window).width()*0.8,
height: $(window).height()*0.8,
autoOpen: false,
modal: true,
resizeStop: oForeignKeysWidget{$this->m_iInputId}.UpdateSizes,
buttons: [
{
text: Dict.S('UI:Button:Cancel'),
class: "cancel ibo-is-alternative ibo-is-neutral",
click: function() {
$('#dlg_{$this->m_iInputId}').dialog('close');
}
},
{
text: Dict.S('UI:Button:Add'),
id: 'btn_ok_{$this->m_iInputId}',
class: "ok ibo-is-regular ibo-is-primary",
click: function() {
oForeignKeysWidget{$this->m_iInputId}.DoAddObjects(this.id);
}
},
],
});
$('#dlg_{$this->m_iInputId}').dialog('option', {title:'$sTitle'});
$('#SearchFormToAdd_{$this->m_iInputId} form').on('submit.uilinksWizard', oForeignKeysWidget{$this->m_iInputId}.SearchObjectsToAdd);
$('#SearchFormToAdd_{$this->m_iInputId}').on('resize', oForeignKeysWidget{$this->m_iInputId}.UpdateSizes);
JS
);
}
public function GetFullListForeignKeysFromSelection($oPage, $oFullSetFilter)
@@ -87,4 +119,31 @@ HTML
IssueLog::Error($e->getMessage()."\nDebug trace:\n".$e->getTraceAsString());
}
}
/**
* Search for objects to be linked to the current object (i.e "remote" objects)
*
* @param WebPage $oP The page used for the output (usually an AjaxWebPage)
* @param string $sRemoteClass Name of the "remote" class to perform the search on, must be a derived class of m_sRemoteClass
*
* @throws \Exception
*/
public function ListResultsSearchForeignKeys(WebPage $oP, $sRemoteClass = '')
{
if ($sRemoteClass != '') {
// assert(MetaModel::IsParentClass($this->m_sRemoteClass, $sRemoteClass));
$oFilter = new DBObjectSearch($sRemoteClass);
} else {
// No remote class specified use the one defined in the linkedset
$oFilter = new DBObjectSearch($this->m_sRemoteClass);
}
$oBlock = new DisplayBlock($oFilter, 'list', false);
$oBlock->Display(
$oP,
"ResultsToAdd_{$this->m_iInputId}",
['menu' => false, 'cssCount' => "#count_{$this->m_iInputId}", 'selection_mode' => true, 'table_id' => "add_{$this->m_iInputId}"]
);
}
}

View File

@@ -122,11 +122,6 @@ class utils
* @since 3.0.0
*/
public const ENUM_SANITIZATION_FILTER_VARIABLE_NAME = 'variable_name';
/**
* @var string For module codes (e.g. `itop-portal-base`, `combodo-webhook-integration`, `some-module-code-x.y`, ...)
* @since 3.2.3 3.3.0 N°8554
*/
public const ENUM_SANITIZATION_FILTER_MODULE_CODE = 'module_code';
/**
* @var string
* @since 2.7.10 3.0.0
@@ -398,7 +393,6 @@ class utils
* @since 2.7.10 N°6606 use the utils::ENUM_SANITIZATION_* const
* @since 2.7.10 N°6606 new case for ENUM_SANITIZATION_FILTER_PHP_CLASS
* @since 3.2.1-1 N°8242 Allow value to be an array for every filter
* @since 3.2.3 3.3.0 N°8554 new case for ENUM_SANITIZATION_FILTER_MODULE_CODE
*
* @link https://www.php.net/manual/en/filter.filters.sanitize.php PHP sanitization filters
*/
@@ -486,7 +480,7 @@ class utils
);
break;
// For XML / HTML node selector
// For XML / HTML node id selector
case static::ENUM_SANITIZATION_FILTER_ELEMENT_SELECTOR:
$retValue = filter_var(
$value,
@@ -499,15 +493,6 @@ class utils
$retValue = preg_replace('/[^a-zA-Z0-9_]/', '', $value);
break;
case static::ENUM_SANITIZATION_FILTER_MODULE_CODE:
// Module codes allow all alphabets letters, numbers, dash and dot characters
$retValue = filter_var(
$value,
FILTER_VALIDATE_REGEXP,
['options' => ['regexp' => '/^[\p{L}\d.-]+$/u']]
);
break;
// For URL
case static::ENUM_SANITIZATION_FILTER_URL:
$retValue = filter_var($value, FILTER_SANITIZE_URL);
@@ -1455,12 +1440,6 @@ class utils
case iPopupMenuExtension::MENU_OBJLIST_TOOLKIT:
/** @var \DBObjectSet $param */
// Check if the user has the right to read the objects of this list, otherwise do not propose any action (eg. configure this list, export, etc.)
if (UserRights::IsActionAllowed($param->GetFilter()->GetClass(), UR_ACTION_READ, $param) !== UR_ALLOWED_YES) {
break;
}
$oAppContext = new ApplicationContext();
$sContext = $oAppContext->GetForLink(true);
$sDataTableId = is_null($sDataTableId) ? '' : $sDataTableId;
@@ -3146,50 +3125,4 @@ TXT
return $aTrace;
}
/**
* PHP unserialize encapsulation, allow throwing exception when not allowed object class is detected (for security hardening)
*
* @param string $data data to unserialize
* @param array $aOptions PHP @unserialise options
* @param bool $bThrowNotAllowedObjectClassException flag to throw exception
*
* @return mixed PHP @unserialise return
* @throws Exception
*/
public static function Unserialize(string $data, array $aOptions = ['allowed_classes' => false], bool $bThrowNotAllowedObjectClassException = true): mixed
{
$data = unserialize($data, $aOptions);
if ($bThrowNotAllowedObjectClassException) {
try {
self::AssertNoIncompleteClassDetected($data);
} catch (Exception $e) {
throw new CoreException('Unserialization failed because an incomplete class was detected.', [], '', $e);
}
}
return $data;
}
/**
* Assert that data provided doesn't contain any incomplete class.
*
* @throws Exception
*/
public static function AssertNoIncompleteClassDetected(mixed $data): void
{
if (is_object($data)) {
if ($data instanceof __PHP_Incomplete_Class) {
throw new Exception('__PHP_Incomplete_Class_Name object detected');
}
foreach (get_object_vars($data) as $property) {
self::AssertNoIncompleteClassDetected($property);
}
} elseif (is_array($data)) {
foreach ($data as $value) {
self::AssertNoIncompleteClassDetected($value);
}
}
}
}

View File

@@ -4,7 +4,7 @@
"type": "project",
"license": "AGPL-3.0-only",
"require": {
"php": ">=8.2.0 <8.5.0",
"php": ">=8.1.0 <8.5.0",
"ext-ctype": "*",
"ext-dom": "*",
"ext-gd": "*",
@@ -19,26 +19,23 @@
"pear/archive_tar": "~1.4.14",
"pelago/emogrifier": "^7.2.0",
"psr/log": "^3.0.0",
"scssphp/scssphp": "dev-combodo/1.x",
"scssphp/scssphp": "^1.12.1",
"soundasleep/html2text": "~2.1",
"symfony/console": "~6.4.0",
"symfony/dotenv": "~6.4.0",
"symfony/form": "^6.4",
"symfony/framework-bundle": "~6.4.0",
"symfony/http-foundation": "~6.4.0",
"symfony/http-kernel": "~6.4.0",
"symfony/runtime": "~6.4.0",
"symfony/security-csrf": "~6.4.0",
"symfony/mailer": "^6.4",
"symfony/security-csrf": "^6.4",
"symfony/twig-bundle": "~6.4.0",
"symfony/validator" : "~6.4.0",
"symfony/var-dumper": "~6.4.0",
"symfony/validator" : "^6.4",
"symfony/yaml": "~6.4.0",
"symfony/mailer": "~6.4.0",
"tecnickcom/tcpdf": "^6.6.0",
"thenetworg/oauth2-azure": "^2.0",
"soundasleep/html2text": "~2.1"
"thenetworg/oauth2-azure": "^2.0"
},
"require-dev": {
"symfony/debug-bundle": "~6.4.0",
"symfony/stopwatch": "~6.4.0",
"symfony/web-profiler-bundle": "~6.4.0"
},
@@ -50,10 +47,6 @@
{
"type": "vcs",
"url": "https://github.com/EsupPortail/phpCAS"
},
{
"type": "vcs",
"url": "https://github.com/combodo-itop-libs/scssphp"
}
],
"suggest": {
@@ -67,7 +60,7 @@
},
"config": {
"platform": {
"php": "8.2.0"
"php": "8.1.0"
},
"vendor-dir": "lib",
"preferred-install": {
@@ -75,10 +68,7 @@
},
"sort-packages": true,
"classmap-authoritative": true,
"platform-check": true,
"allow-plugins": {
"symfony/runtime": true
}
"platform-check": true
},
"autoload": {
"classmap": [

546
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -234,11 +234,10 @@ abstract class Action extends cmdbAbstractObject
}
$oActionFilter = DBObjectSearch::FromOQL($sActionQueryOql, $aActionQueryParams);
$oActionFilter->AllowAllData();
$oSet = new DBObjectSet($oActionFilter, ['date' => false]);
$sPanelTitle = Dict::Format('Action:last_executions_tab_panel_title', $sActionQueryLimit);
$oExecutionsListBlock = DataTableUIBlockFactory::MakeForResult($oPage, 'action_executions_list', $oSet, ['panel_title' => $sPanelTitle, 'display_unauthorized_objects' => true]);
$oExecutionsListBlock = DataTableUIBlockFactory::MakeForResult($oPage, 'action_executions_list', $oSet, ['panel_title' => $sPanelTitle]);
$oPage->AddUiBlock($oExecutionsListBlock);
}

View File

@@ -78,7 +78,6 @@ define('DEFAULT_EXT_AUTH_VARIABLE', '$_SERVER[\'REMOTE_USER\']');
define('DEFAULT_ENCRYPTION_KEY', '@iT0pEncr1pti0n!'); // We'll use a random generated key later (if possible)
define('DEFAULT_ENCRYPTION_LIB', 'Mcrypt'); // We'll define the best encryption available later
define('DEFAULT_HASH_ALGO', PASSWORD_DEFAULT);
/**
* Config
* configuration data (this class cannot not be localized, because it is responsible for loading the dictionaries)
@@ -872,14 +871,6 @@ class Config
'source_of_value' => '',
'show_in_conf_sample' => false,
],
'ext_auth_variable' => [
'type' => 'string',
'description' => 'External authentication expression (allowed: $_SERVER[\'key\'], $_COOKIE[\'key\'], $_REQUEST[\'key\'], getallheaders()[\'Header-Name\'])',
'default' => '$_SERVER[\'REMOTE_USER\']',
'value' => '$_SERVER[\'REMOTE_USER\']',
'source_of_value' => '',
'show_in_conf_sample' => false,
],
'login_debug' => [
'type' => 'bool',
'description' => 'Activate the login FSM debug',
@@ -937,7 +928,7 @@ class Config
'type' => 'string',
'description' => 'Actions that are available as direct buttons next to the "Actions" menu',
// examples... not used
'default' => 'UI:Menu:Modify,UI:Menu:New,UI:Menu:impacts_down,UI:Menu:impacts_up',
'default' => 'UI:Menu:Modify,UI:Menu:New',
'value' => 'UI:Menu:Modify',
'source_of_value' => '',
'show_in_conf_sample' => true,
@@ -1622,7 +1613,7 @@ class Config
'show_in_conf_sample' => false,
],
'search_manual_submit' => [
'type' => 'bool',
'type' => 'array',
'description' => 'Force manual submit of search all requests',
'default' => false,
'value' => true,
@@ -1749,14 +1740,6 @@ class Config
'source_of_value' => '',
'show_in_conf_sample' => false,
],
'security.disable_joined_classes_filter' => [
'type' => 'bool',
'description' => 'If true, scope filters aren\'t applied to joined classes or union classes not directly listed in the SELECT clause.',
'default' => true,
'value' => true,
'source_of_value' => '',
'show_in_conf_sample' => false,
],
'security.hide_administrators' => [
'type' => 'bool',
'description' => 'If true, non-administrator users will not be able to see the administrator accounts, the Administrator profile and the links between the administrator accounts and their profiles.',
@@ -1765,14 +1748,6 @@ class Config
'source_of_value' => '',
'show_in_conf_sample' => false,
],
'security.disable_exec_forced_login_for_all_enpoints' => [
'type' => 'bool',
'description' => 'If true, when no delegated authentication module is defined, no login will be forced on modules exec endpoints',
'default' => true,
'value' => true,
'source_of_value' => '',
'show_in_conf_sample' => false,
],
'behind_reverse_proxy' => [
'type' => 'bool',
'description' => 'If true, then proxies custom header (X-Forwarded-*) are taken into account. Use only if the webserver is not publicly accessible (reachable only by the reverse proxy)',
@@ -1979,6 +1954,11 @@ class Config
*/
protected $m_sDefaultLanguage;
/**
* @var string Name of the PHP variable in which external authentication information is passed by the web server
*/
protected $m_sExtAuthVariable;
/**
* @var string Encryption key used for all attributes of type "encrypted string". Can be set to a random value
* unless you want to import a database from another iTop instance, in which case you must use
@@ -2047,6 +2027,7 @@ class Config
$this->m_iFastReloadInterval = DEFAULT_FAST_RELOAD_INTERVAL;
$this->m_bSecureConnectionRequired = DEFAULT_SECURE_CONNECTION_REQUIRED;
$this->m_sDefaultLanguage = 'EN US';
$this->m_sExtAuthVariable = DEFAULT_EXT_AUTH_VARIABLE;
$this->m_aCharsets = [];
$this->m_bQueryCacheEnabled = DEFAULT_QUERY_CACHE_ENABLED;
$this->m_iPasswordHashAlgo = DEFAULT_HASH_ALGO;
@@ -2192,6 +2173,7 @@ class Config
$this->m_aModuleSettings = isset($MyModuleSettings) ? $MyModuleSettings : [];
$this->m_sDefaultLanguage = isset($MySettings['default_language']) ? trim($MySettings['default_language']) : 'EN US';
$this->m_sExtAuthVariable = isset($MySettings['ext_auth_variable']) ? trim($MySettings['ext_auth_variable']) : DEFAULT_EXT_AUTH_VARIABLE;
$this->m_sEncryptionKey = isset($MySettings['encryption_key']) ? trim($MySettings['encryption_key']) : $this->m_sEncryptionKey;
$this->m_sEncryptionLibrary = isset($MySettings['encryption_library']) ? trim($MySettings['encryption_library']) : $this->m_sEncryptionLibrary;
$this->m_aCharsets = isset($MySettings['csv_import_charsets']) ? $MySettings['csv_import_charsets'] : [];
@@ -2353,73 +2335,9 @@ class Config
return explode('|', $this->m_aSettings['allowed_login_types']['value']);
}
/**
* @return bool|mixed
* @since 3.2.3 return the parsed value instead of an unsecured variable name
*/
public function GetExternalAuthenticationVariable()
{
$sExpression = $this->Get('ext_auth_variable');
$aParsed = $this->ParseExternalAuthVariableExpression($sExpression);
if ($aParsed === null) {
return false;
}
$sKey = $aParsed['key'];
switch ($aParsed['type']) {
case 'server':
return $_SERVER[$sKey] ?? false;
case 'cookie':
return $_COOKIE[$sKey] ?? false;
case 'request':
return $_REQUEST[$sKey] ?? false;
case 'header':
if (!function_exists('getallheaders')) {
return false;
}
$aHeaders = getallheaders();
if (!is_array($aHeaders)) {
return false;
}
return $aHeaders[$sKey] ?? false;
}
return false;
}
/**
* @param $sExpression
* @return array|null
*/
private function ParseExternalAuthVariableExpression($sExpression)
{
// If it's a configuration parameter it's probably already trimmed, but just in case
$sExpression = trim((string) $sExpression);
if ($sExpression === '') {
return null;
}
// Match $_SERVER/$_COOKIE/$_REQUEST['key'] with optional whitespace and single/double quotes.
if (preg_match('/^\$_(SERVER|COOKIE|REQUEST)\s*\[\s*(["\'])\s*([^"\']+)\2\s*\]\s*$/', $sExpression, $aMatches) === 1) {
$sContext = strtoupper($aMatches[1]);
$sKey = $aMatches[3];
return [
'type' => strtolower($sContext),
'key' => $sKey,
'normalized' => '$_'.$sContext.'[\''.$sKey.'\']',
];
}
// Match getallheaders()['Header-Name'] in a case-insensitive way.
if (preg_match('/^getallheaders\(\)\s*\[\s*(["\'])\s*([^"\']+)\1\s*\]\s*$/i', $sExpression, $aMatches) === 1) {
$sKey = $aMatches[2];
return [
'type' => 'header',
'key' => $sKey,
'normalized' => 'getallheaders()[\''.$sKey.'\']',
];
}
return null;
return $this->m_sExtAuthVariable;
}
public function GetCSVImportCharsets()
@@ -2515,7 +2433,7 @@ class Config
public function SetExternalAuthenticationVariable($sExtAuthVariable)
{
$this->Set('ext_auth_variable', $sExtAuthVariable);
$this->m_sExtAuthVariable = $sExtAuthVariable;
}
public function SetEncryptionKey($sKey)
@@ -2569,6 +2487,7 @@ class Config
$aSettings['fast_reload_interval'] = $this->m_iFastReloadInterval;
$aSettings['secure_connection_required'] = $this->m_bSecureConnectionRequired;
$aSettings['default_language'] = $this->m_sDefaultLanguage;
$aSettings['ext_auth_variable'] = $this->m_sExtAuthVariable;
$aSettings['encryption_key'] = $this->m_sEncryptionKey;
$aSettings['encryption_library'] = $this->m_sEncryptionLibrary;
$aSettings['csv_import_charsets'] = $this->m_aCharsets;
@@ -2671,6 +2590,7 @@ class Config
// Old fashioned remaining values
$aOtherValues = [
'default_language' => $this->m_sDefaultLanguage,
'ext_auth_variable' => $this->m_sExtAuthVariable,
'encryption_key' => $this->m_sEncryptionKey,
'encryption_library' => $this->m_sEncryptionLibrary,
'csv_import_charsets' => $this->m_aCharsets,

View File

@@ -425,7 +425,7 @@
</php_parent>
<parent>cmdbAbstractObject</parent>
<properties>
<category>core/cmdb,grant_by_profile,silo</category>
<category>core/cmdb,view_in_gui</category>
<abstract>false</abstract>
<key_type>autoincrement</key_type>
<db_table>priv_event_newsroom</db_table>
@@ -904,7 +904,7 @@
<!-- Generated by toolkit/export-class-to-meta.php -->
<parent>Event</parent>
<properties>
<category>core/cmdb,grant_by_profile,silo</category>
<category>core/cmdb,view_in_gui</category>
</properties>
<fields>
<field id="message" xsi:type="AttributeText"/>

View File

@@ -1932,37 +1932,4 @@ class DBObjectSearch extends DBSearch
{
return $this->GetCriteria()->ListParameters();
}
/**
* @inheritDoc
* @return DBObjectSearch
*/
protected function ApplyDataFilters(): DBObjectSearch
{
if ($this->IsAllDataAllowed() || $this->IsDataFiltered()) {
return $this;
}
$oSearch = $this;
$aClassesToFilter = $this->GetSelectedClasses();
// Opt-in for joined classes filtering, otherwise only filter the selected class(es)
if (MetaModel::GetConfig()->Get('security.disable_joined_classes_filter') === false) {
$aClassesToFilter = $this->GetJoinedClasses();
}
// Apply filter (this is similar to the one in DBSearch but the factorization could make it less readable)
foreach ($aClassesToFilter as $sClassAlias => $sClass) {
$oVisibleObjects = UserRights::GetSelectFilter($sClass, $this->GetModifierProperties('UserRightsGetSelectFilter'));
if ($oVisibleObjects === false) {
$oVisibleObjects = DBObjectSearch::FromEmptySet($sClass);
}
if (is_object($oVisibleObjects)) {
$oVisibleObjects->AllowAllData();
$oSearch = $oSearch->Filter($sClassAlias, $oVisibleObjects);
$oSearch->SetDataFiltered();
}
}
return $oSearch;
}
}

View File

@@ -1048,7 +1048,21 @@ abstract class DBSearch
*/
protected function GetSQLQuery($aOrderBy, $aArgs, $aAttToLoad, $aExtendedDataSpec, $iLimitCount, $iLimitStart, $bGetCount, $aGroupByExpr = null, $aSelectExpr = null)
{
$oSearch = $this->ApplyDataFilters();
$oSearch = $this;
if (!$this->IsAllDataAllowed() && !$this->IsDataFiltered()) {
foreach ($this->GetSelectedClasses() as $sClassAlias => $sClass) {
$oVisibleObjects = UserRights::GetSelectFilter($sClass, $this->GetModifierProperties('UserRightsGetSelectFilter'));
if ($oVisibleObjects === false) {
// Make sure this is a valid search object, saying NO for all
$oVisibleObjects = DBObjectSearch::FromEmptySet($sClass);
}
if (is_object($oVisibleObjects)) {
$oVisibleObjects->AllowAllData();
$oSearch = $oSearch->Filter($sClassAlias, $oVisibleObjects);
$oSearch->SetDataFiltered();
}
}
}
if (is_array($aGroupByExpr)) {
foreach ($aGroupByExpr as $sAlias => $oGroupByExp) {
@@ -1510,33 +1524,4 @@ abstract class DBSearch
* @return array{\VariableExpression}
*/
abstract public function GetExpectedArguments(): array;
/**
* Apply data filters to the search, if needed
*
* @return DBSearch
* @throws CoreException
*/
protected function ApplyDataFilters(): DBSearch
{
if ($this->IsAllDataAllowed() || $this->IsDataFiltered()) {
return $this;
}
$oSearch = $this;
$aClassesToFilter = $this->GetSelectedClasses();
foreach ($aClassesToFilter as $sClassAlias => $sClass) {
$oVisibleObjects = UserRights::GetSelectFilter($sClass, $this->GetModifierProperties('UserRightsGetSelectFilter'));
if ($oVisibleObjects === false) {
$oVisibleObjects = DBObjectSearch::FromEmptySet($sClass);
}
if (is_object($oVisibleObjects)) {
$oVisibleObjects->AllowAllData();
$oSearch = $oSearch->Filter($sClassAlias, $oVisibleObjects);
$oSearch->SetDataFiltered();
}
}
return $oSearch;
}
}

View File

@@ -673,30 +673,4 @@ class DBUnionSearch extends DBSearch
return $aVariableCriteria;
}
/**
* @inheritDoc
* @return DBUnionSearch
*/
protected function ApplyDataFilters(): DBUnionSearch
{
if ($this->IsAllDataAllowed() || $this->IsDataFiltered()) {
return $this;
}
// Opt-in for joined classes filtering, otherwise fallback on DBSearch filtering
if (MetaModel::GetConfig()->Get('security.disable_joined_classes_filter') === true) {
return parent::ApplyDataFilters();
}
// Apply filters per sub-search
$aFilteredSearches = [];
foreach ($this->GetSearches() as $oSubSearch) {
// Recursively call ApplyDataFilters on sub-searches
$aFilteredSearches[] = $oSubSearch->ApplyDataFilters();
}
$oSearch = new DBUnionSearch($aFilteredSearches);
return $oSearch;
}
}

View File

@@ -26,7 +26,7 @@ class Event extends DBObject implements iDisplay
{
$aParams =
[
"category" => "core/cmdb,grant_by_profile,silo",
"category" => "core/cmdb,view_in_gui",
"key_type" => "autoincrement",
"name_attcode" => "",
"state_attcode" => "",
@@ -120,7 +120,7 @@ class EventNotification extends Event
{
$aParams =
[
"category" => "core/cmdb,grant_by_profile,silo",
"category" => "core/cmdb,view_in_gui",
"key_type" => "autoincrement",
"name_attcode" => "",
"state_attcode" => "",
@@ -156,7 +156,7 @@ class EventNotificationEmail extends EventNotification
{
$aParams =
[
"category" => "core/cmdb,grant_by_profile,silo",
"category" => "core/cmdb,view_in_gui",
"key_type" => "autoincrement",
"name_attcode" => "",
"state_attcode" => "",
@@ -178,7 +178,7 @@ class EventNotificationEmail extends EventNotification
// Display lists
MetaModel::Init_SetZListItems('details', ['date', 'userinfo', 'message', 'trigger_id', 'action_id', 'object_class', 'object_id', 'to', 'cc', 'bcc', 'from', 'subject', 'body', 'attachments']); // Attributes to be displayed for the complete details
MetaModel::Init_SetZListItems('list', ['date', 'message', 'to', 'cc', 'bcc', 'subject', 'attachments']); // Attributes to be displayed for a list
MetaModel::Init_SetZListItems('list', ['date', 'message', 'to', 'subject', 'attachments']); // Attributes to be displayed for a list
// Search criteria
// MetaModel::Init_SetZListItems('standard_search', array('name')); // Criteria of the std search form
@@ -192,7 +192,7 @@ class EventIssue extends Event
{
$aParams =
[
"category" => "core/cmdb,grant_by_profile,silo",
"category" => "core/cmdb,view_in_gui",
"key_type" => "autoincrement",
"name_attcode" => "",
"state_attcode" => "",
@@ -286,7 +286,7 @@ class EventWebService extends Event
{
$aParams =
[
"category" => "core/cmdb,grant_by_profile,silo",
"category" => "core/cmdb,view_in_gui",
"key_type" => "autoincrement",
"name_attcode" => "",
"state_attcode" => "",
@@ -321,7 +321,7 @@ class EventRestService extends Event
{
$aParams =
[
"category" => "core/cmdb,grant_by_profile,silo",
"category" => "core/cmdb,view_in_gui",
"key_type" => "autoincrement",
"name_attcode" => "",
"state_attcode" => "",
@@ -356,7 +356,7 @@ class EventLoginUsage extends Event
{
$aParams =
[
"category" => "core/cmdb,grant_by_profile,silo",
"category" => "core/cmdb,view_in_gui",
"key_type" => "autoincrement",
"name_attcode" => "",
"state_attcode" => "",
@@ -394,7 +394,7 @@ class EventOnObject extends Event
{
$aParams =
[
"category" => "core/cmdb,grant_by_profile,silo",
"category" => "core/cmdb,view_in_gui",
"key_type" => "autoincrement",
"name_attcode" => "",
"state_attcode" => "",

View File

@@ -298,46 +298,6 @@ N°8681 * @param string|null $sHtml The HTML fragment to process
return $sHtml;
}
/**
* Replace <img> tags with a data-img-id attribute by the actual image in base64 representation
* so that the image can be displayed even if the download URL is not accessible (e.g. in unauthenticated approval templates)
*
* @param string $sHtml The HTML fragment to process
*
* @return String The modified HTML
* @since 3.2.3
*/
public static function ReplaceInlineImagesWithBase64Representation(string $sHtml): String
{
return preg_replace_callback(
'/<img\s+[^>]*'.static::DOM_ATTR_ID.'="(\d+)"[^>]*>/i',
function ($matches) {
// Extract inline image ID from the tag
$id = $matches[1];
try {
// Retrieve inline image
$oInline = MetaModel::GetObject(InlineImage::class, $id, true, true);
$oOrmDocument = $oInline->Get('contents');
// Replace src image by the base64 representation
$sInlineImageAsBase64 = base64_encode($oOrmDocument->GetData());
$sDataUri = 'data:'.$oOrmDocument->GetMimeType().';base64,'.$sInlineImageAsBase64;
$sImage = preg_replace('/src=["\'][^"\']+["\']/', 'src="'.$sDataUri.'"', $matches[0]);
// Remove sensitive information (the image ID and secret) from the tag
$sImage = preg_replace('/'.static::DOM_ATTR_ID.'="\d+"\s+'.static::DOM_ATTR_SECRET.'="\w+"/', '', $sImage);
} catch (Exception $e) {
$sImage = '<img src="" alt="'.Dict::S('UI:MissingInlineImage').'">';
}
return $sImage;
},
$sHtml
);
}
/**
* Add an extra attribute data-img-id for images which are based on an actual InlineImage
* so that we can later reconstruct the full "src" URL when needed

View File

@@ -691,7 +691,7 @@ abstract class LogAPI
static::$m_oMockMetaModelConfig = $oMetaModelConfig;
}
public static function Exception(string $sMessage, throwable $oException, ?string $sChannel = null, array $aContext = []): void
public static function Exception(string $sMessage, throwable $oException, string $sChannel = null, array $aContext = []): void
{
$aErrorLogs = [];
$aErrorLogs[] = static::PrepareErrorLog($sMessage, $oException, $aContext);

View File

@@ -350,18 +350,15 @@ class ormDocument
if (!is_object($oObj)) {
// If access to the document is not granted, check if the access to the host object is allowed
$oObj = MetaModel::GetObject($sClass, $id, false, true);
$bHasHostRights = false;
if ($oObj instanceof Attachment) {
$sItemClass = $oObj->Get('item_class');
$sItemId = $oObj->Get('item_id');
$oHost = MetaModel::GetObject($sItemClass, $sItemId, false, false);
if (is_object($oHost)) {
$bHasHostRights = true;
if (!is_object($oHost)) {
$oObj = null;
}
}
// We could neither read the object nor get a host object matching our rights
if ($bHasHostRights !== true) {
if (!is_object($oObj)) {
throw new Exception("Invalid id ($id) for class '$sClass' - the object does not exist or you are not allowed to view it");
}
}

View File

@@ -470,6 +470,17 @@ class ormLinkSet implements iDBObjectSetIterator, Iterator, SeekableIterator
|| ($this->oOriginalSet->GetFilter()->ToOQL() == $oFellow->oOriginalSet->GetFilter()->ToOQL())) {
$bUpdateFromDelta = true;
}
} else {
//@since 3.2.2 N°2364 - API : remove old linkedset persistance
/* Goo pattern to use:
* $oCISet = $oTicket->Get(functioncis_list);
* $oCISet->AddItem(MetaModel::NewObject(lnkFunctionCIToTicket, array(ci_id=> 12345));
* $oCISet->RemoveItem(123456);
* $oTicket->Set(functionalcis_list, $oCISet);
*/
if (!ContextTag::Check(ContextTag::TAG_SETUP)) {
DeprecatedCallsLog::NotifyDeprecatedPhpMethod('old pattern - please get previous value of the linked set, modify it and set it back to the host object');
}
}
if ($bUpdateFromDelta) {

View File

@@ -658,16 +658,6 @@ abstract class User extends cmdbAbstractObject
}
return false;
}
/**
* Allow a user to be impersonated by another one (generally an administrator) in order to troubleshoot rights issues.
*
* @return bool
*/
public function CanBeImpersonated(): bool
{
return true;
}
}
/**
@@ -1073,9 +1063,6 @@ class UserRights
$oUser = self::FindUser($sLogin);
if ($oUser) {
$bRet = true;
if (!$oUser->CanBeImpersonated()) {
throw new Exception($oUser->GetName().' cannot be impersonated');
}
if (is_null(self::$m_oRealUser)) {
// First impersonation
self::$m_oRealUser = self::$m_oUser;
@@ -1195,7 +1182,7 @@ class UserRights
return self::$m_oUser->GetKey();
} else {
// find the id out of the login string
$oUser = self::FindUser($sLogin, bAllowDisabledUsers: true);
$oUser = self::FindUser($sLogin);
if (is_null($oUser)) {
return null;
}
@@ -1388,7 +1375,7 @@ class UserRights
if (empty($sLogin)) {
$oUser = self::$m_oUser;
} else {
$oUser = self::FindUser($sLogin, bAllowDisabledUsers: true);
$oUser = self::FindUser($sLogin);
}
if (is_null($oUser)) {
return '';

View File

@@ -56,8 +56,6 @@ $ibo-shame--slider--is-round--border-radius: 20px !default;
$ibo-shame--slider--is-round--before--border-radius: 7px !default;
$ibo-blockquote--color: $ibo-body-text-color !default;
// N°2847 - Recolor svg illustrations with iTop's primary color
.ibo-svg-illustration--container > svg *[fill="#6c63ff"]{
fill: $ibo-svg-illustration--fill;
@@ -128,11 +126,3 @@ input:checked + .slider:before {
.slider.round:before {
border-radius: $ibo-shame--slider--is-round--before--border-radius;
}
/*
Bulma sets blockquote background color through a variable, it affects ckeditor and html display.
This rule is needed harmonize the blockquote text color in both contexts.
*/
.ibo-is-html-content blockquote {
color: $ibo-blockquote--color;
}

View File

@@ -185,20 +185,16 @@ $ibo-panel--is-selectable--body--after--font-size: $ibo-font-size-700 !default;
.ibo-panel--icon-img, .ibo-panel--icon-background { // second class is deprecated, remove it when dealing with N°9317
width: 100%;
height: 100%;
object-position: center;
object-fit: $ibo-panel--icon-img--size--must-contain;
background-position: center;
background-repeat: no-repeat;
background-size: $ibo-panel--icon-img--size--must-contain;
}
.ibo-panel--icon-img--must-contain, .ibo-panel--icon-background--must-contain { // second class is deprecated, remove it when dealing with N°9317
object-fit: $ibo-panel--icon-img--size--must-contain;
background-size: $ibo-panel--icon-img--size--must-contain;
}
.ibo-panel--icon-img--must-cover, .ibo-panel--icon-background--must-cover { // second class is deprecated, remove it when dealing with N°9317
object-fit: $ibo-panel--icon-img--size--must-cover;
background-size: $ibo-panel--icon-img--size--must-cover;
}

View File

@@ -247,8 +247,7 @@ $ibo-quick-create--compartment--placeholder-hint--text-color: $ibo-color-grey-70
&:hover {
cursor: pointer;
color: $ibo-hyperlink-color--on-hover;
text-decoration: $ibo-hyperlink-text-decoration--on-hover;
@extend a;
}
.highlight {

View File

@@ -21,8 +21,6 @@ $ibo-search-form-panel--more-criteria--color: $ibo-color-blue-grey-800 !default;
$ibo-search-form-panel--more-criteria--background-color: $ibo-color-white-100 !default;
$ibo-search-form-panel--more-criteria--icon--color: $ibo-color-primary-600 !default;
$ibo-search-form-panel--more-criteria--border-color: $ibo-search-form-panel--criteria--border-color !default;
// calc is redundant but avoid SCSS min() from being used instead of CSS min()
$ibo-search-form-panel--criteria--max-height: calc(min(#{$ibo-size-750}, 50vh)) !default;
$ibo-search-form-panel--items--hover--color: $ibo-color-grey-200 !default;
@@ -280,10 +278,9 @@ $ibo-search-results-area--datatable-scrollhead--border--is-sticking: $ibo-search
}
.sfc_form_group {
display: flex;
flex-direction: column;
margin-top: -1px;
z-index: -1;
display: block;
margin-top: -1px;
z-index: -1;
}
}
@@ -349,15 +346,11 @@ $ibo-search-results-area--datatable-scrollhead--border--is-sticking: $ibo-search
display: none;
max-width: 450px;
width: max-content;
max-height: $ibo-search-form-panel--criteria--max-height;
max-height: 520px;
overflow-x: auto;
overflow-y: hidden;
.sfc_fg_operators {
display: flex;
flex-direction: column;
overflow: auto;
min-height: 0;
font-size: 12px;
.sfc_fg_operator {
@@ -394,9 +387,6 @@ $ibo-search-results-area--datatable-scrollhead--border--is-sticking: $ibo-search
}
.sfc_opc_multichoices {
display: flex;
flex-direction: column;
height: 100%;
label > input {
vertical-align: text-top;
margin-left: $ibo-spacing-0;
@@ -408,6 +398,7 @@ $ibo-search-results-area--datatable-scrollhead--border--is-sticking: $ibo-search
}
.sfc_opc_mc_items_wrapper {
max-height: 415px; /* Must be less than .sfc_form_group:max-height - .sfc_opc_mc_toggler:height - .sfc_opc_mc_filter:height */
overflow-y: auto;
margin: $ibo-spacing-0 -8px; /* Compensate .sfc_opc_multichoices side padding so the hover style can take the full with */
@@ -569,14 +560,8 @@ $ibo-search-results-area--datatable-scrollhead--border--is-sticking: $ibo-search
&.search_form_criteria_enum {
.sfc_form_group {
.sfc_fg_operator_in {
display: flex;
flex-direction: column;
height: 100%;
min-height: 0;
> label {
display: flex;
height: 100%;
min-height: 0;
display: inline-block;
width: 100%;
line-height: initial;
white-space: nowrap;

View File

@@ -51,23 +51,19 @@ $ibo-title--icon-img--size--must-zoomout: $ibo-title--icon-background--size--mus
width: 100%;
height: 100%;
object-position: center;
object-fit: $ibo-title--icon-img--size--must-contain;
background-size: $ibo-title--icon-img--size--must-contain;
}
.ibo-title--icon-img--must-contain, .ibo-title--icon-background--must-contain { // second class is deprecated, remove it when dealing with N°9317
object-fit: $ibo-title--icon-img--size--must-contain;
background-size: $ibo-title--icon-img--size--must-contain;
}
.ibo-title--icon-img--must-cover, .ibo-title--icon-background--must-cover { // second class is deprecated, remove it when dealing with N°9317
object-fit: $ibo-title--icon-img--size--must-cover;
background-size: $ibo-title--icon-img--size--must-cover;
}
.ibo-title--icon-img--must-zoomout, .ibo-title--icon-background--must-zoomout { // second class is deprecated, remove it when dealing with N°9317
width: $ibo-title--icon-img--size--must-zoomout;
height: $ibo-title--icon-img--size--must-zoomout;
background-size: $ibo-title--icon-img--size--must-zoomout;
}
.ibo-title--for-object-details {

View File

@@ -203,9 +203,8 @@ $ibo-input-select--autocomplete-item-image--border: 1px solid $ibo-color-grey-60
}
// N°7982 Default selectize stylesheet override
// N°9468 Dropdown content needs to be a few pixel shorter than the dropdown itself to avoid double scrollbar
.selectize-dropdown-content{
max-height: calc(#{$ibo-input-select-selectize--dropdown--max-height} - 4px);
max-height: $ibo-input-select-selectize--dropdown--max-height;
}
.selectize-dropdown.ui-menu .ui-state-active {

View File

@@ -3,29 +3,9 @@
* @license http://opensource.org/licenses/AGPL-3.0
*/
$ibo-datamodel-viewer--viewer-empty--width: max(20%, #{$ibo-size-700}) !default;
$ibo-datamodel-viewer--parent--spacer--padding-y: $ibo-spacing-0 !default;
$ibo-datamodel-viewer--parent--spacer--padding-x: $ibo-spacing-300 !default;
$ibo-datamodel-viewer--breadcrumb--margin: $ibo-spacing-200 0 !default;
$ibo-datamodel-viewer--classname--font-family: monospace !default;
$ibo-datamodel-viewer--classname--color: $ibo-color-blue-grey-600 !default;
$ibo-datamodel-viewer--tag--category--color: $ibo-color-blue-grey-800 !default;
$ibo-datamodel-viewer--tag--category--icon--color: $ibo-color-blue-grey-600 !default;
$ibo-datamodel-viewer--abstract-class-icon--margin-right: $ibo-spacing-300 !default;
$ibo-datamodel-viewer--abstract-class-icon--after--content: 'A' !default;
$ibo-datamodel-viewer--abstract-class-icon--after--width: 15px !default;
$ibo-datamodel-viewer--abstract-class-icon--after--height: 15px !default;
$ibo-datamodel-viewer--abstract-class-icon--after--line-height: 14px !default;
$ibo-datamodel-viewer--abstract-class-icon--after--border-radius: 50% !default;
$ibo-datamodel-viewer--abstract-class-icon--after--border: 1px solid $ibo-color-cyan-500 !default;
$ibo-datamodel-viewer--abstract-class-icon--after--color: $ibo-color-white-100 !default;
$ibo-datamodel-viewer--abstract-class-icon--after--background-color: $ibo-color-cyan-500 !default;
$ibo-datamodel-viewer--classes-list--selectize-input--background-color: $ibo-color-white-100 !default;
$ibo-datamodel-viewer--classes-list--selectize-input--color: $ibo-color-grey-800 !default;
$ibo-datamodel-viewer--classes-list--selectize-input--border-color: $ibo-color-grey-500 !default;
@@ -36,9 +16,8 @@ $ibo-datamodel-viewer--origin-cell--diameter: 8px !default;
$ibo-datamodel-viewer--origin-cell--border-radius: $ibo-border-radius-full !default;
$ibo-datamodel-viewer--classes-list--height: 100% !default;
$ibo-datamodel-viewer--classes-list--width: $ibo-size-700 !default;
$ibo-datamodel-viewer--classes-list--width: 350px !default;
$ibo-datamodel-viewer--classes-list--padding-left: $ibo-spacing-600 !default;
$ibo-datamodel-viewer--classes-list--padding-top: $ibo-spacing-300 !default;
$ibo-datamodel-viewer--lifecycle--code--color: $ibo-color-grey-700 !default;
$ibo-datamodel-viewer--lifecycle--stimuli--color: $ibo-color-blue-900 !default;
@@ -66,56 +45,6 @@ $ibo-datamodel-viewer--lifecycle-image--margin-bottom: $ibo-spacing-500 !default
.ibo-panel--subtitle{
@extend %ibo-font-ral-nor-150;
}
.ibo-datamodel-viewer--empty{
display: flex;
flex-direction: column;
align-items: center;
svg{
width: $ibo-datamodel-viewer--viewer-empty--width;
}
}
}
.ibo-datamodel-viewer--empty--text {
@extend %ibo-font-ral-med-400
}
.ibo-datamodel-viewer--breadcrumb{
@extend %ibo-font-ral-med-150;
margin: $ibo-datamodel-viewer--breadcrumb--margin;
.ibo-button{
text-transform: none; // unset uppercase
}
}
.ibo-datamodel-viewer--classname{
color: $ibo-datamodel-viewer--classname--color;
@extend %ibo-font-code-100;
}
.ibo-datamodel-viewer--tag--category{
color: $ibo-datamodel-viewer--tag--category--color;
.ibo-object-details--tag-icon{
color:$ibo-datamodel-viewer--tag--category--icon--color;
}
}
.ibo-datamodel-viewer--icon--abstract{
&:after{
content: $ibo-datamodel-viewer--abstract-class-icon--after--content;
display: inline-flex;
justify-content: center;
align-items: center;
width: $ibo-datamodel-viewer--abstract-class-icon--after--width;
height: $ibo-datamodel-viewer--abstract-class-icon--after--height;
line-height: $ibo-datamodel-viewer--abstract-class-icon--after--line-height;
border-radius: $ibo-datamodel-viewer--abstract-class-icon--after--border-radius;
border: $ibo-datamodel-viewer--abstract-class-icon--after--border;
color: $ibo-datamodel-viewer--abstract-class-icon--after--color;
background-color: $ibo-datamodel-viewer--abstract-class-icon--after--background-color;
@extend %ibo-font-ral-bol-50;
}
}
.ibo-datamodel-viewer--parent--spacer{
@@ -151,7 +80,6 @@ $ibo-datamodel-viewer--lifecycle-image--margin-bottom: $ibo-spacing-500 !default
height: $ibo-datamodel-viewer--classes-list--height;
width: $ibo-datamodel-viewer--classes-list--width;
padding-left: $ibo-datamodel-viewer--classes-list--padding-left;
padding-top: $ibo-datamodel-viewer--classes-list--padding-top;
overflow-y: scroll;
}

View File

@@ -21,7 +21,6 @@ $text-strong: inherit !default;
* See https://bulma.io/documentation/elements/content/
*/
$content-block-margin-bottom: 0 !default;
$content-blockquote-background-color: $ibo-color-grey-200 !default;
/* Table: Reset style as much as possible to match rich text editor preview, which is the browser's default stylesheet.
* As there is no way to avoid bulma rules, we simply make them invalid by setting an invalid variable value, the rules will then be ignored by the browser.

View File

@@ -28,15 +28,6 @@ $ibo-vendors-ckeditor--ck-mentions--item--padding-x: $ibo-spacing-300 !default;
$ibo-vendors-ckeditor--ck-mentions--item--padding-y: $ibo-spacing-200 !default;
/* CSS3 variables */
:root {
--ck-content-font-family: inherit;
--ck-content-font-color: inherit;
--ck-content-font-size: inherit;
--ck-content-line-height: inherit;
--ck-content-word-break: inherit;
--ck-content-overflow-wrap: inherit;
}
.ck {
--ck-color-list-button-on-background: #{$ibo-vendors-ckeditor--ck-color-list-button-on-background};
--ck-color-list-button-on-background-focus: #{$ibo-vendors-ckeditor--ck-color-list-button-on-background-focus};

File diff suppressed because one or more lines are too long

View File

@@ -97,19 +97,18 @@
$bDebug = isset($aServerParams['debug']) ? $aServerParams['debug'] : false;
}
if (array_key_exists(LDAP_OPT_DEBUG_LEVEL, $aOptions))
{
// Set debug level before trying to connect, so that debug info appear in the PHP error log if ldap_connect goes wrong
$bRet = ldap_set_option(null, LDAP_OPT_DEBUG_LEVEL, $aOptions[LDAP_OPT_DEBUG_LEVEL]);
$this->LogInfo($bDebug, "ldap_set_option('LDAP_OPT_DEBUG_LEVEL', '{$aOptions[LDAP_OPT_DEBUG_LEVEL]}') returned ".($bRet ? 'true' : 'false'));
}
$hDS = @ldap_connect($sURI);
if ($hDS === false)
{
$this->LogIssue($bDebug, "ldap_authentication: can not connect to the LDAP server '$sURI'. Check the configuration file config-itop.php.");
return false;
}
if (array_key_exists(LDAP_OPT_DEBUG_LEVEL, $aOptions))
{
// Set debug level before trying to connect, so that debug info appear in the PHP error log if ldap_connect goes wrong
$bRet = ldap_set_option($hDS, LDAP_OPT_DEBUG_LEVEL, $aOptions[LDAP_OPT_DEBUG_LEVEL]);
$this->LogInfo($bDebug, "ldap_set_option('LDAP_OPT_DEBUG_LEVEL', '{$aOptions[LDAP_OPT_DEBUG_LEVEL]}') returned ".($bRet ? 'true' : 'false'));
}
foreach($aOptions as $name => $value)
{
$bRet = ldap_set_option($hDS, $name, $value);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -68,47 +68,47 @@ $ibo-color-information-900: #0f172a !default;
$ibo-color-information-950: #020617 !default;
$ibo-lifecycle-new-state-primary-color: $ibo-color-information-600 !default;
$ibo-lifecycle-new-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-neutral-state-primary-color: $ibo-color-information-600 !default;
$ibo-lifecycle-neutral-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-waiting-state-primary-color: $ibo-color-yellow-700 !default;
$ibo-lifecycle-waiting-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-success-state-primary-color: $ibo-color-blue-700 !default;
$ibo-lifecycle-success-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-failure-state-primary-color: $ibo-color-orange-800 !default;
$ibo-lifecycle-failure-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-frozen-state-primary-color: $ibo-color-information-200 !default;
$ibo-lifecycle-frozen-state-secondary-color: $ibo-color-information-700 !default;
$ibo-lifecycle-new-state-primary-color: $ibo-color-information-600;
$ibo-lifecycle-new-state-secondary-color: $ibo-color-white-100;
$ibo-lifecycle-neutral-state-primary-color: $ibo-color-information-600;
$ibo-lifecycle-neutral-state-secondary-color: $ibo-color-white-100;
$ibo-lifecycle-waiting-state-primary-color: $ibo-color-yellow-700;
$ibo-lifecycle-waiting-state-secondary-color: $ibo-color-white-100;
$ibo-lifecycle-success-state-primary-color: $ibo-color-blue-700;
$ibo-lifecycle-success-state-secondary-color: $ibo-color-white-100;
$ibo-lifecycle-failure-state-primary-color: $ibo-color-orange-800;
$ibo-lifecycle-failure-state-secondary-color: $ibo-color-white-100;
$ibo-lifecycle-frozen-state-primary-color: $ibo-color-information-200;
$ibo-lifecycle-frozen-state-secondary-color: $ibo-color-information-700;
$ibo-lifecycle-active-state-primary-color: $ibo-color-blue-700 !default;
$ibo-lifecycle-active-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-inactive-state-primary-color: $ibo-color-yellow-700 !default;
$ibo-lifecycle-inactive-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-active-state-primary-color: $ibo-color-blue-700;
$ibo-lifecycle-active-state-secondary-color: $ibo-color-white-100;
$ibo-lifecycle-inactive-state-primary-color: $ibo-color-yellow-700;
$ibo-lifecycle-inactive-state-secondary-color: $ibo-color-white-100;
$ibo-caselog-highlight-color-1: $ibo-color-blue-700 !default;
$ibo-caselog-highlight-color-2: $ibo-color-yellow-700 !default;
$ibo-caselog-highlight-color-3: $ibo-color-information-600 !default;
$ibo-caselog-highlight-color-4: $ibo-color-yellow-500 !default;
$ibo-caselog-highlight-color-5: $ibo-color-blue-500 !default;
$ibo-caselog-highlight-color-6: $ibo-color-yellow-300 !default;
$ibo-caselog-highlight-color-7: $ibo-color-blue-300 !default;
$ibo-caselog-highlight-color-1: $ibo-color-blue-700;
$ibo-caselog-highlight-color-2: $ibo-color-yellow-700;
$ibo-caselog-highlight-color-3: $ibo-color-information-600;
$ibo-caselog-highlight-color-4: $ibo-color-yellow-500;
$ibo-caselog-highlight-color-5: $ibo-color-blue-500;
$ibo-caselog-highlight-color-6: $ibo-color-yellow-300;
$ibo-caselog-highlight-color-7: $ibo-color-blue-300;
$ibo-input-wrapper--is-error--border-color: $ibo-color-warning-700 !default;
$ibo-field-validation: $ibo-color-warning-800 !default;
$ibo-input-wrapper--is-error--border-color: $ibo-color-warning-700;
$ibo-field-validation: $ibo-color-warning-800;
$ibo-navigation-menu--visual-hint--background-color: $ibo-color-blue-400 !default;
$ibo-navigation-menu--visual-hint--background-color: $ibo-color-blue-400;
$ibo-wizard-container--background-color: $ibo-color-information-200 !default;
$ibo-wizard-container--border-color: $ibo-color-information-600 !default;
$ibo-wizard-container--background-color: $ibo-color-information-200;
$ibo-wizard-container--border-color: $ibo-color-information-600;
$ibo-navigation-menu--notifications--item--new-message-indicator--background-color: $ibo-color-white-100 !default;
$ibo-navigation-menu--notifications--item--new-message-indicator--border: solid 2px $ibo-color-grey-500 !default;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-1--background-color: $ibo-color-danger-100 !default;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-1--border: solid 2px $ibo-color-danger-500 !default;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-2--background-color: $ibo-color-warning-100 !default;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-2--border: solid 2px $ibo-color-warning-500 !default;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-3--background-color: $ibo-color-success-100 !default;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-3--border: solid 2px $ibo-color-success-500 !default;
$ibo-navigation-menu--notifications--item--new-message-indicator--background-color: $ibo-color-white-100;
$ibo-navigation-menu--notifications--item--new-message-indicator--border: solid 2px $ibo-color-grey-500;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-1--background-color: $ibo-color-danger-100;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-1--border: solid 2px $ibo-color-danger-500;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-2--background-color: $ibo-color-warning-100;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-2--border: solid 2px $ibo-color-warning-500;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-3--background-color: $ibo-color-success-100;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-3--border: solid 2px $ibo-color-success-500;
$ibo-notifications--view-all--item--unread--highlight--background-color: $ibo-color-blue-600 !default;
$ibo-notifications--view-all--item--unread--highlight--background-color: $ibo-color-blue-600;

View File

@@ -32,47 +32,47 @@ $ibo-color-information-900: #0f172a !default;
$ibo-color-information-950: #020617 !default;
$ibo-lifecycle-new-state-primary-color: $ibo-color-information-600 !default;
$ibo-lifecycle-new-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-neutral-state-primary-color: $ibo-color-information-600 !default;
$ibo-lifecycle-neutral-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-waiting-state-primary-color: $ibo-color-red-200 !default;
$ibo-lifecycle-waiting-state-secondary-color: $ibo-color-red-800 !default;
$ibo-lifecycle-success-state-primary-color: $ibo-color-blue-700 !default;
$ibo-lifecycle-success-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-failure-state-primary-color: $ibo-color-red-800 !default;
$ibo-lifecycle-failure-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-frozen-state-primary-color: $ibo-color-information-200 !default;
$ibo-lifecycle-frozen-state-secondary-color: $ibo-color-information-700 !default;
$ibo-lifecycle-new-state-primary-color: $ibo-color-information-600;
$ibo-lifecycle-new-state-secondary-color: $ibo-color-white-100;
$ibo-lifecycle-neutral-state-primary-color: $ibo-color-information-600;
$ibo-lifecycle-neutral-state-secondary-color: $ibo-color-white-100;
$ibo-lifecycle-waiting-state-primary-color: $ibo-color-red-200;
$ibo-lifecycle-waiting-state-secondary-color: $ibo-color-red-800;
$ibo-lifecycle-success-state-primary-color: $ibo-color-blue-700;
$ibo-lifecycle-success-state-secondary-color: $ibo-color-white-100;
$ibo-lifecycle-failure-state-primary-color: $ibo-color-red-800;
$ibo-lifecycle-failure-state-secondary-color: $ibo-color-white-100;
$ibo-lifecycle-frozen-state-primary-color: $ibo-color-information-200;
$ibo-lifecycle-frozen-state-secondary-color: $ibo-color-information-700;
$ibo-lifecycle-active-state-primary-color: $ibo-color-blue-700 !default;
$ibo-lifecycle-active-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-inactive-state-primary-color: $ibo-color-red-700 !default;
$ibo-lifecycle-inactive-state-secondary-color: $ibo-color-white-100 !default;
$ibo-lifecycle-active-state-primary-color: $ibo-color-blue-700;
$ibo-lifecycle-active-state-secondary-color: $ibo-color-white-100;
$ibo-lifecycle-inactive-state-primary-color: $ibo-color-red-700;
$ibo-lifecycle-inactive-state-secondary-color: $ibo-color-white-100;
$ibo-caselog-highlight-color-1: $ibo-color-blue-700 !default;
$ibo-caselog-highlight-color-2: $ibo-color-red-700 !default;
$ibo-caselog-highlight-color-3: $ibo-color-information-600 !default;
$ibo-caselog-highlight-color-4: $ibo-color-red-500 !default;
$ibo-caselog-highlight-color-5: $ibo-color-blue-500 !default;
$ibo-caselog-highlight-color-6: $ibo-color-red-300 !default;
$ibo-caselog-highlight-color-7: $ibo-color-blue-300 !default;
$ibo-caselog-highlight-color-1: $ibo-color-blue-700;
$ibo-caselog-highlight-color-2: $ibo-color-red-700;
$ibo-caselog-highlight-color-3: $ibo-color-information-600;
$ibo-caselog-highlight-color-4: $ibo-color-red-500;
$ibo-caselog-highlight-color-5: $ibo-color-blue-500;
$ibo-caselog-highlight-color-6: $ibo-color-red-300;
$ibo-caselog-highlight-color-7: $ibo-color-blue-300;
$ibo-input-wrapper--is-error--border-color: $ibo-color-pink-700 !default;
$ibo-field-validation: $ibo-color-pink-800 !default;
$ibo-input-wrapper--is-error--border-color: $ibo-color-pink-700;
$ibo-field-validation: $ibo-color-pink-800;
$ibo-navigation-menu--visual-hint--background-color: $ibo-color-pink-600 !default;
$ibo-navigation-menu--visual-hint--background-color: $ibo-color-pink-600;
$ibo-wizard-container--background-color: $ibo-color-information-200 !default;
$ibo-wizard-container--border-color: $ibo-color-information-600 !default;
$ibo-wizard-container--background-color: $ibo-color-information-200;
$ibo-wizard-container--border-color: $ibo-color-information-600;
$ibo-navigation-menu--notifications--item--new-message-indicator--background-color: $ibo-color-white-100 !default;
$ibo-navigation-menu--notifications--item--new-message-indicator--border: solid 2px $ibo-color-grey-500 !default;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-1--background-color: $ibo-color-pink-100 !default;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-1--border: solid 2px $ibo-color-pink-600 !default;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-2--background-color: $ibo-color-warning-100 !default;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-2--border: solid 2px $ibo-color-warning-400 !default;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-3--background-color: $ibo-color-success-100 !default;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-3--border: solid 2px $ibo-color-success-500 !default;
$ibo-navigation-menu--notifications--item--new-message-indicator--background-color: $ibo-color-white-100;
$ibo-navigation-menu--notifications--item--new-message-indicator--border: solid 2px $ibo-color-grey-500;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-1--background-color: $ibo-color-pink-100;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-1--border: solid 2px $ibo-color-pink-600;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-2--background-color: $ibo-color-warning-100;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-2--border: solid 2px $ibo-color-warning-400;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-3--background-color: $ibo-color-success-100;
$ibo-navigation-menu--notifications--item--new-message-indicator--is-priority-3--border: solid 2px $ibo-color-success-500;
$ibo-notifications--view-all--item--unread--highlight--background-color: $ibo-color-pink-500 !default;
$ibo-notifications--view-all--item--unread--highlight--background-color: $ibo-color-pink-500;

View File

@@ -54,15 +54,6 @@
</modules>
<default>true</default>
</choice>
<choice>
<extension_code>itop-flow-map</extension_code>
<title>Application Data Flows</title>
<description>Modelize flows between your applications, with impacts analysis</description>
<modules type="array">
<module>itop-flow-map</module>
</modules>
<default>true</default>
</choice>
<choice>
<extension_code>itop-config-mgmt-storage</extension_code>
<title>Storage Devices</title>
@@ -89,7 +80,7 @@
<modules type="array">
<module>itop-container-mgmt</module>
</modules>
<default>true</default>
<default>false</default>
</choice>
</options>
</sub_options>

View File

@@ -85,13 +85,11 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', [
Dict::Add('CS CZ', 'Czech', 'Čeština', [
'Class:TriggerOnAttachmentDownload' => 'Trigger (on object\'s attachment download)~~',
'Class:TriggerOnAttachmentDownload+' => 'Trigger on object\'s attachment download of [a child class of] the given class~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment creation)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment creation~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment create)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment create~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Add file in email~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'If checked, the file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment deletion)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment deletion~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Add deleted file in email~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment delete)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment delete~~',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Trigger on object is not allowed on class Attachment. Please use specific trigger~~',
]);

View File

@@ -84,13 +84,11 @@ Dict::Add('DA DA', 'Danish', 'Dansk', [
Dict::Add('DA DA', 'Danish', 'Dansk', [
'Class:TriggerOnAttachmentDownload' => 'Trigger (on object\'s attachment download)~~',
'Class:TriggerOnAttachmentDownload+' => 'Trigger on object\'s attachment download of [a child class of] the given class~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment creation)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment creation~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment create)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment create~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Add file in email~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'If checked, the file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment deletion)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment deletion~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Add deleted file in email~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment delete)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment delete~~',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Trigger on object is not allowed on class Attachment. Please use specific trigger~~',
]);

View File

@@ -84,13 +84,11 @@ Dict::Add('DE DE', 'German', 'Deutsch', [
Dict::Add('DE DE', 'German', 'Deutsch', [
'Class:TriggerOnAttachmentDownload' => 'Trigger (beim Herunterladen eines Attachment eines Objekts)',
'Class:TriggerOnAttachmentDownload+' => 'Trigger für das Herunterladen des Attachments der angegebenen Klasse oder einer Unterklasse',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment creation)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment creation~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment create)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment create~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Add file in email~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'If checked, the file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment deletion)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment deletion~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Add deleted file in email~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment delete)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment delete~~',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Trigger on object is not allowed on class Attachment. Please use specific trigger~~',
]);

View File

@@ -47,7 +47,7 @@ or ask your '.ITOP_APPLICATION_SHORT.' administrator if the '.ITOP_APPLICATION_S
Dict::Add('EN US', 'English', 'English', [
'Class:Attachment' => 'Attachment',
'Class:Attachment+' => 'File: text or image, linked to a single object. It can\'t be modified, only deleted. Attachment can\'t be created outside of its object edition.',
'Class:Attachment+' => '',
'Class:Attachment/Attribute:expire' => 'Expire',
'Class:Attachment/Attribute:expire+' => '',
'Class:Attachment/Attribute:temp_id' => 'Temporary id',
@@ -91,13 +91,11 @@ Dict::Add('EN US', 'English', 'English', [
Dict::Add('EN US', 'English', 'English', [
'Class:TriggerOnAttachmentDownload' => 'Trigger (on object\'s attachment download)',
'Class:TriggerOnAttachmentDownload+' => 'Trigger on object\'s attachment download of [a child class of] the given class',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment creation)',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment creation',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment deletion)',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment deletion',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment create)',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment create',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment delete)',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment delete',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Add file in email',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'If checked, the file will be automatically attached to the email when an email action is triggered',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Add deleted file in email',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Trigger on object is not allowed on class Attachment. Please use specific trigger',
]);

View File

@@ -81,13 +81,11 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'Class:TriggerOnAttachmentDownload' => 'Disparador (al descargar el archivo adjunto del objeto)',
'Class:TriggerOnAttachmentDownload+' => 'Disparador al descargar el archivo adjunto del objeto de [una clase secundaria de] la clase dada',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment creation)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment creation~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment create)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment create~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Add file in email~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'If checked, the file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment deletion)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment deletion~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Add deleted file in email~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment delete)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment delete~~',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Trigger on object is not allowed on class Attachment. Please use specific trigger~~',
]);

View File

@@ -38,8 +38,8 @@ Soit demandez à votre administrateur système s\'il reste de la place disque di
//
Dict::Add('FR FR', 'French', 'Français', [
'Class:Attachment' => 'Pièce jointe',
'Class:Attachment+' => 'Fichier : texte ou image, associé à un et un seul object, supprimable mais non modifiable, non créable en dehors d\'un objet',
'Class:Attachment' => 'Attachement',
'Class:Attachment+' => '',
'Class:Attachment/Attribute:expire' => 'Expire',
'Class:Attachment/Attribute:expire+' => '',
'Class:Attachment/Attribute:temp_id' => 'Id Temporaire',
@@ -82,14 +82,12 @@ Dict::Add('FR FR', 'French', 'Français', [
Dict::Add('FR FR', 'French', 'Français', [
'Class:TriggerOnAttachmentDownload' => 'Déclencheur sur le téléchargement d\'une pièce jointe d\'un objet',
'Class:TriggerOnAttachmentDownload+' => 'Déclencheur sur le téléchargement d\'une pièce jointe depuis un objet de la classe donnée ou d\'une classe enfant.',
'Class:TriggerOnAttachmentDownload+' => '',
'Class:TriggerOnAttachmentCreate' => 'Déclencheur sur la création d\'une pièce jointe',
'Class:TriggerOnAttachmentCreate+' => 'Déclencheur sur la création d\'une pièce jointe d\'un objet',
'Class:TriggerOnAttachmentCreate+' => '',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Ajoute le fichier dans l\'email',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'Si coché, le fichier sera automatiquement attaché à l\'email quand l\'action email est lancée',
'Class:TriggerOnAttachmentDelete' => 'Déclencheur sur la suppression d\'une pièce jointe',
'Class:TriggerOnAttachmentDelete+' => 'Déclencheur sur la suppression d\'une pièce jointe d\'un objet',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Ajoute le fichier supprimé dans l\'email',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete+' => '',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Les Triggers sur les objets ne sont pas autorisés sur la classe Attachement. Veuillez utiliser les triggers spécifiques pour cette classe',
]);

View File

@@ -81,13 +81,11 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
Dict::Add('HU HU', 'Hungarian', 'Magyar', [
'Class:TriggerOnAttachmentDownload' => 'Trigger (on object\'s attachment download)~~',
'Class:TriggerOnAttachmentDownload+' => 'Trigger on object\'s attachment download of [a child class of] the given class~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment creation)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment creation~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment create)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment create~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Add file in email~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'If checked, the file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment deletion)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment deletion~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Add deleted file in email~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment delete)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment delete~~',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Trigger on object is not allowed on class Attachment. Please use specific trigger~~',
]);

View File

@@ -83,13 +83,11 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [
Dict::Add('IT IT', 'Italian', 'Italiano', [
'Class:TriggerOnAttachmentDownload' => 'Trigger (al download di un allegato dell\'oggetto)',
'Class:TriggerOnAttachmentDownload+' => 'Trigger al download di un allegato di un oggetto di [una sottoclasse di] la classe data',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment creation)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment creation~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment create)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment create~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Add file in email~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'If checked, the file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment deletion)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment deletion~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Add deleted file in email~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment delete)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment delete~~',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Trigger on object is not allowed on class Attachment. Please use specific trigger~~',
]);

View File

@@ -83,13 +83,11 @@ Dict::Add('JA JP', 'Japanese', '日本語', [
Dict::Add('JA JP', 'Japanese', '日本語', [
'Class:TriggerOnAttachmentDownload' => 'Trigger (on object\'s attachment download)~~',
'Class:TriggerOnAttachmentDownload+' => 'Trigger on object\'s attachment download of [a child class of] the given class~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment creation)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment creation~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment create)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment create~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Add file in email~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'If checked, the file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment deletion)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment deletion~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Add deleted file in email~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment delete)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment delete~~',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Trigger on object is not allowed on class Attachment. Please use specific trigger~~',
]);

View File

@@ -91,7 +91,5 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'If checked, the file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (Bij het verwijderen van een bijlage)',
'Class:TriggerOnAttachmentDelete+' => 'Trigger bij het verwijderen van een bijlage van een object van de opgegeven klasse (of subklasse ervan)',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Bestand toevoegen in e-mail',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Trigger on object is not allowed on class Attachment. Please use specific trigger~~',
]);

View File

@@ -83,13 +83,11 @@ Dict::Add('PL PL', 'Polish', 'Polski', [
Dict::Add('PL PL', 'Polish', 'Polski', [
'Class:TriggerOnAttachmentDownload' => 'Wyzwalacz (po pobraniu załącznika obiektu)',
'Class:TriggerOnAttachmentDownload+' => 'Wyzwalacz po pobraniu załącznika obiektu [klasy podrzędnej] danej klasy',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment creation)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment creation~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment create)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment create~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Add file in email~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'If checked, the file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment deletion)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment deletion~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Add deleted file in email~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment delete)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment delete~~',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Trigger on object is not allowed on class Attachment. Please use specific trigger~~',
]);

View File

@@ -83,13 +83,11 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
'Class:TriggerOnAttachmentDownload' => 'Trigger (on object\'s attachment download)~~',
'Class:TriggerOnAttachmentDownload+' => 'Trigger on object\'s attachment download of [a child class of] the given class~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment creation)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment creation~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment create)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment create~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Add file in email~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'If checked, the file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment deletion)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment deletion~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Add deleted file in email~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment delete)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment delete~~',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Trigger on object is not allowed on class Attachment. Please use specific trigger~~',
]);

View File

@@ -84,13 +84,11 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:TriggerOnAttachmentDownload' => 'Trigger (on object\'s attachment download)~~',
'Class:TriggerOnAttachmentDownload+' => 'Trigger on object\'s attachment download of [a child class of] the given class~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment creation)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment creation~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment create)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment create~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Add file in email~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'If checked, the file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment deletion)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment deletion~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Add deleted file in email~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment delete)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment delete~~',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Trigger on object is not allowed on class Attachment. Please use specific trigger~~',
]);

View File

@@ -83,13 +83,11 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
'Class:TriggerOnAttachmentDownload' => 'Trigger (on object\'s attachment download)~~',
'Class:TriggerOnAttachmentDownload+' => 'Trigger on object\'s attachment download of [a child class of] the given class~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment creation)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment creation~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment create)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment create~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Add file in email~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'If checked, the file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment deletion)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment deletion~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Add deleted file in email~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment delete)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment delete~~',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Trigger on object is not allowed on class Attachment. Please use specific trigger~~',
]);

View File

@@ -83,13 +83,11 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', [
Dict::Add('TR TR', 'Turkish', 'Türkçe', [
'Class:TriggerOnAttachmentDownload' => 'Trigger (on object\'s attachment download)~~',
'Class:TriggerOnAttachmentDownload+' => 'Trigger on object\'s attachment download of [a child class of] the given class~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment creation)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment creation~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment create)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment create~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Add file in email~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'If checked, the file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment deletion)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment deletion~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Add deleted file in email~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment delete)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment delete~~',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Trigger on object is not allowed on class Attachment. Please use specific trigger~~',
]);

View File

@@ -83,13 +83,11 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:TriggerOnAttachmentDownload' => '触发器 (于对象附件下载时)',
'Class:TriggerOnAttachmentDownload+' => '触发器于指定类型 [子类型] 对象附件下载时',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment creation)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment creation~~',
'Class:TriggerOnAttachmentCreate' => 'Trigger (on object\'s attachment create)~~',
'Class:TriggerOnAttachmentCreate+' => 'Trigger on object\'s attachment create~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email' => 'Add file in email~~',
'Class:TriggerOnAttachmentCreate/Attribute:file_in_email+' => 'If checked, the file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment deletion)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment deletion~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email' => 'Add deleted file in email~~',
'Class:TriggerOnAttachmentDelete/Attribute:file_in_email+' => 'If checked, the deleted file will be automatically attached to the email when an email action is triggered~~',
'Class:TriggerOnAttachmentDelete' => 'Trigger (on object\'s attachment delete)~~',
'Class:TriggerOnAttachmentDelete+' => 'Trigger on object\'s attachment delete~~',
'Class:TriggerOnObject:TriggerClassAttachment/ReadOnlyMessage' => 'Trigger on object is not allowed on class Attachment. Please use specific trigger~~',
]);

View File

@@ -34,11 +34,9 @@ class TriggerOnAttachmentDelete extends TriggerOnObject
];
MetaModel::Init_Params($aParams);
MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeBoolean("file_in_email", ["sql" => 'file_in_email', "is_null_allowed" => false, "default_value" => 'true', "allowed_values" => null, "depends_on" => [], "always_load_in_tables" => false]));
// Display lists
MetaModel::Init_SetZListItems('details', ['description', 'context', 'filter', 'action_list', 'target_class','file_in_email']); // Attributes to be displayed for the complete details
MetaModel::Init_SetZListItems('details', ['description', 'context', 'filter', 'action_list', 'target_class']); // Attributes to be displayed for the complete details
MetaModel::Init_SetZListItems('list', ['finalclass', 'target_class']); // Attributes to be displayed for a list
// Search criteria
MetaModel::Init_SetZListItems('standard_search', ['description', 'target_class']); // Criteria of the std search form

View File

@@ -41,11 +41,6 @@ SetupWebPage::AddModule(
'doc.manual_setup' => '',
'doc.more_information' => '',
// Security
'delegated_authentication_endpoints' => [
'ajax.backup.php',
],
// Default settings
//
'settings' => [

View File

@@ -35,7 +35,7 @@
Dict::Add('EN US', 'English', 'English', [
'Class:lnkFunctionalCIToProviderContract' => 'Link FunctionalCI / ProviderContract',
'Class:lnkFunctionalCIToProviderContract+' => 'This link models the functional CIs that are supported by an external company through a provider contract.',
'Class:lnkFunctionalCIToProviderContract+' => '',
'Class:lnkFunctionalCIToProviderContract/Name' => '%1$s / %2$s',
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_id' => 'Provider contract',
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_id+' => '',
@@ -53,7 +53,7 @@ Dict::Add('EN US', 'English', 'English', [
Dict::Add('EN US', 'English', 'English', [
'Class:lnkFunctionalCIToService' => 'Link FunctionalCI / Service',
'Class:lnkFunctionalCIToService+' => 'This link models the functional CIs that are required to deliver a Service and whose malfunction would affect the quality of the Service.',
'Class:lnkFunctionalCIToService+' => '',
'Class:lnkFunctionalCIToService/Name' => '%1$s / %2$s',
'Class:lnkFunctionalCIToService/Attribute:service_id' => 'Service',
'Class:lnkFunctionalCIToService/Attribute:service_id+' => '',

View File

@@ -12,8 +12,8 @@
*
*/
Dict::Add('FR FR', 'French', 'Français', [
'Class:lnkFunctionalCIToProviderContract' => 'Lien CI fonctionnel / Contrat fournisseur',
'Class:lnkFunctionalCIToProviderContract+' => 'Ce lien modélise les équipments (CI fonctionnel) qui sont supportés par une société externe à travers un Contrat fournisseur.',
'Class:lnkFunctionalCIToProviderContract' => 'Lien CI / Contrat fournisseur',
'Class:lnkFunctionalCIToProviderContract+' => '',
'Class:lnkFunctionalCIToProviderContract/Name' => '%1$s / %2$s',
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_id' => 'Contrat fournisseur',
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_id+' => '',
@@ -30,8 +30,8 @@ Dict::Add('FR FR', 'French', 'Français', [
//
Dict::Add('FR FR', 'French', 'Français', [
'Class:lnkFunctionalCIToService' => 'Lien CI fonctionnel / Service',
'Class:lnkFunctionalCIToService+' => 'Ce lien modélise les équipments (CI fonctionnel) qui sont nécessaires pour délivrer un Service et dont le dysfonctionnement affecterait la qualité du Service en question.',
'Class:lnkFunctionalCIToService' => 'Lien CI / Service',
'Class:lnkFunctionalCIToService+' => '',
'Class:lnkFunctionalCIToService/Name' => '%1$s / %2$s',
'Class:lnkFunctionalCIToService/Attribute:service_id' => 'Service',
'Class:lnkFunctionalCIToService/Attribute:service_id+' => '',

View File

@@ -36,7 +36,7 @@
Dict::Add('EN US', 'English', 'English', [
'Class:lnkFunctionalCIToTicket' => 'Link FunctionalCI / Ticket',
'Class:lnkFunctionalCIToTicket+' => 'This link models the functional CIs that are concerned by a Ticket (such as a User Request, an Incident, a Change, ...)',
'Class:lnkFunctionalCIToTicket+' => '',
'Class:lnkFunctionalCIToTicket/Name' => '%1$s / %2$s',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_id' => 'Ticket',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_id+' => '',

View File

@@ -12,8 +12,8 @@
*
*/
Dict::Add('FR FR', 'French', 'Français', [
'Class:lnkFunctionalCIToTicket' => 'Lien CI fonctionnel / Ticket',
'Class:lnkFunctionalCIToTicket+' => 'Ce lien modélise les équipments (CI fonctionnel) qui sont concernés par un Ticket (comme une Demande utilisateur, un Incident, un Changement,...)',
'Class:lnkFunctionalCIToTicket' => 'Lien CI / Ticket',
'Class:lnkFunctionalCIToTicket+' => '',
'Class:lnkFunctionalCIToTicket/Name' => '%1$s / %2$s',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_id' => 'Ticket',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_id+' => '',

View File

@@ -64,7 +64,7 @@ Dict::Add('EN US', 'English', 'English', [
Dict::Add('EN US', 'English', 'English', [
'Class:Change' => 'Change',
'Class:Change+' => 'Abstract class. A type of Ticket to handle Change which has an effect on delivered Services.',
'Class:Change+' => '',
'Class:Change/Attribute:status' => 'Status',
'Class:Change/Attribute:status+' => '',
'Class:Change/Attribute:status/Value:new' => 'New',
@@ -167,7 +167,7 @@ Dict::Add('EN US', 'English', 'English', [
Dict::Add('EN US', 'English', 'English', [
'Class:RoutineChange' => 'Routine Change',
'Class:RoutineChange+' => 'Standard change with low risk, without the need for additional authorization, and for which a validated procedure exists and must be applied.',
'Class:RoutineChange+' => '',
'Class:RoutineChange/Stimulus:ev_validate' => 'Validate',
'Class:RoutineChange/Stimulus:ev_validate+' => '',
'Class:RoutineChange/Stimulus:ev_reject' => 'Reject',
@@ -197,8 +197,8 @@ Dict::Add('EN US', 'English', 'English', [
//
Dict::Add('EN US', 'English', 'English', [
'Class:ApprovedChange' => 'Change To Approve',
'Class:ApprovedChange+' => 'Abstract class. Normal Change and Emergency Change which requires an approval.',
'Class:ApprovedChange' => 'Approved Changes',
'Class:ApprovedChange+' => '',
'Class:ApprovedChange/Attribute:approval_date' => 'Approval Date',
'Class:ApprovedChange/Attribute:approval_date+' => '',
'Class:ApprovedChange/Attribute:approval_comment' => 'Approval comment',
@@ -233,7 +233,7 @@ Dict::Add('EN US', 'English', 'English', [
Dict::Add('EN US', 'English', 'English', [
'Class:NormalChange' => 'Normal Change',
'Class:NormalChange+' => 'Type of Change',
'Class:NormalChange+' => '',
'Class:NormalChange/Attribute:acceptance_date' => 'Acceptance date',
'Class:NormalChange/Attribute:acceptance_date+' => '',
'Class:NormalChange/Attribute:acceptance_comment' => 'Acceptance comment',
@@ -268,7 +268,7 @@ Dict::Add('EN US', 'English', 'English', [
Dict::Add('EN US', 'English', 'English', [
'Class:EmergencyChange' => 'Emergency Change',
'Class:EmergencyChange+' => 'Change Ticket to manage emergency situations (malfunctions, security). The approval process is accelerated. The Emergency Change is implemented as soon as possible.',
'Class:EmergencyChange+' => '',
'Class:EmergencyChange/Stimulus:ev_validate' => 'Validate',
'Class:EmergencyChange/Stimulus:ev_validate+' => '',
'Class:EmergencyChange/Stimulus:ev_reject' => 'Reject',

View File

@@ -51,8 +51,8 @@ Dict::Add('FR FR', 'French', 'Français', [
//
Dict::Add('FR FR', 'French', 'Français', [
'Class:Change' => 'Ticket de changement',
'Class:Change+' => 'Classe abstraite. Une catégorie de Ticket pour gérer les Changements qui peuvent avoir un effet sur les Services délivrés.',
'Class:Change' => 'Ticket de Changement',
'Class:Change+' => '',
'Class:Change/Attribute:status' => 'Etat',
'Class:Change/Attribute:status+' => '',
'Class:Change/Attribute:status/Value:new' => 'Nouveau',
@@ -178,8 +178,8 @@ Dict::Add('FR FR', 'French', 'Français', [
//
Dict::Add('FR FR', 'French', 'Français', [
'Class:RoutineChange' => 'Changement de routine',
'Class:RoutineChange+' => 'Changement standard à faible risque, sans nécessité d\'autorisation supplémentaire, et pour lequel une procédure validée existe et doit être appliquée.',
'Class:RoutineChange' => 'Changement de Routine',
'Class:RoutineChange+' => '',
'Class:RoutineChange/Stimulus:ev_validate' => 'Valider',
'Class:RoutineChange/Stimulus:ev_validate+' => '',
'Class:RoutineChange/Stimulus:ev_reject' => 'Refuser',
@@ -209,8 +209,8 @@ Dict::Add('FR FR', 'French', 'Français', [
//
Dict::Add('FR FR', 'French', 'Français', [
'Class:ApprovedChange' => 'Changement à approuver',
'Class:ApprovedChange+' => 'Classe abstraite. Changement normal ou Changement urgent qui nécessite une approbation.',
'Class:ApprovedChange' => 'Changement pré-approuvé',
'Class:ApprovedChange+' => '',
'Class:ApprovedChange/Attribute:approval_date' => 'Date d\'approbation',
'Class:ApprovedChange/Attribute:approval_date+' => '',
'Class:ApprovedChange/Attribute:approval_comment' => 'Commentaire sur l\'approbation',
@@ -244,8 +244,8 @@ Dict::Add('FR FR', 'French', 'Français', [
//
Dict::Add('FR FR', 'French', 'Français', [
'Class:NormalChange' => 'Changement normal',
'Class:NormalChange+' => 'Type de Changement. A planifier, à évaluer et à autoriser avant son déploiement. Utilisé pour les changements à risque moyen ou fort, non standardisé et non urgent',
'Class:NormalChange' => 'Changement Normal',
'Class:NormalChange+' => '',
'Class:NormalChange/Attribute:acceptance_date' => 'Date d\'acceptation',
'Class:NormalChange/Attribute:acceptance_date+' => '',
'Class:NormalChange/Attribute:acceptance_comment' => 'Commentaire sur l\'acceptation',
@@ -280,7 +280,7 @@ Dict::Add('FR FR', 'French', 'Français', [
Dict::Add('FR FR', 'French', 'Français', [
'Class:EmergencyChange' => 'Changement urgent',
'Class:EmergencyChange+' => 'Ticket de Changement pour gérer les cas d\'urgence (dysfonctionnement, sécurité). Le processus d\'approbation est accéléré. Le Changement urgent est effectué dès que possible.',
'Class:EmergencyChange+' => '',
'Class:EmergencyChange/Stimulus:ev_validate' => 'Valider',
'Class:EmergencyChange/Stimulus:ev_validate+' => '',
'Class:EmergencyChange/Stimulus:ev_reject' => 'Rejeter',

View File

@@ -185,7 +185,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
//
Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
'Class:ApprovedChange' => 'Change To Approve~~',
'Class:ApprovedChange' => 'Approved Changes~~',
'Class:ApprovedChange+' => '~~',
'Class:ApprovedChange/Attribute:approval_date' => 'Approval Date~~',
'Class:ApprovedChange/Attribute:approval_date+' => '~~',

View File

@@ -64,7 +64,7 @@ Dict::Add('EN US', 'English', 'English', [
Dict::Add('EN US', 'English', 'English', [
'Class:Change' => 'Change',
'Class:Change+' => 'A type of Ticket to handle Change which has an effect on delivered Services.',
'Class:Change+' => '',
'Class:Change/Attribute:status' => 'Status',
'Class:Change/Attribute:status+' => '',
'Class:Change/Attribute:status/Value:new' => 'New',

View File

@@ -51,8 +51,8 @@ Dict::Add('FR FR', 'French', 'Français', [
//
Dict::Add('FR FR', 'French', 'Français', [
'Class:Change' => 'Ticket de changement',
'Class:Change+' => 'Une catégorie de Ticket pour gérer les Changements qui peuvent avoir un effet sur les Services délivrés.',
'Class:Change' => 'Ticket de Changement',
'Class:Change+' => '',
'Class:Change/Attribute:status' => 'Etat',
'Class:Change/Attribute:status+' => '',
'Class:Change/Attribute:status/Value:new' => 'Nouveau',

View File

@@ -1,43 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
id="acer"
x="0px"
y="0px"
width="83"
height="83"
viewBox="0 0 83 83"
xml:space="preserve"
sodipodi:docname="icon-acer.svg"
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:svg="http://www.w3.org/2000/svg"><svg:defs
id="defs1" /><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showguides="true"
inkscape:zoom="10.483071"
inkscape:cx="75.78886"
inkscape:cy="35.676568"
inkscape:window-width="2560"
inkscape:window-height="1360"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="acer"><sodipodi:guide
position="40.307919,41.220214"
orientation="0,-1"
id="guide1"
inkscape:locked="false" /></sodipodi:namedview>
<svg:path
id="acer-logo"
style="fill:#80c343"
d="m 82.85,32.760893 c -0.29,-0.42 -0.62,-0.7 -2.04,-0.81 -0.37,-0.03 -1.6,-0.07 -3.66,-0.07 -5.42,0 -9.1,1.65 -10.98,4.91 0.52,-3.28 -2.67,-4.92 -9.55,-4.92 -8.09,0 -13.14,3.27 -15.15,9.81 -0.74,1.91 -0.82,4.02 -0.23,5.98 l -1.91,0.13 c -1.49,0.11 -3.46,0.22 -4.66,0.22 -2.96,0 -4.8,-0.5 -5.51,-1.5 -0.64,-0.9 -0.57,-2.56 0.17,-4.98 1.23,-4.02 4.29,-5.82 9.18,-5.82 2.53,0 5,0.27 5,0.27 0.3,-0.05 0.51,-0.33 0.46,-0.64 0,-0.01 0,-0.02 -0.01,-0.03 l -0.05,-0.38 -0.17,-1.35 c -0.11,-0.89 -0.77,-1.41 -1.97,-1.57 -1.1,-0.07 -1.91,-0.13 -3.12,-0.13 h -0.07 c -6.39,0.01 -10.84,2.12 -13.36,6.32 0.92,-4.21 -2.04,-6.32 -8.87,-6.32 -2.73,-0.05 -5.46,0.06 -8.18,0.33 -1.03,-0.03 -1.96,0.61 -2.33,1.57 l -0.54,1.73 c -0.1,0.32 0.05,0.48 0.46,0.48 h 0.01 c 0.3,-0.04 1.46,-0.15 3.44,-0.31 2.62,-0.21 4.55,-0.32 5.83,-0.32 3.77,0 5.35,0.95 4.76,2.84 -0.11,0.4 -0.44,0.71 -0.85,0.78 -3.56,0.59 -6.39,1.02 -8.48,1.28 -5.89,0.75 -9.29,2.59 -10.2,5.52 -1.25,4.03 1.89,6.04 9.44,6.04 3.17,0.04 6.34,-0.18 9.48,-0.65 1.47,-0.25 2.22,-0.63 2.51,-1.58 l 1.41,-4.49 c -0.15,4.49 2.99,6.75 9.41,6.75 2.23,0.04 4.45,-0.06 6.66,-0.31 1.32,-0.23 1.95,-0.52 2.24,-1.51 l 0.28,-1.41 c 1.37,2.14 4.37,3.21 9.01,3.21 4.89,0 7.74,-0.14 8.55,-0.41 0.57,-0.12 1.04,-0.52 1.25,-1.06 0.03,-0.09 0.05,-0.19 0.06,-0.28 l 0.59,-1.91 c 0.1,-0.33 -0.05,-0.49 -0.45,-0.48 l -3.13,0.15 c -2.09,0.12 -3.72,0.18 -4.9,0.17 -1.54,0.08 -3.08,-0.07 -4.58,-0.46 -1.2,-0.41 -1.94,-1.61 -1.77,-2.86 l 9.91,-1.27 c 4.44,-0.57 7.42,-1.94 8.92,-4.12 l -3.37,11.73 c -0.07,0.18 -0.04,0.38 0.07,0.53 0.18,0.17 0.41,0.25 0.65,0.22 h 4.1 c 0.47,0.07 0.93,-0.22 1.06,-0.68 l 3.62,-12.67 c 0.48,-1.67 2,-2.48 4.67,-2.48 2.41,0 4.22,0.02 5.38,0.07 0.03,0 0.06,0 0.09,0 0.39,0 0.74,-0.26 0.84,-0.63 l 0.63,-1.74 c 0.15,-0.3 0.12,-0.63 -0.05,-0.89 m -66.12,15.24 c -1.83,0.23 -3.68,0.33 -5.52,0.3 -4.17,0 -5.99,-0.84 -5.46,-2.53 0.38,-1.21 1.47,-1.94 3.28,-2.19 l 9.48,-1.28 z m 43.83,-10.27 c -0.4,1.3 -2.25,2.19 -5.56,2.67 l -7.9,1.13 0.2,-0.65 c 0.39,-1.74 1.37,-3.28 2.79,-4.37 1.2,-0.77 3.15,-1.16 5.86,-1.16 3.56,0 5.1,0.8 4.61,2.38" />
</svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -1,124 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="108"
height="108"
viewBox="0 0 108 108"
role="img"
version="1.1"
id="svg11"
sodipodi:docname="icon-cisco.svg"
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
id="namedview11"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showguides="true"
inkscape:zoom="6.8229602"
inkscape:cx="48.879078"
inkscape:cy="51.737075"
inkscape:window-width="2560"
inkscape:window-height="1360"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg11">
<sodipodi:guide
position="16.939587,53.376303"
orientation="0,-1"
id="guide11"
inkscape:locked="false" />
</sodipodi:namedview>
<title
id="fw-c-header__logo-title">Cisco.com France</title>
<defs
id="defs1">
<path
d="m 0,22.769 a 2.348,2.348 0 0 0 3.935,1.545 c 0.434,-0.403 0.7,-0.955 0.744,-1.545 v -5.2 a 2.34,2.34 0 0 0 -4.679,0 v 5.2"
id="bar_short"
class="bar" />
<path
d="m 12.95,22.769 a 2.349,2.349 0 0 0 2.34,2.171 2.346,2.346 0 0 0 2.339,-2.171 V 11.112 a 2.341,2.341 0 0 0 -4.679,0 V 22.77"
id="bar_tall"
class="bar" />
<path
d="m 25.832,27.464 a 2.345,2.345 0 0 0 4.678,0 V 2.249 a 2.342,2.342 0 0 0 -4.678,0 v 25.215"
id="bar_grande"
class="bar" />
<path
d="m 24.026,56.277 v -5.002 l -0.098,0.043 a 9.253,9.253 0 0 1 -3.605,0.915 5.303,5.303 0 0 1 -3.63,-1.07 4.644,4.644 0 0 1 -1.58,-2.244 5.395,5.395 0 0 1 -0.106,-3 4.6,4.6 0 0 1 1.609,-2.566 4.823,4.823 0 0 1 2.528,-1.09 8.332,8.332 0 0 1 4.774,0.895 l 0.108,0.056 v -5.03 l -0.228,-0.061 a 12.78,12.78 0 0 0 -4.552,-0.596 10.534,10.534 0 0 0 -4.065,0.93 9.29,9.29 0 0 0 -3.329,2.572 10.014,10.014 0 0 0 -0.182,12.18 9.546,9.546 0 0 0 5.292,3.403 c 2.211,0.538 4.528,0.456 6.697,-0.234 l 0.367,-0.101"
id="cisco_c" />
</defs>
<g
fill="#02c8ff"
fill-rule="evenodd"
id="g11"
transform="translate(-0.09466859,26.234946)">
<use
href="#cisco_c"
id="use1" />
<use
href="#cisco_c"
x="49.5"
id="use2" />
<path
d="m 41.69,52.125 -0.019,4.308 0.315,0.054 c 0.989,0.185 1.987,0.313 2.99,0.385 a 18.1,18.1 0 0 0 2.642,0.051 c 0.842,-0.06 1.675,-0.218 2.48,-0.468 a 6.862,6.862 0 0 0 2.573,-1.371 5.19,5.19 0 0 0 1.498,-2.148 5.912,5.912 0 0 0 -0.03,-4.324 4.852,4.852 0 0 0 -1.343,-1.862 5.568,5.568 0 0 0 -1.97,-1.147 l -3.25,-1.206 a 1.742,1.742 0 0 1 -0.887,-0.845 1.107,1.107 0 0 1 0.036,-0.986 1.29,1.29 0 0 1 0.217,-0.291 1.75,1.75 0 0 1 0.48,-0.347 c 0.363,-0.18 0.755,-0.293 1.158,-0.337 a 6.76,6.76 0 0 1 2.072,0.022 c 0.81,0.088 1.613,0.231 2.402,0.43 l 0.168,0.037 v -3.974 l -0.31,-0.067 a 21.14,21.14 0 0 0 -2.444,-0.435 12.545,12.545 0 0 0 -3.213,-0.014 6.945,6.945 0 0 0 -3.699,1.488 4.908,4.908 0 0 0 -1.58,2.178 5.984,5.984 0 0 0 -0.003,4.05 c 0.242,0.65 0.63,1.237 1.136,1.714 0.437,0.422 0.932,0.78 1.47,1.065 0.708,0.38 1.458,0.675 2.235,0.878 0.257,0.077 0.512,0.158 0.766,0.243 l 0.385,0.141 0.11,0.045 c 0.38,0.136 0.726,0.35 1.018,0.628 0.202,0.19 0.358,0.423 0.455,0.683 0.06,0.237 0.061,0.485 0.003,0.723 a 1.536,1.536 0 0 1 -0.744,0.892 3.691,3.691 0 0 1 -1.239,0.387 9,9 0 0 1 -1.92,0.097 21.973,21.973 0 0 1 -2.507,-0.334 c -0.433,-0.09 -0.864,-0.19 -1.291,-0.303 z m -11.144,4.482 h 4.73 V 37.846 h -4.73 z M 85.305,43.386 a 4.934,4.934 0 1 1 6.157,7.711 4.934,4.934 0 0 1 -6.157,-7.71 m -6.867,3.848 a 9.87,9.87 0 0 0 12.002,9.485 9.629,9.629 0 0 0 3.157,-17.729 9.934,9.934 0 0 0 -15.16,8.244"
id="path2" />
<use
href="#bar_short"
x="0"
id="use3" />
<use
href="#bar_tall"
x="0"
id="use4" />
<use
href="#bar_grande"
x="0"
id="use5" />
<use
href="#bar_tall"
x="25.875"
id="use6" />
<use
href="#bar_short"
x="51.75"
id="use7" />
<use
href="#bar_tall"
x="51.75"
id="use8" />
<use
href="#bar_grande"
x="51.75"
id="use9" />
<use
href="#bar_tall"
x="77.625"
id="use10" />
<use
href="#bar_short"
x="103.375"
id="use11" />
</g>
<metadata
id="metadata11">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:title>Cisco.com France</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

Before

Width:  |  Height:  |  Size: 4.9 KiB

View File

@@ -1,56 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 29.5.1, SVG Export Plug-In . SVG Version: 9.03 Build 0) -->
<svg
version="1.0"
id="katman_1"
x="0px"
y="0px"
viewBox="0 0 630 630"
xml:space="preserve"
sodipodi:docname="icon-hpe.svg"
width="630"
height="630"
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs2" /><sodipodi:namedview
id="namedview2"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showguides="true"
inkscape:zoom="0.6905515"
inkscape:cx="-217.94175"
inkscape:cy="275.1424"
inkscape:window-width="2560"
inkscape:window-height="1360"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="katman_1"><sodipodi:guide
position="197.66244,314.48848"
orientation="0,-1"
id="guide2"
inkscape:locked="false" /></sodipodi:namedview>
<style
type="text/css"
id="style1">
.st0{fill:none;stroke:#000000;stroke-width:36;}
.st1{fill:none;stroke:#03A883;stroke-width:36;}
</style>
<path
class="st0"
d="m 18.511987,405.93012 v -180 m 154.000003,180 v -180 m -154.000003,89 H 155.51199 m 95,91 v -180 m 0,18 h 102 c 27.6,0 50,22.4 50,50 0,27.6 -22.4,50 -50,50 h -102 m 222,-67 v -33 h 158"
id="path1" />
<path
class="st1"
d="m 630.51199,387.93012 h -158 v -76 h 158"
id="path2" />
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,56 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 231 231"
preserveAspectRatio="xMinYMid"
version="1.1"
id="svg4"
xml:space="preserve"
width="231"
height="231"
sodipodi:docname="icon-oracle-linux.svg"
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showguides="true"
inkscape:zoom="7.5332891"
inkscape:cx="107.05815"
inkscape:cy="90.796993"
inkscape:window-width="2560"
inkscape:window-height="1360"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"><sodipodi:guide
position="41.763589,115.468"
orientation="0,-1"
id="guide1"
inkscape:locked="false" /></sodipodi:namedview><defs
id="defs8"><rect
x="-138.24641"
y="81.567238"
width="382.3674"
height="240.21156"
id="rect495" /><rect
x="-17.612623"
y="104.35898"
width="171.05238"
height="197.31444"
id="rect291" /></defs><g
id="g1407"
transform="translate(0.61321542,76.835533)"><path
d="m 99.59,19.52 h 15.24 L 106.78,6.52 91.98,30 h -6.73 l 18,-28.17 a 4.29,4.29 0 0 1 7,-0.05 L 128.3,30 h -6.73 l -3.17,-5.25 h -15.42 l -3.36,-5.23 m 69.93,5.23 V 0.28 h -5.72 v 26.88 a 2.76,2.76 0 0 0 0.85,2 2.89,2.89 0 0 0 2.08,0.87 h 26 l 3.39,-5.25 h -26.63 m -94.54,-4.4 a 10.05,10.05 0 0 0 0,-20.1 h -25 V 30 h 5.71 V 5.54 h 18.94 a 4.81,4.81 0 0 1 0,9.62 H 58.52 L 75.58,30 h 8.29 L 72.41,20.38 h 2.57 M 14.86,30 h 17.27 a 14.86,14.86 0 0 0 0,-29.71 H 14.86 a 14.86,14.86 0 1 0 0,29.71 m 16.88,-5.23 h -16.5 a 9.62,9.62 0 0 1 0,-19.23 h 16.5 a 9.62,9.62 0 1 1 0,19.23 M 140.23,30 h 17.63 l 3.34,-5.23 h -20.58 a 9.62,9.62 0 1 1 0,-19.23 h 16.75 l 3.38,-5.25 h -20.52 a 14.86,14.86 0 1 0 0,29.71 m 69.87,-5.23 a 9.62,9.62 0 0 1 -9.26,-7 h 24.42 l 3.36,-5.24 h -27.78 a 9.61,9.61 0 0 1 9.26,-7 h 16.76 l 3.35,-5.25 h -20.5 a 14.86,14.86 0 0 0 0,29.71 h 17.63 l 3.35,-5.23 h -20.6"
style="fill:#c74634"
id="path2" /><path
id="rect749"
style="fill:#c74634;fill-opacity:1;stroke-width:5.2519;stroke-linecap:square;paint-order:stroke fill markers"
d="m 25.391517,47.930871 h 4.980863 v 3.830025 h -4.980863 z m 61.5008,18.557061 -7.24,-10.240002 h 4.96 l 4.64,7.080002 h 0.24 l 4.76,-7.080002 h 4.72 l -7.28,10.160002 7.64,10.88 h -4.96 l -5.08,-7.72 h -0.24 l -5.12,7.72 h -4.72 z m -21.599998,11.28 q -6.68,0 -6.68,-7.24 V 56.24793 h 4.12 v 13.760002 q 0,2.36 1.04,3.32 1.08,0.92 3.12,0.92 1.4,0 2.6,-0.68 1.2,-0.72 1.88,-2 0.72,-1.28 0.72,-2.96 V 56.24793 h 4.12 v 21.040002 h -3.32 l -0.4,-2.8 h -0.28 q -1.16,1.6 -2.92,2.44 -1.76,0.84 -4,0.84 z M 35.81232,56.24793 h 3.320001 l 0.4,2.800002 h 0.28 q 1.12,-1.600002 2.88,-2.440002 1.8,-0.84 4.04,-0.84 6.68,0 6.68,7.240002 v 14.28 h -4.12 v -13.76 q 0,-2.36 -1.08,-3.28 -1.04,-0.96 -3.08,-0.96 -1.4,0 -2.6,0.72 -1.2,0.68 -1.92,1.96 -0.68,1.28 -0.68,2.96 v 12.36 H 35.81232 Z M 3.61239,47.930871 h 4.44 v 25.517061 h 14.28 v 3.84 h -18.72 z M 26.256768,59.46395 V 77.287932 H 30.37238 V 56.275464 h -6.387612 v 1.825681 z" /></g></svg>

Before

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -1,52 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 1280 1280"
version="1.1"
id="svg1"
sodipodi:docname="icon-sony.svg"
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
width="1280"
height="1280"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.63418639"
inkscape:cx="-462.79769"
inkscape:cy="225.48576"
inkscape:window-width="2560"
inkscape:window-height="1360"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g4"
showguides="true">
<sodipodi:guide
position="173.37108,641.89024"
orientation="0,-1"
id="guide1"
inkscape:locked="false" />
</sodipodi:namedview>
<svg:defs
id="defs1" />
<svg:g
id="Layer_2">
<svg:g
id="g4"
inkscape:label="logo">
<svg:path
d="m 456.0129,751.74687 c -46.41279,0 -89.42079,-13.82399 -118.09279,-39.60319 a 96.895989,96.895989 0 0 1 -32.12799,-73.19039 98.329588,98.329588 0 0 1 32.12799,-72.9344 c 26.624,-24.19199 73.728,-39.55199 118.09279,-39.55199 49.07519,0 88.37119,12.3648 118.39999,39.60319 a 97.407989,97.407989 0 0 1 31.69279,72.8832 101.52959,101.52959 0 0 1 -31.69279,73.19039 c -27.9808,25.9328 -71.9104,39.60319 -118.39999,39.60319 v -29.64479 c 24.6016,0 47.43679,-8.4992 63.38559,-24.3712 15.9488,-15.872 23.1936,-35.1232 23.1936,-58.87999 0,-22.6816 -7.9616,-43.8784 -23.1936,-58.88 -15.744,-15.48799 -39.11679,-24.21759 -63.38559,-24.21759 -24.2688,0 -47.74399,8.6528 -63.48799,24.21759 -15.1808,15.0272 -23.04,36.3008 -23.04,58.88 a 82.35519,82.35519 0 0 0 23.04,58.87999 c 15.744,15.6928 39.06559,24.3712 63.48799,24.3712 z M 117.12014,526.4669 c -24.806392,0 -52.991989,4.6592 -76.799986,15.36 C 18.099355,551.7597 1.575e-4,567.70849 1.575e-4,594.15329 a 54.220794,54.220794 0 0 0 14.7199985,37.2736 c 6.425599,5.9392 16.793599,16.0256 43.878396,21.9648 12.108798,2.55999 37.990395,6.68159 63.769588,9.39519 25.7792,2.7136 50.7648,5.12 61.0048,7.8592 8.1408,2.0736 21.83679,4.8896 21.83679,20.2496 0,15.36 -14.41279,19.968 -16.92159,20.9664 -2.5088,0.9984 -19.8144,8.9344 -50.8928,8.9344 a 216.42237,216.42237 0 0 1 -60.59519,-10.4192 c -11.596799,-4.1472 -23.756797,-9.6 -35.097596,-23.4496 a 40.268795,40.268795 0 0 1 -7.295999,-22.2208 H 6.2465567 v 78.84799 H 37.529754 v -10.67519 a 4.4543995,4.4543995 0 0 1 6.7584,-3.84 246.42557,246.42557 0 0 0 45.772794,14.79679 c 16.435202,3.4304 27.059192,5.9136 47.487992,5.9136 a 202.62398,202.62398 0 0 0 63.6416,-8.9856 111.07839,111.07839 0 0 0 37.81119,-18.66239 51.814394,51.814394 0 0 0 20.24959,-41.4976 58.060793,58.060793 0 0 0 -16.35839,-40.80639 72.012792,72.012792 0 0 0 -20.1728,-13.7984 148.60798,148.60798 0 0 0 -24.88319,-8.6784 c -16.2304,-3.968 -52.6848,-8.9344 -70.1184,-10.6752 -18.27839,-1.8944 -49.99679,-4.5312 -62.668789,-8.448 -3.839999,-1.2032 -11.673599,-4.9152 -11.673599,-14.0032 0,-6.4768 3.584,-11.9552 10.649599,-16.384 C 75.26415,560.7709 97.945747,556.3933 121.60014,556.3933 a 166.98878,166.98878 0 0 1 66.7136,13.03039 72.857591,72.857591 0 0 1 15.87199,9.472 47.718394,47.718394 0 0 1 15.6416,26.1632 h 25.2672 V 536.4253 h -28.16 v 7.9616 c 0,2.56 -2.56,5.9392 -7.68,3.1488 -12.69759,-6.6048 -48.38399,-20.8896 -92.13439,-21.0688 z m 618.21433,12.5952 137.62558,124.18558 -1.408,-83.60959 c -0.1536,-10.9824 -2.1504,-15.56479 -14.0288,-15.56479 h -25.85599 v -25.0112 h 117.75998 v 25.0112 h -25.26719 c -12.0832,0 -12.8,3.89119 -13.0048,15.56479 l 2.1248,159.76959 h -40.32 L 714.41927,597.94209 v 100.37759 c 0.128,10.9312 0.64,16.0768 11.8784,16.0768 h 28.16 v 25.0112 H 639.02728 v -25.0112 h 27.0336 c 10.08639,0 9.67679,-9.6256 9.67679,-16.64 V 580.58529 c 0,-7.68 -1.0752,-16.48639 -16.89599,-16.48639 h -21.9136 V 539.0621 Z M 1083.776,714.34528 a 55.859193,55.859193 0 0 0 6.9632,-0.4352 8.627199,8.627199 0 0 0 5.4272,-4.8128 28.006397,28.006397 0 0 0 0.5376,-5.4016 v -39.552 c 0,-1.3312 0,-1.3568 -1.6896,-3.456 -1.6896,-2.0992 -72.0896,-81.91999 -75.2896,-85.50399 -3.9936,-4.352 -11.008,-11.08479 -21.6832,-11.08479 h -24.44796 v -25.0368 h 137.98396 v 24.9856 h -16.64 c -3.84,0 -6.4,3.66079 -3.1232,7.67999 0,0 46.4384,55.552 46.8736,56.1408 0.4352,0.5888 0.8192,0.7168 1.408,0.1792 0.5888,-0.5376 47.5904,-55.808 47.9488,-56.32 a 4.7871994,4.7871994 0 0 0 -4.096,-7.67999 h -17.0752 V 539.0621 H 1280 v 25.0368 h -25.2672 c -9.1648,0 -12.8,1.68959 -19.7888,9.47199 l -76.16,86.88639 a 5.3759994,5.3759994 0 0 0 -0.9216,3.6864 v 39.5264 a 28.159997,28.159997 0 0 0 0.5632,5.4016 8.524799,8.524799 0 0 0 5.4016,4.8128 50.611194,50.611194 0 0 0 6.912,0.4352 h 25.8304 v 25.0368 h -137.2672 v -25.0368 z"
id="path1"
fill="#000000"
style="stroke-width:2.56" />
</svg:g>
</svg:g>
</svg>

Before

Width:  |  Height:  |  Size: 5.1 KiB

View File

@@ -1,281 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 96 96"
width="96"
height="96"
version="1.1"
id="svg25"
sodipodi:docname="icons8-acess-point-3.svg"
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs25" />
<sodipodi:namedview
id="namedview25"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showguides="true"
inkscape:zoom="2.0255663"
inkscape:cx="-53.071578"
inkscape:cy="-106.14316"
inkscape:window-width="2560"
inkscape:window-height="1360"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg25">
<sodipodi:guide
position="-127.86548,48.359002"
orientation="0,-1"
id="guide25"
inkscape:locked="false" />
<sodipodi:guide
position="47.76442,140.92571"
orientation="1,0"
id="guide26"
inkscape:locked="false" />
<sodipodi:guide
position="44.611364,71.852727"
orientation="1,0"
id="guide27"
inkscape:locked="false" />
</sodipodi:namedview>
<linearGradient
id="sQy7OvPXH0t2mKfqk7XuXa"
x1="34.117001"
x2="33.909"
y1="30.451"
y2="11.826"
gradientTransform="matrix(2.2111455,0,0,-2.2111455,-5.0805451,101.8257)"
gradientUnits="userSpaceOnUse">
<stop
offset="0"
stop-color="#737b80"
id="stop1" />
<stop
offset=".714"
stop-color="#737b80"
id="stop2" />
<stop
offset=".756"
stop-color="#737b80"
id="stop3" />
<stop
offset=".863"
stop-color="#656c71"
id="stop4" />
<stop
offset="1"
stop-color="#575c61"
id="stop5" />
</linearGradient>
<path
fill="url(#sQy7OvPXH0t2mKfqk7XuXa)"
d="m 63.464964,82.168622 c -0.210059,0 -0.42454,-0.03096 -0.636811,-0.09287 -1.169694,-0.351572 -1.83525,-1.58318 -1.483677,-2.752875 L 74.611348,35.09997 c 0.351573,-1.169696 1.585392,-1.835252 2.752877,-1.483679 1.169696,0.351571 1.83525,1.583179 1.483677,2.752876 L 65.581031,80.592076 c -0.285238,0.959638 -1.163063,1.576547 -2.116067,1.576546 z"
id="path5"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXa);stroke-width:2.21115" />
<linearGradient
id="sQy7OvPXH0t2mKfqk7XuXb"
x1="14.121"
x2="13.913"
y1="30.719"
y2="12.094"
gradientTransform="matrix(2.2111455,0,0,-2.2111455,-5.0805451,101.8257)"
gradientUnits="userSpaceOnUse">
<stop
offset="0"
stop-color="#737b80"
id="stop6" />
<stop
offset=".773"
stop-color="#737b80"
id="stop7" />
<stop
offset="1"
stop-color="#575c61"
id="stop8" />
</linearGradient>
<path
fill="url(#sQy7OvPXH0t2mKfqk7XuXb)"
d="m 32.508927,82.168622 c -0.950793,0 -1.828617,-0.619122 -2.118278,-1.576548 L 17.123777,36.369165 c -0.351573,-1.169696 0.313983,-2.401304 1.483679,-2.752876 1.167483,-0.344938 2.401305,0.313984 2.752875,1.483679 l 13.266874,44.22291 c 0.351572,1.169696 -0.313982,2.401304 -1.483679,2.752875 -0.21227,0.06191 -0.42454,0.09287 -0.634599,0.09287 z"
id="path8"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXb);stroke-width:2.21115" />
<linearGradient
id="sQy7OvPXH0t2mKfqk7XuXc"
x1="24"
x2="24"
y1="14.614"
y2="-2.0710001"
gradientTransform="matrix(2.2111455,0,0,-2.2111455,-5.0805451,101.8257)"
gradientUnits="userSpaceOnUse">
<stop
offset="0"
stop-color="#899198"
id="stop9" />
<stop
offset="1"
stop-color="#787e85"
id="stop10" />
</linearGradient>
<path
fill="url(#sQy7OvPXH0t2mKfqk7XuXc)"
d="M 85.576419,88.802058 H 10.397473 c -2.4433136,0 -4.4222888,-1.978974 -4.4222888,-4.42229 V 68.901749 c 0,-2.443315 1.9789752,-4.422291 4.4222888,-4.422291 h 75.178946 c 2.443316,0 4.422291,1.978976 4.422291,4.422291 v 15.478019 c 0,2.443316 -1.978975,4.42229 -4.422291,4.42229 z"
id="path10"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXc);stroke-width:2.21115" />
<rect
width="75.178947"
height="15.478019"
x="10.397472"
y="68.901749"
fill="#737b80"
id="rect10"
style="stroke-width:2.21115" />
<radialGradient
id="sQy7OvPXH0t2mKfqk7XuXd"
cx="36.5"
cy="11.39"
r="2.5"
gradientTransform="matrix(2.2111455,0,0,-2.2111455,-5.0805451,101.8257)"
gradientUnits="userSpaceOnUse">
<stop
offset=".582"
stop-opacity=".2"
id="stop11" />
<stop
offset="1"
stop-opacity="0"
id="stop12" />
</radialGradient>
<circle
cx="75.626282"
cy="76.640755"
r="5.5278635"
fill="url(#sQy7OvPXH0t2mKfqk7XuXd)"
id="circle12"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXd);stroke-width:2.21115" />
<radialGradient
id="sQy7OvPXH0t2mKfqk7XuXe"
cx="30.5"
cy="11.39"
r="2.5"
gradientTransform="matrix(2.2111455,0,0,-2.2111455,-5.0805451,101.8257)"
gradientUnits="userSpaceOnUse">
<stop
offset=".582"
stop-opacity=".2"
id="stop13" />
<stop
offset="1"
stop-opacity="0"
id="stop14" />
</radialGradient>
<circle
cx="62.359394"
cy="76.640755"
r="5.5278635"
fill="url(#sQy7OvPXH0t2mKfqk7XuXe)"
id="circle14"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXe);stroke-width:2.21115" />
<radialGradient
id="sQy7OvPXH0t2mKfqk7XuXf"
cx="24.5"
cy="11.39"
r="2.5"
gradientTransform="matrix(2.2111455,0,0,-2.2111455,-5.0805451,101.8257)"
gradientUnits="userSpaceOnUse">
<stop
offset=".582"
stop-opacity=".2"
id="stop15" />
<stop
offset="1"
stop-opacity="0"
id="stop16" />
</radialGradient>
<circle
cx="49.092525"
cy="76.640755"
r="5.5278635"
fill="url(#sQy7OvPXH0t2mKfqk7XuXf)"
id="circle16"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXf);stroke-width:2.21115" />
<radialGradient
id="sQy7OvPXH0t2mKfqk7XuXg"
cx="11.5"
cy="11.39"
r="2.5"
gradientTransform="matrix(2.2111455,0,0,-2.2111455,-5.0805451,101.8257)"
gradientUnits="userSpaceOnUse">
<stop
offset=".582"
stop-opacity=".2"
id="stop17" />
<stop
offset="1"
stop-opacity="0"
id="stop18" />
</radialGradient>
<circle
cx="20.347635"
cy="76.640755"
r="5.5278635"
fill="url(#sQy7OvPXH0t2mKfqk7XuXg)"
id="circle18"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXg);stroke-width:2.21115" />
<circle
cx="75.626282"
cy="76.640755"
r="3.3167181"
fill="#50e6ff"
id="circle19"
style="stroke-width:2.21115" />
<circle
cx="62.359394"
cy="76.640755"
r="3.3167181"
fill="#50e6ff"
id="circle20"
style="stroke-width:2.21115" />
<circle
cx="49.092525"
cy="76.640755"
r="3.3167181"
fill="#50e6ff"
id="circle21"
style="stroke-width:2.21115" />
<circle
cx="20.347635"
cy="76.640755"
r="3.3167181"
fill="#50e6ff"
id="circle22"
style="stroke-width:2.21115" />
<path
fill="#0078d4"
d="M 76.06186,21.738016 71.411821,26.423432 47.942723,17.974646 24.495735,26.403533 19.894342,21.766761 C 19.049684,20.913259 19.012095,19.504758 19.863382,18.65789 27.279564,11.290354 37.453044,6.9542994 47.942718,6.9476659 c 10.421129,-0.011054 20.76929,4.3272091 28.154515,11.6881131 0.849081,0.844657 0.809281,2.250946 -0.03538,3.102237 z"
id="path22"
style="stroke-width:2.21115" />
<path
fill="#199be2"
d="m 71.414032,26.425643 -0.455497,0.442231 -5.757821,5.757823 -17.253569,-5.819736 -17.233669,5.797623 -5.757823,-5.73571 -0.455494,-0.464341 c 5.779935,-6.507401 14.146909,-10.6334 23.446986,-10.6334 9.319978,0 17.684742,4.123788 23.466887,10.65551 z"
id="path23"
style="stroke-width:2.21115" />
<path
fill="#35c1f1"
d="m 65.198502,32.623485 -0.999438,0.992804 -5.216091,5.207248 -11.04025,-3.192894 -11.018139,3.192894 -5.216092,-5.207248 -0.999437,-1.014916 c 4.194543,-4.897687 10.36585,-8.008769 17.233668,-8.008769 6.889929,0.0023 13.061235,3.111082 17.255779,8.030881 z"
id="path24"
style="stroke-width:2.21115" />
<path
fill="#50e6ff"
d="m 58.982973,38.823537 -1.629615,1.631826 -7.862833,7.907056 c -0.844658,0.85129 -2.208935,0.85129 -3.055803,0.0045 l -7.902635,-7.911521 -1.607503,-1.631824 c 2.587041,-3.287976 6.56268,-5.40404 11.018139,-5.40404 4.477569,-0.0023 8.453208,2.116064 11.04025,5.40404 z"
id="path25"
style="stroke-width:2.21115" />
</svg>

Before

Width:  |  Height:  |  Size: 8.8 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0,0,256,256" width="48px" height="48px" fill-rule="nonzero"><g fill="#0088cc" fill-rule="nonzero" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" font-family="none" font-weight="none" font-size="none" text-anchor="none" style="mix-blend-mode: normal"><g transform="scale(5.33333,5.33333)"><path d="M28.465,38.611c0.419,-1.105 0.664,-2.365 0.664,-3.714c0,-4.133 -2.211,-7.494 -4.929,-7.494c-2.741,0 -4.951,3.361 -4.951,7.494c0,1.326 0.221,2.586 0.641,3.669c-9.041,0.951 -15.407,4.731 -17.993,6.432c4.355,-6.278 8.909,-13.638 13.262,-22.105c1.083,-2.101 2.101,-4.178 3.05,-6.211c0.375,0.243 0.751,0.509 1.171,0.775c1.945,1.215 3.759,1.879 5.084,2.233c-0.973,-0.73 -2.033,-1.613 -3.116,-2.697c-0.817,-0.817 -1.547,-1.637 -2.167,-2.433c1.835,-4.022 3.427,-7.891 4.819,-11.56c2.32,6.144 5.217,12.842 8.841,19.893c2.343,4.531 4.731,8.754 7.117,12.644c-0.685,-0.375 -1.437,-0.73 -2.233,-1.039c-1.371,-0.53 -2.652,-0.862 -3.759,-1.06c1.503,0.751 3.25,1.747 5.084,3.073c1.194,0.885 2.254,1.769 3.161,2.631c0.021,0.021 0.021,0.021 0.045,0.045c1.26,2.056 2.565,3.957 3.846,5.813c-2.541,-1.681 -8.796,-5.395 -17.637,-6.389z"></path></g></g></svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -1,123 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0,0,256,256"
width="64px"
height="64px"
fill-rule="nonzero"
version="1.1"
id="svg13"
sodipodi:docname="icons8-asus (1).svg"
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview13"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="17.1875"
inkscape:cx="31.970909"
inkscape:cy="32"
inkscape:window-width="2560"
inkscape:window-height="1360"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g13" />
<defs
id="defs10">
<radialGradient
cx="34.625"
cy="31.875"
r="23.206"
gradientUnits="userSpaceOnUse"
id="color-1">
<stop
offset="0"
stop-color="#f4e9c3"
id="stop1" />
<stop
offset="0.219"
stop-color="#f8eecd"
id="stop2" />
<stop
offset="0.644"
stop-color="#fdf4dc"
id="stop3" />
<stop
offset="1"
stop-color="#fff6e1"
id="stop4" />
</radialGradient>
<linearGradient
x1="0.365"
y1="32.5"
x2="64"
y2="32.5"
gradientUnits="userSpaceOnUse"
id="color-2">
<stop
offset="0.053"
stop-color="#000000"
id="stop5" />
<stop
offset="1"
stop-color="#000000"
id="stop6" />
</linearGradient>
<radialGradient
cx="34.625"
cy="31.875"
r="23.206"
gradientUnits="userSpaceOnUse"
id="color-3">
<stop
offset="0"
stop-color="#f4e9c3"
id="stop7" />
<stop
offset="0.219"
stop-color="#f8eecd"
id="stop8" />
<stop
offset="0.644"
stop-color="#fdf4dc"
id="stop9" />
<stop
offset="1"
stop-color="#fff6e1"
id="stop10" />
</radialGradient>
</defs>
<g
fill="none"
fill-rule="nonzero"
stroke="none"
stroke-width="1"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke-miterlimit="10"
stroke-dasharray=""
stroke-dashoffset="0"
font-family="none"
font-weight="none"
font-size="none"
text-anchor="none"
style="mix-blend-mode: normal"
id="g13">
<g
transform="scale(4,4)"
id="g12">
<path
d="M6.156,29.243l-5.723,9.919c-0.192,0.333 0.048,0.75 0.433,0.75h2.764c0.356,0 0.686,-0.19 0.865,-0.498l5.629,-9.701zM6.299,29.005c0,0 0.815,-1.486 1.625,-2.92c0.354,-0.628 1.019,-1.014 1.74,-1.014c1.408,0.001 3.757,0.003 5.086,0.004c0.552,0 0.995,0.448 0.995,1.001v2.61c0,0 0.323,-1.386 0.891,-2.043c0.534,-0.619 1.246,-1.478 2.872,-1.592h10.963c0.552,0 1,0.448 1,1v1.955c0,0.552 -0.448,1 -1,1zM64,28.008v-1.958c0,-0.552 -0.448,-1 -1,-1h-11.8c-1.622,0.114 -2.337,0.972 -2.872,1.592c-0.569,0.657 -0.89,2.043 -0.89,2.043v0.318l15.562,0.005c0.552,0 1,-0.448 1,-1zM33.095,25.07h1.578c0.552,0 1,0.448 1,1v2.935h-3.578v-2.935c0,-0.552 0.448,-1 1,-1zM44.839,25.07h1.574c0.552,0 1,0.448 1,1v2.935h-3.574v-2.935c0,-0.552 0.447,-1 1,-1zM47.413,30.425l-3.514,-0.233v4.566c0,0 -0.01,1.314 -1.158,1.314c-1.138,0 -6.039,0 -6.039,0c0,0 -1.023,-0.093 -1.023,-1.303c0,-1.207 0,-5.196 0,-5.196l-3.549,-0.285v7.001c0.574,3.359 3.311,3.617 3.311,3.617c0,0 0.278,0.022 0.324,0.026h8.156c0,0 3.491,-0.311 3.491,-4.023c0.001,-3.713 0.001,-5.484 0.001,-5.484zM13.111,39.914h15.73c2.914,-0.647 3.218,-3.577 3.218,-3.577c0.136,-0.871 0.057,-1.574 0.057,-1.574c-0.088,-0.588 -1.094,-3.178 -3.281,-3.405c-1.304,-0.134 -12.91,-1.155 -12.91,-1.155c0.225,1.288 0.748,1.938 1.094,2.311c0.805,0.857 2.087,1.099 2.087,1.099c0.309,0.033 8.945,0.824 8.945,0.824c0.274,0.017 0.797,0.093 0.79,0.849c0,0.091 -0.075,0.757 -0.738,0.757h-12.014c-0.276,0 -0.5,-0.224 -0.5,-0.5v-5.373l-3.478,-0.281v9.027c0,0.55 0.448,0.998 1,0.998zM47.444,37.017c0.001,-0.552 0.448,-0.998 1,-0.998h11.429c0.286,0 0.595,-0.187 0.595,-0.187c0.13,-0.129 0.235,-0.364 0.235,-0.591c0,-0.753 -0.561,-0.786 -0.843,-0.803c0,0 -8.732,-0.808 -9.036,-0.834c0,0 -1.211,-0.207 -2.017,-1.068c-0.351,-0.369 -0.815,-0.771 -1.161,-2.099c0,0 11.671,0.763 12.968,0.897c2.189,0.232 3.215,2.632 3.308,3.43c0,0 0.093,0.722 -0.02,1.607c0,0 -0.454,3.374 -3.664,3.579h-11.797c-0.553,0 -1.001,-0.449 -1,-1.002z"
fill="url(#color-2)"
id="path11" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px"><path fill="#E91E63" d="M26.763,24.548c-0.614,0.01,0.117,0.317,0.918,0.44c0.22-0.172,0.419-0.348,0.6-0.515C27.781,24.592,27.274,24.594,26.763,24.548 M30.054,23.727c0.364-0.5,0.631-1.055,0.723-1.624c-0.082,0.405-0.303,0.755-0.51,1.128c-1.146,0.721-0.108-0.43,0-0.865C29.035,23.913,30.098,23.293,30.054,23.727 M31.269,20.568c0.073-1.105-0.219-0.756-0.317-0.336C31.068,20.294,31.156,21.013,31.269,20.568 M24.439,5.478c0.327,0.058,0.706,0.104,0.653,0.183C25.449,5.582,25.531,5.51,24.439,5.478 M25.093,5.66l-0.232,0.047l0.215-0.017L25.093,5.66 M35.294,20.986c0.038,0.991-0.29,1.472-0.585,2.322l-0.529,0.266c-0.435,0.841,0.041,0.535-0.268,1.202c-0.679,0.603-2.055,1.883-2.496,2.004c-0.321-0.009,0.218-0.382,0.289-0.526c-0.906,0.62-0.728,0.934-2.113,1.313l-0.041-0.09c-3.419,1.607-8.166-1.576-8.103-5.928c-0.037,0.275-0.104,0.209-0.18,0.32c-0.175-2.237,1.033-4.486,3.073-5.403c1.995-0.987,4.335-0.58,5.763,0.75c-0.785-1.028-2.348-2.119-4.199-2.017c-1.814,0.029-3.51,1.182-4.077,2.434c-0.929,0.585-1.038,2.256-1.441,2.563c-0.545,4.003,1.024,5.733,3.68,7.768c0.417,0.282,0.118,0.326,0.175,0.541c-0.883-0.412-1.69-1.037-2.354-1.801c0.353,0.517,0.733,1.017,1.223,1.41c-0.831-0.279-1.942-2.013-2.267-2.084c1.435,2.567,5.818,4.502,8.113,3.541c-1.062,0.04-2.412,0.021-3.604-0.42c-0.501-0.257-1.183-0.791-1.062-0.893c3.133,1.171,6.369,0.887,9.078-1.286c0.689-0.537,1.443-1.449,1.662-1.464c-0.327,0.493,0.057,0.239-0.197,0.674c0.688-1.109-0.299-0.449,0.711-1.913l0.373,0.512c-0.139-0.917,1.143-2.033,1.012-3.489c0.291-0.445,0.326,0.478,0.015,1.502c0.434-1.136,0.113-1.317,0.224-2.254c0.121,0.315,0.279,0.648,0.359,0.981c-0.281-1.097,0.289-1.848,0.433-2.485c-0.142-0.063-0.435,0.485-0.503-0.812c0.01-0.562,0.156-0.295,0.214-0.435c-0.111-0.064-0.4-0.496-0.577-1.323c0.127-0.193,0.342,0.506,0.516,0.533c-0.112-0.655-0.304-1.159-0.313-1.665c-0.51-1.061-0.181,0.143-0.592-0.458c-0.543-1.687,0.449-0.39,0.514-1.156c0.82,1.188,1.289,3.029,1.504,3.792c-0.164-0.93-0.428-1.832-0.752-2.704c0.249,0.108-0.401-1.911,0.324-0.575c-0.772-2.848-3.314-5.511-5.65-6.76c0.286,0.262,0.646,0.591,0.517,0.642c-1.163-0.69-0.959-0.745-1.124-1.041c-0.946-0.383-1.01,0.034-1.636,0c-1.786-0.943-2.129-0.845-3.772-1.437l0.078,0.349c-1.184-0.394-1.379,0.146-2.657,0.002c-0.078-0.062,0.41-0.219,0.811-0.278c-1.143,0.15-1.09-0.228-2.208,0.042c0.277-0.197,0.566-0.322,0.861-0.486c-0.932,0.059-2.226,0.542-1.825,0.103c-1.521,0.676-4.22,1.63-5.735,3.051l-0.047-0.322c-0.694,0.835-3.028,2.492-3.215,3.57l-0.185,0.043c-0.361,0.613-0.595,1.305-0.881,1.935c-0.474,0.806-0.692,0.311-0.626,0.436c-0.929,1.883-1.39,3.467-1.79,4.768c0.284,0.424,0.007,2.558,0.113,4.264c-0.467,8.429,5.916,16.609,12.891,18.5c1.023,0.365,2.542,0.354,3.836,0.39c-1.525-0.438-1.722-0.232-3.209-0.749c-1.074-0.506-1.308-1.082-2.066-1.74l0.3,0.53c-1.49-0.526-0.867-0.652-2.078-1.034l0.321-0.424c-0.482-0.032-1.279-0.811-1.497-1.241l-0.528,0.021c-0.634-0.783-0.972-1.348-0.948-1.785l-0.17,0.305c-0.194-0.332-2.335-2.937-1.224-2.33c-0.207-0.188-0.481-0.307-0.779-0.85l0.227-0.258c-0.535-0.686-0.983-1.568-0.949-1.86c0.284,0.384,0.482,0.454,0.679,0.522c-1.351-3.349-1.426-0.187-2.448-3.409l0.216-0.019c-0.166-0.246-0.265-0.521-0.399-0.785l0.094-0.938c-0.972-1.125-0.272-4.781-0.132-6.783c0.097-0.816,0.811-1.684,1.354-3.045l-0.332-0.055c0.632-1.104,3.612-4.433,4.99-4.26c0.669-0.841-0.132-0.002-0.263-0.215c1.469-1.52,1.93-1.073,2.92-1.349c1.068-0.633-0.917,0.251-0.41-0.239c1.848-0.473,1.31-1.073,3.718-1.311c0.254,0.145-0.59,0.223-0.8,0.41c1.538-0.753,4.87-0.584,7.034,0.417c2.511,1.173,5.33,4.642,5.443,7.904l0.126,0.035c-0.063,1.298,0.198,2.798-0.257,4.175L35.294,20.986 M20.072,25.389l-0.086,0.431c0.403,0.547,0.724,1.142,1.237,1.567C20.853,26.664,20.577,26.364,20.072,25.389 M21.023,25.353c-0.213-0.237-0.34-0.518-0.48-0.802c0.135,0.495,0.411,0.922,0.669,1.357L21.023,25.353 M37.877,21.688l-0.088,0.226c-0.166,1.174-0.523,2.332-1.068,3.412C37.324,24.189,37.714,22.947,37.877,21.688 M24.56,5.185C24.974,5.031,25.579,5.101,26.019,5c-0.573,0.048-1.144,0.079-1.706,0.151L24.56,5.185 M10.007,12.923c0.095,0.882-0.667,1.229,0.167,0.644C10.623,12.562,10,13.286,10.007,12.923 M9.028,17.016c0.191-0.592,0.226-0.943,0.3-1.285C8.797,16.41,9.084,16.553,9.028,17.016"/></svg>

Before

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px"><path fill="#0288d1" d="M24,4C12.956,4,4,12.956,4,24s8.956,20,20,20s20-8.956,20-20S35.044,4,24,4z M24,41c-9.391,0-17-7.609-17-17S14.609,7,24,7s17,7.609,17,17S33.391,41,24,41z"/><path fill="#0288d1" d="M35.641,25.563l2.84,0.004l-0.004,2.395l-5.691-0.012l0.012-8.172l2.855,0.004L35.641,25.563z M26.34,25.102l-4.699,3.684l-4.285-3.379c-0.621,1.484-2.109,2.52-3.836,2.516l-3.664-0.004l0.008-8.172l3.668,0.004c1.926,0.004,3.309,1.223,3.828,2.531l4.297-3.367l1.586,1.25l-3.934,3.086l0.754,0.594l3.934-3.086l1.59,1.254l-3.934,3.082l0.75,0.594l3.941-3.082l0.004-2.836l2.852,0.004l-0.008,5.781l2.84,0.004l-0.004,2.391l-5.691-0.008L26.34,25.102z M15.012,23.84c0-1.113-0.73-1.742-1.77-1.742h-0.637l-0.004,3.477h0.621C14.184,25.574,15.012,25.051,15.012,23.84"/></svg>

Before

Width:  |  Height:  |  Size: 843 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px"><linearGradient id="TGbgz7YIIasADw2jo2LPPa" x1="24" x2="24" y1="44.346" y2="13.335" gradientTransform="matrix(1 0 0 -1 0 48)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#f44f5a"/><stop offset=".443" stop-color="#ee3d4a"/><stop offset=".651" stop-color="#ed3b48"/><stop offset=".726" stop-color="#eb3442"/><stop offset=".779" stop-color="#e82938"/><stop offset=".804" stop-color="#e52030"/></linearGradient><path fill="url(#TGbgz7YIIasADw2jo2LPPa)" d="M21.62,6.991c-0.013-0.046-0.02-0.126-0.02-0.186C21.6,6.36,21.958,6,22.4,6 c0.188,0,0.319,0.071,0.371,0.091c0.978,0.384,7.697,3.572,6.143,12.787C31.17,17.51,30.211,15,31.116,15 c0.277,0,0.39,0.104,0.56,0.348C34.144,18.892,36,22.973,36,26.927C36,33.595,30.628,39,24,39c-7.288,0-12-6.176-12-12.073 C12,17.118,23.49,15.307,21.62,6.991z"/><linearGradient id="TGbgz7YIIasADw2jo2LPPb" x1="23.5" x2="23.5" y1="30.346" y2="17.849" gradientTransform="matrix(1 0 0 -1 0 48)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fed100"/><stop offset=".353" stop-color="#fdcf00"/><stop offset=".523" stop-color="#fcc700"/><stop offset=".655" stop-color="#f9ba00"/><stop offset=".766" stop-color="#f4a800"/><stop offset=".865" stop-color="#ee9001"/><stop offset=".954" stop-color="#e77201"/><stop offset="1" stop-color="#e36001"/></linearGradient><path fill="url(#TGbgz7YIIasADw2jo2LPPb)" d="M23.225,18.152c0,0-0.182-0.152-0.446-0.152c-0.398,0-0.722,0.317-0.722,0.708 c0.722,4.25-4.329,5.667-4.329,10.625c0,3.13,2.584,5.667,5.772,5.667s5.772-2.537,5.772-5.667 C29.272,25.295,25.65,19.906,23.225,18.152z"/><path fill="#64717c" d="M30,42h-4l-5.5-1L15,42h-4l-5-5v-4l11.667-5H22l5,1l6-1h4l5,5v4L30,42z"/><linearGradient id="TGbgz7YIIasADw2jo2LPPc" x1="19.087" x2="29.046" y1="22.239" y2="3.511" gradientTransform="matrix(1 0 0 -1 0 48)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bec5c8"/><stop offset=".968" stop-color="#b9c1c4"/></linearGradient><path fill="url(#TGbgz7YIIasADw2jo2LPPc)" d="M27,41c0,0.552-0.448,1-1,1H15c-0.552,0-1-0.448-1-1v-4c0-0.552,0.448-1,1-1h11 c0.552,0,1,0.448,1,1V41z M42,41c0,0.552-0.448,1-1,1H30c-0.552,0-1-0.448-1-1v-4c0-0.552,0.448-1,1-1h11c0.552,0,1,0.448,1,1V41z M33,33c0,0.552-0.448,1-1,1H21c-0.552,0-1-0.448-1-1v-4c0-0.552,0.448-1,1-1h11c0.552,0,1,0.448,1,1V33z M6,33c0,0.552,0.448,1,1,1 h10c0.552,0,1-0.448,1-1v-4c0-0.552-0.448-1-1-1H7c-0.552,0-1,0.448-1,1V33z M41,28h-5c-0.552,0-1,0.448-1,1v4c0,0.552,0.448,1,1,1 h6v-5C42,28.448,41.552,28,41,28z M11,36H6v5c0,0.552,0.448,1,1,1h4c0.552,0,1-0.448,1-1v-4C12,36.448,11.552,36,11,36z"/></svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px"><path fill="#fff" d="M24 4A20 20 0 1 0 24 44A20 20 0 1 0 24 4Z"/><path fill="#1976d2" d="M24,43.997c-0.199,0-0.652,0.006-0.85,0l4-10.999h5.625c0.987,0,2.071-0.759,2.409-1.686l4.748-12.687c0.725-1.995-0.417-3.626-2.539-3.626h-7.804l-6.518,18.257h-0.002l-3.712,10.198C10.55,41.361,4,33.445,4,23.999c0-9.174,6.178-16.905,14.6-19.261l-3.83,10.526h-0.001L8.15,32.998h4.239l5.576-14.999h3.185l-5.576,14.999l3.919,0.001l5.438-14.374c0.726-1.995-0.416-3.626-2.536-3.626H19.15l3.951-10.978C23.399,4.008,23.699,4,24,4c11.046,0,20,8.953,20,19.999S35.046,43.997,24,43.997z M36.15,17.999h-3.185l-4.509,11.999h3.185L36.15,17.999z"/></svg>

Before

Width:  |  Height:  |  Size: 712 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px"><path fill="#3f51b5" d="M48 16L48 14 40.469 14 39.809 16zM33 31L33 29 29 29 27 29 27 31zM39.766 28L40.51 26 34.51 26 35.266 28zM29 26H33V28H29zM29 23H33V25H29zM42 29L42 31 48 31 48 29 46 29zM36.181 19L35.521 17 27 17 27 19 29 19zM37.17 22L36.51 20 29 20 29 22zM33.378 23L34.133 25 40.883 25 41.628 23zM42 23H46V25H42zM27 32H33V34H27zM35.191 16L34.531 14 27 14 27 16zM36.776 32L37.531 34 38.276 32zM42 32H48V34H42zM39.479 17L38.819 19 46 19 48 19 48 17zM39.393 29L35.643 29 36.398 31 38.648 31zM42 26H46V28H42zM38.49 20L37.83 22 46 22 46 20zM0 14H8V16H0zM0 17H8V19H0zM2 20H6V22H2zM2 23H6V25H2zM2 26H6V28H2zM0 29H8V31H0zM0 32H8V34H0zM10 17H18V19H10zM24.977 16c-.913-1.208-2.347-2-3.977-2H10v2h7.023H24.977z"/><path fill="#3f51b5" d="M25.578 17h-9.131C16.171 17.613 16 18.283 16 19h10C26 18.288 25.846 17.613 25.578 17zM23.975 23H12v2h11.973c-.833-.62-1.854-1-2.973-1C22.119 24 23.142 23.621 23.975 23zM17.023 32H10v2h11c1.63 0 3.065-.792 3.977-2H17.023zM18 29h-2-6v2h6.447H18h7.578C25.846 30.387 26 29.712 26 29H18zM21 20c0 0 0 .083 0 1s-1 1-1 1h4.979c.441-.584.77-1.257.921-2H21zM12 20H17V22H12z"/><g><path fill="#3f51b5" d="M21 28h4.885c-.156-.738-.467-1.418-.907-2H20c0 0 1 .167 1 1S21 28 21 28zM12 26H17V28H12z"/></g></svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px"><rect width="48" height="16" y="16" fill="#ff1744"/><path fill="#fff" d="M11.935,26.062c0.37,0.341,0.782,0.45,1.227,0.478c0.645,0.039,1.217-0.156,1.724-0.546 c0.124-0.096,0.163-0.126,0.163-0.126s0.777,0.609,1.097,0.855c-0.261,0.309-0.567,0.521-0.901,0.692 c-1.103,0.565-2.249,0.687-3.424,0.264c-1.346-0.485-2.131-1.693-2.059-3.117c0.073-1.441,1.005-2.608,2.392-2.944 c1.064-0.257,2.084-0.143,2.98,0.539c0.651,0.496,1.001,1.28,1.147,2.068c0,0-2.595,1.11-3.795,1.606 C12.313,25.903,12.141,25.975,11.935,26.062z M11.472,24.928c0.969-0.401,1.935-0.801,2.901-1.201 c-0.334-0.722-1.096-1.017-1.866-0.748C11.758,23.24,11.28,24.124,11.472,24.928z"/><path fill="#fff" d="M27.076,27.934c-1.632-0.017-2.956-1.068-3.261-2.6c-0.37-1.852,0.969-3.633,2.86-3.808 c1.281-0.118,2.373,0.254,3.155,1.3c1.451,1.941,0.22,4.757-2.193,5.055C27.45,27.905,27.263,27.917,27.076,27.934z M27.11,26.434 c0.929,0.002,1.622-0.723,1.628-1.704c0.006-0.97-0.724-1.742-1.649-1.745c-0.936-0.003-1.631,0.734-1.628,1.726 C25.465,25.675,26.189,26.432,27.11,26.434z"/><path fill="#fff" d="M40.624,27.934c-1.632-0.017-2.956-1.068-3.261-2.6c-0.37-1.852,0.969-3.633,2.86-3.808 c1.281-0.118,2.373,0.254,3.155,1.3c1.451,1.941,0.22,4.757-2.193,5.055C40.998,27.905,40.811,27.917,40.624,27.934z M40.658,26.434c0.929,0.002,1.623-0.723,1.628-1.704c0.006-0.97-0.724-1.742-1.649-1.745c-0.936-0.003-1.631,0.734-1.628,1.726 C39.013,25.675,39.737,26.432,40.658,26.434z"/><path fill="#fff" d="M21.377,27.987c0-0.095,0.001-2.587,0-3.663c-0.001-0.759-0.605-1.327-1.414-1.331 c-0.794-0.005-1.383,0.56-1.384,1.332c-0.001,1.076,0,3.679,0,3.679l-1.741,0.002l0.007-6.378c0,0,1.168-0.018,1.722-0.018 c0,0.264-0.006,0.832-0.006,0.832s0.138-0.128,0.181-0.171c1.157-1.174,3.226-0.973,4.031,0.391 c0.223,0.378,0.338,0.789,0.34,1.223c0.008,1.264,0.003,4.104,0.003,4.104S21.964,27.987,21.377,27.987z"/><path fill="#fff" d="M30.164,21.608c0.642,0,1.964,0.015,1.964,0.015s1.478,4.024,1.526,4.149 c0.115-0.311,1.208-3.29,1.521-4.174c0.646,0.018,1.288,0.01,1.97,0.01c-0.029,0.084-2.562,6.398-2.562,6.398l-1.876-0.003 C31.905,26.042,30.191,21.692,30.164,21.608z"/><path fill="#fff" d="M5.767,26.393c0.104,0,3.868,0.011,3.868,0.011l-0.002,1.581L4,27.989v-8.073h1.77 C5.77,19.916,5.767,26.284,5.767,26.393z"/></svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -1,395 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 96 96"
width="96"
height="96"
version="1.1"
id="svg16"
sodipodi:docname="icons8-loadbalancer-6.svg"
xml:space="preserve"
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs16"><linearGradient
id="rgtybR5fDU8R4IgIFkOP5b"
x1="19.388"
x2="28.413"
y1="-9.9449997"
y2="52.098999"
gradientTransform="matrix(0,-0.49311513,-0.49311513,0,46.019494,43.995025)"
gradientUnits="userSpaceOnUse"><stop
offset="0"
stop-color="#1ea2e4"
id="stop7-6" /><stop
offset="1"
stop-color="#32bdef"
id="stop8-2" /></linearGradient><linearGradient
id="rgtybR5fDU8R4IgIFkOP5a"
x1="477.17899"
x2="472.772"
y1="522.18701"
y2="522.18701"
gradientTransform="matrix(-0.34868505,0.34868505,0.34868505,0.34868505,23.783091,-306.66044)"
gradientUnits="userSpaceOnUse"><stop
offset=".365"
stop-color="#199ae0"
id="stop1" /><stop
offset=".699"
stop-color="#1898de"
id="stop2" /><stop
offset=".819"
stop-color="#1691d8"
id="stop3-9" /><stop
offset=".905"
stop-color="#1186cc"
id="stop4-1" /><stop
offset=".974"
stop-color="#0a75bc"
id="stop5-2" /><stop
offset="1"
stop-color="#076cb3"
id="stop6-7" /></linearGradient><linearGradient
id="ArtDYZ2lT75vkabREsTDEb"
x1="10.443"
x2="34.894001"
y1="35.985001"
y2="11.533"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.73295303,0,0,0.73295303,60.409094,29.991812)"><stop
offset="0"
stop-color="#32bdef"
id="stop7-3" /><stop
offset="1"
stop-color="#1ea2e4"
id="stop8-7" /></linearGradient><linearGradient
id="ArtDYZ2lT75vkabREsTDEa"
x1="37"
x2="37"
y1="41.555"
y2="28.030001"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.73295303,0,0,0.73295303,60.409094,29.991812)"><stop
offset=".365"
stop-color="#199ae0"
id="stop1-5" /><stop
offset=".699"
stop-color="#1898de"
id="stop2-9" /><stop
offset=".819"
stop-color="#1691d8"
id="stop3-2" /><stop
offset=".905"
stop-color="#1186cc"
id="stop4-2" /><stop
offset=".974"
stop-color="#0a75bc"
id="stop5-8" /><stop
offset="1"
stop-color="#076cb3"
id="stop6-9" /></linearGradient><linearGradient
id="901RIHcLyz6dZPGSvSf1Xc"
x1="33.436001"
x2="38.157001"
y1="21.563999"
y2="16.843"
gradientTransform="matrix(-1,0,0,1,121.71219,17.368129)"
gradientUnits="userSpaceOnUse"><stop
offset="0"
stop-color="#ae4cd5"
id="stop5-6" /><stop
offset="1"
stop-color="#ac4ad5"
id="stop6-1" /></linearGradient><linearGradient
id="901RIHcLyz6dZPGSvSf1Xb"
x1="694.97601"
x2="717.71802"
y1="35.709"
y2="12.967"
gradientTransform="translate(-606.28782,17.368129)"
gradientUnits="userSpaceOnUse"><stop
offset="0"
stop-color="#ae4cd5"
id="stop3-29" /><stop
offset="1"
stop-color="#ac4ad5"
id="stop4-3" /></linearGradient><linearGradient
id="901RIHcLyz6dZPGSvSf1Xa"
x1="36.25"
x2="36.25"
y1="38.042999"
y2="23.006001"
gradientTransform="matrix(-1,0,0,1,121.71219,17.368129)"
gradientUnits="userSpaceOnUse"><stop
offset="0"
stop-color="#912fbd"
id="stop1-1" /><stop
offset="1"
stop-color="#9332bf"
id="stop2-94" /></linearGradient><linearGradient
inkscape:collect="always"
xlink:href="#ArtDYZ2lT75vkabREsTDEa"
id="linearGradient24"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,0.73295303,-0.73295303,0,65.635592,60.153515)"
x1="37"
y1="41.555"
x2="37"
y2="28.030001" /><linearGradient
inkscape:collect="always"
xlink:href="#ArtDYZ2lT75vkabREsTDEb"
id="linearGradient25"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,0.73295303,-0.73295303,0,65.635592,60.153515)"
x1="10.443"
y1="35.985001"
x2="34.894001"
y2="11.533" /><linearGradient
inkscape:collect="always"
xlink:href="#ArtDYZ2lT75vkabREsTDEb"
id="linearGradient26"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.51827606,0.51827606,-0.51827606,0.51827606,65.099589,38.283295)"
x1="10.443"
y1="35.985001"
x2="34.894001"
y2="11.533" /><linearGradient
inkscape:collect="always"
xlink:href="#ArtDYZ2lT75vkabREsTDEa"
id="linearGradient27"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.51827606,0.51827606,-0.51827606,0.51827606,65.099589,38.283295)"
x1="37"
y1="41.555"
x2="37"
y2="28.030001" /><linearGradient
inkscape:collect="always"
xlink:href="#ArtDYZ2lT75vkabREsTDEa"
id="linearGradient28"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.51827606,0.51827606,0.51827606,0.51827606,31.063993,38.239101)"
x1="37"
y1="41.555"
x2="37"
y2="28.030001" /><linearGradient
inkscape:collect="always"
xlink:href="#ArtDYZ2lT75vkabREsTDEb"
id="linearGradient29"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.51827606,0.51827606,0.51827606,0.51827606,31.063993,38.239101)"
x1="10.443"
y1="35.985001"
x2="34.894001"
y2="11.533" /><linearGradient
id="901RIHcLyz6dZPGSvSf1Xc-8"
x1="33.436001"
x2="38.157001"
y1="21.563999"
y2="16.843"
gradientTransform="matrix(0,0.78639422,0.78639422,0,28.708615,-1.1133533)"
gradientUnits="userSpaceOnUse"><stop
offset="0"
stop-color="#ae4cd5"
id="stop5-84" /><stop
offset="1"
stop-color="#ac4ad5"
id="stop6-3" /></linearGradient><linearGradient
id="901RIHcLyz6dZPGSvSf1Xb-1"
x1="694.97601"
x2="717.71802"
y1="35.709"
y2="12.967"
gradientTransform="matrix(0,-0.78639422,0.78639422,0,28.708615,571.38165)"
gradientUnits="userSpaceOnUse"><stop
offset="0"
stop-color="#ae4cd5"
id="stop3-4" /><stop
offset="1"
stop-color="#ac4ad5"
id="stop4-9" /></linearGradient><linearGradient
id="901RIHcLyz6dZPGSvSf1Xa-2"
x1="36.25"
x2="36.25"
y1="38.042999"
y2="23.006001"
gradientTransform="matrix(0,0.78639422,0.78639422,0,28.708615,-1.1133533)"
gradientUnits="userSpaceOnUse"><stop
offset="0"
stop-color="#912fbd"
id="stop1-0" /><stop
offset="1"
stop-color="#9332bf"
id="stop2-6" /></linearGradient></defs><sodipodi:namedview
id="namedview16"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showguides="true"
inkscape:zoom="5.6568543"
inkscape:cx="45.343222"
inkscape:cy="30.405592"
inkscape:window-width="2560"
inkscape:window-height="1360"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg16"><sodipodi:guide
position="19.559789,143.73834"
orientation="1,0"
id="guide17"
inkscape:locked="false" /><sodipodi:guide
position="24.084469,98.224212"
orientation="0,-1"
id="guide18"
inkscape:locked="false" /><sodipodi:guide
position="19.845169,116.43962"
orientation="0,-1"
id="guide19"
inkscape:locked="false" /><sodipodi:guide
position="48.041504,83.46582"
orientation="1,0"
id="guide20"
inkscape:locked="false" /><sodipodi:guide
position="78.25,47.75"
orientation="0,-1"
id="guide21"
inkscape:locked="false" /><sodipodi:guide
position="50.394457,65.316468"
orientation="0,-1"
id="guide29"
inkscape:locked="false" /><sodipodi:guide
position="67.605347,21.060837"
orientation="0,-1"
id="guide30"
inkscape:locked="false" /></sodipodi:namedview><linearGradient
id="6fSOUPa~CP8tcsIx_Wvufa"
x1="22.011"
x2="26.212"
y1="785.79102"
y2="789.99298"
gradientTransform="translate(0,-781.78)"
gradientUnits="userSpaceOnUse"><stop
offset="0"
stop-color="#33bef0"
id="stop3" /><stop
offset="1"
stop-color="#0a85d9"
id="stop4" /></linearGradient><linearGradient
id="6fSOUPa~CP8tcsIx_Wvufb"
x1="6.0110002"
x2="10.213"
y1="794.79102"
y2="798.992"
gradientTransform="translate(0,-781.78)"
gradientUnits="userSpaceOnUse"><stop
offset="0"
stop-color="#33bef0"
id="stop5" /><stop
offset="1"
stop-color="#0a85d9"
id="stop6" /></linearGradient><linearGradient
id="6fSOUPa~CP8tcsIx_Wvufc"
x1="6.0110002"
x2="10.213"
y1="812.79102"
y2="816.992"
gradientTransform="translate(0,-781.78)"
gradientUnits="userSpaceOnUse"><stop
offset="0"
stop-color="#33bef0"
id="stop7" /><stop
offset="1"
stop-color="#0a85d9"
id="stop8" /></linearGradient><linearGradient
id="6fSOUPa~CP8tcsIx_Wvufd"
x1="38.011002"
x2="42.212002"
y1="794.79102"
y2="798.992"
gradientTransform="translate(0,-781.78)"
gradientUnits="userSpaceOnUse"><stop
offset="0"
stop-color="#33bef0"
id="stop9" /><stop
offset="1"
stop-color="#0a85d9"
id="stop10" /></linearGradient><linearGradient
id="6fSOUPa~CP8tcsIx_Wvufe"
x1="38.011002"
x2="42.212002"
y1="812.79102"
y2="816.992"
gradientTransform="translate(0,-781.78)"
gradientUnits="userSpaceOnUse"><stop
offset="0"
stop-color="#33bef0"
id="stop11" /><stop
offset="1"
stop-color="#0a85d9"
id="stop12" /></linearGradient><linearGradient
id="6fSOUPa~CP8tcsIx_Wvuff"
x1="22.011"
x2="26.212"
y1="821.79102"
y2="825.992"
gradientTransform="translate(0,-781.78)"
gradientUnits="userSpaceOnUse"><stop
offset="0"
stop-color="#33bef0"
id="stop13" /><stop
offset="1"
stop-color="#0a85d9"
id="stop14" /></linearGradient><linearGradient
id="6fSOUPa~CP8tcsIx_Wvufg"
x1="22.389999"
x2="25.51"
y1="27.841"
y2="20.184"
gradientTransform="matrix(2.2750649,0,0,-2.2750649,-6.4704976,71.078659)"
gradientUnits="userSpaceOnUse"><stop
offset="0"
stop-color="#2aa4f4"
id="stop15" /><stop
offset="1"
stop-color="#007ad9"
id="stop16" /></linearGradient><circle
cx="48.13105"
cy="16.727356"
fill="url(#6fSOUPa~CP8tcsIx_Wvufg)"
id="circle16"
style="fill:url(#6fSOUPa~CP8tcsIx_Wvufg);stroke-width:2.27506"
r="11.375324" /><path
fill="url(#ArtDYZ2lT75vkabREsTDEa)"
d="m 76.856164,73.706426 v -3.471413 c 10e-7,-0.668576 -0.541598,-1.210175 -1.210175,-1.210175 l -10.028123,-2.236361 -6.633415,6.633416 c -0.551964,0.551964 -0.161185,1.495226 0.61934,1.495226 h 16.04168 c 0.668577,0 1.210694,-0.542117 1.210693,-1.210693 z"
id="path6-7"
style="fill:url(#linearGradient27);stroke-width:0.732953" /><path
fill="url(#ArtDYZ2lT75vkabREsTDEb)"
d="m 76.856164,73.706426 v -16.04168 c 0,-0.780525 -0.943262,-1.171304 -1.495226,-0.61934 L 69.764074,62.642269 51.794199,45.172393 c -0.580717,-0.564559 -1.893097,0.66519 -1.791854,1.46875 l 0.702843,5.578407 c 0.101243,0.80356 -0.159842,1.087631 0.40625,1.666854 l 20.207465,20.676214 c 0.216702,0.221729 0.521385,0.354501 0.855673,0.353982 h 3.471413 c 0.668059,5.19e-4 1.210176,-0.541598 1.210175,-1.210174 z"
id="path8-3"
style="fill:url(#linearGradient26);stroke-width:0.732953"
sodipodi:nodetypes="csscsssssccc" /><path
fill="url(#ArtDYZ2lT75vkabREsTDEa)"
d="m 19.307418,73.662232 v -3.471413 c -10e-7,-0.668576 0.541598,-1.210175 1.210175,-1.210175 l 10.028123,-2.236361 6.633415,6.633416 c 0.551964,0.551964 0.161185,1.495226 -0.61934,1.495226 h -16.04168 c -0.668577,0 -1.210694,-0.542117 -1.210693,-1.210693 z"
id="path6-7-8"
style="fill:url(#linearGradient28);stroke-width:0.732953"
sodipodi:nodetypes="ssccssss" /><path
fill="url(#ArtDYZ2lT75vkabREsTDEb)"
d="m 19.307418,73.662232 v -16.04168 c 0,-0.780525 0.943262,-1.171304 1.495226,-0.61934 l 5.596864,5.596863 19.219875,-19.032376 c 0.575495,-0.569881 0.534597,1.292441 0.416854,2.09375 l -0.952843,6.484657 c -0.117743,0.801309 0.507099,1.40358 -0.0625,1.979354 L 24.844679,74.518424 c -0.218045,0.220409 -0.521385,0.354501 -0.855673,0.353982 h -3.471413 c -0.668059,5.19e-4 -1.210176,-0.541598 -1.210175,-1.210174 z"
id="path8-3-6"
style="fill:url(#linearGradient29);stroke-width:0.732953"
sodipodi:nodetypes="csscsssssccc" /><path
fill="url(#ArtDYZ2lT75vkabREsTDEa)"
d="m 48.900809,93.514605 2.45466,-2.45466 c 0.472755,-0.472754 0.472755,-1.23869 0,-1.711445 l -5.509608,-8.6723 h -9.381066 c -0.780595,0 -1.171259,0.94331 -0.619345,1.495224 l 11.343181,11.343181 c 0.472755,0.472755 1.239424,0.472755 1.712178,0 z"
id="path6-7-4"
style="fill:url(#linearGradient24);stroke-width:0.732953" /><path
fill="url(#ArtDYZ2lT75vkabREsTDEb)"
d="M 48.900809,93.514605 60.24399,82.171424 C 60.795904,81.61951 60.40524,80.6762 59.624645,80.6762 h -7.91516 l 0.02115,-50.103052 C 51.730977,29.763235 51.240112,29.301365 50.4302,29.30223 l -4.396838,0.0047 c -0.809912,8.64e-4 -1.649447,0.452869 -1.6495,1.262781 l -0.0039,59.634887 c -2e-5,0.310039 0.118005,0.619345 0.354749,0.855356 l 2.45466,2.45466 c 0.472022,0.472755 1.238691,0.472755 1.711445,0 z"
id="path8-3-5"
style="fill:url(#linearGradient25);stroke-width:0.732953"
sodipodi:nodetypes="ssscsssssccs" /></svg>

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px"><path fill="#0883d9" d="M36.232,23.985c0-5.865,4.766-8.51,4.966-8.636c-2.596-3.993-6.79-4.467-8.362-4.468 c-3.643,0-6.863,2.022-8.585,2.022c-1.797,0-4.418-2.121-7.363-2.022c-3.843,0.075-7.363,2.346-9.334,5.691 c-1.397,2.396-1.947,5.217-1.896,8.087c0.002,0.113,0.017,0.228,0.02,0.341H36.32C36.279,24.671,36.243,24.337,36.232,23.985z"/><path fill="#0883d9" d="M30.565,7.063C32.261,5.191,33.21,2.621,33.06,0c-2.346,0-5.066,1.372-6.788,3.394 c-1.348,1.672-2.795,4.293-2.271,6.913C26.422,10.607,29.043,9.085,30.565,7.063z"/><path fill="#0370c8" d="M17.511,45c2.771,0,3.794-1.848,7.413-1.848c3.37,0,4.418,1.848,7.338,1.848 c3.07,0,5.092-2.795,6.913-5.567c2.295-3.218,3.07-6.288,3.169-6.414c-0.094,0-5.287-2.112-6.026-8.019H5.678 c0.157,5.311,2.228,10.79,4.671,14.309C12.27,42.055,14.441,45,17.511,45z"/></svg>

Before

Width:  |  Height:  |  Size: 891 B

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.9 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.8 KiB

View File

@@ -1,309 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 96 96"
width="96"
height="96"
version="1.1"
id="svg25"
sodipodi:docname="icons8-router-4g.svg"
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs25">
<linearGradient
id="eww6fSHXLG3h4YeAqg9u_a"
x1="17.59"
x2="32.07"
y1="25.934999"
y2="48.230999"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.1618717,0,0,1.1618717,20.507254,2.1916049)">
<stop
offset="0"
stop-color="#85929e"
id="stop1-3" />
<stop
offset="1"
stop-color="#6d7882"
id="stop2-6" />
</linearGradient>
</defs>
<sodipodi:namedview
id="namedview25"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="8.1022652"
inkscape:cx="21.413765"
inkscape:cy="37.396949"
inkscape:window-width="2560"
inkscape:window-height="1360"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg25"
showguides="true">
<sodipodi:guide
position="9.8178562,30.140718"
orientation="1,0"
id="guide1"
inkscape:locked="false" />
<sodipodi:guide
position="86.470802,38.181968"
orientation="1,0"
id="guide2"
inkscape:locked="false" />
<sodipodi:guide
position="46.258636,9.4810232"
orientation="0,-1"
id="guide3"
inkscape:locked="false" />
<sodipodi:guide
position="53.641442,101.298"
orientation="0,-1"
id="guide4"
inkscape:locked="false" />
</sodipodi:namedview>
<linearGradient
id="sQy7OvPXH0t2mKfqk7XuXa"
x1="34.117001"
x2="33.909"
y1="30.451"
y2="11.826"
gradientTransform="matrix(2.0151121,0,0,-2.0151121,-0.28283295,98.172694)"
gradientUnits="userSpaceOnUse">
<stop
offset="0"
stop-color="#737b80"
id="stop1" />
<stop
offset=".714"
stop-color="#737b80"
id="stop2" />
<stop
offset=".756"
stop-color="#737b80"
id="stop3" />
<stop
offset=".863"
stop-color="#656c71"
id="stop4" />
<stop
offset="1"
stop-color="#575c61"
id="stop5" />
</linearGradient>
<path
fill="url(#sQy7OvPXH0t2mKfqk7XuXa)"
d="m 62.185641,80.258348 c -0.191435,0 -0.386902,-0.02821 -0.580352,-0.08463 -1.065993,-0.3204 -1.672543,-1.44282 -1.35214,-2.508817 L 72.343823,37.362659 c 0.320404,-1.065994 1.444834,-1.672543 2.508815,-1.35214 1.06599,0.320402 1.672539,1.442821 1.352141,2.508814 L 64.114104,78.821578 c -0.25995,0.874555 -1.05995,1.43677 -1.928463,1.43677 z"
id="path5"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXa);stroke-width:2.01511" />
<linearGradient
id="sQy7OvPXH0t2mKfqk7XuXb"
x1="14.121"
x2="13.913"
y1="30.719"
y2="12.094"
gradientTransform="matrix(2.0151121,0,0,-2.0151121,-0.28283295,98.172694)"
gradientUnits="userSpaceOnUse">
<stop
offset="0"
stop-color="#737b80"
id="stop6" />
<stop
offset=".773"
stop-color="#737b80"
id="stop7" />
<stop
offset="1"
stop-color="#575c61"
id="stop8" />
</linearGradient>
<path
fill="url(#sQy7OvPXH0t2mKfqk7XuXb)"
d="m 33.974071,80.258348 c -0.866497,0 -1.666498,-0.564231 -1.930475,-1.43677 L 19.952922,38.519333 c -0.320404,-1.065993 0.286146,-2.188412 1.352141,-2.508814 1.063979,-0.314357 2.188411,0.286146 2.508815,1.35214 l 12.090671,40.302239 c 0.320402,1.065996 -0.286146,2.188417 -1.352139,2.508815 -0.193452,0.05643 -0.386902,0.08463 -0.578339,0.08463 z"
id="path8"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXb);stroke-width:2.01511" />
<linearGradient
id="sQy7OvPXH0t2mKfqk7XuXc"
x1="24"
x2="24"
y1="14.614"
y2="-2.0710001"
gradientTransform="matrix(2.0151121,0,0,-2.0151121,-0.28283295,98.172694)"
gradientUnits="userSpaceOnUse">
<stop
offset="0"
stop-color="#899198"
id="stop9" />
<stop
offset="1"
stop-color="#787e85"
id="stop10" />
</linearGradient>
<path
fill="url(#sQy7OvPXH0t2mKfqk7XuXc)"
d="M 82.336765,86.303689 H 13.822951 c -2.226698,0 -4.0302237,-1.803531 -4.0302237,-4.030227 V 68.167678 c 0,-2.226699 1.8035257,-4.030225 4.0302237,-4.030225 h 68.513814 c 2.226696,0 4.030221,1.803526 4.030221,4.030225 v 14.105784 c 0,2.226696 -1.803525,4.030227 -4.030221,4.030227 z"
id="path10"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXc);stroke-width:2.01511" />
<rect
width="68.513809"
height="14.105785"
x="13.822952"
y="68.167671"
fill="#737b80"
id="rect10"
style="stroke-width:2.01511" />
<radialGradient
id="sQy7OvPXH0t2mKfqk7XuXd"
cx="36.5"
cy="11.39"
r="2.5"
gradientTransform="matrix(2.0151121,0,0,-2.0151121,-0.28283295,98.172694)"
gradientUnits="userSpaceOnUse">
<stop
offset=".582"
stop-opacity=".2"
id="stop11" />
<stop
offset="1"
stop-opacity="0"
id="stop12" />
</radialGradient>
<circle
cx="73.268753"
cy="75.220573"
fill="url(#sQy7OvPXH0t2mKfqk7XuXd)"
id="circle12"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXd);stroke-width:2.01511"
r="5.0377803" />
<radialGradient
id="sQy7OvPXH0t2mKfqk7XuXe"
cx="30.5"
cy="11.39"
r="2.5"
gradientTransform="matrix(2.0151121,0,0,-2.0151121,-0.28283295,98.172694)"
gradientUnits="userSpaceOnUse">
<stop
offset=".582"
stop-opacity=".2"
id="stop13" />
<stop
offset="1"
stop-opacity="0"
id="stop14" />
</radialGradient>
<circle
cx="61.178082"
cy="75.220573"
fill="url(#sQy7OvPXH0t2mKfqk7XuXe)"
id="circle14"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXe);stroke-width:2.01511"
r="5.0377803" />
<radialGradient
id="sQy7OvPXH0t2mKfqk7XuXf"
cx="24.5"
cy="11.39"
r="2.5"
gradientTransform="matrix(2.0151121,0,0,-2.0151121,-0.28283295,98.172694)"
gradientUnits="userSpaceOnUse">
<stop
offset=".582"
stop-opacity=".2"
id="stop15" />
<stop
offset="1"
stop-opacity="0"
id="stop16" />
</radialGradient>
<circle
cx="49.087414"
cy="75.220573"
fill="url(#sQy7OvPXH0t2mKfqk7XuXf)"
id="circle16"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXf);stroke-width:2.01511"
r="5.0377803" />
<radialGradient
id="sQy7OvPXH0t2mKfqk7XuXg"
cx="11.5"
cy="11.39"
r="2.5"
gradientTransform="matrix(2.0151121,0,0,-2.0151121,-0.28283295,98.172694)"
gradientUnits="userSpaceOnUse">
<stop
offset=".582"
stop-opacity=".2"
id="stop17" />
<stop
offset="1"
stop-opacity="0"
id="stop18" />
</radialGradient>
<circle
cx="22.890959"
cy="75.220573"
fill="url(#sQy7OvPXH0t2mKfqk7XuXg)"
id="circle18"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXg);stroke-width:2.01511"
r="5.0377803" />
<circle
cx="73.268753"
cy="75.220573"
fill="#50e6ff"
id="circle19"
style="stroke-width:2.01511"
r="3.0226684" />
<circle
cx="61.178082"
cy="75.220573"
fill="#50e6ff"
id="circle20"
style="stroke-width:2.01511"
r="3.0226684" />
<circle
cx="49.087414"
cy="75.220573"
fill="#50e6ff"
id="circle21"
style="stroke-width:2.01511"
r="3.0226684" />
<circle
cx="22.890959"
cy="75.220573"
fill="#50e6ff"
id="circle22"
style="stroke-width:2.01511"
r="3.0226684" />
<path
fill="url(#eww6fSHXLG3h4YeAqg9u_a)"
d="m 43.111467,33.670197 v 13.078026 h 2.488729 v 3.414741 h -2.488729 v 4.252451 H 38.944994 V 50.162964 H 29.90331 v -3.573917 c 0.800529,-0.895805 1.630105,-1.877584 2.488727,-2.943021 0.858624,-1.065436 1.688201,-2.162243 2.488731,-3.291582 0.80053,-1.129339 1.545288,-2.263326 2.23544,-3.40777 0.690152,-1.14212 1.275736,-2.235441 1.757913,-3.276477 z m -9.113722,13.078026 h 4.947249 V 39.50163 c -0.338105,0.626248 -0.704093,1.26063 -1.09913,1.901984 -0.396198,0.642514 -0.809826,1.273412 -1.244364,1.896174 -0.433377,0.621602 -0.872566,1.224614 -1.316401,1.807871 -0.443835,0.5821 -0.872565,1.12934 -1.287354,1.640564 z m 31.783001,6.278754 c -2.025142,1.167682 -4.542919,1.750943 -7.552166,1.750943 -3.336895,0 -5.967374,-0.923688 -7.891433,-2.771064 -1.924059,-1.846217 -2.884927,-4.389553 -2.884927,-7.630013 0,-3.260212 1.050332,-5.917413 3.15332,-7.971602 2.102987,-2.054189 4.899612,-3.081283 8.391037,-3.081283 2.199423,0 4.137424,0.304411 5.816329,0.91207 v 4.38258 c -1.602219,-0.926013 -3.558812,-1.388439 -5.874422,-1.388439 -1.939165,0 -3.516984,0.629736 -4.738114,1.888044 -1.219964,1.258306 -1.829947,2.938371 -1.829947,5.04136 0,2.132036 0.548404,3.78073 1.642887,4.948413 1.093321,1.166518 2.572384,1.750938 4.433702,1.750938 1.11772,0 2.005392,-0.160341 2.661848,-0.477529 v -4.050283 h -4.153692 v -3.733095 h 8.825578 z"
id="path2"
style="fill:url(#eww6fSHXLG3h4YeAqg9u_a);stroke-width:1.16187" />
<path
fill="#50e6ff"
d="m 57.257255,26.846523 -7.640468,4.790396 c -0.755219,0.474043 -1.716086,0.472883 -2.471302,-0.0012 l -7.618393,-4.789237 c 1.90547,-3.020866 5.298135,-4.903098 8.865081,-4.903098 3.566947,0 6.959613,1.882232 8.865082,4.903098 z"
id="path3"
style="stroke-width:1.16187" />
<path
fill="#199be2"
d="m 67.09947,20.682792 -6.889897,4.321002 c -5.566528,-8.816284 -18.25533,-8.485148 -23.634798,0 l -3.937581,-2.468977 -2.953479,-1.852025 v -0.0012 C 38.31526,6.9435901 58.429584,6.8971154 67.09947,20.682792 Z"
id="path4"
style="stroke-width:1.16187" />
<path
fill="#0078d4"
d="m 70.217935,16.986879 c 0.470557,0.66343 0.306733,1.58247 -0.382256,2.013525 l -3.706371,2.321418 v -0.0012 c -8.033182,-12.7817497 -27.063479,-13.3533905 -35.470782,0 v 0.0012 L 26.952155,19.000404 C 26.263165,18.569349 26.099343,17.650309 26.568739,16.986879 31.539224,9.9749835 39.7676,5.67722 48.392173,5.67722 c 8.624576,0 16.85295,4.2977635 21.825762,11.309659 z"
id="path5-7"
style="stroke-width:1.16187" />
<path
fill="#35c1f1"
d="m 61.193677,24.386841 -4.921689,3.08593 c -3.750521,-5.917413 -12.175255,-5.624621 -15.759629,0 l -4.921687,-3.08593 0.0024,-0.0034 c 5.810521,-9.21132 19.531064,-9.569176 25.596034,-0.0034 z"
id="path6"
style="stroke-width:1.16187" />
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -1,284 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 96 96"
width="96"
height="96"
version="1.1"
id="svg25"
sodipodi:docname="icons8-router.svg"
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs25" />
<sodipodi:namedview
id="namedview25"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="11.458333"
inkscape:cx="69.905457"
inkscape:cy="51.490911"
inkscape:window-width="2560"
inkscape:window-height="1360"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg25"
showguides="true">
<sodipodi:guide
position="9.9968182,23.832614"
orientation="0,-1"
id="guide25"
inkscape:locked="false" />
<sodipodi:guide
position="46.36841,50.879999"
orientation="0,-1"
id="guide1"
inkscape:locked="false" />
<sodipodi:guide
position="4.1706847,29.588569"
orientation="1,0"
id="guide2"
inkscape:locked="false" />
<sodipodi:guide
position="9.9808125,20.062033"
orientation="1,0"
id="guide3"
inkscape:locked="false" />
<sodipodi:guide
position="86.185391,34.472066"
orientation="1,0"
id="guide4"
inkscape:locked="false" />
<sodipodi:guide
position="32.72426,12.415637"
orientation="0,-1"
id="guide5"
inkscape:locked="false" />
</sodipodi:namedview>
<linearGradient
id="sQy7OvPXH0t2mKfqk7XuXa"
x1="34.117001"
x2="33.909"
y1="30.451"
y2="11.826"
gradientTransform="matrix(2.0049622,0,0,-2.0493466,-0.02712327,82.339673)"
gradientUnits="userSpaceOnUse">
<stop
offset="0"
stop-color="#737b80"
id="stop1" />
<stop
offset=".714"
stop-color="#737b80"
id="stop2" />
<stop
offset=".756"
stop-color="#737b80"
id="stop3" />
<stop
offset=".863"
stop-color="#656c71"
id="stop4" />
<stop
offset="1"
stop-color="#575c61"
id="stop5" />
</linearGradient>
<path
fill="url(#sQy7OvPXH0t2mKfqk7XuXa)"
d="m 62.126702,64.120983 c -0.190473,0 -0.384955,-0.02869 -0.57743,-0.08608 -1.060625,-0.325845 -1.664117,-1.467333 -1.345331,-2.551435 L 72.233716,20.496545 c 0.318787,-1.084107 1.437558,-1.700958 2.496177,-1.375114 1.060625,0.325846 1.664119,1.467334 1.345331,2.551437 L 64.04545,62.659803 c -0.25864,0.889415 -1.05461,1.461184 -1.918748,1.461184 z"
id="path5"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXa);stroke-width:2.02704" />
<linearGradient
id="sQy7OvPXH0t2mKfqk7XuXb"
x1="14.121"
x2="13.913"
y1="30.719"
y2="12.094"
gradientTransform="matrix(2.0049622,0,0,-2.0493466,-0.02712327,82.339673)"
gradientUnits="userSpaceOnUse">
<stop
offset="0"
stop-color="#737b80"
id="stop6" />
<stop
offset=".773"
stop-color="#737b80"
id="stop7" />
<stop
offset="1"
stop-color="#575c61"
id="stop8" />
</linearGradient>
<path
fill="url(#sQy7OvPXH0t2mKfqk7XuXb)"
d="m 34.05723,64.120983 c -0.862132,0 -1.658104,-0.573816 -1.920752,-1.461182 L 20.106705,21.672866 c -0.318788,-1.084103 0.284706,-2.225591 1.34533,-2.551437 1.058621,-0.319698 2.177389,0.291007 2.496178,1.375114 l 12.02977,40.986932 c 0.31879,1.084103 -0.284702,2.225591 -1.345328,2.551436 -0.192476,0.05738 -0.384952,0.08608 -0.575425,0.08608 z"
id="path8"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXb);stroke-width:2.02704" />
<linearGradient
id="sQy7OvPXH0t2mKfqk7XuXc"
x1="24"
x2="24"
y1="14.614"
y2="-2.0710001"
gradientTransform="matrix(2.0049622,0,0,-2.0493466,-0.02712327,82.339673)"
gradientUnits="userSpaceOnUse">
<stop
offset="0"
stop-color="#899198"
id="stop9" />
<stop
offset="1"
stop-color="#787e85"
id="stop10" />
</linearGradient>
<path
fill="url(#sQy7OvPXH0t2mKfqk7XuXc)"
d="M 82.176323,70.269024 H 14.007611 c -2.215484,0 -4.0099252,-1.834165 -4.0099252,-4.098693 V 51.824905 c 0,-2.264529 1.7944412,-4.098694 4.0099252,-4.098694 h 68.168712 c 2.215484,0 4.009924,1.834165 4.009924,4.098694 v 14.345426 c 0,2.264528 -1.79444,4.098693 -4.009924,4.098693 z"
id="path10"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXc);stroke-width:2.02704" />
<rect
width="68.168709"
height="14.345426"
x="14.007612"
y="51.824905"
fill="#737b80"
id="rect10"
style="stroke-width:2.02704" />
<radialGradient
id="sQy7OvPXH0t2mKfqk7XuXd"
cx="36.5"
cy="11.39"
r="2.5"
gradientTransform="matrix(2.0049622,0,0,-2.0493466,-0.02712327,82.339673)"
gradientUnits="userSpaceOnUse">
<stop
offset=".582"
stop-opacity=".2"
id="stop11" />
<stop
offset="1"
stop-opacity="0"
id="stop12" />
</radialGradient>
<ellipse
cx="73.153992"
cy="58.997623"
fill="url(#sQy7OvPXH0t2mKfqk7XuXd)"
id="circle12"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXd);stroke-width:2.02704"
rx="5.0124054"
ry="5.1233664" />
<radialGradient
id="sQy7OvPXH0t2mKfqk7XuXe"
cx="30.5"
cy="11.39"
r="2.5"
gradientTransform="matrix(2.0049622,0,0,-2.0493466,-0.02712327,82.339673)"
gradientUnits="userSpaceOnUse">
<stop
offset=".582"
stop-opacity=".2"
id="stop13" />
<stop
offset="1"
stop-opacity="0"
id="stop14" />
</radialGradient>
<ellipse
cx="61.124226"
cy="58.997623"
fill="url(#sQy7OvPXH0t2mKfqk7XuXe)"
id="circle14"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXe);stroke-width:2.02704"
rx="5.0124054"
ry="5.1233664" />
<radialGradient
id="sQy7OvPXH0t2mKfqk7XuXf"
cx="24.5"
cy="11.39"
r="2.5"
gradientTransform="matrix(2.0049622,0,0,-2.0493466,-0.02712327,82.339673)"
gradientUnits="userSpaceOnUse">
<stop
offset=".582"
stop-opacity=".2"
id="stop15" />
<stop
offset="1"
stop-opacity="0"
id="stop16" />
</radialGradient>
<ellipse
cx="49.094448"
cy="58.997623"
fill="url(#sQy7OvPXH0t2mKfqk7XuXf)"
id="circle16"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXf);stroke-width:2.02704"
rx="5.0124054"
ry="5.1233664" />
<radialGradient
id="sQy7OvPXH0t2mKfqk7XuXg"
cx="11.5"
cy="11.39"
r="2.5"
gradientTransform="matrix(2.0049622,0,0,-2.0493466,-0.02712327,82.339673)"
gradientUnits="userSpaceOnUse">
<stop
offset=".582"
stop-opacity=".2"
id="stop17" />
<stop
offset="1"
stop-opacity="0"
id="stop18" />
</radialGradient>
<ellipse
cx="23.029943"
cy="58.997623"
fill="url(#sQy7OvPXH0t2mKfqk7XuXg)"
id="circle18"
style="fill:url(#sQy7OvPXH0t2mKfqk7XuXg);stroke-width:2.02704"
rx="5.0124054"
ry="5.1233664" />
<ellipse
cx="73.153992"
cy="58.997623"
fill="#50e6ff"
id="circle19"
rx="3.0074432"
ry="3.0740201"
style="stroke-width:2.02704" />
<ellipse
cx="61.124226"
cy="58.997623"
fill="#50e6ff"
id="circle20"
rx="3.0074432"
ry="3.0740201"
style="stroke-width:2.02704" />
<ellipse
cx="49.094448"
cy="58.997623"
fill="#50e6ff"
id="circle21"
rx="3.0074432"
ry="3.0740201"
style="stroke-width:2.02704" />
<ellipse
cx="23.029943"
cy="58.997623"
fill="#50e6ff"
id="circle22"
rx="3.0074432"
ry="3.0740201"
style="stroke-width:2.02704" />
</svg>

Before

Width:  |  Height:  |  Size: 7.9 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px"><path fill="#0d47a1" d="M47.97,19.826c0.654,3.747-9.547,8.655-22.788,10.96c-13.238,2.306-24.5,1.136-25.153-2.613 c-0.653-3.747,9.551-8.654,22.79-10.958C36.059,14.907,47.318,16.078,47.97,19.826z"/><polygon fill="#fafafa" points="35.51,25.388 35.442,21.492 36.671,21.492 36.671,26.403 34.905,26.403 33.678,22.373 33.652,22.373 33.72,26.403 32.499,26.403 32.499,21.492 34.342,21.492 35.483,25.388"/><polygon fill="#fafafa" points="13.177,21.952 12.497,26.455 11.157,26.455 12.076,21.492 14.284,21.492 15.201,26.455 13.865,26.455 13.204,21.952"/><polygon fill="#fafafa" points="18.964,25.286 19.577,21.492 21.601,21.492 21.708,26.455 20.468,26.455 20.435,21.993 20.409,21.993 19.58,26.455 18.321,26.455 17.49,21.993 17.464,21.993 17.433,26.455 16.19,26.455 16.3,21.492 18.325,21.492 18.937,25.286"/><path fill="#fafafa" d="M9.067,25.055c0.049,0.12,0.034,0.275,0.011,0.368c-0.042,0.165-0.154,0.333-0.483,0.333 c-0.312,0-0.5-0.179-0.5-0.45v-0.48H6.763L6.762,25.21c0,1.106,0.871,1.441,1.805,1.441c0.898,0,1.637-0.307,1.754-1.134 c0.061-0.429,0.015-0.709-0.005-0.816c-0.209-1.039-2.093-1.349-2.233-1.93c-0.024-0.099-0.017-0.205-0.005-0.262 c0.035-0.158,0.143-0.332,0.453-0.332c0.29,0,0.461,0.18,0.461,0.45c0,0.091,0,0.307,0,0.307h1.237v-0.348 c0-1.081-0.97-1.25-1.673-1.25c-0.883,0-1.604,0.292-1.736,1.099c-0.036,0.223-0.041,0.422,0.011,0.671 C7.049,24.118,8.811,24.412,9.067,25.055z"/><path fill="#fafafa" d="M25.204,25.046c0.049,0.119,0.033,0.27,0.011,0.363c-0.041,0.165-0.152,0.33-0.479,0.33 c-0.307,0-0.494-0.179-0.494-0.444l-0.001-0.476h-1.318l-0.002,0.379c0,1.095,0.863,1.426,1.787,1.426 c0.888,0,1.62-0.303,1.736-1.122c0.061-0.426,0.018-0.702-0.004-0.807c-0.208-1.029-2.073-1.336-2.211-1.912 c-0.024-0.099-0.017-0.203-0.005-0.257c0.036-0.16,0.142-0.329,0.449-0.329c0.288,0,0.455,0.175,0.455,0.444 c0,0.09,0,0.304,0,0.304h1.228v-0.345c0-1.07-0.962-1.237-1.659-1.237c-0.873,0-1.588,0.288-1.717,1.09 c-0.036,0.22-0.04,0.415,0.012,0.663C23.206,24.118,24.951,24.41,25.204,25.046z"/><path fill="#fafafa" d="M29.372,25.713c0.344,0,0.451-0.238,0.475-0.36c0.01-0.054,0.013-0.125,0.012-0.19V21.49h1.255 v3.56c0.003,0.091-0.006,0.279-0.011,0.325c-0.088,0.927-0.821,1.227-1.732,1.227c-0.913,0-1.646-0.301-1.733-1.227 c-0.004-0.047-0.013-0.235-0.011-0.325v-3.56h1.254v3.672c0,0.064,0.002,0.137,0.012,0.19 C28.921,25.473,29.025,25.713,29.372,25.713z"/><path fill="#fafafa" d="M39.725,25.66c0.359,0,0.485-0.227,0.508-0.359c0.009-0.057,0.012-0.126,0.011-0.189v-0.72 h-0.509v-0.724h1.76V25c-0.001,0.093-0.003,0.162-0.018,0.327c-0.082,0.903-0.866,1.225-1.745,1.225 c-0.881,0-1.663-0.322-1.747-1.225c-0.014-0.166-0.016-0.234-0.018-0.327l0.001-2.089c0-0.088,0.011-0.244,0.021-0.327 c0.11-0.928,0.862-1.226,1.743-1.226c0.88,0,1.651,0.297,1.742,1.226c0.016,0.158,0.011,0.327,0.011,0.327v0.166h-1.251v-0.278 c0.001,0.001-0.002-0.118-0.016-0.189c-0.021-0.11-0.116-0.362-0.495-0.362c-0.362,0-0.467,0.238-0.494,0.362 c-0.015,0.065-0.021,0.154-0.021,0.234v2.27c-0.001,0.063,0.003,0.132,0.013,0.189C39.241,25.433,39.366,25.66,39.725,25.66z"/></svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px"><path fill="#fff" d="M40,24c0,8.8-7.2,16-16,16S8,32.8,8,24S15.2,8,24,8S40,15.2,40,24z"/><path fill="#e64a19" d="M30 24c0 3.3-2.7 6-6 6-3.3 0-6-2.7-6-6s2.7-6 6-6C27.3 18 30 20.7 30 24zM12 21.5c1.4 0 2.5 1.1 2.5 2.5s-1.1 2.5-2.5 2.5S9.5 25.4 9.5 24 10.6 21.5 12 21.5M12 20.5c-1.9 0-3.5 1.6-3.5 3.5s1.6 3.5 3.5 3.5 3.5-1.6 3.5-3.5S13.9 20.5 12 20.5zM30 31.5c1.4 0 2.5 1.1 2.5 2.5s-1.1 2.5-2.5 2.5-2.5-1.1-2.5-2.5S28.6 31.5 30 31.5M30 30.5c-1.9 0-3.5 1.6-3.5 3.5s1.6 3.5 3.5 3.5 3.5-1.6 3.5-3.5S31.9 30.5 30 30.5z"/><path fill="#e64a19" d="M24,4C13,4,4,13,4,24s9,20,20,20s20-9,20-20S35,4,24,4z M32.5,34c0,1.4-1.1,2.5-2.5,2.5 s-2.5-1.1-2.5-2.5c0-0.2,0-0.5,0.1-0.7C26.5,33.8,25.3,34,24,34c-5.1,0-9.2-3.8-9.9-8.7c-0.4,0.7-1.2,1.2-2.1,1.2 c-1.4,0-2.5-1.1-2.5-2.5s1.1-2.5,2.5-2.5c0.9,0,1.7,0.5,2.1,1.2c0.7-4.9,4.8-8.7,9.9-8.7c1.3,0,2.5,0.2,3.6,0.7 c-0.1-0.2-0.1-0.4-0.1-0.7c0-1.4,1.1-2.5,2.5-2.5s2.5,1.1,2.5,2.5c0,1.2-0.8,2.2-2,2.4C32.7,18.3,34,21,34,24s-1.3,5.7-3.5,7.6 C31.7,31.8,32.5,32.8,32.5,34z"/><path fill="#e64a19" d="M30 11.5c1.4 0 2.5 1.1 2.5 2.5 0 1.4-1.1 2.5-2.5 2.5s-2.5-1.1-2.5-2.5C27.5 12.6 28.6 11.5 30 11.5M30 10.5c-1.9 0-3.5 1.6-3.5 3.5s1.6 3.5 3.5 3.5 3.5-1.6 3.5-3.5S31.9 10.5 30 10.5zM24 24c-2.6-4.1-5.2-8.1-7.8-12.2"/><path fill="#e64a19" d="M19.1 10.7H21.1V25.1H19.1z" transform="rotate(-32.467 20.127 17.911)"/><path fill="#e64a19" d="M24 23H38.4V25H24z"/><g><path fill="#e64a19" d="M24,24c-2.7,4-5.3,8-8,12"/><path fill="#e64a19" d="M12.8 29H27.200000000000003V31H12.8z" transform="rotate(-56.312 19.998 30.006)"/></g></svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px"><path fill="#00b0ff" d="M20 25.026L5.011 25 5.012 37.744 20 39.818zM22 25.03L22 40.095 42.995 43 43 25.066zM20 8.256L5 10.38 5.014 23 20 23zM22 7.973L22 23 42.995 23 42.995 5z"/></svg>

Before

Width:  |  Height:  |  Size: 272 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px"><path fill="#1976d2" d="M6,6h17v17H6V6z"/><path fill="#1976d2" d="M25.042,22.958V6H42v16.958H25.042z"/><path fill="#1976d2" d="M6,25h17v17H6V25z"/><path fill="#1976d2" d="M25,42V25h17v17H25z"/></svg>

Before

Width:  |  Height:  |  Size: 287 B

View File

@@ -1,40 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xml:space="preserve"
width="800"
height="800"
version="1.0"
viewBox="0 0 800 800.01969"
id="svg1"
sodipodi:docname="logo-toshiba.svg"
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:svg="http://www.w3.org/2000/svg"><svg:defs
id="defs1" /><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showguides="true"
inkscape:zoom="1.538125"
inkscape:cx="378.70784"
inkscape:cy="288.013"
inkscape:window-width="2560"
inkscape:window-height="1360"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1"><sodipodi:guide
position="227.31716,399.38542"
orientation="0,-1"
id="guide1"
inkscape:locked="false" /></sodipodi:namedview>
<svg:path
fill="#e61e1e"
d="m 766.10016,459.7136 h 34.55 l -35.65,-117.66 -49.1,-0.002 -35.65,117.66 h 34.56 l 6.3,-21.78 h 38.66 l 6.33,21.78 m -37.51,-47.943 11.76,-40.651 h 0.2 l 11.76,40.651 z m -555.46,50.055 c 35.48,0 52.63,-6.25 55.06,-38.265 0.58,-7.618 0.69,-15.439 0.69,-22.689 0.01,-7.225 -0.11,-15.054 -0.69,-22.671 -2.43,-32.025 -19.58,-38.265 -55.06,-38.265 -35.48,0 -52.62,6.24 -55.04,38.265 -0.59,7.617 -0.71,15.446 -0.71,22.671 0.01,7.25 0.12,15.071 0.71,22.689 2.42,32.015 19.56,38.265 55.04,38.265 m -22.31,-60.954 c 0,-6.461 0.16,-10.28 0.3,-13.114 0.9,-18.161 8.07,-20.278 22.01,-20.278 13.95,0 21.12,2.117 22.01,20.278 0.14,2.833 0.31,6.652 0.31,13.114 0,6.482 -0.17,10.308 -0.31,13.135 -0.89,18.164 -8.06,20.285 -22.01,20.285 -13.94,0 -21.11,-2.121 -22.01,-20.285 -0.14,-2.827 -0.3,-6.653 -0.3,-13.135 z M 0.65015822,342.1056 v 29.331 H 35.822158 v 88.327 h 35.185 v -88.327 h 35.173002 v -29.331 H 0.65015822 M 540.50016,459.7136 v -117.662 h -33.39 v 117.662 h 33.39 m -134.35,-74.703 v -42.959 h -33.2 v 117.662 h 33.2 v -45.372 h 38.58 v 45.372 h 33.19 v -117.662 h -33.19 v 42.959 h -38.58 m 244.17,13.206 c 14.79,-3.781 19.13,-12.616 19.13,-25.386 0,-25.859 -16.27,-30.78 -39.4,-30.78 h -59.95 v 117.66 h 62.92 c 28.97,0 38.71,-12.48 38.71,-31.675 0,-13.383 -3.06,-25.191 -21.41,-29.822 m -47.03,13.169 h 23.02 c 9.3,0 11.24,4.074 11.24,10.7 0,6.632 -3.64,10.717 -11.24,10.717 h -23.02 z m 0,-42.425 h 23.02 c 6.01,0 9.73,2.851 9.73,9.708 0,5.878 -3.68,9.496 -9.73,9.496 h -23.02 z m -355.06,52.143 h 31.65 c 0.03,5.708 0.76,9.523 3.53,11.63 3.15,2.374 5.97,3.158 15.32,3.158 9,0 18.86,0 18.86,-11.085 0,-8.742 -5.51,-10.737 -15.68,-11.279 -25.22,-1.336 -34.34,-2.049 -43.73,-9.025 -6.4,-4.757 -9.72,-14.018 -9.72,-26.542 0,-21.297 7.43,-28.768 18.15,-33.981 11.06,-5.381 54.47,-5.381 66.15,0 14.69,6.768 15.12,21.42 15.12,35.011 h -31.57 c -0.06,-6.929 -1.62,-8.886 -2.89,-10.175 -3.28,-2.908 -7.95,-3.522 -14.69,-3.522 -8.16,0 -17.6,0.368 -17.6,10.277 0,7.56 3.27,10.72 11.85,11.276 11.79,0.754 35.02,1.497 43.3,6.383 11.61,6.867 14.62,16.159 14.62,31.319 0,21.908 -7.84,28.338 -18.75,33.158 -12.59,5.56 -54.64,5.56 -68.31,-0.43 -15.3,-6.67 -15.61,-19.964 -15.61,-36.173"
id="path1" />
</svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

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