├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ └── config.yml ├── dependabot.yml ├── label-commenter-config.yml ├── pull_request_template.md └── workflows │ ├── auto-tag-new-version.yml │ ├── close_stale_issue.yml │ ├── continuous-integration.yml │ ├── label-commenter.yml │ ├── locales-sync.yml │ ├── locales-update-source.yml │ └── release.yml ├── .gitignore ├── .php-cs-fixer.php ├── .phpcs.xml ├── .tx └── config ├── CHANGELOG.md ├── LICENSE ├── README.md ├── SECURITY.md ├── ajax ├── common.tabs.php ├── dashboard.php ├── dropdownExport.php ├── dropdownGraphs.php ├── get_new_crsf_token.php ├── homepage_link.php └── index.php ├── composer.json ├── composer.lock ├── css └── mreporting.css ├── fonts ├── FreeSans.ttf └── Vera.ttf ├── front ├── central.php ├── config.form.php ├── config.php ├── dashboard.form.php ├── dashboard.php ├── export.php ├── export_svg.php ├── graph.php ├── index.php ├── popup.php ├── preference.form.php ├── profile.form.php ├── test-after.xml └── test-before.xml ├── hook.php ├── inc ├── baseclass.class.php ├── common.class.php ├── config.class.php ├── dashboard.class.php ├── graph.class.php ├── graphcsv.class.php ├── graphpng.class.php ├── helpdesk.class.php ├── helpdeskplus.class.php ├── inventory.class.php ├── notification.class.php ├── notificationevent.class.php ├── notificationmail.class.php ├── notificationtargetnotification.class.php ├── other.class.php ├── pdf.class.php ├── preference.class.php ├── profile.class.php └── tag.class.php ├── index.php ├── js └── helpdesk-menu.js ├── lib ├── cubic_splines │ ├── classes │ │ ├── CubicSplines.php │ │ └── Plot.php │ └── index.php ├── imagesmootharc │ ├── example.php │ └── imageSmoothArc.php ├── index.php ├── jquery.tipsy │ ├── jquery.tipsy.css │ ├── jquery.tipsy.js │ ├── jquery.tipsy.min.js │ └── tipsy.js └── protovis │ ├── README │ ├── protovis.js │ └── protovis.min.js ├── locales ├── cs_CZ.mo ├── cs_CZ.po ├── de_DE.mo ├── de_DE.po ├── en_GB.mo ├── en_GB.po ├── en_US.mo ├── en_US.po ├── es_AR.mo ├── es_AR.po ├── es_CO.mo ├── es_CO.po ├── es_EC.mo ├── es_EC.po ├── es_ES.mo ├── es_ES.po ├── es_MX.mo ├── es_MX.po ├── es_VE.mo ├── es_VE.po ├── fi_FI.mo ├── fi_FI.po ├── fr_FR.mo ├── fr_FR.po ├── hr_HR.mo ├── hr_HR.po ├── hu_HU.mo ├── hu_HU.po ├── it_IT.mo ├── it_IT.po ├── ja_JP.mo ├── ja_JP.po ├── ko_KR.mo ├── ko_KR.po ├── lv_LV.mo ├── lv_LV.po ├── mreporting.pot ├── nl_NL.mo ├── nl_NL.po ├── pl_PL.mo ├── pl_PL.po ├── pt_BR.mo ├── pt_BR.po ├── pt_PT.mo ├── pt_PT.po ├── reports_locales │ ├── helpdesk_cs_CZ.php │ ├── helpdesk_de_DE.php │ ├── helpdesk_en_GB.php │ ├── helpdesk_es_VE.php │ ├── helpdesk_fr_FR.php │ ├── helpdesk_hr_HR.php │ ├── helpdesk_pl_PL.php │ ├── helpdesk_pt_BR.php │ ├── helpdesk_pt_PT.php │ ├── helpdesk_ru_RU.php │ ├── helpdesk_sk_SK.php │ ├── helpdeskplus_cs_CZ.php │ ├── helpdeskplus_de_DE.php │ ├── helpdeskplus_en_GB.php │ ├── helpdeskplus_es_VE.php │ ├── helpdeskplus_fr_FR.php │ ├── helpdeskplus_hr_HR.php │ ├── helpdeskplus_pl_PL.php │ ├── helpdeskplus_pt_BR.php │ ├── helpdeskplus_pt_PT.php │ ├── helpdeskplus_ru_RU.php │ ├── helpdeskplus_sk_SK.php │ ├── inventory_cs_CZ.php │ ├── inventory_de_DE.php │ ├── inventory_en_GB.php │ ├── inventory_es_VE.php │ ├── inventory_fr_FR.php │ ├── inventory_hr_HR.php │ ├── inventory_pl_PL.php │ ├── inventory_pt_BR.php │ ├── inventory_pt_PT.php │ ├── inventory_ru_RU.php │ ├── inventory_sk_SK.php │ ├── other_cs_CZ.php │ ├── other_de_DE.php │ ├── other_en_GB.php │ ├── other_es_VE.php │ ├── other_fr_FR.php │ ├── other_hr_HR.php │ ├── other_pl_PL.php │ ├── other_pt_BR.php │ ├── other_pt_PT.php │ ├── other_ru_RU.php │ ├── other_sk_SK.php │ ├── tag_cs_CZ.php │ ├── tag_de_DE.php │ ├── tag_en_GB.php │ ├── tag_es_VE.php │ ├── tag_fr_FR.php │ ├── tag_hr_HR.php │ ├── tag_pl_PL.php │ ├── tag_pt_BR.php │ ├── tag_ru_RU.php │ └── tag_sk_SK.php ├── ro_RO.mo ├── ro_RO.po ├── ru_RU.mo ├── ru_RU.po ├── ru_lv.mo ├── ru_lv.po ├── sk_SK.mo ├── sk_SK.po ├── tr_TR.mo ├── tr_TR.po ├── uk_UA.mo ├── uk_UA.po ├── zh_CN.mo └── zh_CN.po ├── mreporting.xml ├── pics ├── chart-area.png ├── chart-bar.png ├── chart-bubble.png ├── chart-cstick.png ├── chart-curve.png ├── chart-garea.png ├── chart-gline.png ├── chart-hbar.png ├── chart-hgbar.png ├── chart-line.png ├── chart-pie.png ├── chart-plot.png ├── chart-sunburst.png ├── chart-vstackbar.png ├── check24.png ├── config.png ├── config2.png ├── cross24.png ├── dashboard.png ├── howto_arrow.png └── list_dashboard.png ├── screenshots ├── dashboard.png ├── mreporting_area.png ├── mreporting_garea.png ├── mreporting_gline.png ├── mreporting_hbar.png ├── mreporting_hgbar.png ├── mreporting_line.png └── mreporting_pie.png ├── setup.php ├── templates └── template.odt └── tools └── HEADER /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- 1 | name: Bug Report 2 | description: Create a report to help us improve mreporting 3 | body: 4 | - type: markdown 5 | attributes: 6 | value: | 7 | 8 | Dear GLPI plugin user. 9 | 10 | **⚠️ Please never use standard issues to report security problems. See [security policy](https://github.com/pluginsGLPI/mreporting/security/policy) for more details. ⚠️** 11 | 12 | BEFORE SUBMITTING YOUR ISSUE, please make sure to read and follow these steps: 13 | 14 | * We do not track feature requests nor enhancements here. Propose them on the [suggest dedicated site](https://suggest.glpi-project.org). 15 | * Keep this tracker in ENGLISH. If you want support in your language, the [community forum](https://forum.glpi-project.org) is the best place. 16 | * Always try to reproduce your issue at least on latest stable release. 17 | 18 | The GLPI team. 19 | - type: markdown 20 | attributes: 21 | value: | 22 | ## Professional Support 23 | 24 | We do not guarantee any processing / resolution time for community issues. 25 | 26 | If you need a quick fix or any guarantee, you should consider to buy a GLPI Network Subscription. 27 | 28 | More information here: https://glpi-project.org/subscriptions/ 29 | - type: checkboxes 30 | id: terms 31 | attributes: 32 | label: Code of Conduct 33 | description: By submitting this issue, you agree to follow hereinabove rules and [Contribution guide](https://github.com/glpi-project/glpi/blob/main/CONTRIBUTING.md) 34 | options: 35 | - label: I agree to follow this project's Code of Conduct 36 | validations: 37 | required: true 38 | - type: checkboxes 39 | attributes: 40 | label: Is there an existing issue for this? 41 | description: Please search to see if an issue already exists for the bug you encountered. 42 | options: 43 | - label: I have searched the existing issues 44 | validations: 45 | required: true 46 | - type: input 47 | id: glpi-version 48 | attributes: 49 | label: GLPI Version 50 | description: What version of our GLPI are you running? 51 | validations: 52 | required: true 53 | - type: input 54 | id: plugin-version 55 | attributes: 56 | label: Plugin version 57 | description: What version of `mreporting` are you running? 58 | validations: 59 | required: true 60 | - type: textarea 61 | attributes: 62 | label: Bug description 63 | description: A concise description of the problem you are experiencing and what you expected to happen. 64 | validations: 65 | required: false 66 | - type: textarea 67 | id: logs 68 | attributes: 69 | label: Relevant log output 70 | description: | 71 | Please copy and paste any relevant log output. Find them in `*-error.log` files under `glpi/files/_log/`. 72 | 73 | Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. 74 | render: shell 75 | - type: input 76 | id: url 77 | attributes: 78 | label: Page URL 79 | description: If applicable, page URL where the bug happens. 80 | validations: 81 | required: false 82 | - type: textarea 83 | attributes: 84 | label: Steps To reproduce 85 | description: Steps to reproduce the behavior. 86 | placeholder: | 87 | 1. With this config... 88 | 2. Go to... 89 | 3. Scroll down to... 90 | 4. See error... 91 | validations: 92 | required: false 93 | - type: textarea 94 | attributes: 95 | label: Your GLPI setup information 96 | description: Please copy and paste information you will find in GLPI in `Setup > General` menu, `System` tab. 97 | validations: 98 | required: false 99 | - type: textarea 100 | attributes: 101 | label: Anything else? 102 | description: Add any other context about the problem here. 103 | validations: 104 | required: false 105 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: "GLPI professional support" 4 | url: "https://services.glpi-network.com" 5 | about: "Get professional support from the editor and a network of local partners." 6 | - name: "Find an official partner" 7 | url: "https://glpi-project.org/partners/" 8 | about: "Get support to deploy GLPI in a professional manner." 9 | - name: "GLPI Community Forum" 10 | url: "https://forum.glpi-project.org" 11 | about: "Ask questions and get help from the community." 12 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | # Ensure GitHub Actions are used in their latest version 4 | - package-ecosystem: "github-actions" 5 | directory: "/" 6 | schedule: 7 | interval: "monthly" 8 | 9 | # Strategy for composer dependencies 10 | - package-ecosystem: "composer" 11 | directory: "/" 12 | schedule: 13 | interval: "monthly" 14 | allow: 15 | - dependency-type: "direct" 16 | open-pull-requests-limit: 100 17 | versioning-strategy: "increase" 18 | groups: 19 | dev-dependencies: 20 | dependency-type: "development" 21 | -------------------------------------------------------------------------------- /.github/label-commenter-config.yml: -------------------------------------------------------------------------------- 1 | labels: 2 | - name: "invalid" 3 | labeled: 4 | issue: 5 | body: | 6 | This issue has been closed because you did not provide the requested information. 7 | action: "close" 8 | - name: "support" 9 | labeled: 10 | issue: 11 | body: | 12 | This issue has been closed as we only track bugs here. 13 | 14 | You can get community support on [forums](https://forum.glpi-project.org/) or you can consider [taking a subscription](https://glpi-project.org/subscriptions/) to get professional support. 15 | You can also [contact GLPI editor team](https://portal.glpi-network.com/contact-us) directly. 16 | action: close 17 | - name: "feature suggestion" 18 | labeled: 19 | issue: 20 | body: | 21 | This issue has been closed as we only track bugs here. 22 | 23 | You can open a topic to discuss with community about this enhancement on [suggestion website](https://glpi.userecho.com/). 24 | You can also [contact GLPI editor team](https://portal.glpi-network.com/contact-us) directly if you are willing to sponsor this feature. 25 | action: close 26 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Checklist before requesting a review 2 | 3 | *Please delete options that are not relevant.* 4 | 5 | - [ ] I have performed a self-review of my code. 6 | - [ ] I have added tests (when available) that prove my fix is effective or that my feature works. 7 | - [ ] I have updated the CHANGELOG with a short functional description of the fix or new feature. 8 | - [ ] This change requires a documentation update. 9 | 10 | ## Description 11 | 12 | - It fixes # (issue number, if applicable) 13 | - Here is a brief description of what this PR does 14 | 15 | ## Screenshots (if appropriate): 16 | -------------------------------------------------------------------------------- /.github/workflows/auto-tag-new-version.yml: -------------------------------------------------------------------------------- 1 | name: "Automatically tag new version" 2 | 3 | on: 4 | push: 5 | branches: 6 | - "main" 7 | paths: 8 | - "setup.php" 9 | 10 | jobs: 11 | auto-tag-new-version: 12 | name: "Automatically tag new version" 13 | uses: "glpi-project/plugin-release-workflows/.github/workflows/auto-tag-new-version.yml@v1" 14 | secrets: 15 | github-token: "${{ secrets.AUTOTAG_TOKEN }}" 16 | -------------------------------------------------------------------------------- /.github/workflows/close_stale_issue.yml: -------------------------------------------------------------------------------- 1 | name: 'Close stale issues' 2 | on: 3 | schedule: 4 | - cron: '0 8 * * *' 5 | 6 | jobs: 7 | stale: 8 | if: github.repository == 'pluginsGLPI/mreporting' 9 | permissions: 10 | issues: write # for actions/stale to close stale issues 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/stale@v9 14 | with: 15 | stale-issue-message: >- 16 | There has been no activity on this issue for some time and therefore it is considered stale 17 | and will be closed automatically in 10 days. 18 | 19 | 20 | If this issue is related to a bug, please try to reproduce on latest release. If the problem persist, 21 | feel free to add a comment to revive this issue. 22 | 23 | If it is related to a new feature, please open a topic to discuss with community about this enhancement 24 | on [suggestion website](https://glpi.userecho.com/). 25 | 26 | 27 | You may also consider taking a [subscription](https://glpi-project.org/subscriptions/) to get professionnal 28 | support or [contact GLPI editor team](https://portal.glpi-network.com/contact-us) directly. 29 | days-before-issue-stale: 15 30 | days-before-pr-stale: -1 # PR will be marked as stale manually. 31 | days-before-close: 5 32 | exempt-issue-labels: "bug,enhancement,question,security" # Issues with "bug", "enhancement", "question" or "security" labels will not be marked as stale 33 | exempt-all-milestones: true # Do not check issues/PR with defined milestone. 34 | ascending: true # First check older issues/PR. 35 | operations-per-run: 750 # Max API calls per run. 36 | -------------------------------------------------------------------------------- /.github/workflows/continuous-integration.yml: -------------------------------------------------------------------------------- 1 | name: "Continuous integration" 2 | 3 | on: 4 | push: 5 | branches: 6 | - "main" 7 | tags: 8 | - "*" 9 | pull_request: 10 | schedule: 11 | - cron: "0 0 * * *" 12 | workflow_dispatch: 13 | 14 | concurrency: 15 | group: "${{ github.workflow }}-${{ github.ref }}" 16 | cancel-in-progress: true 17 | 18 | jobs: 19 | generate-ci-matrix: 20 | name: "Generate CI matrix" 21 | uses: "glpi-project/plugin-ci-workflows/.github/workflows/generate-ci-matrix.yml@v1" 22 | with: 23 | glpi-version: "10.0.x" 24 | ci: 25 | name: "GLPI ${{ matrix.glpi-version }} - php:${{ matrix.php-version }} - ${{ matrix.db-image }}" 26 | needs: "generate-ci-matrix" 27 | strategy: 28 | fail-fast: false 29 | matrix: ${{ fromJson(needs.generate-ci-matrix.outputs.matrix) }} 30 | uses: "glpi-project/plugin-ci-workflows/.github/workflows/continuous-integration.yml@v1" 31 | with: 32 | plugin-key: "mreporting" 33 | glpi-version: "${{ matrix.glpi-version }}" 34 | php-version: "${{ matrix.php-version }}" 35 | db-image: "${{ matrix.db-image }}" 36 | -------------------------------------------------------------------------------- /.github/workflows/label-commenter.yml: -------------------------------------------------------------------------------- 1 | name: "Label commenter" 2 | 3 | on: 4 | issues: 5 | types: 6 | - "labeled" 7 | - "unlabeled" 8 | 9 | jobs: 10 | comment: 11 | permissions: 12 | contents: "read" 13 | issues: "write" 14 | runs-on: "ubuntu-latest" 15 | steps: 16 | - name: "Checkout" 17 | uses: "actions/checkout@v4" 18 | 19 | - name: "Label commenter" 20 | uses: "peaceiris/actions-label-commenter@v1" 21 | -------------------------------------------------------------------------------- /.github/workflows/locales-sync.yml: -------------------------------------------------------------------------------- 1 | name: "Synchronize locales" 2 | 3 | on: 4 | schedule: 5 | - cron: "0 0 * * 1-5" 6 | workflow_dispatch: 7 | 8 | jobs: 9 | sync-with-transifex: 10 | name: "Sync with transifex" 11 | uses: "glpi-project/plugin-translation-workflows/.github/workflows/transifex-sync.yml@v1" 12 | secrets: 13 | github-token: "${{ secrets.LOCALES_SYNC_TOKEN }}" 14 | transifex-token: "${{ secrets.TRANSIFEX_TOKEN }}" 15 | -------------------------------------------------------------------------------- /.github/workflows/locales-update-source.yml: -------------------------------------------------------------------------------- 1 | name: "Update locales sources" 2 | 3 | on: 4 | push: 5 | branches: 6 | - "main" 7 | 8 | jobs: 9 | push-on-transifex: 10 | name: "Push locales sources" 11 | uses: "glpi-project/plugin-translation-workflows/.github/workflows/transifex-push-sources.yml@v1" 12 | secrets: 13 | transifex-token: "${{ secrets.TRANSIFEX_TOKEN }}" 14 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: "Publish release" 2 | 3 | on: 4 | push: 5 | tags: 6 | - '*' 7 | 8 | jobs: 9 | publish-release: 10 | permissions: 11 | contents: "write" 12 | name: "Publish release" 13 | uses: "glpi-project/plugin-release-workflows/.github/workflows/publish-release.yml@v1" 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | vendor/ 3 | .gh_token 4 | *.min.* 5 | .DS_Store 6 | -------------------------------------------------------------------------------- /.php-cs-fixer.php: -------------------------------------------------------------------------------- 1 | in(__DIR__) 8 | ->name('*.php'); 9 | 10 | $config = new Config(); 11 | 12 | $rules = [ 13 | '@PER-CS2.0' => true, 14 | 'trailing_comma_in_multiline' => ['elements' => ['arguments', 'array_destructuring', 'arrays']], // For PHP 7.4 compatibility 15 | ]; 16 | 17 | return $config 18 | ->setRules($rules) 19 | ->setFinder($finder) 20 | ->setUsingCache(false); 21 | -------------------------------------------------------------------------------- /.phpcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | . 4 | /.git/ 5 | ^vendor/ 6 | ^lib/ 7 | ^locales/ 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | 4 | [o:teclib:p:glpi-project-plugin-mreporting:r:mreporting-pot] 5 | file_filter = locales/.po 6 | source_file = locales/mreporting.pot 7 | source_lang = en 8 | type = PO 9 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](http://keepachangelog.com/) 6 | and this project adheres to [Semantic Versioning](http://semver.org/). 7 | 8 | ## [1.8.7] - 2025-01-29 9 | 10 | ### Fixed 11 | 12 | - Remove the message about a deprecated php function in debug mode 13 | 14 | ## [1.8.6] - 2024-02-13 15 | 16 | ### Added 17 | 18 | - Slovak locale and reports translations 19 | 20 | ## [1.8.5] - 2023-10-19 21 | 22 | ### Fixed 23 | 24 | - No data displayed when using "week" period 25 | 26 | ## [1.8.4] - 2023-10-11 27 | 28 | ### Fixed 29 | 30 | - Error during migration 31 | 32 | ## [1.8.3] - 2023-09-14 33 | 34 | ### Added 35 | 36 | - Japanese (Japan) locale 37 | - Spanish (Ecuador) locale 38 | - Polish translations for reports 39 | 40 | ### Fixed 41 | 42 | - Wrong entity filtering in `reportHbarComputersByEntity` 43 | - Undefined index `f_name` 44 | 45 | ## [1.8.2] - 2022-09-29 46 | 47 | ### Fixed 48 | 49 | - Display all windows distributions 50 | 51 | ## [1.8.1] - 2022-08-22 52 | 53 | ### Fixed 54 | 55 | - Prevent useless DB queries on plugin state checks 56 | - Missing title breaks menu 57 | 58 | ## [1.8.0] - 2022-04-20 59 | 60 | ### Added 61 | 62 | - GLPI 10.0 compatibility 63 | 64 | ## [1.7.4] - 2022-03-01 65 | 66 | ### Added 67 | 68 | - Spanish (Venezuela) locale 69 | 70 | ## [1.7.3] - 2021-04-27 71 | 72 | ### Fixed 73 | 74 | - Deprecated usage of `$order` param in `getAllDataFromTable()` 75 | 76 | ## [1.7.2] - 2021-03-09 77 | 78 | ### Fixed 79 | 80 | - Unable to install from marketplace 81 | 82 | ## [1.7.1] - 2020-12-18 83 | 84 | ### Fixed 85 | 86 | - OpenSuse not included in Linux category for ComputerByOS report 87 | 88 | ## [1.7.0] - 2020-07-07 89 | 90 | ### Added 91 | 92 | - GLPI 9.5 compatibility 93 | - Croatian (Croatia) locale 94 | 95 | ### Fixed 96 | 97 | - Load of JS/CSS resources only when needed 98 | - Autocompletion fields whitelist 99 | 100 | ## [1.6.1] - 2019-02-15 101 | 102 | ### Fixed 103 | 104 | - Icons not displayed 105 | 106 | ## [1.6.0] - 2018-12-10 107 | 108 | ### Added 109 | 110 | - GLPI 9.4 compatibility 111 | 112 | ## [1.5.3] - 2018-10-26 113 | 114 | ### Fixed 115 | 116 | - SQL error on update process on MySQL 5.7 117 | - Useless rights management for simplified profiles 118 | - Missing reports in select list 119 | - Missing javascript loading 120 | 121 | ## [1.5.2] - 2018-09-04 122 | 123 | ### Added 124 | 125 | - Chinese locale 126 | 127 | ### Changed 128 | 129 | - Use InnoDB as DB table engine 130 | 131 | ### Fixed 132 | 133 | - Display of `Windows 10` in inventory report 134 | - Usage of methods deprecated in GLPI 9.3 135 | 136 | ## [1.5.1] - 2018-07-06 137 | 138 | ### Fixed 139 | 140 | - Finnish (Finland) locale 141 | - Undefined index in profile form 142 | 143 | ## [1.5.0] - 2018-06-28 144 | 145 | ### Added 146 | 147 | - GLPI 9.3 compatibility 148 | 149 | ### Fixed 150 | 151 | - Usage of deprecated `each` PHP function 152 | 153 | ## [1.4.1] - 2018-06-21 154 | 155 | ### Added 156 | 157 | - Czech, German and Portuguese translations 158 | 159 | ### Fixed 160 | 161 | - Error while using `GLPI` graphtype 162 | - Deprecated calls to NotificationTarget class 163 | - Deprecated usage of `fieldExists()` 164 | - Notifications not working on GLPI 9.2 165 | - Compatibility check for GLPI < 9.2 166 | 167 | ## [1.4.0] - 2017-09-22 168 | 169 | ### Added 170 | 171 | - GLPI 9.2 compatibility 172 | 173 | ## [1.3.1] - 2016-11-18 174 | 175 | ### Fixed 176 | 177 | - Bad comparaison in Nb tickets per SLA bug (thanks to awslgr) 178 | - Review dashboard feature on helpdesk interface 179 | - Remove require `GLPI_PHPMAILER_DIR` 180 | - Selection from the dropdown itilcategory (thanks to myoaction) 181 | - Don't use Templates and Deleted computers (thanks to johannsan) 182 | - Error Ext on GLPI 0.90 (thanks to tsmr - Infotel Conseil) 183 | - Queries filtered by status for inventory reporting (thanks to sebfun) 184 | 185 | ## [1.3.0] - 2016-10-17 186 | 187 | ### Added 188 | 189 | - GLPI 9.1 compatibility 190 | 191 | ### Fixed 192 | 193 | - Fix SLA graph 194 | - Fix manufacturer graph 195 | - Prevent not logged in users to display graphs 196 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # More reporting GLPI plugin 2 | 3 | [![Join the chat at https://gitter.im/TECLIB/mreporting](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/TECLIB/mreporting?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 4 | 5 | ![Dashboard](https://raw.githubusercontent.com/PluginsGLPI/mreporting/main/screenshots/dashboard.png) 6 | 7 | * Download : https://github.com/PluginsGLPI/mreporting/releases 8 | * Translations on Transifex service : https://explore.transifex.com/teclib/glpi-project-plugin-mreporting/ 9 | * WIKI (Develop new reports) : https://github.com/PluginsGLPI/mreporting/wiki 10 | 11 | ## Contributing 12 | 13 | * Open a ticket for each bug/feature so it can be discussed 14 | * Follow [development guidelines](http://glpi-developer-documentation.readthedocs.io/en/latest/plugins/index.html) 15 | * Refer to [GitFlow](http://git-flow.readthedocs.io/) process for branching 16 | * Work on a new branch on your own fork 17 | * Open a PR that will be reviewed by a developer 18 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | **⚠️ Please never use standard issues to report security problems; vulnerabilities are published once a fix release is available. ⚠️** 4 | 5 | ## Reporting a Vulnerability 6 | 7 | If you found a security issue, please contact us by: 8 | 9 | - [our huntr page](https://huntr.dev/repos/pluginsGLPI/mreporting/) 10 | - a mail to \[glpi-security AT ow2.org\] 11 | 12 | You should provide us all details about the issue and the way to reproduce it. 13 | You may also provide a script that can be used to check the issue exists. 14 | 15 | Once the report will be handled, and if the issue is not yet fixed (or in progress) 16 | we'll add it to the GitHub security tab, and add you as observer. Meanwhile, 17 | you will reserve a CVE for the issue. 18 | 19 | Thank you for improving the security of GLPI and its plugins. 20 | 21 | ## Supported Versions 22 | 23 | We follow the same version support policy as GLPI. 24 | This means that we provide security patches to versions of the plugin that target a version of GLPI itself maintained from a security point of view. 25 | -------------------------------------------------------------------------------- /ajax/common.tabs.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | include('../../../inc/includes.php'); 32 | header('Content-Type: text/html; charset=UTF-8'); 33 | Html::header_nocache(); 34 | 35 | Session::checkLoginUser(); 36 | 37 | $common = new PluginMreportingCommon(); 38 | $common->showCentral($_REQUEST); 39 | 40 | Html::ajaxFooter(); 41 | -------------------------------------------------------------------------------- /ajax/dashboard.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | include('../../../inc/includes.php'); 32 | Html::header_nocache(); 33 | 34 | Session::checkLoginUser(); 35 | 36 | if (isset($_REQUEST['action'])) { 37 | switch ($_REQUEST['action']) { 38 | case 'removeReportFromDashboard': 39 | PluginMreportingDashboard::removeReportFromDashboard($_REQUEST['id']); 40 | break; 41 | 42 | case 'updateWidget': 43 | PluginMreportingDashboard::updateWidget($_REQUEST['id']); 44 | break; 45 | 46 | case 'getConfig': 47 | PluginMreportingDashboard::getConfig(); 48 | break; 49 | 50 | case 'centralDashboard': 51 | Html::includeHeader(); 52 | echo ''; 53 | $dashboard = new PluginMreportingDashboard(); 54 | $dashboard->showDashboard(false); 55 | 56 | //load protovis lib for dashboard render 57 | $version = Plugin::getInfo('mreporting', 'version'); 58 | $php_dir = Plugin::getPhpDir('mreporting', false); 59 | echo Html::script($php_dir . '/lib/protovis/protovis.js', ['version' => $version]); 60 | 61 | Html::popFooter(); 62 | break; 63 | 64 | default: 65 | echo 0; 66 | } 67 | } else { 68 | echo 'No action defined'; 69 | } 70 | -------------------------------------------------------------------------------- /ajax/dropdownExport.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | include('../../../inc/includes.php'); 32 | header('Content-Type: text/html; charset=UTF-8'); 33 | Html::header_nocache(); 34 | 35 | Session::checkLoginUser(); 36 | 37 | if ( 38 | isset($_POST['ext']) 39 | && !empty($_POST['ext']) 40 | ) { 41 | if ($_POST['ext'] == 'odt') { 42 | echo ' '; 43 | $option = []; 44 | $option[1] = __('With data', 'mreporting'); 45 | $option[0] = __('Without data', 'mreporting'); 46 | Dropdown::showFromArray('withdata', $option, []); 47 | } 48 | 49 | if ($_POST['ext'] == 'svg') { 50 | //close previous form 51 | Html::Closeform(); 52 | 53 | $randname = $_POST['randname']; 54 | echo "
"; 56 | echo ""; 57 | echo ""; 59 | Html::Closeform(); 60 | echo ""; 84 | } else { 85 | echo " "; 87 | 88 | echo ""; 98 | } 99 | } 100 | -------------------------------------------------------------------------------- /ajax/dropdownGraphs.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | if (strpos($_SERVER['PHP_SELF'], 'dropdownGraphs.php')) { 32 | include('../../../inc/includes.php'); 33 | header('Content-Type: text/html; charset=UTF-8'); 34 | Html::header_nocache(); 35 | } 36 | 37 | Session::checkLoginUser(); 38 | 39 | if ($_POST['graphname'] != -1) { 40 | $test = explode(';', $_POST['graphname']); 41 | if (isset($test[0])) { 42 | $_POST['classname'] = $test[0]; 43 | $_POST['name'] = $test[1]; 44 | 45 | $config = new PluginMreportingConfig(); 46 | echo " " . __('Send') . ''; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /ajax/get_new_crsf_token.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | $AJAX_INCLUDE = 1; 32 | include('../../../inc/includes.php'); 33 | 34 | header('Content-Type: text/html; charset=UTF-8'); 35 | Html::header_nocache(); 36 | 37 | Session::checkLoginUser(); 38 | 39 | echo Session::getNewCSRFToken(); 40 | -------------------------------------------------------------------------------- /ajax/homepage_link.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | include('../../../inc/includes.php'); 32 | 33 | Session::checkLoginUser(); 34 | 35 | echo ''; 38 | -------------------------------------------------------------------------------- /ajax/index.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | header('Location: ../front/central.php'); 32 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "php": ">=7.4", 4 | "masnathan/odtphp": "dev-teclib" 5 | }, 6 | "require-dev": { 7 | "friendsofphp/php-cs-fixer": "^3.75", 8 | "glpi-project/tools": "^0.7", 9 | "php-parallel-lint/php-parallel-lint": "^1.4", 10 | "phpstan/extension-installer": "^1.4", 11 | "phpstan/phpstan": "^2.1" 12 | }, 13 | "config": { 14 | "optimize-autoloader": true, 15 | "platform": { 16 | "php": "7.4.0" 17 | }, 18 | "sort-packages": true, 19 | "allow-plugins": { 20 | "phpstan/extension-installer": true 21 | } 22 | }, 23 | "repositories": [ 24 | { 25 | "type": "vcs", 26 | "url": "https://github.com/teclib/odtphp/" 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /css/mreporting.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * ------------------------------------------------------------------------- 3 | * Mreporting plugin for GLPI 4 | * ------------------------------------------------------------------------- 5 | * 6 | * LICENSE 7 | * 8 | * This file is part of Mreporting. 9 | * 10 | * Mreporting is free software; you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation; either version 2 of the License, or 13 | * (at your option) any later version. 14 | * 15 | * Mreporting is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with Mreporting. If not, see . 22 | * ------------------------------------------------------------------------- 23 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 24 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 25 | * @link https://github.com/pluginsGLPI/mreporting 26 | * ------------------------------------------------------------------------- 27 | */ 28 | 29 | #fig { 30 | border:1px solid #E0E0E0; 31 | position:relative; 32 | margin:10px auto; 33 | } 34 | .graph { 35 | margin:2px; 36 | } 37 | .graph_title { 38 | background-color: #EEE; 39 | font-size:1.1em; 40 | padding:7px 0 7px 0; 41 | text-transform:uppercase; 42 | text-shadow:0.1em 0.1em 0.1em rgba(4,4,4,.5); 43 | border-top-left-radius: 8px; 44 | border-top-right-radius: 8px; 45 | } 46 | 47 | .title_pics { 48 | vertical-align:middle; 49 | margin-right:5px; 50 | } 51 | 52 | .graph_desc { 53 | border-top: 1px solid #B5B5B5; 54 | background-color:#E5E5E5; 55 | text-align:left; 56 | padding:7px; 57 | } 58 | .graph_desc ul { 59 | margin-top: 5px; 60 | margin-bottom: 5px; 61 | } 62 | .graph_desc ul li { 63 | list-style:disc; 64 | margin-left : 25px; 65 | } 66 | .graph_navigation { 67 | border-top: 1px solid #B5B5B5; 68 | background-color:#E5E5E5; 69 | padding:4px 0 1px; 70 | } 71 | 72 | .graph_bottom { 73 | border-top: 1px solid #B5B5B5; 74 | background-color:#E5E5E5; 75 | padding:4px; 76 | border-bottom-left-radius: 8px; 77 | border-bottom-right-radius: 8px; 78 | } 79 | 80 | .r_sep { 81 | background-color: #FFF; 82 | } 83 | 84 | #mreporting_functions {border-top-left-radius: 8px; border-top-right-radius: 8px;} 85 | #mreporting_functions td { width:50%;} 86 | #mreporting_functions td img {vertical-align:middle;} 87 | 88 | .debug_content { 89 | background: white; 90 | } 91 | 92 | .chzn-container { 93 | width: 200px !important; 94 | } 95 | 96 | .chzn-container .chzn-drop li:nth-child(even) {background: #EEE;} 97 | 98 | .mreportingwidget-panel { 99 | text-align:center; 100 | margin: auto; 101 | width: auto; 102 | height: auto; 103 | min-height: 500px; 104 | display: flex; 105 | flex-wrap: wrap; 106 | } 107 | 108 | .mreportingwidget { 109 | height: 441px; 110 | width: 561px; 111 | margin: 30px 20px 0 0; 112 | } 113 | 114 | .m_left { 115 | float: left; 116 | } 117 | 118 | .m_right { 119 | float: right; 120 | } 121 | 122 | .m_clear { 123 | clear: both; 124 | } 125 | 126 | #mreporting_central_dashboard iframe { 127 | width: 100%; 128 | border-width: 0 1px 1px 1px; 129 | border-style: solid; 130 | border-color: #e1d39e; 131 | padding: 5px; 132 | margin: 0; 133 | overflow: hidden; 134 | } 135 | 136 | select[name=report], 137 | select[name=report] option, 138 | select[name=graphmenu], 139 | select[name=graphmenu] option { 140 | font-family: FontAwesome, 'Bitstream Vera Sans', Verdana, Tahoma, 'Sans serif' !important; 141 | } 142 | 143 | .select2-container[id*=s2id_dropdown_glpilist_limit] { 144 | width: 80px !important; 145 | } 146 | 147 | .m_dashboard_controls { 148 | position: absolute; 149 | right: 20px; 150 | color: #999; 151 | z-index: 100; 152 | } 153 | 154 | .empty_dashboard { 155 | position: absolute; 156 | right: 70px; 157 | background: url("../pics/howto_arrow.png") no-repeat right top; 158 | z-index: 50; 159 | } 160 | 161 | .empty_dashboard_text { 162 | width: 300px; 163 | text-align: center; 164 | margin-top: 120px; 165 | margin-right: 150px; 166 | color: #999; 167 | font-size: 1.4em; 168 | text-transform: uppercase; 169 | font-weight: bold; 170 | } 171 | -------------------------------------------------------------------------------- /fonts/FreeSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/fonts/FreeSans.ttf -------------------------------------------------------------------------------- /fonts/Vera.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/fonts/Vera.ttf -------------------------------------------------------------------------------- /front/central.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | include('../../../inc/includes.php'); 32 | 33 | Session::checkLoginUser(); 34 | Html::header(__('More Reporting', 'mreporting'), '', 'tools', 'PluginMreportingCommon', 'dashboard_list'); 35 | $common = new PluginMreportingCommon(); 36 | 37 | /*** Regular Tab ***/ 38 | $reports = $common->getAllReports(); 39 | $tabs = []; 40 | foreach ($reports as $classname => $report) { 41 | $tabs[$classname] = ['title' => $report['title'], 42 | 'url' => Plugin::getWebDir('mreporting') . '/ajax/common.tabs.php', 43 | 'params' => 'target=' . $_SERVER['PHP_SELF'] . "&classname=$classname", 44 | ]; 45 | } 46 | 47 | if (count($tabs) > 0) { 48 | //foreach tabs 49 | foreach ($tabs as $tab) { 50 | global $DB; 51 | $params = (isset($tab['params']) ? $tab['params'] : ''); 52 | //we get the classname 53 | $classname = str_replace('target=' . $_SERVER['PHP_SELF'] . '&classname=', '', $params); 54 | 55 | //we found all reports for classname where current profil have right 56 | $query = "SELECT * 57 | FROM `glpi_plugin_mreporting_configs`,`glpi_plugin_mreporting_profiles` 58 | WHERE `glpi_plugin_mreporting_configs`.`id` = `glpi_plugin_mreporting_profiles`.`reports` 59 | AND `glpi_plugin_mreporting_configs`.`classname` = '$classname' 60 | AND `glpi_plugin_mreporting_profiles`.`right` = " . READ . ' 61 | AND `glpi_plugin_mreporting_profiles`.`profiles_id` = ' . $_SESSION['glpiactiveprofile']['id']; 62 | 63 | //for this classname if current user have no right on any reports 64 | if ($result = $DB->query($query)) { 65 | if ($DB->numrows($result) == 0) { 66 | //we unset the index 67 | unset($tabs[$classname]); 68 | } 69 | } 70 | } 71 | 72 | //finally if tabs is empty 73 | if (empty($tabs)) { 74 | echo "

" . __('No report is available !', 'mreporting') . '
'; 75 | } else { 76 | echo "
"; 77 | Ajax::createTabs('tabspanel', 'tabcontent', $tabs, 'PluginMreportingCommon'); 78 | } 79 | } else { 80 | echo "

" . __('No report is available !', 'mreporting') . '
'; 81 | } 82 | 83 | Html::footer(); 84 | -------------------------------------------------------------------------------- /front/config.form.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | include('../../../inc/includes.php'); 32 | 33 | Session::checkRight('config', UPDATE); 34 | 35 | if (!isset($_GET['id'])) { 36 | $_GET['id'] = 0; 37 | } 38 | if (!isset($_GET['preconfig'])) { 39 | $_GET['preconfig'] = -1; 40 | } 41 | 42 | $config = new PluginMreportingConfig(); 43 | 44 | if (isset($_POST['add'])) { 45 | $newID = $config->add($_POST); 46 | Html::back(); 47 | } elseif (isset($_POST['update'])) { 48 | $config->update($_POST); 49 | Html::back(); 50 | } elseif (isset($_POST['delete'])) { 51 | $config->delete($_POST, 1); 52 | Html::redirect('./config.form.php'); 53 | } else { 54 | Html::header(__('More Reporting', 'mreporting'), '', 'tools', 'PluginMreportingCommon', 'config'); 55 | 56 | //Link from graph 57 | if (isset($_GET['name']) && isset($_GET['classname'])) { 58 | if ($config->getFromDBByFunctionAndClassname($_GET['name'], $_GET['classname'])) { 59 | $_GET['id'] = $config->fields['id']; 60 | } 61 | } 62 | $config->display($_GET); 63 | 64 | Html::footer(); 65 | } 66 | -------------------------------------------------------------------------------- /front/config.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | include('../../../inc/includes.php'); 32 | 33 | Session::checkRight('config', UPDATE); 34 | 35 | $plugin = new Plugin(); 36 | if ($plugin->isActivated('mreporting')) { 37 | //Create first config for graphs 38 | if (isset($_GET['new'])) { 39 | $config = new PluginMreportingConfig(); 40 | $config->createFirstConfig(); 41 | Html::back(); 42 | } else { 43 | Html::header(__('More Reporting', 'mreporting'), '', 'tools', 'PluginMreportingCommon', 'config'); 44 | 45 | PluginMreportingConfig::addFirstconfigLink(); 46 | Search::show('PluginMreportingConfig'); 47 | } 48 | } else { 49 | Html::header(__('Setup'), '', 'config', 'plugins'); 50 | echo "
"; 51 | echo '

'; 52 | echo 'warning'; 53 | echo '

'; 54 | echo 'Please activate the plugin
'; 55 | } 56 | 57 | Html::footer(); 58 | -------------------------------------------------------------------------------- /front/dashboard.form.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | if (!isset($_POST['saveConfig']) && !isset($_POST['addReports'])) { 32 | $USEDBREPLICATE = 1; 33 | } 34 | $DBCONNECTION_REQUIRED = 0; // Not really a big SQL request 35 | 36 | include('../../../inc/includes.php'); 37 | 38 | Session::checkLoginUser(); 39 | 40 | if (isset($_POST['saveConfig'])) { 41 | PluginMreportingCommon::saveSelectors($_POST['f_name']); 42 | 43 | $_REQUEST['f_name'] = $_POST['f_name']; 44 | $_REQUEST['short_classname'] = $_POST['short_classname']; 45 | PluginMreportingCommon::getSelectorValuesByUser(); 46 | 47 | Html::back(); 48 | } elseif (isset($_POST['addReports'])) { 49 | $dashboard = new PluginMreportingDashboard(); 50 | $post = ['users_id' => $_SESSION['glpiID'], 'reports_id' => $_POST['report']]; 51 | $dashboard->add($post); 52 | 53 | Html::back(); 54 | } else { 55 | if ($_SESSION['glpiactiveprofile']['interface'] == 'helpdesk') { 56 | Html::helpHeader( 57 | __('More Reporting', 'mreporting'), 58 | $_SERVER['PHP_SELF'], 59 | ); 60 | } else { 61 | Html::header( 62 | __('More Reporting', 'mreporting'), 63 | $_SERVER['PHP_SELF'], 64 | 'tools', 65 | 'PluginMreportingCommon', 66 | 'dashboard', 67 | ); 68 | } 69 | 70 | $dashboard = new PluginMreportingDashboard(); 71 | $dashboard->showDashBoard(); 72 | 73 | Html::footer(); 74 | } 75 | -------------------------------------------------------------------------------- /front/dashboard.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | require_once 'dashboard.form.php'; 32 | -------------------------------------------------------------------------------- /front/export.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | $USEDBREPLICATE = 1; 32 | $DBCONNECTION_REQUIRED = 0; // Not really a big SQL request 33 | 34 | include('../../../inc/includes.php'); 35 | 36 | Session::checkLoginUser(); 37 | 38 | header('Content-Type: text/html; charset=UTF-8'); 39 | Html::header_nocache(); 40 | 41 | //if (PluginMreportingPreference::atLeastOneTemplateExists()) { 42 | // $template = PluginMreportingPreference::checkPreferenceTemplateValue(Session::getLoginUserID()); 43 | // if ($template) { 44 | $common = new PluginMreportingCommon(); 45 | $common->export($_REQUEST); 46 | // } else { 47 | // Session::addMessageAfterRedirect(__("Please, select a model in your preferences", 'mreporting'), false, ERROR); 48 | // Html::redirect("../../../front/preference.php"); 49 | // } 50 | //} else { 51 | // Session::addMessageAfterRedirect(__("No model available", 'mreporting'), false, ERROR); 52 | // Html::back(); 53 | //} 54 | -------------------------------------------------------------------------------- /front/export_svg.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | include('../../../inc/includes.php'); 32 | 33 | header('Expires: Mon, 26 Nov 1962 00:00:00 GMT'); 34 | header('Pragma: private'); /// IE BUG + SSL 35 | header('Cache-control: private, must-revalidate'); /// IE BUG + SSL 36 | header('Content-disposition: attachment; filename=export.svg'); 37 | header('Content-type: image/svg+xml'); 38 | 39 | $svg_content = str_replace('&', '&', Toolbox::stripslashes_deep(html_entity_decode($_REQUEST['svg_content']))); 40 | 41 | echo str_replace('. 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | if (!isset($_REQUEST['submit']) && !isset($_REQUEST['reset'])) { 32 | $USEDBREPLICATE = 1; 33 | } 34 | $DBCONNECTION_REQUIRED = 0; // Not really a big SQL request 35 | 36 | include('../../../inc/includes.php'); 37 | 38 | Session::checkLoginUser(); 39 | 40 | Html::header(__('More Reporting', 'mreporting'), '', 'tools', 'PluginMreportingCommon', 'viewreports'); 41 | 42 | $common = new PluginMreportingCommon(); 43 | $common->showGraph($_REQUEST); 44 | 45 | Html::footer(); 46 | -------------------------------------------------------------------------------- /front/index.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | header('Location: central.php'); 32 | -------------------------------------------------------------------------------- /front/popup.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | include('../../../inc/includes.php'); 32 | 33 | Session::checkLoginUser(); 34 | 35 | if (isset($_GET['classname'])) { 36 | $_POST['classname'] = $_GET['classname']; 37 | } 38 | 39 | Html::popHeader(__('General Report - ODT', 'mreporting'), $_SERVER['PHP_SELF']); 40 | 41 | $common = new PluginMreportingCommon(); 42 | $common->showExportForm($_POST); 43 | 44 | echo "
"; 45 | echo '
'; 46 | echo "" . __('Back') . ''; 47 | echo '
'; 48 | Html::popFooter(); 49 | -------------------------------------------------------------------------------- /front/preference.form.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | include('../../../inc/includes.php'); 32 | 33 | Session::checkLoginUser(); 34 | 35 | if (!isset($_GET['id'])) { 36 | $_GET['id'] = ''; 37 | } 38 | 39 | $pref = new PluginMreportingPreference(); 40 | 41 | if (isset($_POST['update'])) { 42 | $pref->update($_POST); 43 | Html::back(); 44 | } else { 45 | Html::header(__('More Reporting', 'mreporting'), '', 'tools', 'PluginMreportingCommon', 'viewreports'); 46 | 47 | $pref->showForm($_GET['id']); 48 | 49 | Html::footer(); 50 | } 51 | -------------------------------------------------------------------------------- /front/profile.form.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | include('../../../inc/includes.php'); 32 | 33 | Session::checkRight('profile', READ); 34 | 35 | $config = new PluginMreportingConfig(); 36 | $res = $config->find(); 37 | $profil = new PluginMreportingProfile(); 38 | 39 | //Save profile 40 | if (isset($_REQUEST['update'])) { 41 | foreach ($res as $report) { 42 | if (class_exists($report['classname'])) { 43 | $access = $_REQUEST[$report['id']]; 44 | 45 | $profil->getFromDBByCrit( 46 | [ 47 | 'profiles_id' => $_REQUEST['profile_id'], 48 | 'reports' => $report['id'], 49 | ], 50 | ); 51 | $profil->fields['right'] = $access; 52 | $profil->update($profil->fields); 53 | } 54 | } 55 | } elseif (isset($_REQUEST['add'])) { 56 | $query = "SELECT `id`, `name` 57 | FROM `glpi_profiles` WHERE `interface` = 'central' 58 | ORDER BY `name`"; 59 | 60 | foreach ($DB->request($query) as $profile) { 61 | $access = $_REQUEST[$profile['id']]; 62 | 63 | $profil->getFromDBByCrit( 64 | [ 65 | 'profiles_id' => $profile['id'], 66 | 'reports' => $_REQUEST['report_id'], 67 | ], 68 | ); 69 | $profil->fields['right'] = $access; 70 | $profil->update($profil->fields); 71 | } 72 | } elseif (isset($_REQUEST['giveReadAccessForAllReport'])) { 73 | foreach ($res as $report) { 74 | $profil->getFromDBByCrit( 75 | [ 76 | 'profiles_id' => $_REQUEST['profile_id'], 77 | 'reports' => $report['id'], 78 | ], 79 | ); 80 | $profil->fields['right'] = READ; 81 | $profil->update($profil->fields); 82 | } 83 | } elseif (isset($_REQUEST['giveNoneAccessForAllReport'])) { 84 | foreach ($res as $report) { 85 | $profil->getFromDBByCrit( 86 | [ 87 | 'profiles_id' => $_REQUEST['profile_id'], 88 | 'reports' => $report['id'], 89 | ], 90 | ); 91 | $profil->fields['right'] = 'NULL'; 92 | $profil->update($profil->fields); 93 | } 94 | } elseif (isset($_REQUEST['giveNoneAccessForAllProfile'])) { 95 | $query = 'SELECT `id`, `name` 96 | FROM `glpi_profiles` 97 | ORDER BY `name`'; 98 | 99 | foreach ($DB->request($query) as $profile) { 100 | $profil->getFromDBByCrit( 101 | [ 102 | 'profiles_id' => $profile['id'], 103 | 'reports' => $_REQUEST['report_id'], 104 | ], 105 | ); 106 | $profil->fields['right'] = 'NULL'; 107 | $profil->update($profil->fields); 108 | } 109 | } elseif (isset($_REQUEST['giveReadAccessForAllProfile'])) { 110 | $query = 'SELECT `id`, `name` 111 | FROM `glpi_profiles` 112 | ORDER BY `name`'; 113 | 114 | foreach ($DB->request($query) as $profile) { 115 | $profil->getFromDBByCrit( 116 | [ 117 | 'profiles_id' => $profile['id'], 118 | 'reports' => $_REQUEST['report_id'], 119 | ], 120 | ); 121 | $profil->fields['right'] = READ; 122 | $profil->update($profil->fields); 123 | } 124 | } 125 | Html::back(); 126 | -------------------------------------------------------------------------------- /front/test-after.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/front/test-after.xml -------------------------------------------------------------------------------- /inc/notificationmail.class.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | if (!defined('GLPI_ROOT')) { 32 | die("Sorry. You can't access directly to this file"); 33 | } 34 | 35 | /** 36 | * NotificationMailing class extends phpmail and implements the NotificationInterface 37 | **/ 38 | class PluginMreportingNotificationMail extends NotificationMailing 39 | { 40 | /** 41 | * @param $options array 42 | **/ 43 | public function sendNotification($options = []) 44 | { 45 | $mmail = new GLPIMailer(); 46 | $mmail->AddCustomHeader('Auto-Submitted: auto-generated'); 47 | // For exchange 48 | $mmail->AddCustomHeader('X-Auto-Response-Suppress: OOF, DR, NDR, RN, NRN'); 49 | 50 | $mmail->SetFrom($options['from'], $options['fromname'], false); 51 | 52 | if ($options['replyto']) { 53 | $mmail->AddReplyTo($options['replyto'], $options['replytoname']); 54 | } 55 | $mmail->Subject = $options['subject']; 56 | 57 | if (empty($options['content_html'])) { 58 | $mmail->isHTML(false); 59 | $mmail->Body = $options['content_text']; 60 | } else { 61 | $mmail->isHTML(true); 62 | $mmail->Body = $options['content_html']; 63 | $mmail->AltBody = $options['content_text']; 64 | } 65 | 66 | $mmail->AddAddress($options['to'], $options['toname']); 67 | 68 | if (!empty($options['messageid'])) { 69 | $mmail->MessageID = '<' . $options['messageid'] . '>'; 70 | } 71 | 72 | // Attach pdf to mail 73 | $mmail->AddAttachment($options['attachment']['path'], $options['attachment']['name']); 74 | 75 | $messageerror = __('Error in sending the email'); 76 | 77 | if (!$mmail->Send()) { 78 | $senderror = true; 79 | Session::addMessageAfterRedirect($messageerror . '
' . $mmail->ErrorInfo, true); 80 | } else { 81 | //TRANS to be written in logs %1$s is the to email / %2$s is the subject of the mail 82 | Toolbox::logInFile('mail', sprintf( 83 | __('%1$s: %2$s'), 84 | sprintf(__('An email was sent to %s'), $options['to']), 85 | $options['subject'] . "\n", 86 | )); 87 | } 88 | 89 | $mmail->ClearAddresses(); 90 | 91 | return true; 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /inc/pdf.class.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | if (!defined('GLPI_ROOT')) { 32 | die("Sorry. You can't access directly to this file"); 33 | } 34 | 35 | class PluginMreportingPdf extends TCPDF 36 | { 37 | /** 38 | * Create PDF header and initialize presentation 39 | */ 40 | // @codingStandardsIgnoreStart 41 | public function Init() 42 | { 43 | // @codingStandardsIgnoreEnd 44 | global $CFG_GLPI; 45 | 46 | $title = __('GLPI statistics reports', 'mreporting'); 47 | $creator = __('Automaticaly generated by GLPI', 'mreporting'); 48 | $version = plugin_version_mreporting(); 49 | $author = $CFG_GLPI['version'] . ' - ' . $version['name'] . ' v' . $version['version']; 50 | 51 | $this->SetCreator($creator); 52 | $this->SetAuthor($author); 53 | $this->SetTitle($title); 54 | 55 | $this->SetFontSize(10); 56 | $this->SetMargins(20, 25); 57 | 58 | $this->SetAutoPageBreak(true); 59 | 60 | $this->setHeaderFont([PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN]); 61 | $this->SetHeaderMargin(PDF_MARGIN_HEADER); 62 | $this->AddPage(); 63 | } 64 | 65 | /** 66 | * Insert content and graphs 67 | * 68 | * @param array $images Array of reports 69 | */ 70 | // @codingStandardsIgnoreStart 71 | public function Content($images) 72 | { 73 | // @codingStandardsIgnoreEnd 74 | $images_lengh = sizeof($images); 75 | $i = 0; 76 | foreach ($images as $image) { 77 | $i++; 78 | $file = '@' . base64_decode($image['base64']); 79 | $w = 210 - PDF_MARGIN_LEFT * 2; 80 | 81 | if ($image['width'] == 0) { 82 | continue; 83 | } 84 | 85 | $h = floor(($image['height'] * $w) / $image['width']); 86 | $this->Image($file, '', '', $w, $h); 87 | $this->Ln($h); 88 | 89 | $this->writeHTMLCell('', '', '', '', $image['title'], 0, 1, false, true, 'C'); 90 | if ($i < $images_lengh) { 91 | $this->AddPage(); 92 | } 93 | } 94 | } 95 | 96 | /** 97 | * Create the PDF footer 98 | */ 99 | // @codingStandardsIgnoreStart 100 | public function Footer() 101 | { 102 | $this->SetY(-15); 103 | $this->SetFontSize(8); 104 | $this->writeHTMLCell('', '', '', '', date('Y-m-d H:i:s'), 0, 0, false, true, 'R'); 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /inc/tag.class.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | class PluginMreportingTag extends PluginMreportingBaseclass 32 | { 33 | /** 34 | * Default pie graph for the use of tags. 35 | * For all linked itemtypes without filter. 36 | * 37 | * @param array $config (optionnal) 38 | * @return array $datas array of query results (tag => count number) 39 | */ 40 | public function reportPieTag($config = []) 41 | { 42 | global $DB; 43 | 44 | if (!Plugin::isPluginActive('tag')) { 45 | return []; 46 | } 47 | 48 | $_SESSION['mreporting_selector'][__FUNCTION__] = []; 49 | 50 | $datas = []; 51 | 52 | $result = $DB->query('SELECT COUNT(*) as count_tag, glpi_plugin_tag_tags.name as name 53 | FROM glpi_plugin_tag_tagitems 54 | LEFT JOIN glpi_plugin_tag_tags ON plugin_tag_tags_id = glpi_plugin_tag_tags.id 55 | GROUP BY plugin_tag_tags_id 56 | ORDER BY count_tag DESC'); 57 | while ($datas_tag = $DB->fetchAssoc($result)) { 58 | $label = $datas_tag['name']; 59 | $datas['datas'][$label] = $datas_tag['count_tag']; 60 | } 61 | 62 | return $datas; 63 | } 64 | 65 | /** 66 | * Pie graph for the use of tags in Ticket, 67 | * with itilcategory filter. 68 | * 69 | * @param array $config (optionnal) 70 | * @return array $datas array of query results (tag => count number) 71 | */ 72 | public function reportPieTagOnTicket($config = []) 73 | { 74 | global $DB; 75 | 76 | if (!Plugin::isPluginActive('tag')) { 77 | return []; 78 | } 79 | 80 | $_SESSION['mreporting_selector'][__FUNCTION__] = ['category']; 81 | 82 | $sql_itilcat = isset($_SESSION['mreporting_values']['itilcategories_id']) && $_SESSION['mreporting_values']['itilcategories_id'] > 0 ? 83 | ' AND glpi_tickets.itilcategories_id = ' . $_SESSION['mreporting_values']['itilcategories_id'] : ''; 84 | 85 | $datas = []; 86 | 87 | $result = $DB->query("SELECT COUNT(*) as count_tag, glpi_plugin_tag_tags.name 88 | FROM glpi_plugin_tag_tagitems 89 | LEFT JOIN glpi_plugin_tag_tags ON plugin_tag_tags_id = glpi_plugin_tag_tags.id 90 | LEFT JOIN glpi_tickets ON glpi_tickets.id = glpi_plugin_tag_tagitems.items_id 91 | WHERE itemtype = 'Ticket' 92 | $sql_itilcat 93 | GROUP BY plugin_tag_tags_id 94 | ORDER BY count_tag DESC"); 95 | while ($datas_tag = $DB->fetchAssoc($result)) { 96 | $label = $datas_tag['name']; 97 | $datas['datas'][$label] = $datas_tag['count_tag']; 98 | } 99 | 100 | return $datas; 101 | } 102 | } 103 | -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | header('Location: front/central.php'); 32 | -------------------------------------------------------------------------------- /js/helpdesk-menu.js: -------------------------------------------------------------------------------- 1 | /** 2 | * ------------------------------------------------------------------------- 3 | * Mreporting plugin for GLPI 4 | * ------------------------------------------------------------------------- 5 | * 6 | * LICENSE 7 | * 8 | * This file is part of Mreporting. 9 | * 10 | * Mreporting is free software; you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation; either version 2 of the License, or 13 | * (at your option) any later version. 14 | * 15 | * Mreporting is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with Mreporting. If not, see . 22 | * ------------------------------------------------------------------------- 23 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 24 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 25 | * @link https://github.com/pluginsGLPI/mreporting 26 | * ------------------------------------------------------------------------- 27 | */ 28 | 29 | $( document ).ready(function() { 30 | var urlAjax = CFG_GLPI.root_doc+"/"+GLPI_PLUGINS_PATH.mreporting+"/ajax/homepage_link.php"; 31 | $.post( urlAjax, function( data ) { 32 | $('#c_menu #menu').append( data ); 33 | }); 34 | }); 35 | -------------------------------------------------------------------------------- /lib/cubic_splines/classes/CubicSplines.php: -------------------------------------------------------------------------------- 1 | aCrdX = []; 16 | $this->aCrdY = []; 17 | $this->aCoords = []; 18 | 19 | ksort($aCoords); 20 | foreach ($aCoords as $x => $y) { 21 | $this->aCrdX[] = $x; 22 | $this->aCrdY[] = $y; 23 | } 24 | 25 | $this->iMinX = $iMinX; 26 | $this->iMaxX = $iMaxX; 27 | 28 | if ($this->iMinX == -1) { 29 | $this->iMinX = min($this->aCrdX); 30 | } 31 | if ($this->iMaxX == -1) { 32 | $this->iMaxX = max($this->aCrdX); 33 | } 34 | 35 | $this->iStep = $iStep; 36 | } 37 | 38 | public function setInitCoords(&$aCoords, $iStep = 1, $iMinX = -1, $iMaxX = -1) 39 | { 40 | $this->aSplines = []; 41 | 42 | if (count($aCoords) < 4) { 43 | return false; 44 | } 45 | 46 | $this->prepareCoords($aCoords, $iStep, $iMinX, $iMaxX); 47 | $this->buildSpline($this->aCrdX, $this->aCrdY, count($this->aCrdX)); 48 | } 49 | 50 | public function processCoords() 51 | { 52 | for ($x = $this->iMinX; $x <= $this->iMaxX; $x += $this->iStep) { 53 | $this->aCoords[$x] = $this->funcInterp($x); 54 | } 55 | 56 | return $this->aCoords; 57 | } 58 | 59 | private function buildSpline($x, $y, $n) 60 | { 61 | for ($i = 0; $i < $n; ++$i) { 62 | $this->aSplines[$i]['x'] = $x[$i]; 63 | $this->aSplines[$i]['a'] = $y[$i]; 64 | } 65 | 66 | $this->aSplines[0]['c'] = $this->aSplines[$n - 1]['c'] = 0; 67 | $alpha[0] = $beta[0] = 0; 68 | for ($i = 1; $i < $n - 1; ++$i) { 69 | $h_i = $x[$i] - $x[$i - 1]; 70 | $h_i1 = $x[$i + 1] - $x[$i]; 71 | $A = $h_i; 72 | $B = $h_i1; 73 | 74 | if ($h_i == $h_i1) { 75 | $C = 7.0 * ($h_i + $h_i1); 76 | } else { 77 | $C = 2.3 * ($h_i + $h_i1); 78 | } 79 | $B = $h_i1; 80 | if ($h_i == $h_i1) { 81 | $F = 3.5 * (($y[$i + 1] - $y[$i]) / $h_i1 - ($y[$i] - $y[$i - 1]) / $h_i); 82 | } else { 83 | $F = 6.0 * (($y[$i + 1] - $y[$i]) / $h_i1 - ($y[$i] - $y[$i - 1]) / $h_i); 84 | } 85 | $z = ($A * $alpha[$i - 1] + $C); 86 | $alpha[$i] = -$B / $z; 87 | $beta[$i] = ($F - $A * $beta[$i - 1]) / $z; 88 | } 89 | 90 | for ($i = $n - 2; $i > 0; --$i) { 91 | $this->aSplines[$i]['c'] = $alpha[$i] * $this->aSplines[$i + 1]['c'] + $beta[$i]; 92 | } 93 | 94 | for ($i = $n - 1; $i > 0; --$i) { 95 | $h_i = $x[$i] - $x[$i - 1]; 96 | $this->aSplines[$i]['d'] = ($this->aSplines[$i]['c'] - $this->aSplines[$i - 1]['c']) / $h_i; 97 | $this->aSplines[$i]['b'] = $h_i * (2.0 * $this->aSplines[$i]['c'] + $this->aSplines[$i - 1]['c']) / 6.0 + ($y[$i] - $y[$i - 1]) / $h_i; 98 | } 99 | } 100 | 101 | private function funcInterp($x) 102 | { 103 | $n = count($this->aSplines); 104 | if ($x <= $this->aSplines[0]['x']) { 105 | $s = $this->aSplines[1]; 106 | } else { 107 | if ($x >= $this->aSplines[$n - 1]['x']) { 108 | $s = $this->aSplines[$n - 1]; 109 | } else { 110 | $i = 0; 111 | $j = $n - 1; 112 | while ($i + 1 < $j) { 113 | $k = $i + ($j - $i) / 2; 114 | if ($x <= $this->aSplines[$k]['x']) { 115 | $j = $k; 116 | } else { 117 | $i = $k; 118 | } 119 | } 120 | 121 | $s = $this->aSplines[$j]; 122 | } 123 | } 124 | 125 | $dx = ($x - $s['x']); 126 | 127 | return $s['a'] + ($s['b'] + ($s['c'] / 2.0 + $s['d'] * $dx / 6.0) * $dx) * $dx; 128 | } 129 | } 130 | -------------------------------------------------------------------------------- /lib/cubic_splines/classes/Plot.php: -------------------------------------------------------------------------------- 1 | aCoords = &$aCoords; 10 | } 11 | 12 | public function drawLine($vImage, $vColor, $iPosX = 0, $iPosY = false) 13 | { 14 | if ($iPosY === false) { 15 | $iPosY = imagesy($vImage); 16 | } 17 | 18 | reset($this->aCoords); 19 | list($iPrevX, $iPrevY) = each($this->aCoords); 20 | 21 | while (list($x, $y) = each($this->aCoords)) { 22 | imageline($vImage, $iPosX + round($iPrevX), $iPosY - round($iPrevY), $iPosX + round($x), $iPosY - round($y), $vColor); 23 | $iPrevX = $x; 24 | $iPrevY = $y; 25 | } 26 | } 27 | 28 | public function drawDots($vImage, $vColor, $iPosX = 0, $iPosY = false, $iDotSize = 1) 29 | { 30 | if ($iPosY === false) { 31 | $iPosY = imagesy($vImage); 32 | } 33 | 34 | $vBorderColor = imagecolorallocate($vImage, 0, 0, 0); 35 | foreach ($this->aCoords as $x => $y) { 36 | imagefilledellipse($vImage, $iPosX + round($x), $iPosY - round($y), $iDotSize, $iDotSize, $vColor); 37 | imageellipse($vImage, $iPosX + round($x), $iPosY - round($y), $iDotSize, $iDotSize, $vBorderColor); 38 | } 39 | } 40 | 41 | public function drawAxis($vImage, $vColor, $iPosX = 0, $iPosY = false) 42 | { 43 | if ($iPosY === false) { 44 | $iPosY = imagesy($vImage); 45 | } 46 | 47 | $vImageWidth = imagesx($vImage); 48 | imageline($vImage, $iPosX, $iPosY, $iPosX, 0, $vColor); 49 | imageline($vImage, $iPosX, $iPosY, $vImageWidth, $iPosY, $vColor); 50 | 51 | imagefilledpolygon($vImage, [$iPosX, 0, $iPosX - 3, 5, $iPosX + 3, 5], 3, $vColor); 52 | imagefilledpolygon($vImage, [$vImageWidth, $iPosY, $vImageWidth - 5, $iPosY - 3, $vImageWidth - 5, $iPosY + 3], 3, $vColor); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /lib/cubic_splines/index.php: -------------------------------------------------------------------------------- 1 | drawDots($vImage, $vDotColor, 10, GRAPH_HEIGHT, 8); 33 | 34 | $oCurve = new CubicSplines(); 35 | $vColor = imagecolorallocate($vImage, 225, 64, 64); 36 | 37 | $iStart = microtime(1); 38 | if ($oCurve) { 39 | $oCurve->setInitCoords($aCoords, 1); 40 | $r = $oCurve->processCoords(); 41 | if ($r) { 42 | $curveGraph = new Plot($r); 43 | } else { 44 | continue; 45 | } 46 | } else { 47 | $curveGraph = $oPlot; 48 | } 49 | 50 | $curveGraph->drawLine($vImage, $vColor, 10, GRAPH_HEIGHT); 51 | 52 | // unset($oCurve); 53 | $sTime = sprintf('%1.4f', microtime(1) - $iStart); 54 | 55 | imagefilledrectangle($vImage, 0, GRAPH_HEIGHT, GRAPH_WIDTH + 50, $vImagegHeight, $vBgColor); 56 | $oPlot->drawAxis($vImage, $vAxisColor, 10, GRAPH_HEIGHT); 57 | $iPanelY = GRAPH_HEIGHT; 58 | 59 | imagefilledrectangle($vImage, 10, $iPanelY + 10, 20, $iPanelY + 20, $vColor); 60 | imagerectangle($vImage, 10, $iPanelY + 10, 20, $iPanelY + 20, $vAxisColor); 61 | imagettftext($vImage, 10, 0, 30, $iPanelY + 20, $vTextColor, 'Ds-digib.ttf', 'Cubic splines in PHP for graphs: ' . $sTime . ' sec'); 62 | 63 | header('Content-type: image/png'); 64 | imagepng($vImage); 65 | imagedestroy($vImage); 66 | -------------------------------------------------------------------------------- /lib/imagesmootharc/example.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Helpdeskplus'] = [ 34 | 'title' => 'Služba podpory – pokročilé', 35 | 36 | // MISC LOCALES 37 | 'backlogs' => 'Nahromaděná nedodělaná práce', 38 | 'opened' => 'Otevřené', 39 | 'period' => 'Období', 40 | 'backlogstatus' => 'Stav který zobrazit', 41 | 'slaobserved' => 'SLA pozorováno', 42 | 'slanotobserved' => 'SLA nepozorováno', 43 | 'observed' => 'pozorováno', 44 | 'notobserved' => 'nepozorováno', 45 | 46 | 47 | // SELECTOR 48 | 'selector' => [ 49 | 'slas' => 'SLA smlouvy', 50 | 'categories' => 'Kategorie', 51 | ], 52 | 53 | 54 | // GENERAL REPORTS 55 | 'reportGlineBacklogs' => [ 56 | 'title' => 'Nashromážděná nedodělaná práce', 57 | 'desc' => '', 58 | 'category' => 'Celkové', 59 | ], 60 | 61 | 'reportVstackbarLifetime' => [ 62 | 'title' => 'Stáří požadavku', 63 | 'desc' => '', 64 | 'category' => 'Celkové', 65 | ], 66 | 67 | 'reportVstackbarTicketsgroups' => [ 68 | 'title' => 'Požadavky podle skupiny', 69 | 'desc' => '', 70 | 'category' => 'Celkové', 71 | ], 72 | 73 | 'reportVstackbarTicketstech' => [ 74 | 'title' => 'Požadavky podle technika', 75 | 'desc' => '', 76 | 'category' => 'Celkové', 77 | ], 78 | 79 | 'reportVstackbarWorkflow' => [ 80 | 'title' => 'Orientační fronty', 81 | 'desc' => '', 82 | 'category' => 'Celkové', 83 | ], 84 | 85 | 'reportHbarTopcategory' => [ 86 | 'title' => 'Nejčastější kategorie', 87 | 'desc' => '', 88 | 'category' => 'Celkové', 89 | ], 90 | 91 | 'reportHbarTopapplicant' => [ 92 | 'title' => 'Nejčastější žádající skupiny', 93 | 'desc' => '', 94 | 'category' => 'Celkové', 95 | ], 96 | 97 | 'reportVstackbarGroupChange' => [ 98 | 'title' => 'Počty skupinových změn', 99 | 'desc' => '', 100 | 'category' => 'Celkové', 101 | ], 102 | 103 | 'reportLineActiontimeVsSolvedelay' => [ 104 | 'title' => 'Porovnání akčních časů úkolu a prodlevy vyřešení', 105 | 'desc' => '', 106 | 'category' => 'Celkové', 107 | ], 108 | 109 | 110 | // SLA REPORTS 111 | 'reportVstackbarNbTicketBySla' => [ 112 | 'title' => 'Počty požadavků podle SLA', 113 | 'desc' => '', 114 | 'category' => 'Podle SLA', 115 | ], 116 | 117 | 'reportGlineNbTicketBySla' => [ 118 | 'title' => 'Události v požadavku podle SLA', 119 | 'desc' => '', 120 | 'category' => 'Podle SLA', 121 | ], 122 | 123 | 'reportHgbarRespectedSlasByTopCategory' => [ 124 | 'title' => 'Požadavky v jednotlivých SLA seřazené podle kategorií', 125 | 'desc' => '', 126 | 'category' => 'Podle SLA', 127 | ], 128 | 129 | 'reportHgbarRespectedSlasByTechnician' => [ 130 | 'title' => 'Požadavky v jednotlivých SLA seřazené podle techniků', 131 | 'desc' => '', 132 | 'category' => 'Podle SLA', 133 | ], 134 | 135 | 'reportVstackbarRespectedSlasByGroup' => [ 136 | 'title' => 'Požadavky v jednotlivých SLA seřazené podle skupin', 137 | 'desc' => '', 138 | 'category' => 'Podle SLA', 139 | ], 140 | ]; 141 | -------------------------------------------------------------------------------- /locales/reports_locales/helpdeskplus_de_DE.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Helpdeskplus'] = [ 34 | 'title' => 'Helpdesk erweitert', 35 | 36 | // MISC LOCALES 37 | 'backlogs' => 'Backlogs', 38 | 'opened' => 'Erstellt', 39 | 'period' => 'Zeitraum', 40 | 'backlogstatus' => 'Status anzeigen', 41 | 'slaobserved' => 'SLA beaobachtet', 42 | 'slanotobserved' => 'SLA nicht beaobachtet', 43 | 'observed' => 'Beobachtet', 44 | 'notobserved' => 'Nicht beaobachtet', 45 | 46 | 47 | // SELECTOR 48 | 'selector' => [ 49 | 'slas' => 'SLAs', 50 | 'categories' => 'Kategorien', 51 | ], 52 | 53 | 54 | // GENERAL REPORTS 55 | 'reportGlineBacklogs' => [ 56 | 'title' => 'Backlog', 57 | 'desc' => '', 58 | 'category' => 'Allgemein', 59 | ], 60 | 61 | 'reportVstackbarLifetime' => [ 62 | 'title' => 'Ticketalter', 63 | 'desc' => '', 64 | 'category' => 'Allgemein', 65 | ], 66 | 67 | 'reportVstackbarTicketsgroups' => [ 68 | 'title' => 'Tickets pro Gruppe', 69 | 'desc' => '', 70 | 'category' => 'Allgemein', 71 | ], 72 | 73 | 'reportVstackbarTicketstech' => [ 74 | 'title' => 'Tickets pro Techniker', 75 | 'desc' => '', 76 | 'category' => 'Allgemein', 77 | ], 78 | 79 | 'reportVstackbarWorkflow' => [ 80 | 'title' => 'Orientation queues', 81 | 'desc' => '', 82 | 'category' => 'Allgemein', 83 | ], 84 | 85 | 'reportHbarTopcategory' => [ 86 | 'title' => 'TOP Kategorien', 87 | 'desc' => '', 88 | 'category' => 'Allgemein', 89 | ], 90 | 91 | 'reportHbarTopapplicant' => [ 92 | 'title' => 'TOP Anforderer Gruppen', 93 | 'desc' => '', 94 | 'category' => 'Allgemein', 95 | ], 96 | 97 | 'reportVstackbarGroupChange' => [ 98 | 'title' => 'Anzahl Gruppenänderungen', 99 | 'desc' => '', 100 | 'category' => 'Allgemein', 101 | ], 102 | 103 | 'reportLineActiontimeVsSolvedelay' => [ 104 | 'title' => 'Vergleich Aufgabenzeit mit Lösungsdauer', 105 | 'desc' => '', 106 | 'category' => 'Allgemein', 107 | ], 108 | 109 | 110 | // SLA REPORTS 111 | 'reportVstackbarNbTicketBySla' => [ 112 | 'title' => 'Anzahl Tickets pro SLA', 113 | 'desc' => '', 114 | 'category' => 'Pro SLA', 115 | ], 116 | 117 | 'reportGlineNbTicketBySla' => [ 118 | 'title' => 'Ticketentwicklung pro SLA', 119 | 'desc' => '', 120 | 'category' => 'Pro SLA', 121 | ], 122 | 123 | 'reportHgbarRespectedSlasByTopCategory' => [ 124 | 'title' => 'Tickets pro SLA sortiert nach Kategorien', 125 | 'desc' => '', 126 | 'category' => 'Pro SLA', 127 | ], 128 | 129 | 'reportHgbarRespectedSlasByTechnician' => [ 130 | 'title' => 'Tickets pro SLA sortiert nach Techniker', 131 | 'desc' => '', 132 | 'category' => 'Pro SLA', 133 | ], 134 | 135 | 'reportVstackbarRespectedSlasByGroup' => [ 136 | 'title' => 'Tickets pro SLA sortiert nach Gruppen', 137 | 'desc' => '', 138 | 'category' => 'Pro SLA', 139 | ], 140 | ]; 141 | -------------------------------------------------------------------------------- /locales/reports_locales/helpdeskplus_en_GB.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Helpdeskplus'] = [ 34 | 'title' => 'Helpdesk Avancé', 35 | 36 | // MISC LOCALES 37 | 'backlogs' => 'Backlogs', 38 | 'opened' => 'Opened', 39 | 'period' => 'Period', 40 | 'backlogstatus' => 'Status to display', 41 | 'slaobserved' => 'SLA observed', 42 | 'slanotobserved' => 'SLA not observed', 43 | 'observed' => 'observed', 44 | 'notobserved' => 'not observed', 45 | 46 | 47 | // SELECTOR 48 | 'selector' => [ 49 | 'slas' => 'SLAS', 50 | 'categories' => 'Categories', 51 | ], 52 | 53 | 54 | // GENERAL REPORTS 55 | 'reportGlineBacklogs' => [ 56 | 'title' => 'Backlog', 57 | 'desc' => '', 58 | 'category' => 'General', 59 | ], 60 | 61 | 'reportVstackbarLifetime' => [ 62 | 'title' => 'Ticket age', 63 | 'desc' => '', 64 | 'category' => 'General', 65 | ], 66 | 67 | 'reportVstackbarTicketsgroups' => [ 68 | 'title' => 'Tickets per group', 69 | 'desc' => '', 70 | 'category' => 'General', 71 | ], 72 | 73 | 'reportVstackbarTicketstech' => [ 74 | 'title' => 'Tickets per technician', 75 | 'desc' => '', 76 | 'category' => 'General', 77 | ], 78 | 79 | 'reportVstackbarWorkflow' => [ 80 | 'title' => 'Orientation queues', 81 | 'desc' => '', 82 | 'category' => 'General', 83 | ], 84 | 85 | 'reportHbarTopcategory' => [ 86 | 'title' => 'TOP categories', 87 | 'desc' => '', 88 | 'category' => 'General', 89 | ], 90 | 91 | 'reportHbarTopapplicant' => [ 92 | 'title' => 'TOP requester groups', 93 | 'desc' => '', 94 | 'category' => 'General', 95 | ], 96 | 97 | 'reportVstackbarGroupChange' => [ 98 | 'title' => 'Number of group changes', 99 | 'desc' => '', 100 | 'category' => 'General', 101 | ], 102 | 103 | 'reportLineActiontimeVsSolvedelay' => [ 104 | 'title' => 'Task action times and solve delay comparison', 105 | 'desc' => '', 106 | 'category' => 'General', 107 | ], 108 | 109 | 110 | // SLA REPORTS 111 | 'reportVstackbarNbTicketBySla' => [ 112 | 'title' => 'Number of tickets per SLA', 113 | 'desc' => '', 114 | 'category' => 'Per SLA', 115 | ], 116 | 117 | 'reportGlineNbTicketBySla' => [ 118 | 'title' => 'Tickets evolution per SLA', 119 | 'desc' => '', 120 | 'category' => 'Per SLA', 121 | ], 122 | 123 | 'reportHgbarRespectedSlasByTopCategory' => [ 124 | 'title' => 'Tickets per SLA ordered by categories', 125 | 'desc' => '', 126 | 'category' => 'Per SLA', 127 | ], 128 | 129 | 'reportHgbarRespectedSlasByTechnician' => [ 130 | 'title' => 'Tickets per SLA ordered by techicians', 131 | 'desc' => '', 132 | 'category' => 'Per SLA', 133 | ], 134 | 135 | 'reportVstackbarRespectedSlasByGroup' => [ 136 | 'title' => 'Tickets per SLA sorted by groups', 137 | 'desc' => '', 138 | 'category' => 'Per SLA', 139 | ], 140 | ]; 141 | -------------------------------------------------------------------------------- /locales/reports_locales/helpdeskplus_es_VE.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Helpdeskplus'] = [ 34 | 'title' => 'Soporte avanzado', 35 | 36 | // MISC LOCALES 37 | 'backlogs' => 'Atrasos', 38 | 'opened' => 'Abierto', 39 | 'period' => 'Período', 40 | 'backlogstatus' => 'Estado para mostrar', 41 | 'slaobserved' => 'ANS supervisado', 42 | 'slanotobserved' => 'ANS no supervisado', 43 | 'observed' => 'supervisado', 44 | 'notobserved' => 'no supervisado', 45 | 46 | 47 | // SELECTOR 48 | 'selector' => [ 49 | 'slas' => 'ANSs', 50 | 'categories' => 'Categorias', 51 | ], 52 | 53 | 54 | // GENERAL REPORTS 55 | 'reportGlineBacklogs' => [ 56 | 'title' => 'Atraso', 57 | 'desc' => '', 58 | 'category' => 'General', 59 | ], 60 | 61 | 'reportVstackbarLifetime' => [ 62 | 'title' => 'Antiguedad del caso', 63 | 'desc' => '', 64 | 'category' => 'General', 65 | ], 66 | 67 | 'reportVstackbarTicketsgroups' => [ 68 | 'title' => 'Casos por grupo', 69 | 'desc' => '', 70 | 'category' => 'General', 71 | ], 72 | 73 | 'reportVstackbarTicketstech' => [ 74 | 'title' => 'Casos por técnico', 75 | 'desc' => '', 76 | 'category' => 'General', 77 | ], 78 | 79 | 'reportVstackbarWorkflow' => [ 80 | 'title' => 'Orientation queues', 81 | 'desc' => '', 82 | 'category' => 'General', 83 | ], 84 | 85 | 'reportHbarTopcategory' => [ 86 | 'title' => 'TOP categorías', 87 | 'desc' => '', 88 | 'category' => 'General', 89 | ], 90 | 91 | 'reportHbarTopapplicant' => [ 92 | 'title' => 'TOP grupos de solicitantes', 93 | 'desc' => '', 94 | 'category' => 'General', 95 | ], 96 | 97 | 'reportVstackbarGroupChange' => [ 98 | 'title' => 'Caso por numero de cambios de grupos', 99 | 'desc' => 'Agrupa los casos segun el numero de cambios de grupos', 100 | 'category' => 'General', 101 | ], 102 | 103 | 'reportLineActiontimeVsSolvedelay' => [ 104 | 'title' => 'Comparativa entre el retrazo de la solución y tiempo de ejecución', 105 | 'desc' => '', 106 | 'category' => 'General', 107 | ], 108 | 109 | 110 | // SLA REPORTS 111 | 'reportVstackbarNbTicketBySla' => [ 112 | 'title' => 'Casos por ANS', 113 | 'desc' => '', 114 | 'category' => 'Por ANS', 115 | ], 116 | 117 | 'reportGlineNbTicketBySla' => [ 118 | 'title' => 'Evolución de casos por ANS', 119 | 'desc' => '', 120 | 'category' => 'Por ANS', 121 | ], 122 | 123 | 'reportHgbarRespectedSlasByTopCategory' => [ 124 | 'title' => 'Casos por ANS ordenados por categorias', 125 | 'desc' => '', 126 | 'category' => 'Por ANS', 127 | ], 128 | 129 | 'reportHgbarRespectedSlasByTechnician' => [ 130 | 'title' => 'Casos por ANS ordenados por técnicos', 131 | 'desc' => '', 132 | 'category' => 'Por ANS', 133 | ], 134 | 135 | 'reportVstackbarRespectedSlasByGroup' => [ 136 | 'title' => 'Casos por ANS ordenados por grupos', 137 | 'desc' => '', 138 | 'category' => 'Por ANS', 139 | ], 140 | ]; 141 | -------------------------------------------------------------------------------- /locales/reports_locales/helpdeskplus_hr_HR.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Helpdeskplus'] = [ 34 | 'title' => 'Proširena podrška', 35 | 36 | // MISC LOCALES 37 | 'backlogs' => 'Zaostaci', 38 | 'opened' => 'Otvoreni', 39 | 'period' => 'Razdoblje', 40 | 'backlogstatus' => 'Stanje za prikaz', 41 | 'slaobserved' => 'UGOVOR O RAZINI USLUGE promatrano', 42 | 'slanotobserved' => 'UGOVOR O RAZINI USLUGE nepromatrano', 43 | 'observed' => 'promatrano', 44 | 'notobserved' => 'nepromatrano', 45 | 46 | 47 | // SELECTOR 48 | 'selector' => [ 49 | 'slas' => 'UGOVORI O RAZINI USLUGE', 50 | 'categories' => 'Kategorija', 51 | ], 52 | 53 | 54 | // GENERAL REPORTS 55 | 'reportGlineBacklogs' => [ 56 | 'title' => 'Zaostaci', 57 | 'desc' => '', 58 | 'category' => 'Opće', 59 | ], 60 | 61 | 'reportVstackbarLifetime' => [ 62 | 'title' => 'Starost naloga', 63 | 'desc' => '', 64 | 'category' => 'Opće', 65 | ], 66 | 67 | 'reportVstackbarTicketsgroups' => [ 68 | 'title' => 'Nalozi po grupi', 69 | 'desc' => '', 70 | 'category' => 'Opće', 71 | ], 72 | 73 | 'reportVstackbarTicketstech' => [ 74 | 'title' => 'Nalozi po tehničaru', 75 | 'desc' => '', 76 | 'category' => 'Opće', 77 | ], 78 | 79 | 'reportVstackbarWorkflow' => [ 80 | 'title' => 'Smjer redova čekanja', 81 | 'desc' => '', 82 | 'category' => 'Opće', 83 | ], 84 | 85 | 'reportHbarTopcategory' => [ 86 | 'title' => 'TOP kategorije', 87 | 'desc' => '', 88 | 'category' => 'Opće', 89 | ], 90 | 91 | 'reportHbarTopapplicant' => [ 92 | 'title' => 'TOP grupe podnositelja', 93 | 'desc' => '', 94 | 'category' => 'Opće', 95 | ], 96 | 97 | 'reportVstackbarGroupChange' => [ 98 | 'title' => 'Broj promjena grupe', 99 | 'desc' => '', 100 | 'category' => 'Opće', 101 | ], 102 | 103 | 'reportLineActiontimeVsSolvedelay' => [ 104 | 'title' => 'Usporedba vremena zadatka i vremena rješavanja', 105 | 'desc' => '', 106 | 'category' => 'Opće', 107 | ], 108 | 109 | 110 | // SLA REPORTS 111 | 'reportVstackbarNbTicketBySla' => [ 112 | 'title' => 'Broj naloga po ugovoru o razini usluge', 113 | 'desc' => '', 114 | 'category' => 'Po ugovoru o razini usluge', 115 | ], 116 | 117 | 'reportGlineNbTicketBySla' => [ 118 | 'title' => 'Razvoj naloga po ugovoru o razini usluge', 119 | 'desc' => '', 120 | 'category' => 'Po ugovoru o razini usluge', 121 | ], 122 | 123 | 'reportHgbarRespectedSlasByTopCategory' => [ 124 | 'title' => 'Nalozi po ugovoru o razini usluge, razvrstani po kategorijama', 125 | 'desc' => '', 126 | 'category' => 'Po ugovoru o razini usluge', 127 | ], 128 | 129 | 'reportHgbarRespectedSlasByTechnician' => [ 130 | 'title' => 'Nalozi po ugovoru o razini usluge, razvrstani po tehničarima', 131 | 'desc' => '', 132 | 'category' => 'Po ugovoru o razini usluge', 133 | ], 134 | 135 | 'reportVstackbarRespectedSlasByGroup' => [ 136 | 'title' => 'Nalozi po ugovoru o razini usluge, razvrstani po grupama', 137 | 'desc' => '', 138 | 'category' => 'Po ugovoru o razini usluge', 139 | ], 140 | ]; 141 | -------------------------------------------------------------------------------- /locales/reports_locales/helpdeskplus_pl_PL.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Helpdeskplus'] = [ 34 | 'title' => 'Zgłoszenia - rozszerzone', 35 | 36 | // MISC LOCALES 37 | 'backlogs' => 'Backlogs', 38 | 'opened' => 'Otwarte', 39 | 'period' => 'Period', 40 | 'backlogstatus' => 'Status to display', 41 | 'slaobserved' => 'SLA observed', 42 | 'slanotobserved' => 'SLA not observed', 43 | 'observed' => 'observed', 44 | 'notobserved' => 'not observed', 45 | 46 | 47 | // SELECTOR 48 | 'selector' => [ 49 | 'slas' => 'SLAS', 50 | 'categories' => 'Categories', 51 | ], 52 | 53 | 54 | // GENERAL REPORTS 55 | 'reportGlineBacklogs' => [ 56 | 'title' => 'Backlog', 57 | 'desc' => '', 58 | 'category' => 'General', 59 | ], 60 | 61 | 'reportVstackbarLifetime' => [ 62 | 'title' => 'Wiek nierozwiązanych zgłoszeń', 63 | 'desc' => '', 64 | 'category' => 'General', 65 | ], 66 | 67 | 'reportVstackbarTicketsgroups' => [ 68 | 'title' => 'Zgłoszenia nierozwiązane wg grup', 69 | 'desc' => '', 70 | 'category' => 'General', 71 | ], 72 | 73 | 'reportVstackbarTicketstech' => [ 74 | 'title' => 'Zgłoszenia nierozwiązane wg przypisanego technika', 75 | 'desc' => '', 76 | 'category' => 'General', 77 | ], 78 | 79 | 'reportVstackbarWorkflow' => [ 80 | 'title' => 'Orientation queues', 81 | 'desc' => '', 82 | 'category' => 'General', 83 | ], 84 | 85 | 'reportHbarTopcategory' => [ 86 | 'title' => 'Najbardziej popularne kategorie', 87 | 'desc' => '', 88 | 'category' => 'General', 89 | ], 90 | 91 | 'reportHbarTopapplicant' => [ 92 | 'title' => 'Najbardziej popularne grupy techników', 93 | 'desc' => '', 94 | 'category' => 'General', 95 | ], 96 | 97 | 'reportVstackbarGroupChange' => [ 98 | 'title' => 'Number of group changes', 99 | 'desc' => '', 100 | 'category' => 'General', 101 | ], 102 | 103 | 'reportLineActiontimeVsSolvedelay' => [ 104 | 'title' => 'Task action times and solve delay comparison', 105 | 'desc' => '', 106 | 'category' => 'General', 107 | ], 108 | 109 | 110 | // SLA REPORTS 111 | 'reportVstackbarNbTicketBySla' => [ 112 | 'title' => 'Zgłoszenia wg SLA', 113 | 'desc' => '', 114 | 'category' => 'Per SLA', 115 | ], 116 | 117 | 'reportGlineNbTicketBySla' => [ 118 | 'title' => 'Zmiana zgłoszeń wg SLA', 119 | 'desc' => '', 120 | 'category' => 'Per SLA', 121 | ], 122 | 123 | 'reportHgbarRespectedSlasByTopCategory' => [ 124 | 'title' => 'Zgłoszenia wg SLA uporządkowane po kategorii', 125 | 'desc' => '', 126 | 'category' => 'Per SLA', 127 | ], 128 | 129 | 'reportHgbarRespectedSlasByTechnician' => [ 130 | 'title' => 'Zgłoszenia wg SLA uporządkowane po przypisanym techniku', 131 | 'desc' => '', 132 | 'category' => 'Per SLA', 133 | ], 134 | 135 | 'reportVstackbarRespectedSlasByGroup' => [ 136 | 'title' => 'Zgłoszenia wg SLA uporządkowane po grupach', 137 | 'desc' => '', 138 | 'category' => 'Per SLA', 139 | ], 140 | ]; 141 | -------------------------------------------------------------------------------- /locales/reports_locales/helpdeskplus_pt_PT.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | $LANG['plugin_mreporting']['Helpdeskplus'] = [ 33 | 'title' => 'Helpdesk Avançado', 34 | // MISC LOCALES 35 | 'backlogs' => 'Em espera', 36 | 'opened' => 'Abertas', 37 | 'period' => 'Periodo', 38 | 'backlogstatus' => 'Estado a mostrar', 39 | 'slaobserved' => 'SLA observado', 40 | 'slanotobserved' => 'SLA não observado', 41 | 'observed' => 'observado', 42 | 'notobserved' => 'não observado', 43 | // SELECTOR 44 | 'selector' => [ 45 | 'slas' => 'SLAS', 46 | 'categories' => 'Categorias', 47 | ], 48 | // GENERAL REPORTS 49 | 'reportGlineBacklogs' => [ 50 | 'title' => 'Em espera', 51 | 'desc' => '', 52 | 'category' => 'Geral', 53 | ], 54 | 'reportVstackbarLifetime' => [ 55 | 'title' => 'Tempo da Incidência', 56 | 'desc' => '', 57 | 'category' => 'Geral', 58 | ], 59 | 'reportVstackbarTicketsgroups' => [ 60 | 'title' => 'Incidências por grupo', 61 | 'desc' => '', 62 | 'category' => 'Geral', 63 | ], 64 | 'reportVstackbarTicketstech' => [ 65 | 'title' => 'Incidências por técnico', 66 | 'desc' => '', 67 | 'category' => 'Geral', 68 | ], 69 | 'reportVstackbarWorkflow' => [ 70 | 'title' => 'Filas de orientação', 71 | 'desc' => '', 72 | 'category' => 'Geral', 73 | ], 74 | 'reportHbarTopcategory' => [ 75 | 'title' => 'TOP categorias', 76 | 'desc' => '', 77 | 'category' => 'Geral', 78 | ], 79 | 'reportHbarTopapplicant' => [ 80 | 'title' => 'TOP grupos solicitantes', 81 | 'desc' => '', 82 | 'category' => 'Geral', 83 | ], 84 | 'reportVstackbarGroupChange' => [ 85 | 'title' => 'Number of group changes', 86 | 'desc' => '', 87 | 'category' => 'Geral', 88 | ], 89 | 'reportLineActiontimeVsSolvedelay' => [ 90 | 'title' => 'Comparação dos tempos de acção das tarefas e tempo de resolução', 91 | 'desc' => '', 92 | 'category' => 'Geral', 93 | ], 94 | // SLA REPORTS 95 | 'reportVstackbarNbTicketBySla' => [ 96 | 'title' => 'Número de incidências por SLA', 97 | 'desc' => '', 98 | 'category' => 'Por SLA', 99 | ], 100 | 'reportGlineNbTicketBySla' => [ 101 | 'title' => 'Evolução das incidências por SLA', 102 | 'desc' => '', 103 | 'category' => 'Por SLA', 104 | ], 105 | 'reportHgbarRespectedSlasByTopCategory' => [ 106 | 'title' => 'Incidências por SLA ordenadas por categorias', 107 | 'desc' => '', 108 | 'category' => 'Por SLA', 109 | ], 110 | 'reportHgbarRespectedSlasByTechnician' => [ 111 | 'title' => 'Incidências por SLA ordenadas por técnicos', 112 | 'desc' => '', 113 | 'category' => 'Por SLA', 114 | ], 115 | 'reportVstackbarRespectedSlasByGroup' => [ 116 | 'title' => 'Incidências por SLA classificado por grupos', 117 | 'desc' => '', 118 | 'category' => 'Por SLA', 119 | ], 120 | ]; 121 | -------------------------------------------------------------------------------- /locales/reports_locales/helpdeskplus_ru_RU.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Helpdeskplus'] = [ 34 | 'title' => 'Служба поддержки расширенная', 35 | 36 | // MISC LOCALES 37 | 'backlogs' => 'Задержки', 38 | 'opened' => 'Открытые', 39 | 'period' => 'Период', 40 | 'backlogstatus' => 'Отображаемый статус', 41 | 'slaobserved' => 'SLA отмечен', 42 | 'slanotobserved' => 'SLA не отмечен', 43 | 'observed' => 'отмечен', 44 | 'notobserved' => 'не отмечен', 45 | 46 | 47 | // SELECTOR 48 | 'selector' => [ 49 | 'slas' => 'SLAS', 50 | 'categories' => 'Категории', 51 | ], 52 | 53 | 54 | // GENERAL REPORTS 55 | 'reportGlineBacklogs' => [ 56 | 'title' => 'Задержки', 57 | 'desc' => '', 58 | 'category' => 'Общие', 59 | ], 60 | 61 | 'reportVstackbarLifetime' => [ 62 | 'title' => 'Возраст заявки', 63 | 'desc' => '', 64 | 'category' => 'Общие', 65 | ], 66 | 67 | 'reportVstackbarTicketsgroups' => [ 68 | 'title' => 'Заявки по группам', 69 | 'desc' => '', 70 | 'category' => 'Общие', 71 | ], 72 | 73 | 'reportVstackbarTicketstech' => [ 74 | 'title' => 'Заявки по специалисту', 75 | 'desc' => '', 76 | 'category' => 'Общие', 77 | ], 78 | 79 | 'reportVstackbarWorkflow' => [ 80 | 'title' => 'Ориентированные очереди', 81 | 'desc' => '', 82 | 'category' => 'Общие', 83 | ], 84 | 85 | 'reportHbarTopcategory' => [ 86 | 'title' => 'ТОП категорий', 87 | 'desc' => '', 88 | 'category' => 'Общие', 89 | ], 90 | 91 | 'reportHbarTopapplicant' => [ 92 | 'title' => 'ТОП групп заказчиков', 93 | 'desc' => '', 94 | 'category' => 'Общие', 95 | ], 96 | 97 | 'reportVstackbarGroupChange' => [ 98 | 'title' => 'Количество групп изменений', 99 | 'desc' => '', 100 | 'category' => 'Общие', 101 | ], 102 | 103 | 'reportLineActiontimeVsSolvedelay' => [ 104 | 'title' => 'Сравнение задержки активного времени заявки и решения', 105 | 'desc' => '', 106 | 'category' => 'Общие', 107 | ], 108 | 109 | 110 | // SLA REPORTS 111 | 'reportVstackbarNbTicketBySla' => [ 112 | 'title' => 'Количество заявок по SLA', 113 | 'desc' => '', 114 | 'category' => 'Согласно SLA', 115 | ], 116 | 117 | 'reportGlineNbTicketBySla' => [ 118 | 'title' => 'Динамика заявки согласно SLA', 119 | 'desc' => '', 120 | 'category' => 'Согласно SLA', 121 | ], 122 | 123 | 'reportHgbarRespectedSlasByTopCategory' => [ 124 | 'title' => 'Заявки согласно SLA по категориям', 125 | 'desc' => '', 126 | 'category' => 'Согласно SLA', 127 | ], 128 | 129 | 'reportHgbarRespectedSlasByTechnician' => [ 130 | 'title' => 'Заявки согласно SLA по специалистам', 131 | 'desc' => '', 132 | 'category' => 'Согласно SLA', 133 | ], 134 | 135 | 'reportVstackbarRespectedSlasByGroup' => [ 136 | 'title' => 'Заявки согласно SLA отобранные по группам', 137 | 'desc' => '', 138 | 'category' => 'Согласно SLA', 139 | ], 140 | ]; 141 | -------------------------------------------------------------------------------- /locales/reports_locales/helpdeskplus_sk_SK.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Helpdeskplus'] = [ 34 | 'title' => 'Helpdesk - pokročilé', 35 | 36 | // MISC LOCALES 37 | 'backlogs' => 'Nedokončené', 38 | 'opened' => 'Otvorené', 39 | 'period' => 'Obdobie', 40 | 'backlogstatus' => 'Stav, ktorý sa má zobraziť', 41 | 'slaobserved' => 'SLA sledované', 42 | 'slanotobserved' => 'SLA nesledované', 43 | 'observed' => 'sledované', 44 | 'notobserved' => 'nesledované', 45 | 46 | 47 | // SELECTOR 48 | 'selector' => [ 49 | 'slas' => 'SLA', 50 | 'categories' => 'Kategórie', 51 | ], 52 | 53 | 54 | // GENERAL REPORTS 55 | 'reportGlineBacklogs' => [ 56 | 'title' => 'Nedokončené položky', 57 | 'desc' => '', 58 | 'category' => 'Všeobecné', 59 | ], 60 | 61 | 'reportVstackbarLifetime' => [ 62 | 'title' => 'Vek požiadavky', 63 | 'desc' => '', 64 | 'category' => 'Všeobecné', 65 | ], 66 | 67 | 'reportVstackbarTicketsgroups' => [ 68 | 'title' => 'Požiadavky podľa skupiny', 69 | 'desc' => '', 70 | 'category' => 'Všeobecné', 71 | ], 72 | 73 | 'reportVstackbarTicketstech' => [ 74 | 'title' => 'Požiadavky podľa technika', 75 | 'desc' => '', 76 | 'category' => 'Všeobecné', 77 | ], 78 | 79 | 'reportVstackbarWorkflow' => [ 80 | 'title' => 'Orientačné fronty', 81 | 'desc' => '', 82 | 'category' => 'Všeobecné', 83 | ], 84 | 85 | 'reportHbarTopcategory' => [ 86 | 'title' => 'TOP kategórie', 87 | 'desc' => '', 88 | 'category' => 'Všeobecné', 89 | ], 90 | 91 | 'reportHbarTopapplicant' => [ 92 | 'title' => 'TOP skupiny žiadateľov', 93 | 'desc' => '', 94 | 'category' => 'Všeobecné', 95 | ], 96 | 97 | 'reportVstackbarGroupChange' => [ 98 | 'title' => 'Počet skupinových zmien', 99 | 'desc' => '', 100 | 'category' => 'Všeobecné', 101 | ], 102 | 103 | 'reportLineActiontimeVsSolvedelay' => [ 104 | 'title' => 'Porovnanie akčných časov úloh a oneskorenia vyriešenia', 105 | 'desc' => '', 106 | 'category' => 'Všeobecné', 107 | ], 108 | 109 | 110 | // SLA REPORTS 111 | 'reportVstackbarNbTicketBySla' => [ 112 | 'title' => 'Počet požiadaviek podľa SLA', 113 | 'desc' => '', 114 | 'category' => 'Podľa SLA', 115 | ], 116 | 117 | 'reportGlineNbTicketBySla' => [ 118 | 'title' => 'Vývoj požiadaviek podľa SLA', 119 | 'desc' => '', 120 | 'category' => 'Podľa SLA', 121 | ], 122 | 123 | 'reportHgbarRespectedSlasByTopCategory' => [ 124 | 'title' => 'Požiadavky za SLA zoradené podľa kategórií', 125 | 'desc' => '', 126 | 'category' => 'Podľa SLA', 127 | ], 128 | 129 | 'reportHgbarRespectedSlasByTechnician' => [ 130 | 'title' => 'Požiadavky za SLA zoradené podľa technikov', 131 | 'desc' => '', 132 | 'category' => 'Podľa SLA', 133 | ], 134 | 135 | 'reportVstackbarRespectedSlasByGroup' => [ 136 | 'title' => 'Požiadavky za SLA zoradené podľa skupín', 137 | 'desc' => '', 138 | 'category' => 'Podľa SLA', 139 | ], 140 | ]; 141 | -------------------------------------------------------------------------------- /locales/reports_locales/inventory_en_GB.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Inventory'] = [ 34 | 35 | 'title' => 'Inventory', 36 | 37 | 'reportHbarComputersByOS' => [ 38 | 'title' => 'Computers per OS', 39 | 'desc' => 'Bars', 40 | 'category' => 'OS', 41 | ], 42 | 43 | 'reportPieComputersByOS' => [ 44 | 'title' => 'Computers per OS', 45 | 'desc' => 'Camenbert', 46 | 'category' => 'OS', 47 | ], 48 | 49 | 'reportHbarComputersByFabricant' => [ 50 | 'title' => 'Computers per manufacturer', 51 | 'desc' => 'Bars', 52 | 'category' => 'Manufacturer', 53 | ], 54 | 55 | 'reportPieComputersByFabricant' => [ 56 | 'title' => 'Computers per manufacturer', 57 | 'desc' => 'Pie', 58 | 'category' => 'Manufacturer', 59 | ], 60 | 61 | 'reportHbarComputersByType' => [ 62 | 'title' => 'Computers per type', 63 | 'desc' => 'Bars', 64 | 'category' => 'Type', 65 | ], 66 | 67 | 'reportPieComputersByType' => [ 68 | 'title' => 'Computers per type', 69 | 'desc' => 'Pie', 70 | 'category' => 'Type', 71 | ], 72 | 73 | 'reportHbarComputersByStatus' => [ 74 | 'title' => 'Computers per status', 75 | 'desc' => 'Bars', 76 | 'category' => 'Statut', 77 | ], 78 | 79 | 'reportHbarPrintersByStatus' => [ 80 | 'title' => 'Printers per status', 81 | 'desc' => 'Bars', 82 | 'category' => 'Statut', 83 | ], 84 | 85 | 'reportHbarWindows' => [ 86 | 'title' => 'Windows distribution', 87 | 'desc' => 'Bars', 88 | 'category' => 'OS', 89 | ], 90 | 91 | 'reportHbarLinux' => [ 92 | 'title' => 'Linux distribution detail', 93 | 'desc' => 'Bars', 94 | 'category' => 'OS', 95 | ], 96 | 97 | 'reportHbarLinuxDistro' => [ 98 | 'title' => 'Linux distribution detail', 99 | 'desc' => 'Bars', 100 | 'category' => 'OS', 101 | ], 102 | 103 | 'reportHbarMac' => [ 104 | 'title' => 'Mac OS X versions details', 105 | 'desc' => 'Bars', 106 | 'category' => 'OS', 107 | ], 108 | 109 | 'reportHbarMacFamily' => [ 110 | 'title' => 'MAC OS X version overview', 111 | 'desc' => 'Bars', 112 | 'category' => 'OS', 113 | ], 114 | 115 | 'reportHbarComputersByAge' => [ 116 | 'title' => 'Computer per age', 117 | 'desc' => 'Bars', 118 | 'category' => 'Inventaire', 119 | ], 120 | 121 | 'reportPieComputersByAge' => [ 122 | 'title' => 'Computer per age', 123 | 'desc' => 'Pie', 124 | 'category' => 'Inventaire', 125 | ], 126 | 127 | 'reportHbarFusionInventory' => [ 128 | 'title' => 'FusionInventory agent distribution', 129 | 'desc' => 'Bars', 130 | 'category' => 'Agent', 131 | ], 132 | 133 | 'reportPieFusionInventory' => [ 134 | 'title' => 'FusionInventory agent distribution', 135 | 'desc' => 'Pie', 136 | 'category' => 'Agent', 137 | ], 138 | 139 | 'reportHbarMonitors' => [ 140 | 'title' => 'Screens per computer distribution', 141 | 'desc' => 'Bars', 142 | 'category' => 'Inventaire', 143 | ], 144 | 145 | 'reportHbarComputersByEntity' => [ 146 | 'title' => 'Computers per entities', 147 | 'desc' => 'Bars', 148 | 'category' => 'Entity', 149 | ], 150 | ]; 151 | -------------------------------------------------------------------------------- /locales/reports_locales/inventory_hr_HR.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Inventory'] = [ 34 | 35 | 'title' => 'Inventar', 36 | 37 | 'reportHbarComputersByOS' => [ 38 | 'title' => 'Računala po OS-u', 39 | 'desc' => 'Stupci', 40 | 'category' => 'OS', 41 | ], 42 | 43 | 'reportPieComputersByOS' => [ 44 | 'title' => 'Računala po OS-u', 45 | 'desc' => 'Torta', 46 | 'category' => 'OS', 47 | ], 48 | 49 | 'reportHbarComputersByFabricant' => [ 50 | 'title' => 'Računala po proizvođaču', 51 | 'desc' => 'Stupci', 52 | 'category' => 'Proizvođač', 53 | ], 54 | 55 | 'reportPieComputersByFabricant' => [ 56 | 'title' => 'Računala po proizvođaču', 57 | 'desc' => 'Torta', 58 | 'category' => 'Proizvođač', 59 | ], 60 | 61 | 'reportHbarComputersByType' => [ 62 | 'title' => 'Računala po vrsti', 63 | 'desc' => 'Stupci', 64 | 'category' => 'Vrsta', 65 | ], 66 | 67 | 'reportPieComputersByType' => [ 68 | 'title' => 'Računala po vrsti', 69 | 'desc' => 'Torta', 70 | 'category' => 'Vrsta', 71 | ], 72 | 73 | 'reportHbarComputersByStatus' => [ 74 | 'title' => 'Računala po stanju', 75 | 'desc' => 'Stupci', 76 | 'category' => 'Stanje', 77 | ], 78 | 79 | 'reportHbarPrintersByStatus' => [ 80 | 'title' => 'Pisači po stanju', 81 | 'desc' => 'Stupci', 82 | 'category' => 'Stanje', 83 | ], 84 | 85 | 'reportHbarWindows' => [ 86 | 'title' => 'Windows verzije', 87 | 'desc' => 'Stupci', 88 | 'category' => 'OS', 89 | ], 90 | 91 | 'reportHbarLinux' => [ 92 | 'title' => 'Linux verzije', 93 | 'desc' => 'Stupci', 94 | 'category' => 'OS', 95 | ], 96 | 97 | 'reportHbarLinuxDistro' => [ 98 | 'title' => 'Linux distribucije', 99 | 'desc' => 'Stupci', 100 | 'category' => 'OS', 101 | ], 102 | 103 | 'reportHbarMac' => [ 104 | 'title' => 'Mac OS X verzije', 105 | 'desc' => 'Stupci', 106 | 'category' => 'OS', 107 | ], 108 | 109 | 'reportHbarMacFamily' => [ 110 | 'title' => 'MAC OS X verzije, pregled', 111 | 'desc' => 'Stupci', 112 | 'category' => 'OS', 113 | ], 114 | 115 | 'reportHbarComputersByAge' => [ 116 | 'title' => 'Računala po starosti', 117 | 'desc' => 'Stupci', 118 | 'category' => 'Inventar', 119 | ], 120 | 121 | 'reportPieComputersByAge' => [ 122 | 'title' => 'Računala po starosti', 123 | 'desc' => 'Torta', 124 | 'category' => 'Inventar', 125 | ], 126 | 127 | 'reportHbarFusionInventory' => [ 128 | 'title' => 'FusionInventory agenti', 129 | 'desc' => 'Stupci', 130 | 'category' => 'Agent', 131 | ], 132 | 133 | 'reportPieFusionInventory' => [ 134 | 'title' => 'FusionInventory agenti', 135 | 'desc' => 'Torta', 136 | 'category' => 'Agent', 137 | ], 138 | 139 | 'reportHbarMonitors' => [ 140 | 'title' => 'Ekrani po računalu', 141 | 'desc' => 'Stupci', 142 | 'category' => 'Inventar', 143 | ], 144 | 145 | 'reportHbarComputersByEntity' => [ 146 | 'title' => 'Računala po entitetu', 147 | 'desc' => 'Stupci', 148 | 'category' => 'Entitet', 149 | ], 150 | ]; 151 | -------------------------------------------------------------------------------- /locales/reports_locales/inventory_pt_PT.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | $LANG['plugin_mreporting']['Inventory'] = [ 33 | 'title' => 'Inventário', 34 | 'reportHbarComputersByOS' => [ 35 | 'title' => 'Computadores por SO', 36 | 'desc' => 'Barras', 37 | 'category' => 'SO', 38 | ], 39 | 'reportPieComputersByOS' => [ 40 | 'title' => 'Computadores por SO', 41 | 'desc' => 'Circular', 42 | 'category' => 'SO', 43 | ], 44 | 'reportHbarComputersByFabricant' => [ 45 | 'title' => 'Computadores por fabricante', 46 | 'desc' => 'Barras', 47 | 'category' => 'Fabricante', 48 | ], 49 | 'reportPieComputersByFabricant' => [ 50 | 'title' => 'Computadores por fabricante', 51 | 'desc' => 'Circular', 52 | 'category' => 'Fabricante', 53 | ], 54 | 'reportHbarComputersByType' => [ 55 | 'title' => 'Computadores por tipo', 56 | 'desc' => 'Barras', 57 | 'category' => 'Tipo', 58 | ], 59 | 'reportPieComputersByType' => [ 60 | 'title' => 'Computadores por tipo', 61 | 'desc' => 'Circular', 62 | 'category' => 'Tipo', 63 | ], 64 | 'reportHbarComputersByStatus' => [ 65 | 'title' => 'Computadores por estado', 66 | 'desc' => 'Barras', 67 | 'category' => 'Estado', 68 | ], 69 | 'reportHbarPrintersByStatus' => [ 70 | 'title' => 'Impressoras por estado', 71 | 'desc' => 'Barras', 72 | 'category' => 'Estado', 73 | ], 74 | 'reportHbarWindows' => [ 75 | 'title' => 'Distribuição Windows', 76 | 'desc' => 'Barras', 77 | 'category' => 'SO', 78 | ], 79 | 'reportHbarLinux' => [ 80 | 'title' => 'Distribuição Linux detalhe', 81 | 'desc' => 'Barras', 82 | 'category' => 'SO', 83 | ], 84 | 'reportHbarLinuxDistro' => [ 85 | 'title' => 'Distribuição Linux detalhe', 86 | 'desc' => 'Barras', 87 | 'category' => 'SO', 88 | ], 89 | 'reportHbarMac' => [ 90 | 'title' => 'Distribuições Mac OS X detalhes', 91 | 'desc' => 'Barras', 92 | 'category' => 'SO', 93 | ], 94 | 'reportHbarMacFamily' => [ 95 | 'title' => 'Versão MAC OS X visão geral', 96 | 'desc' => 'Barras', 97 | 'category' => 'SO', 98 | ], 99 | 'reportHbarComputersByAge' => [ 100 | 'title' => 'Computador por idade', 101 | 'desc' => 'Barras', 102 | 'category' => 'Inventário', 103 | ], 104 | 'reportPieComputersByAge' => [ 105 | 'title' => 'Computador por idade', 106 | 'desc' => 'Circular', 107 | 'category' => 'Inventário', 108 | ], 109 | 'reportHbarFusionInventory' => [ 110 | 'title' => 'Distribuição agente FusionInventory', 111 | 'desc' => 'Barras', 112 | 'category' => 'Agent', 113 | ], 114 | 'reportPieFusionInventory' => [ 115 | 'title' => 'Distribuição agente FusionInventory', 116 | 'desc' => 'Circular', 117 | 'category' => 'Agent', 118 | ], 119 | 'reportHbarMonitors' => [ 120 | 'title' => 'Distribuição de monitores por computador', 121 | 'desc' => 'Barras', 122 | 'category' => 'Inventário', 123 | ], 124 | 'reportHbarComputersByEntity' => [ 125 | 'title' => 'Computadores por entidade', 126 | 'desc' => 'Barras', 127 | 'category' => 'Entidade', 128 | ], 129 | ]; 130 | -------------------------------------------------------------------------------- /locales/reports_locales/inventory_sk_SK.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Inventory'] = [ 34 | 35 | 'title' => 'Inventár', 36 | 37 | 'reportHbarComputersByOS' => [ 38 | 'title' => 'Počítače podľa OS', 39 | 'desc' => 'Pruhový', 40 | 'category' => 'OS', 41 | ], 42 | 43 | 'reportPieComputersByOS' => [ 44 | 'title' => 'Počítače podľa OS', 45 | 'desc' => 'Koláčový', 46 | 'category' => 'OS', 47 | ], 48 | 49 | 'reportHbarComputersByFabricant' => [ 50 | 'title' => 'Počítače podľa výrobcu', 51 | 'desc' => 'Pruhový', 52 | 'category' => 'Výrobca', 53 | ], 54 | 55 | 'reportPieComputersByFabricant' => [ 56 | 'title' => 'Počítače podľa výrobcu', 57 | 'desc' => 'Koláčový', 58 | 'category' => 'Výrobca', 59 | ], 60 | 61 | 'reportHbarComputersByType' => [ 62 | 'title' => 'Počítače podľa typu', 63 | 'desc' => 'Pruhový', 64 | 'category' => 'Typ', 65 | ], 66 | 67 | 'reportPieComputersByType' => [ 68 | 'title' => 'Počítače podľa typu', 69 | 'desc' => 'Koláčový', 70 | 'category' => 'Typ', 71 | ], 72 | 73 | 'reportHbarComputersByStatus' => [ 74 | 'title' => 'Počítače podľa stavu', 75 | 'desc' => 'Pruhový', 76 | 'category' => 'Stav', 77 | ], 78 | 79 | 'reportHbarPrintersByStatus' => [ 80 | 'title' => 'Tlačiarne podľa stavu', 81 | 'desc' => 'Pruhový', 82 | 'category' => 'Stav', 83 | ], 84 | 85 | 'reportHbarWindows' => [ 86 | 'title' => 'Windows verzie', 87 | 'desc' => 'Pruhový', 88 | 'category' => 'OS', 89 | ], 90 | 91 | 'reportHbarLinux' => [ 92 | 'title' => 'Linux distribúcie - podrobnosti', 93 | 'desc' => 'Pruhový', 94 | 'category' => 'OS', 95 | ], 96 | 97 | 'reportHbarLinuxDistro' => [ 98 | 'title' => 'Linux distribúcie - podrobnosti', 99 | 'desc' => 'Pruhový', 100 | 'category' => 'OS', 101 | ], 102 | 103 | 'reportHbarMac' => [ 104 | 'title' => 'MacOS verzie - podrobnosti', 105 | 'desc' => 'Pruhový', 106 | 'category' => 'OS', 107 | ], 108 | 109 | 'reportHbarMacFamily' => [ 110 | 'title' => 'MacOS verzie - prehľad', 111 | 'desc' => 'Pruhový', 112 | 'category' => 'OS', 113 | ], 114 | 115 | 'reportHbarComputersByAge' => [ 116 | 'title' => 'Počítače podľa veku', 117 | 'desc' => 'Pruhový', 118 | 'category' => 'Inventár', 119 | ], 120 | 121 | 'reportPieComputersByAge' => [ 122 | 'title' => 'Počítače podľa veku', 123 | 'desc' => 'Koláčový', 124 | 'category' => 'Inventár', 125 | ], 126 | 127 | 'reportHbarFusionInventory' => [ 128 | 'title' => 'FusionInventory agent', 129 | 'desc' => 'Pruhový', 130 | 'category' => 'Agent', 131 | ], 132 | 133 | 'reportPieFusionInventory' => [ 134 | 'title' => 'FusionInventory agent', 135 | 'desc' => 'Koláčový', 136 | 'category' => 'Agent', 137 | ], 138 | 139 | 'reportHbarMonitors' => [ 140 | 'title' => 'Obrazovky podľa počítačov', 141 | 'desc' => 'Pruhový', 142 | 'category' => 'Inventár', 143 | ], 144 | 145 | 'reportHbarComputersByEntity' => [ 146 | 'title' => 'Počítače podľa entít', 147 | 'desc' => 'Pruhový', 148 | 'category' => 'Entita', 149 | ], 150 | ]; 151 | -------------------------------------------------------------------------------- /locales/reports_locales/other_cs_CZ.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Other'] = [ 34 | 'title' => 'Ostatní', 35 | 36 | 'reportHbarLogs' => [ 37 | 'title' => 'Rozložení záznamů událostí', 38 | 'desc' => 'Pruhový', 39 | 'category' => 'Záznamy událostí (log)', 40 | ], 41 | ]; 42 | -------------------------------------------------------------------------------- /locales/reports_locales/other_de_DE.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Other'] = [ 34 | 'title' => 'Weiteres', 35 | 36 | 'reportHbarLogs' => [ 37 | 'title' => 'Log-Verteilung', 38 | 'desc' => 'Bars', 39 | 'category' => 'Logs', 40 | ], 41 | ]; 42 | -------------------------------------------------------------------------------- /locales/reports_locales/other_en_GB.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Other'] = [ 34 | 'title' => 'Other', 35 | 36 | 'reportHbarLogs' => [ 37 | 'title' => 'Logs distribution', 38 | 'desc' => 'Bars', 39 | 'category' => 'Logs', 40 | ], 41 | ]; 42 | -------------------------------------------------------------------------------- /locales/reports_locales/other_es_VE.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Other'] = [ 34 | 'title' => 'Otro', 35 | 36 | 'reportHbarLogs' => [ 37 | 'title' => 'Distribución de eventos', 38 | 'desc' => 'Barras', 39 | 'category' => 'Eventos', 40 | ], 41 | ]; 42 | -------------------------------------------------------------------------------- /locales/reports_locales/other_fr_FR.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Other'] = [ 34 | 'title' => 'Autres', 35 | 36 | 'reportHbarLogs' => [ 37 | 'title' => 'Répartition des logs', 38 | 'desc' => 'Barres', 39 | 'category' => 'Logs', 40 | ], 41 | ]; 42 | -------------------------------------------------------------------------------- /locales/reports_locales/other_hr_HR.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Other'] = [ 34 | 'title' => 'Ostalo', 35 | 36 | 'reportHbarLogs' => [ 37 | 'title' => 'Log-zapisi', 38 | 'desc' => 'Stupci', 39 | 'category' => 'Log-zapisi', 40 | ], 41 | ]; 42 | -------------------------------------------------------------------------------- /locales/reports_locales/other_pl_PL.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Other'] = [ 34 | 'title' => 'Inne', 35 | 36 | 'reportHbarLogs' => [ 37 | 'title' => 'Statystyka logów', 38 | 'desc' => 'wykres słupkowy', 39 | 'category' => 'Logi', 40 | ], 41 | ]; 42 | -------------------------------------------------------------------------------- /locales/reports_locales/other_pt_BR.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Other']['title'] = 'Outros'; 34 | $LANG['plugin_mreporting']['Other']['reportHbarLogs']['title'] = 'Distribuição de logs'; 35 | $LANG['plugin_mreporting']['Other']['reportHbarLogs']['desc'] = 'Barras'; 36 | $LANG['plugin_mreporting']['Other']['reportHbarLogs']['category'] = 'Logs'; 37 | -------------------------------------------------------------------------------- /locales/reports_locales/other_pt_PT.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | $LANG['plugin_mreporting']['Other'] = [ 33 | 'title' => 'Outros', 34 | 'reportHbarLogs' => [ 35 | 'title' => 'Distribuição de Registros', 36 | 'desc' => 'Barras', 37 | 'category' => 'Registros', 38 | ], 39 | ]; 40 | -------------------------------------------------------------------------------- /locales/reports_locales/other_ru_RU.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Other'] = [ 34 | 'title' => 'Другое', 35 | 36 | 'reportHbarLogs' => [ 37 | 'title' => 'Информация по логам', 38 | 'desc' => 'Горизонтальная диаграмма', 39 | 'category' => 'Логи', 40 | ], 41 | ]; 42 | -------------------------------------------------------------------------------- /locales/reports_locales/other_sk_SK.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Other'] = [ 34 | 'title' => 'Iné', 35 | 36 | 'reportHbarLogs' => [ 37 | 'title' => 'Distribúcia logov', 38 | 'desc' => 'Pruhový', 39 | 'category' => 'Logy', 40 | ], 41 | ]; 42 | -------------------------------------------------------------------------------- /locales/reports_locales/tag_cs_CZ.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Tag'] = [ 34 | 35 | 'title' => 'Zásuvný modul pro štítky', 36 | 37 | 'reportPieTag' => [ 38 | 'title' => 'Počty použitých štítků', 39 | 'desc' => 'Výsečový', 40 | 'category' => 'Pro všechny GLPi objekty', 41 | ], 42 | 43 | 'reportPieTagOnTicket' => [ 44 | 'title' => 'Počty použitých štítků', 45 | 'desc' => 'Výsečový', 46 | 'category' => 'Pro požadavky', 47 | ], 48 | 49 | ]; 50 | -------------------------------------------------------------------------------- /locales/reports_locales/tag_de_DE.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Tag'] = [ 34 | 35 | 'title' => 'Plugin TAG', 36 | 37 | 'reportPieTag' => [ 38 | 'title' => 'Anzahl verwendeter Tags', 39 | 'desc' => 'Pie', 40 | 'category' => 'Für alle GLPi Objekte', 41 | ], 42 | 43 | 'reportPieTagOnTicket' => [ 44 | 'title' => 'Anzahl verwendeter Tags', 45 | 'desc' => 'Pie', 46 | 'category' => 'Für Tickets', 47 | ], 48 | 49 | ]; 50 | -------------------------------------------------------------------------------- /locales/reports_locales/tag_en_GB.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Tag'] = [ 34 | 35 | 'title' => 'Plugin TAG', 36 | 37 | 'reportPieTag' => [ 38 | 'title' => 'Number of used TAG', 39 | 'desc' => 'Pie', 40 | 'category' => 'For all GLPi objects', 41 | ], 42 | 43 | 'reportPieTagOnTicket' => [ 44 | 'title' => 'Number of used TAG', 45 | 'desc' => 'Pie', 46 | 'category' => 'For tickets', 47 | ], 48 | 49 | ]; 50 | -------------------------------------------------------------------------------- /locales/reports_locales/tag_es_VE.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Tag'] = [ 34 | 35 | 'title' => 'Complemento Etiqueta', 36 | 37 | 'reportPieTag' => [ 38 | 'title' => 'Numero de Etiquetas usadas', 39 | 'desc' => 'Torta', 40 | 'category' => 'Para todos los objetos GLPI', 41 | ], 42 | 43 | 'reportPieTagOnTicket' => [ 44 | 'title' => 'Numero de Etiquetas usadas', 45 | 'desc' => 'Torta', 46 | 'category' => 'Por casos', 47 | ], 48 | 49 | ]; 50 | -------------------------------------------------------------------------------- /locales/reports_locales/tag_fr_FR.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Tag'] = [ 34 | 35 | 'title' => 'Plugin TAG', 36 | 37 | 'reportPieTag' => [ 38 | 'title' => "Nombre d'utilisation des TAG", 39 | 'desc' => 'Camembert', 40 | 'category' => 'Pour tous les objets GLPi', 41 | ], 42 | 43 | 'reportPieTagOnTicket' => [ 44 | 'title' => "Nombre d'utilisation des TAG", 45 | 'desc' => 'Camembert', 46 | 'category' => 'Pour les tickets', 47 | ], 48 | 49 | ]; 50 | -------------------------------------------------------------------------------- /locales/reports_locales/tag_hr_HR.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Tag'] = [ 34 | 35 | 'title' => 'Dodatak „Oznake”', 36 | 37 | 'reportPieTag' => [ 38 | 'title' => 'Broj korištenih oznaka', 39 | 'desc' => 'Torta', 40 | 'category' => 'Za sve GLPI objekte', 41 | ], 42 | 43 | 'reportPieTagOnTicket' => [ 44 | 'title' => 'Broj korištenih oznaka', 45 | 'desc' => 'Torta', 46 | 'category' => 'Za naloge', 47 | ], 48 | 49 | ]; 50 | -------------------------------------------------------------------------------- /locales/reports_locales/tag_pl_PL.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Tag'] = [ 34 | 35 | 'title' => 'Wtyczka TAG', 36 | 37 | 'reportPieTag' => [ 38 | 'title' => 'Liczba użytych tagów', 39 | 'desc' => 'wykres kołowy', 40 | 'category' => 'Dla wszystkich obiektów w GLPI', 41 | ], 42 | 43 | 'reportPieTagOnTicket' => [ 44 | 'title' => 'Liczba użytych tagów', 45 | 'desc' => 'wykres kołowy', 46 | 'category' => 'Dla zgłoszeń', 47 | ], 48 | 49 | ]; 50 | -------------------------------------------------------------------------------- /locales/reports_locales/tag_pt_BR.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Tag'] = [ 34 | 35 | 'title' => 'Plugin TAG', 36 | 37 | 'reportPieTag' => [ 38 | 'title' => 'Número de TAGs usadas', 39 | 'desc' => 'Pizza', 40 | 'category' => 'Para todos os objetos do GLPI', 41 | ], 42 | 43 | 'reportPieTagOnTicket' => [ 44 | 'title' => 'Número de TAGs usadas', 45 | 'desc' => 'Pizza', 46 | 'category' => 'Para chamados', 47 | ], 48 | 49 | ]; 50 | -------------------------------------------------------------------------------- /locales/reports_locales/tag_ru_RU.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Tag'] = [ 34 | 35 | 'title' => 'TAG плагина', 36 | 37 | 'reportPieTag' => [ 38 | 'title' => 'Количество использования TAG', 39 | 'desc' => 'Круговая диаграмма', 40 | 'category' => 'Для всех объектов GLPi', 41 | ], 42 | 43 | 'reportPieTagOnTicket' => [ 44 | 'title' => 'Количество использования TAG', 45 | 'desc' => 'Круговая диаграмма', 46 | 'category' => 'Для заявок', 47 | ], 48 | 49 | ]; 50 | -------------------------------------------------------------------------------- /locales/reports_locales/tag_sk_SK.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/mreporting 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | global $LANG; 32 | 33 | $LANG['plugin_mreporting']['Tag'] = [ 34 | 35 | 'title' => 'Plugin značky (tag)', 36 | 37 | 'reportPieTag' => [ 38 | 'title' => 'Počet použitých značiek', 39 | 'desc' => 'Koláčový', 40 | 'category' => 'Pre všetky GLPi objekty', 41 | ], 42 | 43 | 'reportPieTagOnTicket' => [ 44 | 'title' => 'Počet použitých značiek', 45 | 'desc' => 'Koláčový', 46 | 'category' => 'Pre požiadavky', 47 | ], 48 | 49 | ]; 50 | -------------------------------------------------------------------------------- /locales/ro_RO.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/locales/ro_RO.mo -------------------------------------------------------------------------------- /locales/ru_RU.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/locales/ru_RU.mo -------------------------------------------------------------------------------- /locales/ru_lv.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/locales/ru_lv.mo -------------------------------------------------------------------------------- /locales/sk_SK.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/locales/sk_SK.mo -------------------------------------------------------------------------------- /locales/tr_TR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/locales/tr_TR.mo -------------------------------------------------------------------------------- /locales/uk_UA.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/locales/uk_UA.mo -------------------------------------------------------------------------------- /locales/zh_CN.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/locales/zh_CN.mo -------------------------------------------------------------------------------- /pics/chart-area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/chart-area.png -------------------------------------------------------------------------------- /pics/chart-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/chart-bar.png -------------------------------------------------------------------------------- /pics/chart-bubble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/chart-bubble.png -------------------------------------------------------------------------------- /pics/chart-cstick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/chart-cstick.png -------------------------------------------------------------------------------- /pics/chart-curve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/chart-curve.png -------------------------------------------------------------------------------- /pics/chart-garea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/chart-garea.png -------------------------------------------------------------------------------- /pics/chart-gline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/chart-gline.png -------------------------------------------------------------------------------- /pics/chart-hbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/chart-hbar.png -------------------------------------------------------------------------------- /pics/chart-hgbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/chart-hgbar.png -------------------------------------------------------------------------------- /pics/chart-line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/chart-line.png -------------------------------------------------------------------------------- /pics/chart-pie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/chart-pie.png -------------------------------------------------------------------------------- /pics/chart-plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/chart-plot.png -------------------------------------------------------------------------------- /pics/chart-sunburst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/chart-sunburst.png -------------------------------------------------------------------------------- /pics/chart-vstackbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/chart-vstackbar.png -------------------------------------------------------------------------------- /pics/check24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/check24.png -------------------------------------------------------------------------------- /pics/config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/config.png -------------------------------------------------------------------------------- /pics/config2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/config2.png -------------------------------------------------------------------------------- /pics/cross24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/cross24.png -------------------------------------------------------------------------------- /pics/dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/dashboard.png -------------------------------------------------------------------------------- /pics/howto_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/howto_arrow.png -------------------------------------------------------------------------------- /pics/list_dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/pics/list_dashboard.png -------------------------------------------------------------------------------- /screenshots/dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/screenshots/dashboard.png -------------------------------------------------------------------------------- /screenshots/mreporting_area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/screenshots/mreporting_area.png -------------------------------------------------------------------------------- /screenshots/mreporting_garea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/screenshots/mreporting_garea.png -------------------------------------------------------------------------------- /screenshots/mreporting_gline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/screenshots/mreporting_gline.png -------------------------------------------------------------------------------- /screenshots/mreporting_hbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/screenshots/mreporting_hbar.png -------------------------------------------------------------------------------- /screenshots/mreporting_hgbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/screenshots/mreporting_hgbar.png -------------------------------------------------------------------------------- /screenshots/mreporting_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/screenshots/mreporting_line.png -------------------------------------------------------------------------------- /screenshots/mreporting_pie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/screenshots/mreporting_pie.png -------------------------------------------------------------------------------- /templates/template.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/mreporting/161cef2c416131562a85944572a586fabd101caa/templates/template.odt -------------------------------------------------------------------------------- /tools/HEADER: -------------------------------------------------------------------------------- 1 | ------------------------------------------------------------------------- 2 | Mreporting plugin for GLPI 3 | ------------------------------------------------------------------------- 4 | 5 | LICENSE 6 | 7 | This file is part of Mreporting. 8 | 9 | Mreporting is free software; you can redistribute it and/or modify 10 | it under the terms of the GNU General Public License as published by 11 | the Free Software Foundation; either version 2 of the License, or 12 | (at your option) any later version. 13 | 14 | Mreporting is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with Mreporting. If not, see . 21 | ------------------------------------------------------------------------- 22 | @copyright Copyright (C) 2003-2023 by Mreporting plugin team. 23 | @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 24 | @link https://github.com/pluginsGLPI/mreporting 25 | ------------------------------------------------------------------------- 26 | --------------------------------------------------------------------------------