Changeset 3292550
- Timestamp:
- 05/13/2025 12:37:46 PM (11 months ago)
- Location:
- eventilla-events
- Files:
-
- 296 added
- 6 deleted
- 9 edited
-
tags/2.0.3 (added)
-
tags/2.0.3/LICENSE.txt (added)
-
tags/2.0.3/README.md (added)
-
tags/2.0.3/README.txt (added)
-
tags/2.0.3/admin (added)
-
tags/2.0.3/admin/class-eventilla-wp-admin.php (added)
-
tags/2.0.3/admin/class-eventilla-wp-logger-admin.php (added)
-
tags/2.0.3/admin/css (added)
-
tags/2.0.3/admin/css/eventilla-wp-admin.css (added)
-
tags/2.0.3/admin/css/logo_retina.png (added)
-
tags/2.0.3/admin/index.php (added)
-
tags/2.0.3/admin/js (added)
-
tags/2.0.3/admin/js/event-list-block.js (added)
-
tags/2.0.3/admin/js/event-registration-block.js (added)
-
tags/2.0.3/admin/js/eventilla-wp-admin.js (added)
-
tags/2.0.3/admin/partials (added)
-
tags/2.0.3/admin/partials/eventilla-save-settings-button.php (added)
-
tags/2.0.3/admin/partials/eventilla-wp-admin-display.php (added)
-
tags/2.0.3/admin/partials/eventilla-wp-admin-submitbox.php (added)
-
tags/2.0.3/admin/partials/eventilla-wp-admin-update-status.php (added)
-
tags/2.0.3/admin/partials/logs (added)
-
tags/2.0.3/admin/partials/logs/eventilla-wp-logger-log-list.php (added)
-
tags/2.0.3/admin/partials/logs/eventilla-wp-logger-single-log.php (added)
-
tags/2.0.3/admin/settings (added)
-
tags/2.0.3/admin/settings/class-eventilla-opt-chosen-event-fields.php (added)
-
tags/2.0.3/admin/settings/class-eventilla-opt.php (added)
-
tags/2.0.3/data (added)
-
tags/2.0.3/data/country_codes.json (added)
-
tags/2.0.3/eventilla-wp.php (added)
-
tags/2.0.3/includes (added)
-
tags/2.0.3/includes/api (added)
-
tags/2.0.3/includes/api/class-eventilla-wp-api-client.php (added)
-
tags/2.0.3/includes/api/class-eventilla-wp-api-request.php (added)
-
tags/2.0.3/includes/api/class-eventilla-wp-api-response.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-activator.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-api-request-legacy.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-common.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-cpt.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-deactivator.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-form-builder.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-form-options.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-form-type.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-html-builder-shortcode.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-i18n.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-loader.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-option-processing.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-response-validation.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-rest-api.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-router.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-scheduled-actions.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-shortcode.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-taxonomy.php (added)
-
tags/2.0.3/includes/class-eventilla-wp-updater.php (added)
-
tags/2.0.3/includes/class-eventilla-wp.php (added)
-
tags/2.0.3/includes/index.php (added)
-
tags/2.0.3/includes/logger (added)
-
tags/2.0.3/includes/logger/class-eventilla-wp-log-file-controller.php (added)
-
tags/2.0.3/includes/logger/class-eventilla-wp-logger.php (added)
-
tags/2.0.3/includes/logger/class-psr-log-level.php (added)
-
tags/2.0.3/includes/logger/interface-psr-logger-interface.php (added)
-
tags/2.0.3/includes/logger/trait-psr-logger-trait.php (added)
-
tags/2.0.3/includes/model (added)
-
tags/2.0.3/includes/model/class-eventilla-event.php (added)
-
tags/2.0.3/includes/model/class-eventilla-image.php (added)
-
tags/2.0.3/index.php (added)
-
tags/2.0.3/languages (added)
-
tags/2.0.3/languages/eventilla-wp-fi.mo (added)
-
tags/2.0.3/languages/eventilla-wp-fi_FI.mo (added)
-
tags/2.0.3/languages/eventilla-wp-fi_FI.po (added)
-
tags/2.0.3/languages/eventilla-wp.pot (added)
-
tags/2.0.3/libraries (added)
-
tags/2.0.3/libraries/action-scheduler (added)
-
tags/2.0.3/libraries/action-scheduler/.editorconfig (added)
-
tags/2.0.3/libraries/action-scheduler/Gruntfile.js (added)
-
tags/2.0.3/libraries/action-scheduler/README.md (added)
-
tags/2.0.3/libraries/action-scheduler/action-scheduler.php (added)
-
tags/2.0.3/libraries/action-scheduler/changelog.txt (added)
-
tags/2.0.3/libraries/action-scheduler/classes (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_ActionClaim.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_ActionFactory.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_AdminView.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_AsyncRequest_QueueRunner.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_Compatibility.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_DataController.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_DateTime.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_Exception.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_FatalErrorMonitor.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_InvalidActionException.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_ListTable.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_LogEntry.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_NullLogEntry.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_OptionLock.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_QueueCleaner.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_QueueRunner.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_SystemInformation.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_Versions.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_WPCommentCleaner.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/ActionScheduler_wcSystemStatus.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI/Action (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI/Action/Cancel_Command.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI/Action/Create_Command.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI/Action/Delete_Command.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI/Action/Generate_Command.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI/Action/Get_Command.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI/Action/List_Command.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI/Action/Next_Command.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI/Action/Run_Command.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI/ActionScheduler_WPCLI_Clean_Command.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI/ActionScheduler_WPCLI_QueueRunner.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI/ActionScheduler_WPCLI_Scheduler_command.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI/Action_Command.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI/Migration_Command.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI/ProgressBar.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/WP_CLI/System_Command.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/abstracts (added)
-
tags/2.0.3/libraries/action-scheduler/classes/abstracts/ActionScheduler.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/abstracts/ActionScheduler_Abstract_ListTable.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/abstracts/ActionScheduler_Abstract_RecurringSchedule.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/abstracts/ActionScheduler_Abstract_Schedule.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/abstracts/ActionScheduler_Abstract_Schema.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/abstracts/ActionScheduler_Lock.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/abstracts/ActionScheduler_Logger.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/abstracts/ActionScheduler_Store.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/abstracts/ActionScheduler_TimezoneHelper.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/abstracts/ActionScheduler_WPCLI_Command.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/actions (added)
-
tags/2.0.3/libraries/action-scheduler/classes/actions/ActionScheduler_Action.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/actions/ActionScheduler_CanceledAction.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/actions/ActionScheduler_FinishedAction.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/actions/ActionScheduler_NullAction.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/data-stores (added)
-
tags/2.0.3/libraries/action-scheduler/classes/data-stores/ActionScheduler_DBLogger.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/data-stores/ActionScheduler_HybridStore.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/data-stores/ActionScheduler_wpCommentLogger.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore_PostStatusRegistrar.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore_PostTypeRegistrar.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore_TaxonomyRegistrar.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/migration (added)
-
tags/2.0.3/libraries/action-scheduler/classes/migration/ActionMigrator.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/migration/ActionScheduler_DBStoreMigrator.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/migration/BatchFetcher.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/migration/Config.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/migration/Controller.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/migration/DryRun_ActionMigrator.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/migration/DryRun_LogMigrator.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/migration/LogMigrator.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/migration/Runner.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/migration/Scheduler.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/schedules (added)
-
tags/2.0.3/libraries/action-scheduler/classes/schedules/ActionScheduler_CanceledSchedule.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/schedules/ActionScheduler_CronSchedule.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/schedules/ActionScheduler_IntervalSchedule.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/schedules/ActionScheduler_NullSchedule.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/schedules/ActionScheduler_Schedule.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/schedules/ActionScheduler_SimpleSchedule.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/schema (added)
-
tags/2.0.3/libraries/action-scheduler/classes/schema/ActionScheduler_LoggerSchema.php (added)
-
tags/2.0.3/libraries/action-scheduler/classes/schema/ActionScheduler_StoreSchema.php (added)
-
tags/2.0.3/libraries/action-scheduler/codecov.yml (added)
-
tags/2.0.3/libraries/action-scheduler/composer.json (added)
-
tags/2.0.3/libraries/action-scheduler/composer.lock (added)
-
tags/2.0.3/libraries/action-scheduler/deprecated (added)
-
tags/2.0.3/libraries/action-scheduler/deprecated/ActionScheduler_Abstract_QueueRunner_Deprecated.php (added)
-
tags/2.0.3/libraries/action-scheduler/deprecated/ActionScheduler_AdminView_Deprecated.php (added)
-
tags/2.0.3/libraries/action-scheduler/deprecated/ActionScheduler_Schedule_Deprecated.php (added)
-
tags/2.0.3/libraries/action-scheduler/deprecated/ActionScheduler_Store_Deprecated.php (added)
-
tags/2.0.3/libraries/action-scheduler/deprecated/functions.php (added)
-
tags/2.0.3/libraries/action-scheduler/docs (added)
-
tags/2.0.3/libraries/action-scheduler/docs/CNAME (added)
-
tags/2.0.3/libraries/action-scheduler/docs/_config.yml (added)
-
tags/2.0.3/libraries/action-scheduler/docs/_layouts (added)
-
tags/2.0.3/libraries/action-scheduler/docs/_layouts/default.html (added)
-
tags/2.0.3/libraries/action-scheduler/docs/admin.md (added)
-
tags/2.0.3/libraries/action-scheduler/docs/android-chrome-192x192.png (added)
-
tags/2.0.3/libraries/action-scheduler/docs/android-chrome-256x256.png (added)
-
tags/2.0.3/libraries/action-scheduler/docs/api.md (added)
-
tags/2.0.3/libraries/action-scheduler/docs/apple-touch-icon.png (added)
-
tags/2.0.3/libraries/action-scheduler/docs/assets (added)
-
tags/2.0.3/libraries/action-scheduler/docs/assets/css (added)
-
tags/2.0.3/libraries/action-scheduler/docs/assets/css/style.scss (added)
-
tags/2.0.3/libraries/action-scheduler/docs/browserconfig.xml (added)
-
tags/2.0.3/libraries/action-scheduler/docs/faq.md (added)
-
tags/2.0.3/libraries/action-scheduler/docs/favicon-16x16.png (added)
-
tags/2.0.3/libraries/action-scheduler/docs/favicon-32x32.png (added)
-
tags/2.0.3/libraries/action-scheduler/docs/favicon.ico (added)
-
tags/2.0.3/libraries/action-scheduler/docs/google14ef723abb376cd3.html (added)
-
tags/2.0.3/libraries/action-scheduler/docs/index.md (added)
-
tags/2.0.3/libraries/action-scheduler/docs/mstile-150x150.png (added)
-
tags/2.0.3/libraries/action-scheduler/docs/perf.md (added)
-
tags/2.0.3/libraries/action-scheduler/docs/safari-pinned-tab.svg (added)
-
tags/2.0.3/libraries/action-scheduler/docs/site.webmanifest (added)
-
tags/2.0.3/libraries/action-scheduler/docs/usage.md (added)
-
tags/2.0.3/libraries/action-scheduler/docs/version3-0.md (added)
-
tags/2.0.3/libraries/action-scheduler/docs/wp-cli.md (added)
-
tags/2.0.3/libraries/action-scheduler/functions.php (added)
-
tags/2.0.3/libraries/action-scheduler/lib (added)
-
tags/2.0.3/libraries/action-scheduler/lib/WP_Async_Request.php (added)
-
tags/2.0.3/libraries/action-scheduler/lib/cron-expression (added)
-
tags/2.0.3/libraries/action-scheduler/lib/cron-expression/CronExpression.php (added)
-
tags/2.0.3/libraries/action-scheduler/lib/cron-expression/CronExpression_AbstractField.php (added)
-
tags/2.0.3/libraries/action-scheduler/lib/cron-expression/CronExpression_DayOfMonthField.php (added)
-
tags/2.0.3/libraries/action-scheduler/lib/cron-expression/CronExpression_DayOfWeekField.php (added)
-
tags/2.0.3/libraries/action-scheduler/lib/cron-expression/CronExpression_FieldFactory.php (added)
-
tags/2.0.3/libraries/action-scheduler/lib/cron-expression/CronExpression_FieldInterface.php (added)
-
tags/2.0.3/libraries/action-scheduler/lib/cron-expression/CronExpression_HoursField.php (added)
-
tags/2.0.3/libraries/action-scheduler/lib/cron-expression/CronExpression_MinutesField.php (added)
-
tags/2.0.3/libraries/action-scheduler/lib/cron-expression/CronExpression_MonthField.php (added)
-
tags/2.0.3/libraries/action-scheduler/lib/cron-expression/CronExpression_YearField.php (added)
-
tags/2.0.3/libraries/action-scheduler/lib/cron-expression/LICENSE (added)
-
tags/2.0.3/libraries/action-scheduler/lib/cron-expression/README.md (added)
-
tags/2.0.3/libraries/action-scheduler/license.txt (added)
-
tags/2.0.3/libraries/action-scheduler/package-lock.json (added)
-
tags/2.0.3/libraries/action-scheduler/package.json (added)
-
tags/2.0.3/libraries/action-scheduler/phpcs.xml (added)
-
tags/2.0.3/libraries/action-scheduler/readme.txt (added)
-
tags/2.0.3/libraries/action-scheduler/tests (added)
-
tags/2.0.3/libraries/action-scheduler/tests/ActionScheduler_UnitTestCase.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/README.md (added)
-
tags/2.0.3/libraries/action-scheduler/tests/bin (added)
-
tags/2.0.3/libraries/action-scheduler/tests/bin/install.sh (added)
-
tags/2.0.3/libraries/action-scheduler/tests/bootstrap.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit.xml.dist (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/ActionScheduler_Mock_Async_Request_QueueRunner.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/ActionScheduler_Mocker.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/deprecated (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/deprecated/ActionScheduler_UnitTestCase.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/helpers (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/helpers/ActionScheduler_Callbacks.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/helpers/ActionScheduler_Compatibility_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/helpers/ActionScheduler_TimezoneHelper_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/jobs (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/jobs/ActionScheduler_Action_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/jobs/ActionScheduler_NullAction_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/jobstore (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/jobstore/AbstractStoreTest.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/jobstore/ActionScheduler_DBStoreMigrator_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/jobstore/ActionScheduler_DBStore_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/jobstore/ActionScheduler_HybridStore_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/jobstore/ActionScheduler_wpPostStore_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/lock (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/lock/ActionScheduler_OptionLock_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/logging (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/logging/ActionScheduler_DBLogger_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/logging/ActionScheduler_wpCommentLogger_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/migration (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/migration/ActionMigrator_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/migration/BatchFetcher_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/migration/Config_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/migration/Controller_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/migration/LogMigrator_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/migration/Runner_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/migration/Scheduler_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/procedural_api (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/procedural_api/procedural_api_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/procedural_api/wc_get_scheduled_actions_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/runner (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/runner/ActionScheduler_QueueCleaner_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/runner/ActionScheduler_QueueRunner_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/schedules (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/schedules/ActionScheduler_CronSchedule_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/schedules/ActionScheduler_IntervalSchedule_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/schedules/ActionScheduler_NullSchedule_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/schedules/ActionScheduler_SimpleSchedule_Test.php (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/versioning (added)
-
tags/2.0.3/libraries/action-scheduler/tests/phpunit/versioning/ActionScheduler_Versions_Test.php (added)
-
tags/2.0.3/package-lock.json (added)
-
tags/2.0.3/package.json (added)
-
tags/2.0.3/public (added)
-
tags/2.0.3/public/build (added)
-
tags/2.0.3/public/build/index-rtl.css (added)
-
tags/2.0.3/public/build/index.asset.php (added)
-
tags/2.0.3/public/build/index.css (added)
-
tags/2.0.3/public/build/index.js (added)
-
tags/2.0.3/public/class-eventilla-wp-public.php (added)
-
tags/2.0.3/public/css (added)
-
tags/2.0.3/public/css/eventilla-wp-public.css (added)
-
tags/2.0.3/public/index.php (added)
-
tags/2.0.3/public/js (added)
-
tags/2.0.3/public/js/eventilla-wp-public.js (added)
-
tags/2.0.3/public/partials (added)
-
tags/2.0.3/public/partials/eventilla-wp-public-display.php (added)
-
tags/2.0.3/src (added)
-
tags/2.0.3/src/components (added)
-
tags/2.0.3/src/components/ToolsDatePicker.tsx (added)
-
tags/2.0.3/src/components/ToolsPage.tsx (added)
-
tags/2.0.3/src/components/ToolsPageEvent.tsx (added)
-
tags/2.0.3/src/components/ToolsPageEventList.tsx (added)
-
tags/2.0.3/src/components/ToolsPageFilters.tsx (added)
-
tags/2.0.3/src/index.tsx (added)
-
tags/2.0.3/src/tools-styles.scss (added)
-
tags/2.0.3/uninstall.php (added)
-
trunk/README.md (modified) (1 diff)
-
trunk/README.txt (modified) (2 diffs)
-
trunk/admin/settings/class-eventilla-opt-chosen-event-fields.php (modified) (1 diff)
-
trunk/admin/settings/class-eventilla-opt.php (modified) (2 diffs)
-
trunk/desktop.ini (deleted)
-
trunk/eventilla-wp.php (modified) (2 diffs)
-
trunk/includes/class-eventilla-wp-api-request-v2.php (deleted)
-
trunk/includes/class-eventilla-wp-cron.php (deleted)
-
trunk/includes/model/class-eventilla-event.php (modified) (5 diffs)
-
trunk/libraries/action-scheduler/.gitattributes (deleted)
-
trunk/libraries/action-scheduler/.github (deleted)
-
trunk/libraries/action-scheduler/.gitignore (deleted)
-
trunk/public/build/index.asset.php (modified) (1 diff)
-
trunk/public/build/index.js (modified) (1 diff)
-
trunk/src/components/ToolsPageFilters.tsx (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
eventilla-events/trunk/README.md
r3283265 r3292550 1 1 # Eventilla WordPress plugin 2 2 3 Display events via Eventilla API. Add events to content via shortcode.3 Eventilla is SaaS based event management software available from www.eventilla.com/en/. It can be used to publish event landing pages, sending event invites, gathering registrations and selling tickets. Event manager has easy to use tools and comprehensive reports, surveys and all the features needed to run succesfull events. We also offer free mobile app to scan tickets with QR-codes. 4 4 5 ## Plugin requirements 5 You can show Eventilla events on your WordPress site either as a single event or as a list of events. Shortcode and Block Editor is supported. 6 6 7 - Requires support for PHP SimpleXML library 7 Event lists can be filtered with tags added in Eventilla. 8 8 9 ## Plugin restriction 9 Because events are saved as custom posts, it is possible to query the posts with a custom wp-query. 10 10 11 - Because of duplicate ids in eventilla form. 11 Published in [official WordPress plugin repository](https://wordpress.org/plugins/eventilla-events/) 12 12 13 ## Updating the plugin 13 ## Plugin development 14 This guide presumes that you have local WordPress installation running. 14 15 15 When publishing an update, update the version number in the `eventilla-wp.php` file: 16 For local MacOS development [Laravel Valet](https://laravel.com/docs/11.x/valet) or [Laravel Herd](https://herd.laravel.com) are recommended environments to run local WordPress installation. 17 18 ### Starting the development 19 #### 1. Clone the repository to your PROJECT_FOLDER 20 ``` 21 cd PROJECT_FOLDER 22 git clone git@gitlab.com:eventilla/wordpress-plugin-v2.git 23 ``` 24 #### 2. Add the plugin to your WordPress installation 25 ``` 26 # Symlink the plugin so development can happen in PROJECT_FOLDER 27 ln -s wordpress-plugin-v2 WORDPRESS_INSTALLATION_PATH/wp-content/plugins/eventilla-events 28 # Activate plugin 29 cd WORDPRESS_INSTALLATION_PATH 30 wp plugin activate eventilla-events 31 ``` 32 #### 3. Node 33 ``` 34 cd PROJECT_FOLDER 35 npm install 36 # Run node (if you develop React functionality) 37 npm run start 38 ``` 39 40 ### Development practices 41 - Use feature/fix branches and PR's to master in Gitlab 42 - Use existing WP React components if available: see https://wordpress.github.io/gutenberg 43 - See [@wp-scripts](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-scripts/) about collection of reusable scripts tailored for WordPress development. 44 - See [WordPress's plugin development best practices](https://developer.wordpress.org/plugins/plugin-basics/best-practices/) 45 46 ### React development 47 - Main file `public/build/index.tsx` 48 - Loaded: Eventilla_WP_Admin::enqueue_scripts(); 49 - Uses TypeScript for type safety 50 - Integrates with WordPress components (@wordpress/components) 51 - Supports WordPress i18n (@wordpress/i18n) 52 - Hot reloading during development 53 - Production builds output to public/build/ 54 55 ### Rest routes 56 The `Eventilla_WP_REST_API` implements custom REST API endpoints for the Eventilla WordPress plugin. It provides functionality for managing events, filters, and tools through WordPress's REST API. 57 58 #### Current Endpoints 59 The plugin currently provides the following endpoints under the `eventilla/v1` namespace: 60 61 - `GET /eventilla/v1/filters` - Retrieves filter data for the Eventilla Tools page 62 - `POST /eventilla/v1/events` - Fetches events with various filtering options 63 - `POST /eventilla/v1/events/update` - Queues events for update from the Eventilla Tools page 64 65 #### Adding a New Route 66 67 To add a new route to the API, follow these steps: 68 69 1. Add your route configuration to the `$routes` array in the class: 70 71 ```php 72 private static $routes = [ 73 // ... existing routes ... 74 'your-new-endpoint' => [ 75 'methods' => 'GET', // or 'POST', 'PUT', 'DELETE' 76 'callback' => [self::class, 'your_callback_method'], 77 'permission_callback' => [self::class, 'current_user_can_manage_options'], 78 ], 79 ]; 80 ``` 81 82 2. Create the callback method in the class: 83 84 ```php 85 public static function your_callback_method($request) { 86 // Your endpoint logic here 87 return rest_ensure_response($your_data); 88 } 89 ``` 90 91 3. The route will be automatically registered when the plugin initializes. 92 93 ### Custom endpoints 94 95 The `Eventilla_WP_Router` class provides a simple routing system for WordPress that allows you to create custom endpoints accessible via `wp-load.php`. 96 97 The router listens for requests to `wp-load.php` with a specific namespace parameter (`eventilla_route`). When a matching request is found, it validates the request parameters and authentication (if required) before executing the corresponding callback function. 98 99 #### Adding a New Route 100 101 To add a new route, you need to add an entry to the `$routes` array in the `Eventilla_WP_Router` class. Here's the structure: 102 103 ```php 104 'route_name' => [ 105 'parameters' => [ 106 'parameter_name' => true, // true means parameter is required 107 // or 108 'parameter_name' => ['value1', 'value2'], // array of allowed values 109 ], 110 'auth' => true, // whether authentication is required 111 'auth_option' => 'option_name', // WordPress option name containing the secret 112 'callback' => ['Class_Name', 'method_name'], // callback to execute 113 ], 114 ``` 115 116 ### Logs 117 You can define log level in settings to see debug information. 118 119 ### Update changes 120 If there are any changes you need to run **just once** after the plugin is updated, add a new function to the `includes/class-eventilla-wp-updater.php` files `$updates` array. Key is the version number and value is the function name to be ran once from the class. 121 122 ## Making new release 123 1. Merge feature branches via pull request (squash commits and delete branch after merge) to `master` 124 2. Pull `master` to local environment and test basic functionality 125 - Event updating works 126 - Admin views work 127 - New functionality works 128 3. Add new version info 129 Note that we are using [semver](https://semver.org/). 130 When publishing an update, update the version number 131 - in `eventilla-wp.php` Plugin info 132 - in the `eventilla-wp.php` file:`define('EVENTILLA_WP_VERSION', '1.9.0');` 133 4. Update release info to `README.txt` 134 At least add new version line below description. 135 5. Build npm for production `npm run build` 136 6. Commit and add tag 137 Commit changes with new version number 138 ``` 139 git add eventilla-wp.php README.txt 140 git commit -m"VERSION MUMBER HERE" 141 git tag -a [VERSION NUMBER] -m[SHORT DESCRIPTION ABOUT THE NEW VERSION]" 142 ``` 143 144 Finally, push the changes with the tag. OBS! This runs CI/CD pipeline in Gitlab which releases the changes to WordPress plugin repository. 16 145 17 146 ``` 18 define('EVENTILLA_WP_VERSION', '1.9.0'); 147 git push origin master --tags 19 148 ``` 20 149 21 If there are any changes you need to run once after the plugin is updated, add a new function to the `includes/class-eventilla-wp-updater.php` files `$updates` array. Key is the version number and value is the function name to be ran once from the class. 150 22 151 23 152 ## Librariers -
eventilla-events/trunk/README.txt
r3290524 r3292550 6 6 Tested up to: 6.7.1 7 7 Requires PHP: 7.4 8 Stable tag: 2.0. 28 Stable tag: 2.0.0 9 9 License: GPLv2 or later 10 10 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 53 53 == Screenshots == 54 54 55 == Changelog == 55 === Changelog == 56 = 2.0.3 = 57 - Adds support for datafields and datafields_extended. 56 58 = 2.0.2 = 57 59 - Bug fixes 58 60 - Eventilla tags are again saved as custom taxonomy terms 59 61 = 2.0.1 = 60 - Added missing files from previous update 61 = 2.0.0 = 62 - Added missing files from previous update 2.0.0 62 63 - Rewrote API Client for efficiency 63 64 - Fixed images being deleted when event is if they are used elsewhere -
eventilla-events/trunk/admin/settings/class-eventilla-opt-chosen-event-fields.php
r3283302 r3292550 30 30 public function sanitize_field($raw) 31 31 { 32 $allowedEventFields = ["id", "url", "languages", "name", "description", "short_description", "timezone", "starts", "ends", "organization", "organization_id", "location", "logo", "status", "modified", "tickets", "forms", "tags", "datafields", "template", "max_attendees", "registration_open", "tabs"]; 32 $allowedEventFields = [ 33 "id", 34 "url", 35 "languages", 36 "name", "description", 37 "short_description", 38 "timezone", 39 "starts", 40 "ends", 41 "organization", 42 "organization_id", 43 "location", 44 "logo", 45 "status", 46 "modified", 47 "tickets", 48 "forms", 49 "tags", 50 "datafields", 51 "datafields_extended", 52 "template", 53 "max_attendees", 54 "registration_open", 55 "tabs" 56 ]; 33 57 $sanitizedArrayOfFields = []; 34 58 if (!empty($raw)) { -
eventilla-events/trunk/admin/settings/class-eventilla-opt.php
r3283302 r3292550 18 18 { 19 19 \add_settings_field( 20 self::$prefix .$this->get_option_name(),20 $this->get_option_name(), 21 21 $this->description, 22 22 [$this, 'render_field'], … … 30 30 register_setting( 31 31 self::$plugin_name, 32 self::$prefix .$this->get_option_name(),32 $this->get_option_name(), 33 33 [$this, 'sanitize_field'] 34 34 ); -
eventilla-events/trunk/eventilla-wp.php
r3290524 r3292550 16 16 * Plugin URI: https://www.eventilla.com/ 17 17 * Description: Eventilla Events brings your event information from eventilla.com to WordPress as custom posts. 18 * Version: 2.0. 218 * Version: 2.0.3 19 19 * Author: Eventilla 20 20 * Author URI: http://www.eventilla.com … … 36 36 */ 37 37 if(!defined('EVENTILLA_WP_VERSION')) { 38 define('EVENTILLA_WP_VERSION', '2.0. 0');38 define('EVENTILLA_WP_VERSION', '2.0.3'); 39 39 } 40 40 -
eventilla-events/trunk/includes/model/class-eventilla-event.php
r3290524 r3292550 172 172 return $event; 173 173 } 174 174 175 $event->update_wp_post_with_eventilla_data( $body ); 175 176 … … 263 264 } 264 265 266 $this->post = get_post( $post_result ); 267 265 268 $this->logger->debug( 'WordPress post updated', [ 'eventilla_uid' => $this->eventilla_uid, 'post_id' => $post_result ] ); 266 $this->post = get_post( $post_result );267 268 269 269 270 // Finally, set tags as terms in 'eventilla_tag' taxonomy. … … 280 281 * @author Anttoni Niemenmaa / Eventilla <tuki@eventilla.com> 281 282 */ 282 private function save_terms( array $event ): array{283 private function save_terms($event) { 283 284 284 285 $tags = []; 285 286 286 287 if( array_key_exists('tags', $event) ) { 287 288 $tags = json_decode($event['tags']); … … 323 324 */ 324 325 private function get_meta_input( array $event ): array { 326 327 328 $this->logger->debug( 'Getting meta input for event', [ 'eventilla_uid' => $this->eventilla_uid, 'event' => $event ] ); 325 329 326 330 $meta_input = [ … … 350 354 'eventilla_modified' => ((string) $event['modified'])??null, 351 355 'eventilla_tabs' => isset($event['tabs']) ? (string) json_encode($event['tabs']) : null, 356 'eventilla_datafields' => isset($event['datafields']) ? (string) json_encode($event['datafields']) : null, 357 'eventilla_datafields_extended' => isset($event['datafields_extended']) ? (string) json_encode($event['datafields_extended']) : null, 352 358 ]; 353 359 -
eventilla-events/trunk/public/build/index.asset.php
r3283302 r3292550 1 <?php return array('dependencies' => array('react', 'react-jsx-runtime', 'wp-components', 'wp-dom-ready', 'wp-element', 'wp-i18n'), 'version' => ' 92fc6568b9941bc0899f');1 <?php return array('dependencies' => array('react', 'react-jsx-runtime', 'wp-components', 'wp-dom-ready', 'wp-element', 'wp-i18n'), 'version' => 'e35420f1d6d968851b61'); -
eventilla-events/trunk/public/build/index.js
r3283302 r3292550 1 (()=>{"use strict";var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var s in n)e.o(n,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:n[s]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.React,n=window.wp.domReady;var s=e.n(n);const o=window.wp.element,a=window.wp.i18n,l=window.wp.components,i=window.ReactJSXRuntime,d=({label:e,value:n,onChange:s,events:o})=>{const[a,d]=(0,t.useState)(!1),[r,c]=(0,t.useState)(""),h=o.map((e=>({date:new Date(e.start_date)})));return(0,i.jsxs)("div",{style:{width:"180px"},children:[(0,i.jsx)(l.Button,{style:{width:"100%",height:"28px",justifyContent:"center"},variant:"primary",onClick:()=>d(!a),children:n?(e=>{if(!e)return"";const t=new Date(e);return`${t.getDate()}.${t.getMonth()+1}.${t.getFullYear()}`})(n):e}),a&&(0,i.jsx)(l.Popover,{onClose:()=>d(!1),position:"bottom center",children:(0,i.jsx)("div",{style:{padding:"10px"},children:(0,i.jsx)(l.DatePicker,{currentDate:n,startOfWeek:1,label:e,value:n,events:h,onChange:e=>{c(e),d(!1),s(e)}})})})]})},r=({events:e,onCityChange:n,onTagChange:s,onSearchChange:o,onFutureEventsChange:r,onDateFromChange:c,onDateToChange:h,selectedEvents:p,setSelectedEvents:v})=>{const[g,x]=(0,t.useState)(!0),[u,j]=(0,t.useState)([]),[y,C]=(0,t.useState)([]),[_,w]=(0,t.useState)(""),[m,S]=(0,t.useState)(""),[f,b]=(0,t.useState)(""),[E,D]=(0,t.useState)(""),[T,k]=(0,t.useState)("");return(0,t.useEffect)((()=>{fetch("https://wordpress-vanilla.test/wp-json/eventilla/v1/filters",{method:"GET",headers:{"Content-Type":"application/json","X-WP-Nonce":window.wpApiSettings.nonce}}).then((e=>e.json())).then((e=>{j(e.cities),C(e.tags)}))}),[]),(0,i.jsxs)("div",{style:{display:"flex",gap:"30px",alignItems:"end",justifyContent:"start",marginBottom:"10px"},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px",height:"29px",fontSize:"14px",color:"#666"},children:[(0,i.jsx)(l.FormToggle,{checked:g,onChange:()=>{const e=!g;x(e),r(e),e&&(b(""),c(""))}}),(0,i.jsx)("div",{children:(0,a.__)("Event in future","eventilla-tools")})]}),(0,i.jsx)(d,{label:(0,a.__)("Start date from","eventilla-tools"),value:f,onChange:e=>{if(b(e),c(e),e){const t=new Date(e),n=new Date;n.setHours(0,0,0,0),t<n&&g&&(x(!1),r(!1))}},events:e}),(0,i.jsx)(d,{label:(0,a.__)("Start date to","eventilla-tools"),value:E,onChange:e=>{D(e),h(e)},events:e}),(0,i.jsx)("div",{style:{height:"52px",width:"200px"},children:(0,i.jsx)(l.ComboboxControl,{__nextHasNoMarginBottom:!0,label:(0,a.__)("Select city","eventilla-tools"),value:_,onChange:e=>{w(e),n(e)},onFilterValueChange:()=>{},options:u,allowReset:!0})}),(0,i.jsx)("div",{style:{height:"52px",width:"200px"},children:(0,i.jsx)(l.ComboboxControl,{__nextHasNoMarginBottom:!0,label:(0,a.__)("Select tag","eventilla-tools"),className:"eventilla-tools__combobox-control",value:m,onChange:e=>{S(e),s(e)},onFilterValueChange:()=>{},options:y,allowReset:!0})}),(0,i.jsx)("div",{style:{backgroundColor:"white"},children:(0,i.jsx)(l.SearchControl,{__nextHasNoMarginBottom:!0,style:{height:"29px",border:"1px solid #E0E0E0"},label:(0,a.__)("Search events","eventilla-tools"),value:T,onChange:e=>{k(e),o(e)}})})]})},c=({key:e,event:t,selectedEvents:n,setSelectedEvents:s,index:o})=>(0,i.jsxs)("div",{className:"event-item",style:{display:"grid",gridTemplateColumns:"3fr 1fr 1fr 1fr 1fr",alignItems:"center",gap:"10px",padding:"10px 10px 20px 10px",borderBottom:"1px solid #d9dadc",backgroundColor:o%2==1?"transparent":"#f6f7f7"},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"top",gap:"10px",fontWeight:"bold"},children:[(0,i.jsx)(l.CheckboxControl,{checked:n.includes(t),onChange:()=>s([...n,t])}),(0,i.jsx)("a",{style:{textDecoration:"none"},href:`/wp-admin/post.php?post=${t.id}&action=edit`,children:t.title})]}),(0,i.jsx)("div",{children:new Date(t.start_date).toLocaleDateString()}),(0,i.jsx)("div",{children:new Date(t.end_date).toLocaleDateString()}),(0,i.jsx)("div",{children:t.city}),(0,i.jsx)("div",{children:(()=>{try{return JSON.parse(t.tags).join(", ")}catch{return t.tags}})()})]}),h=({events:e,selectedEvents:t,setSelectedEvents:n})=>(0,i.jsxs)("div",{style:{backgroundColor:"white",border:"1px solid #d9dadc"},children:[(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"3fr 1fr 1fr 1fr 1fr",alignItems:"center",gap:"10px",padding:"10px",borderBottom:"1px solid #d9dadc"},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[(0,i.jsx)(l.CheckboxControl,{__nextHasNoMarginBottom:!0,checked:t.length===e.length,onChange:t=>{n(t?[...e]:[])}}),(0,a.__)("Title","eventilla-tools")]}),(0,i.jsx)("div",{children:(0,a.__)("Start Date","eventilla-tools")}),(0,i.jsx)("div",{children:(0,a.__)("End Date","eventilla-tools")}),(0,i.jsx)("div",{children:(0,a.__)("City","eventilla-tools")}),(0,i.jsx)("div",{children:(0,a.__)("Tags","eventilla-tools")})]}),e.map(((e,s)=>(0,i.jsx)(c,{event:e,selectedEvents:t,setSelectedEvents:n,index:s},e.id)))]}),p=()=>{const[e,n]=(0,t.useState)([]),[s,o]=(0,t.useState)(""),[d,c]=(0,t.useState)(""),[p,v]=(0,t.useState)(""),[g,x]=(0,t.useState)(!0),[u,j]=(0,t.useState)(""),[y,C]=(0,t.useState)(""),[_,w]=(0,t.useState)([]),[m,S]=(0,t.useState)(!1);return(0,t.useEffect)((()=>{((e,t,s,o=!0,a,l)=>{const i={args:{post_type:"eventilla_event",...e?{city:e}:{},...t?{tag:t}:{},...s?{search:s}:{},future_events:o,...a?{date_from:a}:{},...l?{date_to:l}:{}}};fetch("/wp-json/eventilla/v1/events",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":window.wpApiSettings.nonce},body:JSON.stringify(i)}).then((e=>e.json())).then((e=>{n(e)}))})(s,d,p,g,u,y)}),[s,d,p,g,u,y]),(0,i.jsx)("div",{style:{width:"100%",minHeight:"100vh"},children:(0,i.jsxs)("div",{style:{padding:"20px"},children:[(0,i.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,i.jsx)("h1",{children:(0,a.__)("Eventilla Tools","eventilla-tools")}),(0,i.jsx)(l.Button,{isSecondary:!0,onClick:()=>{S(!0),fetch("/wp-json/eventilla/v1/events/update",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":window.wpApiSettings.nonce},body:JSON.stringify({events:_})}).then((e=>e.json())).then((e=>{S(!1),alert((0,a.__)("Events have been queued for update.","eventilla-tools")),window.location.reload(),S(!1)})).catch((e=>{console.error(e),S(!1)}))},disabled:m,children:m?(0,a.__)("Updating...","eventilla-tools"):(0,a.__)("Update Events","eventilla-tools")})]}),(0,i.jsxs)("div",{style:{marginTop:"20px"},children:[(0,i.jsx)(r,{events:e,onCityChange:e=>{o(e)},onTagChange:e=>{c(e)},onSearchChange:e=>{v(e)},onFutureEventsChange:e=>{x(e)},onDateFromChange:e=>{j(e)},onDateToChange:e=>{C(e)}}),(0,i.jsx)(h,{events:e,selectedEvents:_,setSelectedEvents:w})]})]})})};s()((()=>{const e=document.getElementById("eventilla-tools");console.log(e),e&&(0,o.createRoot)(e).render((0,i.jsx)(p,{}))}))})();1 (()=>{"use strict";var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.React,n=window.wp.domReady;var o=e.n(n);const s=window.wp.element,a=window.wp.i18n,l=window.wp.components,i=window.ReactJSXRuntime,d=({label:e,value:n,onChange:o,events:s})=>{const[a,d]=(0,t.useState)(!1),[r,c]=(0,t.useState)(""),h=s.map((e=>({date:new Date(e.start_date)})));return(0,i.jsxs)("div",{style:{width:"180px"},children:[(0,i.jsx)(l.Button,{style:{width:"100%",height:"28px",justifyContent:"center"},variant:"primary",onClick:()=>d(!a),children:n?(e=>{if(!e)return"";const t=new Date(e);return`${t.getDate()}.${t.getMonth()+1}.${t.getFullYear()}`})(n):e}),a&&(0,i.jsx)(l.Popover,{onClose:()=>d(!1),position:"bottom center",children:(0,i.jsx)("div",{style:{padding:"10px"},children:(0,i.jsx)(l.DatePicker,{currentDate:n,startOfWeek:1,label:e,value:n,events:h,onChange:e=>{c(e),d(!1),o(e)}})})})]})},r=({events:e,onCityChange:n,onTagChange:o,onSearchChange:s,onFutureEventsChange:r,onDateFromChange:c,onDateToChange:h,selectedEvents:p,setSelectedEvents:v})=>{const[g,x]=(0,t.useState)(!0),[u,j]=(0,t.useState)([]),[y,C]=(0,t.useState)([]),[_,w]=(0,t.useState)(""),[m,S]=(0,t.useState)(""),[f,b]=(0,t.useState)(""),[E,D]=(0,t.useState)(""),[T,k]=(0,t.useState)("");return(0,t.useEffect)((()=>{fetch("/wp-json/eventilla/v1/filters",{method:"GET",headers:{"Content-Type":"application/json","X-WP-Nonce":window.wpApiSettings.nonce}}).then((e=>e.json())).then((e=>{j(e.cities),C(e.tags)}))}),[]),(0,i.jsxs)("div",{style:{display:"flex",gap:"30px",alignItems:"end",justifyContent:"start",marginBottom:"10px"},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px",height:"29px",fontSize:"14px",color:"#666"},children:[(0,i.jsx)(l.FormToggle,{checked:g,onChange:()=>{const e=!g;x(e),r(e),e&&(b(""),c(""))}}),(0,i.jsx)("div",{children:(0,a.__)("Event in future","eventilla-tools")})]}),(0,i.jsx)(d,{label:(0,a.__)("Start date from","eventilla-tools"),value:f,onChange:e=>{if(b(e),c(e),e){const t=new Date(e),n=new Date;n.setHours(0,0,0,0),t<n&&g&&(x(!1),r(!1))}},events:e}),(0,i.jsx)(d,{label:(0,a.__)("Start date to","eventilla-tools"),value:E,onChange:e=>{D(e),h(e)},events:e}),(0,i.jsx)("div",{style:{height:"52px",width:"200px"},children:(0,i.jsx)(l.ComboboxControl,{__nextHasNoMarginBottom:!0,label:(0,a.__)("Select city","eventilla-tools"),value:_,onChange:e=>{w(e),n(e)},onFilterValueChange:()=>{},options:u,allowReset:!0})}),(0,i.jsx)("div",{style:{height:"52px",width:"200px"},children:(0,i.jsx)(l.ComboboxControl,{__nextHasNoMarginBottom:!0,label:(0,a.__)("Select tag","eventilla-tools"),className:"eventilla-tools__combobox-control",value:m,onChange:e=>{S(e),o(e)},onFilterValueChange:()=>{},options:y,allowReset:!0})}),(0,i.jsx)("div",{style:{backgroundColor:"white"},children:(0,i.jsx)(l.SearchControl,{__nextHasNoMarginBottom:!0,style:{height:"29px",border:"1px solid #E0E0E0"},label:(0,a.__)("Search events","eventilla-tools"),value:T,onChange:e=>{k(e),s(e)}})})]})},c=({key:e,event:t,selectedEvents:n,setSelectedEvents:o,index:s})=>(0,i.jsxs)("div",{className:"event-item",style:{display:"grid",gridTemplateColumns:"3fr 1fr 1fr 1fr 1fr",alignItems:"center",gap:"10px",padding:"10px 10px 20px 10px",borderBottom:"1px solid #d9dadc",backgroundColor:s%2==1?"transparent":"#f6f7f7"},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"top",gap:"10px",fontWeight:"bold"},children:[(0,i.jsx)(l.CheckboxControl,{checked:n.includes(t),onChange:()=>o([...n,t])}),(0,i.jsx)("a",{style:{textDecoration:"none"},href:`/wp-admin/post.php?post=${t.id}&action=edit`,children:t.title})]}),(0,i.jsx)("div",{children:new Date(t.start_date).toLocaleDateString()}),(0,i.jsx)("div",{children:new Date(t.end_date).toLocaleDateString()}),(0,i.jsx)("div",{children:t.city}),(0,i.jsx)("div",{children:(()=>{try{return JSON.parse(t.tags).join(", ")}catch{return t.tags}})()})]}),h=({events:e,selectedEvents:t,setSelectedEvents:n})=>(0,i.jsxs)("div",{style:{backgroundColor:"white",border:"1px solid #d9dadc"},children:[(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"3fr 1fr 1fr 1fr 1fr",alignItems:"center",gap:"10px",padding:"10px",borderBottom:"1px solid #d9dadc"},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[(0,i.jsx)(l.CheckboxControl,{__nextHasNoMarginBottom:!0,checked:t.length===e.length,onChange:t=>{n(t?[...e]:[])}}),(0,a.__)("Title","eventilla-tools")]}),(0,i.jsx)("div",{children:(0,a.__)("Start Date","eventilla-tools")}),(0,i.jsx)("div",{children:(0,a.__)("End Date","eventilla-tools")}),(0,i.jsx)("div",{children:(0,a.__)("City","eventilla-tools")}),(0,i.jsx)("div",{children:(0,a.__)("Tags","eventilla-tools")})]}),e.map(((e,o)=>(0,i.jsx)(c,{event:e,selectedEvents:t,setSelectedEvents:n,index:o},e.id)))]}),p=()=>{const[e,n]=(0,t.useState)([]),[o,s]=(0,t.useState)(""),[d,c]=(0,t.useState)(""),[p,v]=(0,t.useState)(""),[g,x]=(0,t.useState)(!0),[u,j]=(0,t.useState)(""),[y,C]=(0,t.useState)(""),[_,w]=(0,t.useState)([]),[m,S]=(0,t.useState)(!1);return(0,t.useEffect)((()=>{((e,t,o,s=!0,a,l)=>{const i={args:{post_type:"eventilla_event",...e?{city:e}:{},...t?{tag:t}:{},...o?{search:o}:{},future_events:s,...a?{date_from:a}:{},...l?{date_to:l}:{}}};fetch("/wp-json/eventilla/v1/events",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":window.wpApiSettings.nonce},body:JSON.stringify(i)}).then((e=>e.json())).then((e=>{n(e)}))})(o,d,p,g,u,y)}),[o,d,p,g,u,y]),(0,i.jsx)("div",{style:{width:"100%",minHeight:"100vh"},children:(0,i.jsxs)("div",{style:{padding:"20px"},children:[(0,i.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,i.jsx)("h1",{children:(0,a.__)("Eventilla Tools","eventilla-tools")}),(0,i.jsx)(l.Button,{isSecondary:!0,onClick:()=>{S(!0),fetch("/wp-json/eventilla/v1/events/update",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":window.wpApiSettings.nonce},body:JSON.stringify({events:_})}).then((e=>e.json())).then((e=>{S(!1),alert((0,a.__)("Events have been queued for update.","eventilla-tools")),window.location.reload(),S(!1)})).catch((e=>{console.error(e),S(!1)}))},disabled:m,children:m?(0,a.__)("Updating...","eventilla-tools"):(0,a.__)("Update Events","eventilla-tools")})]}),(0,i.jsxs)("div",{style:{marginTop:"20px"},children:[(0,i.jsx)(r,{events:e,onCityChange:e=>{s(e)},onTagChange:e=>{c(e)},onSearchChange:e=>{v(e)},onFutureEventsChange:e=>{x(e)},onDateFromChange:e=>{j(e)},onDateToChange:e=>{C(e)}}),(0,i.jsx)(h,{events:e,selectedEvents:_,setSelectedEvents:w})]})]})})};o()((()=>{const e=document.getElementById("eventilla-tools");console.log(e),e&&(0,s.createRoot)(e).render((0,i.jsx)(p,{}))}))})(); -
eventilla-events/trunk/src/components/ToolsPageFilters.tsx
r3283302 r3292550 40 40 41 41 useEffect( () => { 42 fetch( ' https://wordpress-vanilla.test/wp-json/eventilla/v1/filters', {42 fetch( '/wp-json/eventilla/v1/filters', { 43 43 method: 'GET', 44 44 headers: {
Note: See TracChangeset
for help on using the changeset viewer.