diff --git a/.github/workflows/matomo-tests.yml b/.github/workflows/matomo-tests.yml index cd79d1c..81383ca 100644 --- a/.github/workflows/matomo-tests.yml +++ b/.github/workflows/matomo-tests.yml @@ -1,7 +1,7 @@ # Action for running tests # This file has been automatically created. # To recreate it you can run this command -# ./console generate:test-action --plugin="VisitorGenerator" --php-versions="matomo5_min_php,matomo5_max_php" --schedule-cron="30 2 * * 6" +# ./console generate:test-action --plugin="VisitorGenerator" --php-versions="matomo6_min_php,matomo6_max_php" --schedule-cron="30 2 * * 6" name: Plugin VisitorGenerator Tests @@ -37,8 +37,11 @@ jobs: strategy: fail-fast: false matrix: - php: [ 'matomo5_min_php', 'matomo5_max_php' ] + php: [ 'matomo6_min_php', 'matomo6_max_php' ] target: ['minimum_required_matomo', 'maximum_supported_matomo'] + database: + - { engine: 'Mysql', version: '8.0' } + - { engine: 'Mariadb', version: '10.6' } steps: - uses: actions/checkout@v3 with: @@ -52,6 +55,8 @@ jobs: plugin-name: 'VisitorGenerator' php-version: ${{ matrix.php }} test-type: 'PluginTests' + mysql-engine: ${{ matrix.database.engine }} + mysql-version: ${{ matrix.database.version }} matomo-test-branch: ${{ matrix.target }} artifacts-pass: ${{ secrets.ARTIFACTS_PASS }} - upload-artifacts: ${{ matrix.php == 'matomo5_min_php' && matrix.target == 'maximum_supported_matomo' }} + upload-artifacts: ${{ matrix.php == 'matomo6_min_php' && matrix.target == 'maximum_supported_matomo' && matrix.database.engine == 'Mysql' }} diff --git a/.gitignore b/.gitignore index db099fa..3c9ea8a 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ vendor/fzaninotto/faker/phpunit.xml.dist /vue/dist/*.common.js /vue/dist/*.map /vue/dist/*.development.* +# only the minified bundle is served; the unminified one is no longer built +/vue/dist/*.umd.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 0199772..b4d7dc2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -70,3 +70,5 @@ * Added new command to send fake AI Bot Requests - 5.1.5 - 2025-11-24 * Generate string order IDs occasionally +- 6.0.0 - 2026-08-09 + * Compatibility with Matomo 6 diff --git a/Generator/VisitsFake.php b/Generator/VisitsFake.php index 5c90b83..786366c 100644 --- a/Generator/VisitsFake.php +++ b/Generator/VisitsFake.php @@ -77,7 +77,7 @@ public function generate($time = false, $idSite = 1, $limit = 1000) if ($this->faker->boolean(50)) { $tracker->setUserId($this->faker->firstName); } else { - $tracker->setUserId(false); + $tracker->setUserId(null); } } diff --git a/composer.json b/composer.json index 1251b3f..873f4e0 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "require": { - "php": ">=7.2.5", + "php": ">=8.1.0", "fakerphp/faker": "^1.24" }, "config": { diff --git a/composer.lock b/composer.lock index c981249..2424e37 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "0ac0340f2120a65e4928bde600db496b", + "content-hash": "c7622942d9056b74f97c34e64ef28fa2", "packages": [ { "name": "fakerphp/faker", @@ -196,7 +196,9 @@ "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, - "platform": {}, + "platform": { + "php": ">=8.1.0" + }, "platform-dev": {}, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.9.0" } diff --git a/plugin.json b/plugin.json index f650463..bc855db 100644 --- a/plugin.json +++ b/plugin.json @@ -1,12 +1,12 @@ { "name": "VisitorGenerator", - "version": "5.1.5", + "version": "6.0.0", "description": "Developer tool that lets you generate fake visits. Useful if you are working with plugins or themes or if you use the Matomo API.", "keywords": ["development", "tools"], "license": "GPL v3+", "homepage": "https://matomo.org", "require": { - "matomo": ">=5.2.0-b1,<6.0.0-b1" + "matomo": ">=6.0.0-b1,<7.0.0-b1" }, "support": { "issues": "https://github.com/matomo-org/plugin-VisitorGenerator/issues", diff --git a/vue/dist/VisitorGenerator.umd.js b/vue/dist/VisitorGenerator.umd.js deleted file mode 100644 index cadc97f..0000000 --- a/vue/dist/VisitorGenerator.umd.js +++ /dev/null @@ -1,391 +0,0 @@ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("CoreHome"), require("vue"), require("CorePluginsAdmin")); - else if(typeof define === 'function' && define.amd) - define(["CoreHome", , "CorePluginsAdmin"], factory); - else if(typeof exports === 'object') - exports["VisitorGenerator"] = factory(require("CoreHome"), require("vue"), require("CorePluginsAdmin")); - else - root["VisitorGenerator"] = factory(root["CoreHome"], root["Vue"], root["CorePluginsAdmin"]); -})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__19dc__, __WEBPACK_EXTERNAL_MODULE__8bbf__, __WEBPACK_EXTERNAL_MODULE_a5a2__) { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = "plugins/VisitorGenerator/vue/dist/"; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "fae3"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "19dc": -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE__19dc__; - -/***/ }), - -/***/ "8bbf": -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__; - -/***/ }), - -/***/ "a5a2": -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE_a5a2__; - -/***/ }), - -/***/ "fae3": -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, "AdminPage", function() { return /* reexport */ AdminPage; }); -__webpack_require__.d(__webpack_exports__, "GeneratePage", function() { return /* reexport */ GeneratePage; }); - -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js -// This file is imported into lib/wc client bundles. - -if (typeof window !== 'undefined') { - var currentScript = window.document.currentScript - if (false) { var getCurrentScript; } - - var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/) - if (src) { - __webpack_require__.p = src[1] // eslint-disable-line - } -} - -// Indicate to webpack that this file can be concatenated -/* harmony default export */ var setPublicPath = (null); - -// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} -var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); - -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/VisitorGenerator/vue/src/AdminPage/AdminPage.vue?vue&type=template&id=a00ece44 - -var _hoisted_1 = ["innerHTML"]; -var _hoisted_2 = ["action"]; -var _hoisted_3 = ["value"]; -var _hoisted_4 = ["innerHTML"]; -var _hoisted_5 = ["value"]; - -var _hoisted_6 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); - -var _hoisted_7 = ["innerHTML"]; -var _hoisted_8 = ["value"]; -function render(_ctx, _cache, $props, $setup, $data, $options) { - var _component_Alert = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("Alert"); - - var _component_Field = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("Field"); - - var _component_ContentBlock = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ContentBlock"); - - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_ContentBlock, { - "content-title": _ctx.translate('VisitorGenerator_VisitorGenerator') - }, { - default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () { - return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('VisitorGenerator_PluginDescription')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Alert, { - severity: "info" - }, { - default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () { - return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { - innerHTML: _ctx.$sanitize(_ctx.cliToolUsageText) - }, null, 8, _hoisted_1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('VisitorGenerator_OverwriteLogFiles', _ctx.accessLogPath)), 1)]; - }), - _: 1 - }), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("form", { - method: "POST", - action: _ctx.generateLink - }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { - type: "hidden", - name: "idSite", - value: _ctx.idSite - }, null, 8, _hoisted_3), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { - uicontrol: "text", - name: "daysToCompute", - modelValue: _ctx.daysToCompute, - "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) { - return _ctx.daysToCompute = $event; - }), - title: _ctx.translate('VisitorGenerator_DaysToCompute') - }, null, 8, ["modelValue", "title"]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("strong", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('VisitorGenerator_GenerateFakeActions', _ctx.countMinActionsPerRun)), 1)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('VisitorGenerator_AreYouSure')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Alert, { - severity: "danger" - }, { - default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () { - return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('VisitorGenerator_Warning')) + " ", 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { - innerHTML: _ctx.$sanitize(_ctx.translate('VisitorGenerator_NotReversible', '', '')) - }, null, 8, _hoisted_4)]; - }), - _: 1 - }), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { - uicontrol: "checkbox", - name: "choice", - modelValue: _ctx.choice, - "onUpdate:modelValue": _cache[1] || (_cache[1] = function ($event) { - return _ctx.choice = $event; - }), - title: _ctx.translate('VisitorGenerator_ChoiceYes') - }, null, 8, ["modelValue", "title"]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { - type: "hidden", - value: _ctx.formNonce, - name: "form_nonce" - }, null, 8, _hoisted_5), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('VisitorGenerator_PleaseBePatient')), 1), _hoisted_6, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { - innerHTML: _ctx.$sanitize(_ctx.logImporterNoteText) - }, null, 8, _hoisted_7)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { - type: "submit", - value: _ctx.translate('VisitorGenerator_Submit'), - name: "submit", - class: "btn" - }, null, 8, _hoisted_8)], 8, _hoisted_2)]; - }), - _: 1 - }, 8, ["content-title"]); -} -// CONCATENATED MODULE: ./plugins/VisitorGenerator/vue/src/AdminPage/AdminPage.vue?vue&type=template&id=a00ece44 - -// EXTERNAL MODULE: external "CoreHome" -var external_CoreHome_ = __webpack_require__("19dc"); - -// EXTERNAL MODULE: external "CorePluginsAdmin" -var external_CorePluginsAdmin_ = __webpack_require__("a5a2"); - -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/VisitorGenerator/vue/src/AdminPage/AdminPage.vue?vue&type=script&lang=ts - - - -/* harmony default export */ var AdminPagevue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ - props: { - accessLogPath: { - type: String, - required: true - }, - idSite: { - type: [String, Number], - required: true - }, - countMinActionsPerRun: { - type: [String, Number], - required: true - }, - formNonce: { - type: String, - required: true - } - }, - components: { - ContentBlock: external_CoreHome_["ContentBlock"], - Field: external_CorePluginsAdmin_["Field"], - Alert: external_CoreHome_["Alert"] - }, - data: function data() { - return { - daysToCompute: '1', - choice: false - }; - }, - computed: { - cliToolUsageText: function cliToolUsageText() { - return Object(external_CoreHome_["translate"])('VisitorGenerator_CliToolUsage', Object(external_CoreHome_["externalLink"])('http://developer.matomo.org/guides/piwik-on-the-command-line'), ''); - }, - generateLink: function generateLink() { - return "?".concat(external_CoreHome_["MatomoUrl"].stringify(Object.assign(Object.assign({}, external_CoreHome_["MatomoUrl"].urlParsed.value), {}, { - module: 'VisitorGenerator', - action: 'generate' - }))); - }, - logImporterNoteText: function logImporterNoteText() { - return Object(external_CoreHome_["translate"])('VisitorGenerator_LogImporterNote', Object(external_CoreHome_["externalLink"])('https://plugins.matomo.org/VisitorGenerator'), ''); - } - } -})); -// CONCATENATED MODULE: ./plugins/VisitorGenerator/vue/src/AdminPage/AdminPage.vue?vue&type=script&lang=ts - -// CONCATENATED MODULE: ./plugins/VisitorGenerator/vue/src/AdminPage/AdminPage.vue - - - -AdminPagevue_type_script_lang_ts.render = render - -/* harmony default export */ var AdminPage = (AdminPagevue_type_script_lang_ts); -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/VisitorGenerator/vue/src/GeneratePage/GeneratePage.vue?vue&type=template&id=f4166378 - - -var GeneratePagevue_type_template_id_f4166378_hoisted_1 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); - -var GeneratePagevue_type_template_id_f4166378_hoisted_2 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); - -var GeneratePagevue_type_template_id_f4166378_hoisted_3 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); - -var GeneratePagevue_type_template_id_f4166378_hoisted_4 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); - -var GeneratePagevue_type_template_id_f4166378_hoisted_5 = { - key: 0 -}; -var GeneratePagevue_type_template_id_f4166378_hoisted_6 = ["innerHTML"]; -function GeneratePagevue_type_template_id_f4166378_render(_ctx, _cache, $props, $setup, $data, $options) { - var _component_ContentBlock = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ContentBlock"); - - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_ContentBlock, { - "content-title": _ctx.translate('VisitorGenerator_VisitorGenerator') - }, { - default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () { - return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('VisitorGenerator_GeneratedVisitsFor', _ctx.siteName, _ctx.days)), 1), GeneratePagevue_type_template_id_f4166378_hoisted_1, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('VisitorGenerator_NumberOfGeneratedActions')) + ": " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.nbActionsTotal), 1), GeneratePagevue_type_template_id_f4166378_hoisted_2, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('VisitorGenerator_NbRequestsPerSec')) + ": " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.nbRequestsPerSec), 1), GeneratePagevue_type_template_id_f4166378_hoisted_3, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.timer), 1), GeneratePagevue_type_template_id_f4166378_hoisted_4, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("strong", null, [_ctx.browserArchivingEnabled ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", GeneratePagevue_type_template_id_f4166378_hoisted_5, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('VisitorGenerator_AutomaticReprocess')), 1)) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", { - key: 1, - innerHTML: _ctx.$sanitize(_ctx.reRunArchiveScriptText) - }, null, 8, GeneratePagevue_type_template_id_f4166378_hoisted_6))])])]; - }), - _: 1 - }, 8, ["content-title"]); -} -// CONCATENATED MODULE: ./plugins/VisitorGenerator/vue/src/GeneratePage/GeneratePage.vue?vue&type=template&id=f4166378 - -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/VisitorGenerator/vue/src/GeneratePage/GeneratePage.vue?vue&type=script&lang=ts - - -/* harmony default export */ var GeneratePagevue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ - props: { - siteName: { - type: String, - required: true - }, - days: { - type: [String, Number], - required: true - }, - nbActionsTotal: { - type: [String, Number], - required: true - }, - nbRequestsPerSec: { - type: [String, Number], - required: true - }, - browserArchivingEnabled: Boolean, - timer: { - type: String, - required: true - } - }, - components: { - ContentBlock: external_CoreHome_["ContentBlock"] - }, - computed: { - reRunArchiveScriptText: function reRunArchiveScriptText() { - return Object(external_CoreHome_["translate"])('VisitorGenerator_ReRunArchiveScript', Object(external_CoreHome_["externalLink"])('https://matomo.org/docs/setup-auto-archiving/'), ''); - } - } -})); -// CONCATENATED MODULE: ./plugins/VisitorGenerator/vue/src/GeneratePage/GeneratePage.vue?vue&type=script&lang=ts - -// CONCATENATED MODULE: ./plugins/VisitorGenerator/vue/src/GeneratePage/GeneratePage.vue - - - -GeneratePagevue_type_script_lang_ts.render = GeneratePagevue_type_template_id_f4166378_render - -/* harmony default export */ var GeneratePage = (GeneratePagevue_type_script_lang_ts); -// CONCATENATED MODULE: ./plugins/VisitorGenerator/vue/src/index.ts -/*! - * Matomo - free/libre analytics platform - * - * @link https://matomo.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - - -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js - - - - -/***/ }) - -/******/ }); -}); -//# sourceMappingURL=VisitorGenerator.umd.js.map \ No newline at end of file diff --git a/vue/dist/VisitorGenerator.umd.min.js b/vue/dist/VisitorGenerator.umd.min.js index 24befdb..33a6832 100644 --- a/vue/dist/VisitorGenerator.umd.min.js +++ b/vue/dist/VisitorGenerator.umd.min.js @@ -1,8 +1 @@ -(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("CoreHome"),require("vue"),require("CorePluginsAdmin")):"function"===typeof define&&define.amd?define(["CoreHome",,"CorePluginsAdmin"],t):"object"===typeof exports?exports["VisitorGenerator"]=t(require("CoreHome"),require("vue"),require("CorePluginsAdmin")):e["VisitorGenerator"]=t(e["CoreHome"],e["Vue"],e["CorePluginsAdmin"])})("undefined"!==typeof self?self:this,(function(e,t,r){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="plugins/VisitorGenerator/vue/dist/",r(r.s="fae3")}({"19dc":function(t,r){t.exports=e},"8bbf":function(e,r){e.exports=t},a5a2:function(e,t){e.exports=r},fae3:function(e,t,r){"use strict";if(r.r(t),r.d(t,"AdminPage",(function(){return g})),r.d(t,"GeneratePage",(function(){return G})),"undefined"!==typeof window){var n=window.document.currentScript,o=n&&n.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);o&&(r.p=o[1])}var i=r("8bbf"),a=["innerHTML"],c=["action"],l=["value"],u=["innerHTML"],s=["value"],d=Object(i["createElementVNode"])("br",null,null,-1),b=["innerHTML"],p=["value"];function m(e,t,r,n,o,m){var j=Object(i["resolveComponent"])("Alert"),O=Object(i["resolveComponent"])("Field"),f=Object(i["resolveComponent"])("ContentBlock");return Object(i["openBlock"])(),Object(i["createBlock"])(f,{"content-title":e.translate("VisitorGenerator_VisitorGenerator")},{default:Object(i["withCtx"])((function(){return[Object(i["createElementVNode"])("p",null,Object(i["toDisplayString"])(e.translate("VisitorGenerator_PluginDescription")),1),Object(i["createVNode"])(j,{severity:"info"},{default:Object(i["withCtx"])((function(){return[Object(i["createElementVNode"])("span",{innerHTML:e.$sanitize(e.cliToolUsageText)},null,8,a),Object(i["createTextVNode"])(" "+Object(i["toDisplayString"])(e.translate("VisitorGenerator_OverwriteLogFiles",e.accessLogPath)),1)]})),_:1}),Object(i["createElementVNode"])("form",{method:"POST",action:e.generateLink},[Object(i["createElementVNode"])("input",{type:"hidden",name:"idSite",value:e.idSite},null,8,l),Object(i["createVNode"])(O,{uicontrol:"text",name:"daysToCompute",modelValue:e.daysToCompute,"onUpdate:modelValue":t[0]||(t[0]=function(t){return e.daysToCompute=t}),title:e.translate("VisitorGenerator_DaysToCompute")},null,8,["modelValue","title"]),Object(i["createElementVNode"])("p",null,[Object(i["createElementVNode"])("strong",null,Object(i["toDisplayString"])(e.translate("VisitorGenerator_GenerateFakeActions",e.countMinActionsPerRun)),1)]),Object(i["createElementVNode"])("p",null,Object(i["toDisplayString"])(e.translate("VisitorGenerator_AreYouSure")),1),Object(i["createVNode"])(j,{severity:"danger"},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])(Object(i["toDisplayString"])(e.translate("VisitorGenerator_Warning"))+" ",1),Object(i["createElementVNode"])("span",{innerHTML:e.$sanitize(e.translate("VisitorGenerator_NotReversible","",""))},null,8,u)]})),_:1}),Object(i["createVNode"])(O,{uicontrol:"checkbox",name:"choice",modelValue:e.choice,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.choice=t}),title:e.translate("VisitorGenerator_ChoiceYes")},null,8,["modelValue","title"]),Object(i["createElementVNode"])("input",{type:"hidden",value:e.formNonce,name:"form_nonce"},null,8,s),Object(i["createElementVNode"])("p",null,[Object(i["createTextVNode"])(Object(i["toDisplayString"])(e.translate("VisitorGenerator_PleaseBePatient")),1),d,Object(i["createElementVNode"])("span",{innerHTML:e.$sanitize(e.logImporterNoteText)},null,8,b)]),Object(i["createElementVNode"])("input",{type:"submit",value:e.translate("VisitorGenerator_Submit"),name:"submit",class:"btn"},null,8,p)],8,c)]})),_:1},8,["content-title"])}var j=r("19dc"),O=r("a5a2"),f=Object(i["defineComponent"])({props:{accessLogPath:{type:String,required:!0},idSite:{type:[String,Number],required:!0},countMinActionsPerRun:{type:[String,Number],required:!0},formNonce:{type:String,required:!0}},components:{ContentBlock:j["ContentBlock"],Field:O["Field"],Alert:j["Alert"]},data:function(){return{daysToCompute:"1",choice:!1}},computed:{cliToolUsageText:function(){return Object(j["translate"])("VisitorGenerator_CliToolUsage",Object(j["externalLink"])("http://developer.matomo.org/guides/piwik-on-the-command-line"),"")},generateLink:function(){return"?".concat(j["MatomoUrl"].stringify(Object.assign(Object.assign({},j["MatomoUrl"].urlParsed.value),{},{module:"VisitorGenerator",action:"generate"})))},logImporterNoteText:function(){return Object(j["translate"])("VisitorGenerator_LogImporterNote",Object(j["externalLink"])("https://plugins.matomo.org/VisitorGenerator"),"")}}});f.render=m;var g=f,V=Object(i["createElementVNode"])("br",null,null,-1),y=Object(i["createElementVNode"])("br",null,null,-1),N=Object(i["createElementVNode"])("br",null,null,-1),v=Object(i["createElementVNode"])("br",null,null,-1),S={key:0},x=["innerHTML"];function T(e,t,r,n,o,a){var c=Object(i["resolveComponent"])("ContentBlock");return Object(i["openBlock"])(),Object(i["createBlock"])(c,{"content-title":e.translate("VisitorGenerator_VisitorGenerator")},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])(Object(i["toDisplayString"])(e.translate("VisitorGenerator_GeneratedVisitsFor",e.siteName,e.days)),1),V,Object(i["createTextVNode"])(" "+Object(i["toDisplayString"])(e.translate("VisitorGenerator_NumberOfGeneratedActions"))+": "+Object(i["toDisplayString"])(e.nbActionsTotal),1),y,Object(i["createTextVNode"])(" "+Object(i["toDisplayString"])(e.translate("VisitorGenerator_NbRequestsPerSec"))+": "+Object(i["toDisplayString"])(e.nbRequestsPerSec),1),N,Object(i["createTextVNode"])(" "+Object(i["toDisplayString"])(e.timer),1),v,Object(i["createElementVNode"])("p",null,[Object(i["createElementVNode"])("strong",null,[e.browserArchivingEnabled?(Object(i["openBlock"])(),Object(i["createElementBlock"])("span",S,Object(i["toDisplayString"])(e.translate("VisitorGenerator_AutomaticReprocess")),1)):(Object(i["openBlock"])(),Object(i["createElementBlock"])("span",{key:1,innerHTML:e.$sanitize(e.reRunArchiveScriptText)},null,8,x))])])]})),_:1},8,["content-title"])}var C=Object(i["defineComponent"])({props:{siteName:{type:String,required:!0},days:{type:[String,Number],required:!0},nbActionsTotal:{type:[String,Number],required:!0},nbRequestsPerSec:{type:[String,Number],required:!0},browserArchivingEnabled:Boolean,timer:{type:String,required:!0}},components:{ContentBlock:j["ContentBlock"]},computed:{reRunArchiveScriptText:function(){return Object(j["translate"])("VisitorGenerator_ReRunArchiveScript",Object(j["externalLink"])("https://matomo.org/docs/setup-auto-archiving/"),"")}}});C.render=T;var G=C; -/*! - * Matomo - free/libre analytics platform - * - * @link https://matomo.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */}})})); -//# sourceMappingURL=VisitorGenerator.umd.min.js.map \ No newline at end of file +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("CoreHome"),require("CorePluginsAdmin")):"function"==typeof define&&define.amd?define(["exports","vue","CoreHome","CorePluginsAdmin"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).VisitorGenerator={},e.Vue,e.CoreHome,e.CorePluginsAdmin)}(this,function(e,t,r,n){"use strict";var o=Object.defineProperty,i=Object.defineProperties,a=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,u=(e,t,r)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const d=t.defineComponent({props:{accessLogPath:{type:String,required:!0},idSite:{type:[String,Number],required:!0},countMinActionsPerRun:{type:[String,Number],required:!0},formNonce:{type:String,required:!0}},components:{ContentBlock:r.ContentBlock,Field:n.Field,Alert:r.Alert},data:()=>({daysToCompute:"1",choice:!1}),computed:{cliToolUsageText:()=>r.translate("VisitorGenerator_CliToolUsage",r.externalLink("http://developer.matomo.org/guides/piwik-on-the-command-line"),""),generateLink(){return`?${r.MatomoUrl.stringify((e=((e,t)=>{for(var r in t||(t={}))s.call(t,r)&&u(e,r,t[r]);if(l)for(var r of l(t))c.call(t,r)&&u(e,r,t[r]);return e})({},r.MatomoUrl.urlParsed.value),t={module:"VisitorGenerator",action:"generate"},i(e,a(t))))}`;var e,t},logImporterNoteText:()=>r.translate("VisitorGenerator_LogImporterNote",r.externalLink("https://plugins.matomo.org/VisitorGenerator"),"")}}),p=(e,t)=>{const r=e.__vccOpts||e;for(const[n,o]of t)r[n]=o;return r},m=["innerHTML"],g=["action"],V=["value"],y=["innerHTML"],N=["value"],b=["innerHTML"],S=["value"];const f=p(d,[["render",function(e,r,n,o,i,a){const l=t.resolveComponent("Alert"),s=t.resolveComponent("Field"),c=t.resolveComponent("ContentBlock");return t.openBlock(),t.createBlock(c,{"content-title":e.translate("VisitorGenerator_VisitorGenerator")},{default:t.withCtx(()=>[t.createElementVNode("p",null,t.toDisplayString(e.translate("VisitorGenerator_PluginDescription")),1),t.createVNode(l,{severity:"info"},{default:t.withCtx(()=>[t.createElementVNode("span",{innerHTML:e.$sanitize(e.cliToolUsageText)},null,8,m),t.createTextVNode(" "+t.toDisplayString(e.translate("VisitorGenerator_OverwriteLogFiles",e.accessLogPath)),1)]),_:1}),t.createElementVNode("form",{method:"POST",action:e.generateLink},[t.createElementVNode("input",{type:"hidden",name:"idSite",value:e.idSite},null,8,V),t.createVNode(s,{uicontrol:"text",name:"daysToCompute",modelValue:e.daysToCompute,"onUpdate:modelValue":r[0]||(r[0]=t=>e.daysToCompute=t),title:e.translate("VisitorGenerator_DaysToCompute")},null,8,["modelValue","title"]),t.createElementVNode("p",null,[t.createElementVNode("strong",null,t.toDisplayString(e.translate("VisitorGenerator_GenerateFakeActions",String(e.countMinActionsPerRun))),1)]),t.createElementVNode("p",null,t.toDisplayString(e.translate("VisitorGenerator_AreYouSure")),1),t.createVNode(l,{severity:"danger"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.translate("VisitorGenerator_Warning"))+" ",1),t.createElementVNode("span",{innerHTML:e.$sanitize(e.translate("VisitorGenerator_NotReversible","",""))},null,8,y)]),_:1}),t.createVNode(s,{uicontrol:"checkbox",name:"choice",modelValue:e.choice,"onUpdate:modelValue":r[1]||(r[1]=t=>e.choice=t),title:e.translate("VisitorGenerator_ChoiceYes")},null,8,["modelValue","title"]),t.createElementVNode("input",{type:"hidden",value:e.formNonce,name:"form_nonce"},null,8,N),t.createElementVNode("p",null,[t.createTextVNode(t.toDisplayString(e.translate("VisitorGenerator_PleaseBePatient")),1),r[2]||(r[2]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("span",{innerHTML:e.$sanitize(e.logImporterNoteText)},null,8,b)]),t.createElementVNode("input",{type:"submit",value:e.translate("VisitorGenerator_Submit"),name:"submit",class:"btn"},null,8,S)],8,g)]),_:1},8,["content-title"])}]]),T=t.defineComponent({props:{siteName:{type:String,required:!0},days:{type:[String,Number],required:!0},nbActionsTotal:{type:[String,Number],required:!0},nbRequestsPerSec:{type:[String,Number],required:!0},browserArchivingEnabled:Boolean,timer:{type:String,required:!0}},components:{ContentBlock:r.ContentBlock},computed:{reRunArchiveScriptText:()=>r.translate("VisitorGenerator_ReRunArchiveScript",r.externalLink("https://matomo.org/docs/setup-auto-archiving/"),"")}}),v={key:0},h=["innerHTML"];const C=p(T,[["render",function(e,r,n,o,i,a){const l=t.resolveComponent("ContentBlock");return t.openBlock(),t.createBlock(l,{"content-title":e.translate("VisitorGenerator_VisitorGenerator")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.translate("VisitorGenerator_GeneratedVisitsFor",e.siteName,String(e.days))),1),r[0]||(r[0]=t.createElementVNode("br",null,null,-1)),t.createTextVNode(" "+t.toDisplayString(e.translate("VisitorGenerator_NumberOfGeneratedActions"))+": "+t.toDisplayString(e.nbActionsTotal),1),r[1]||(r[1]=t.createElementVNode("br",null,null,-1)),t.createTextVNode(" "+t.toDisplayString(e.translate("VisitorGenerator_NbRequestsPerSec"))+": "+t.toDisplayString(e.nbRequestsPerSec),1),r[2]||(r[2]=t.createElementVNode("br",null,null,-1)),t.createTextVNode(" "+t.toDisplayString(e.timer),1),r[3]||(r[3]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("p",null,[t.createElementVNode("strong",null,[e.browserArchivingEnabled?(t.openBlock(),t.createElementBlock("span",v,t.toDisplayString(e.translate("VisitorGenerator_AutomaticReprocess")),1)):(t.openBlock(),t.createElementBlock("span",{key:1,innerHTML:e.$sanitize(e.reRunArchiveScriptText)},null,8,h))])])]),_:1},8,["content-title"])}]]);e.AdminPage=f,e.GeneratePage=C,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}); diff --git a/vue/dist/umd.metadata.json b/vue/dist/umd.metadata.json index dce4477..662eca6 100644 --- a/vue/dist/umd.metadata.json +++ b/vue/dist/umd.metadata.json @@ -3,4 +3,4 @@ "CoreHome", "CorePluginsAdmin" ] -} \ No newline at end of file +} diff --git a/vue/src/AdminPage/AdminPage.vue b/vue/src/AdminPage/AdminPage.vue index 09ceae1..c25fe6d 100644 --- a/vue/src/AdminPage/AdminPage.vue +++ b/vue/src/AdminPage/AdminPage.vue @@ -26,7 +26,7 @@

- {{ translate('VisitorGenerator_GenerateFakeActions', countMinActionsPerRun) }} + {{ translate('VisitorGenerator_GenerateFakeActions', String(countMinActionsPerRun)) }}

diff --git a/vue/src/GeneratePage/GeneratePage.vue b/vue/src/GeneratePage/GeneratePage.vue index f2204dc..7d0b9cd 100644 --- a/vue/src/GeneratePage/GeneratePage.vue +++ b/vue/src/GeneratePage/GeneratePage.vue @@ -8,7 +8,7 @@ - {{ translate('VisitorGenerator_GeneratedVisitsFor', siteName, days) }}
+ {{ translate('VisitorGenerator_GeneratedVisitsFor', siteName, String(days)) }}
{{ translate('VisitorGenerator_NumberOfGeneratedActions') }}: {{ nbActionsTotal }}
{{ translate('VisitorGenerator_NbRequestsPerSec') }}: {{ nbRequestsPerSec }}
{{ timer }}