CVE-2022-44136
Description
Zenario CMS 9.3.57186 is vulnerable to Remote Code Excution (RCE).
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Zenario CMS 9.3.57186 allows unauthenticated remote code execution via file uploads in the User Form module.
Vulnerability
Overview
CVE-2022-44136 is a critical remote code execution (RCE) vulnerability in Zenario CMS version 9.3.57186. The root cause lies in the User Form module, which permits file uploads without sufficient validation. An attacker can upload a malicious file that is subsequently executed by the server, leading to arbitrary code execution [1][4].
Exploitation
To exploit this vulnerability, an attacker needs access to a user form—such as a contact form—that has file uploads enabled. No authentication is required if the form is publicly accessible. By crafting a specially uploaded file (e.g., a PHP web shell), the attacker can achieve remote code execution on the underlying web server [1][4].
Impact
Successful exploitation grants the attacker the ability to execute arbitrary PHP code on the server, potentially leading to full compromise of the CMS installation, data exfiltration, or further lateral movement within the network. The vulnerability is considered critical due to its low complexity and the potential for unauthenticated exploitation [1][4].
Mitigation
The vendor released a critical security patch in commit 4f95a55, which addresses the RCE issue by hardening file upload handling in the User Form module. All users are strongly advised to update their Zenario installation to the latest patched version immediately. The same update also fixes minor XSS and information disclosure issues in the admin interface [1][4].
AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
tribalsystems/zenarioPackagist | < 9.0.57473 | 9.0.57473 |
Affected products
2- Zenario CMS/Zenario CMSdescription
Patches
14f95a557af3cCritical security patch for any sites using a User Form with file uploads enabled
300 files changed · +376 −1764
license.txt+1 −1 modified@@ -1,4 +1,4 @@ -Copyright (c) 2021, Tribal Limited +Copyright (c) 2022, Tribal Limited All rights reserved. Redistribution and use in source and binary forms, with or without
package.json+3 −4 modified@@ -9,7 +9,7 @@ "wysiwyg", "zenario" ], - "homepage": "https:\/\/github.com\/TribalSystems\/Zenario", + "homepage": "https://github.com/TribalSystems/Zenario", "license": "BSD-3-Clause", "dependencies": { "bez": "*", @@ -24,6 +24,5 @@ "underscore.string": "*", "vimeo-upload": "*", "wowjs": "*" - }, - "version": "9.0.55141" -} \ No newline at end of file + } +}
robots.txt+5 −11 modified@@ -1,16 +1,10 @@ User-agent: * +Disallow: /admin/ +Disallow: /admin.php* Disallow: /cache/ Disallow: /private/ -Disallow: /zenario/admin/ -Disallow: /zenario/api/ -Disallow: /zenario/frameworks/ -Disallow: /zenario/includes/ -Disallow: /zenario_custom/frameworks/ -Disallow: /zenario/cookie_message.php -Disallow: /index.php?* -Disallow: /print.php?* -Disallow: /exit.php?* +Disallow: /zenario/ +Disallow: /zenario_custom/ +Disallow: /zenario_extra_modules/ Disallow: /*?slotName* Disallow: /*?tag* -Disallow: /tribiq/ -Disallow: /styles
zenario/admin/admin_boxes.ajax.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/admin_toolbar.ajax.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/db_install/local-CREATE.sql+1 −1 modified@@ -1150,7 +1150,7 @@ CREATE TABLE `[[DB_PREFIX]]smart_groups` ( DROP TABLE IF EXISTS `[[DB_PREFIX]]spare_aliases`; CREATE TABLE `[[DB_PREFIX]]spare_aliases` ( - `alias` varchar(255) CHARACTER SET utf8mb4 NOT NULL, + `alias` varchar(250) CHARACTER SET utf8mb4 NOT NULL, `target_loc` enum('int','ext') NOT NULL DEFAULT 'int', `content_id` int(10) unsigned NOT NULL, `content_type` varchar(20) CHARACTER SET ascii NOT NULL DEFAULT '',
zenario/admin/db_updates/latest_revision_no.inc.php+3 −3 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -37,7 +37,7 @@ define('ZENARIO_VERSION', '9.0'); define('ZENARIO_MAJOR_VERSION', '9'); define('ZENARIO_MINOR_VERSION', '0'); -define('ZENARIO_IS_BUILD', true); -define('ZENARIO_REVISION', '55141'); +define('ZENARIO_IS_BUILD', false); +define('ZENARIO_REVISION', '/* Revision number will be placed here by Build */'); define('TINYMCE_DIR', 'zenario/libs/manually_maintained/lgpl/tinymce_4_7_3/'); \ No newline at end of file
zenario/admin/db_updates/step_1_update_the_updater_itself/data_archive.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/db_updates/step_1_update_the_updater_itself/updater_tables.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/db_updates/step_2_update_the_database_schema/admin_tables.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/db_updates/step_2_update_the_database_schema/content_tables.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/db_updates/step_2_update_the_database_schema/user_tables.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/db_updates/step_3_populate_certain_tables/document_types.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/db_updates/step_3_populate_certain_tables/language_names.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/db_updates/step_3_populate_certain_tables/page_preview_sizes.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/db_updates/step_4_migrate_the_data/admin_tables.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/db_updates/step_4_migrate_the_data/content_tables.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/db_updates/step_4_migrate_the_data/external_programs.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/db_updates/step_4_migrate_the_data/plugins.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/db_updates/step_4_migrate_the_data/user_tables.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/dev_tools/doc_tools.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/adminheader.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/layout_preview.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/organizer.ajax.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/quick_ajax.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/welcome.ajax.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/admin/welcome.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/ajax.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/adminAdm.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/admin.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/cache.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/categoryAdm.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/category.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/contentAdm.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/content.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/cookie.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/curl.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/datasetAdm.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/dataset.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/date.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/dbAdm.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/db.php+33 −11 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -128,7 +128,9 @@ public function __construct($f) { //Wrapper class for a SQL query -class queryCursor implements \Iterator { + //Note: I'm declaring this as an abstract class. I don't actually an an stract class, but this is going + //to be used as a workaround to fix a particually stupid bug in PHP further below! +abstract class abstractQueryCursor implements \Iterator { public $q; protected $d = []; protected $dc = 0; @@ -284,24 +286,44 @@ public function close() { protected $i = 0; protected $nr; - public function rewind() { + public function rewind(): void { } - public function next() { + public function next(): void { } - public function valid() { + public function valid(): bool { ++$this->i; return false !== ($this->nr = $this->fAssoc()); } - public function key() { - return $this->i; - } +} + +//OK so here's the particually stupid bug in PHP. +//Due to a breaking change, code written for PHP 7 and earlier isn't compatible +//with code written for PHP 8.1 and later. +//I'm forced to have a class declaration inside an if-statement, and have both versions +//of the code, to fix it! +if (version_compare(PHP_VERSION, '8.0.0') >= 0) { + class queryCursor extends abstractQueryCursor { + public function key(): mixed { + return $this->i; + } - public function current() { - return $this->nr; - } + public function current(): mixed { + return $this->nr; + } + } +} else { + class queryCursor extends abstractQueryCursor { + public function key() { + return $this->i; + } + + public function current() { + return $this->nr; + } + } }
zenario/autoload/deprecated.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/document.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/error.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/escape.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fileAdm.php+2 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -441,6 +441,7 @@ public static function getImageUsage($imageId) { AND in_use = 1 AND archived = 0 AND foreign_key_to IN ('content', 'library_plugin', 'menu_node', 'email_template', 'newsletter', 'newsletter_template') + AND foreign_key_id != 0 GROUP BY foreign_key_to, is_nest, is_slideshow ") as $ucat) { $keyTo = $ucat['foreign_key_to'];
zenario/autoload/file.php+2 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -602,6 +602,7 @@ public static function isExecutable($extension) { case 'exe': case 'js': case 'jsp': + case 'phar': case 'php': case 'php3': case 'ph3':
zenario/autoload/fun/addNeededSpecialPages.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/cache.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/checkPassword.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/checkSlotsWereUsed.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/cleanDirs.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/clearCache.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/createBackupScript.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/createDraft.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/getAdminPhraseCode.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/getSmartGroupDescription.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/importVisitorLanguagePack.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/modulesAndTUIXFiles.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/modules.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/pageBodyAdminClass.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/pageBodyAdminToolbar.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/pageBody.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/pageFootInAdminMode.php+13 −6 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -117,11 +117,18 @@ $adminSettings = []; if (!empty(\ze::$adminSettings)) { foreach (\ze::$adminSettings as $setting => &$value) { - if ($value - && (/*$setting == '...' - || $setting == '...' - || */is_numeric($value))) { - $adminSettings[$setting] = \ze::$adminSettings[$setting]; + + //Don't shown the COOKIE settings on the client + if (!$setting + || substr($setting, 0, 7) == 'COOKIE_') { + continue; + } + + //Catch the case where a 0 or a 1 has been saved as a string + if (is_numeric($value)) { + $adminSettings[$setting] = $value + 0; + } else { + $adminSettings[$setting] = $value; } } }
zenario/autoload/fun/pageFoot.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/pageHead.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/processRules.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/redirectToPage.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/rerenderWorkingCopyImages.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/restoreFromBackup.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/setSession.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/setupSlotControls.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/showConsentBox.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/showHideImageOptions.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/showStartSitePageIfNeeded.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/sql.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/startIncludeAdminControls.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/syncInlineFileContentLink.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/syncInlineFileLinks.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/syncSuperAdmin.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/fun/zAPIFrameworkField.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/gridAdm.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/lang.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/layoutAdm.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/link.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/menuAdm.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/menu.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/miscAdm.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/moduleAdm.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/moduleBaseClass.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/module.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/pageCache.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/phiParser.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/phi.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/phraseAdm.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/pluginAdm.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/plugin.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/priv.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/ray.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/ring.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/row/da.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/row/g.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/row.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/server.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/site.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/skinAdm.php+13 −2 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -270,8 +270,19 @@ public static function checkForChangesInFiles($runInProductionMode = false, $for //Check to see if there are any .css, .js, .html, .php or .yaml files that have changed on the system $useFallback = true; + + //Catch the case where a skin's directory has been completely deleted + //(This wouldn't be picked up by the modification date below.) + foreach (\ze\row::getAssocs('skins', ['name', 'missing'], []) as $skin) { + if (((bool) $skin['missing']) != !((bool) is_dir(CMS_ROOT. 'zenario_custom/skins/'. $skin['name']))) { + $changed = true; + $skinChanges = true; + $useFallback = false; + break; + } + } - if (defined('PHP_OS') && \ze\server::execEnabled()) { + if ($useFallback && defined('PHP_OS') && \ze\server::execEnabled()) { //Make sure we are in the CMS root directory. chdir(CMS_ROOT);
zenario/autoload/smartGroup.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/sql/da.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/sql/g.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/sql.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/tuix.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/twig.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/userAdm.php+7 −7 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -74,16 +74,16 @@ public static function generateIdentifier($userId, $details = []) { if ($firstName) { if ($lastName) { $baseIdentifier = - substr($firstName, 0, (int) \ze::setting('user_chars_from_first_name') ?: 99). - substr($lastName, 0, (int) \ze::setting('user_chars_from_last_name') ?: 99); + mb_substr($firstName, 0, (int) \ze::setting('user_chars_from_first_name') ?: 99). + mb_substr($lastName, 0, (int) \ze::setting('user_chars_from_last_name') ?: 99); } else { $baseIdentifier = - substr($firstName, 0, (int) \ze::setting('user_chars_from_name') ?: 99); + mb_substr($firstName, 0, (int) \ze::setting('user_chars_from_name') ?: 99); } } else { if ($lastName) { $baseIdentifier = - substr($lastName, 0, (int) \ze::setting('user_chars_from_name') ?: 99); + mb_substr($lastName, 0, (int) \ze::setting('user_chars_from_name') ?: 99); } else { $baseIdentifier = 'User'; } @@ -119,7 +119,7 @@ public static function generateIdentifier($userId, $details = []) { $userId = (string)$userId; for ($i = 1; $i <= strlen($userId); $i++) { $userNumber = substr($userId, -($i)); - $baseIdentifier = substr($baseIdentifier, 0, (50 - ($i + 1))); + $baseIdentifier = mb_substr($baseIdentifier, 0, (50 - ($i + 1))); $uniqueIdentifier = $baseIdentifier . '-' . $userNumber; if (!isset($identifiers[strtoupper($uniqueIdentifier)])) { return $uniqueIdentifier; @@ -138,7 +138,7 @@ public static function generateIdentifier($userId, $details = []) { $userId = (string)$userId; for ($i = 1; $i <= strlen($userId); $i++) { $userNumber = substr($userId, -($i)); - $baseIdentifier = substr($baseIdentifier, 0, (50 - ($i + 1))); + $baseIdentifier = mb_substr($baseIdentifier, 0, (50 - ($i + 1))); $uniqueIdentifier = $baseIdentifier . '-' . $userNumber; if (!\ze\row::exists('users', ['identifier' => $uniqueIdentifier, 'id' => ['!' => $userId]])) { return $uniqueIdentifier;
zenario/autoload/user.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/autoload/welcome.php+9 −4 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -2911,7 +2911,7 @@ public static function diagnosticsAJAX(&$source, &$tags, &$fields, &$values, $ch $fields['0/public_documents']['hidden'] = true; } - $mrg = \ze\file::checkAllImagePublicLinks($check = false); + $mrg = \ze\file::checkAllImagePublicLinks($check = true); if ($mrg && $mrg['numMissing']) { $show_warning = true; $mrg['manageImagesLink'] = htmlspecialchars('zenario/admin/organizer.php#zenario__content/panels/image_library'); @@ -3600,8 +3600,13 @@ public static function diagnosticsAJAX(&$source, &$tags, &$fields, &$values, $ch $specialPageUnpublishedMessage = (\ze\content::isSpecialPage($row['id'], $row['type'])) ? \ze\admin::phrase('<br />This page is a special page and it should be published.') : ""; $fields['0/content_unpublished']['hidden'] = false; $fields['0/content_unpublished']['row_class'] = 'content_unpublished_wrap'; //Don't display warning triangle icons for unpublished items anymore. Deleting this line will show a green tick icon. - $fields['0/content_unpublished']['snippet']['html'] .='<div id="row__content_unpublished_'. $i.'" style="" class=" zenario_ab_row__content_unpublished_'. $i.' zenario_row_for_snippet ">'. - \ze\admin::phrase('<a target="blank" href="[[link]]"><span class="[[class]]"></span>[[tag]]</a> is in draft mode. ', $row) . $specialPageUnpublishedMessage.'<br/>'.$item['unpublished_content_info'].'</div>'; + $fields['0/content_unpublished']['snippet']['html'] .= + '<div id="row__content_unpublished_'. $i.'" style="" class=" zenario_ab_row__content_unpublished_'. $i.' zenario_row_for_snippet ">'. + \ze\admin::phrase('<a target="blank" href="[[link]]"><span class="[[class]]"></span>[[tag]]</a> is in draft mode. ', $row). + $specialPageUnpublishedMessage. + '<br/>'. + htmlspecialchars($item['unpublished_content_info']). + '</div>'; } }
zenario/autoload/wrapper.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/basicheader.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/cookie_message.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/cookies.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/editions.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/file.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/has_database_changed_and_is_cache_out_of_date.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/includes/ajax.post_display.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/includes/ajax.pre_load.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/includes/index.post_display.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/includes/index.pre_load.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/includes/js_minify.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/includes/test_files/default_robots.txt+5 −11 modified@@ -1,16 +1,10 @@ User-agent: * +Disallow: /admin/ +Disallow: /admin.php* Disallow: /cache/ Disallow: /private/ -Disallow: /zenario/admin/ -Disallow: /zenario/api/ -Disallow: /zenario/frameworks/ -Disallow: /zenario/includes/ -Disallow: /zenario_custom/frameworks/ -Disallow: /zenario/cookie_message.php -Disallow: /index.php?* -Disallow: /print.php?* -Disallow: /exit.php?* +Disallow: /zenario/ +Disallow: /zenario_custom/ +Disallow: /zenario_extra_modules/ Disallow: /*?slotName* Disallow: /*?tag* -Disallow: /tribiq/ -Disallow: /styles
zenario/includes/twig.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/includes/wrapper.post_display.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/includes/wrapper.pre_load.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/index.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/ace.wrapper.js.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/admin_box.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/admin_box_toolkit.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/admin_form.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/admin_grid_maker.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/admin.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/admin_layout_preview.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/admin.microtemplates_and_phrases.js.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/admin_organizer.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/admin_skin_editor.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/admin_toolbar.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/admin_welcome.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/admin.wrapper.js.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/base_definitions.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/body.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/dev_tools.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/form.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/grid.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/highcharts.wrapper.js.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/ie.wrapper.js.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/js_minify.shell.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/organizer.wrapper.js.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_admin_box_builder.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_form_builder_base_class.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_form_builder.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_google_map.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_google_map_or_list.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_grid.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_hierarchy_documents.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_hierarchy.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_hierarchy_with_lazy_load.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_list.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_list_or_grid.js+3 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -185,6 +185,8 @@ methods.showPanel = function($header, $panel, $footer) { }; methods.changeViewMode = function(view) { + + var selectedItems; if (thus.view == 'C' && thus.pic) { selectedItems = thus.pic.returnSelectedItems();
zenario/js/panel_type_list_or_grid.min.js+7 −7 modified@@ -1,7 +1,7 @@ -'use strict';zenario.lib(function(d,x,y,z,A,B,m,q,C,D,E,r,F,G,H,I,J,K,L,M,t,u,l){d=t(l.grid_or_list=function(){});d.init=function(){var a=this,c;var g=a.returnPanelTypeA();var b=a.returnPanelTypeB(),n=a.returnPanelTypeC(),h=a.pia=new g,k=a.pib=new b,e=a.pic=n&&new n;b={};for(c in h)b[c]=typeof h[c];for(c in k)b[c]=typeof k[c];if(e)for(c in e)b[c]=typeof e[c];a.view=m._sGI(!0,"view_for_"+a.path)||a.returnDefaultView();for(c in b)u(b,c)&&(g=b[c],function(f,v){var p;switch(f){case "init":case "constructor":break; -default:switch(v){case "function":(p=a[f])?a[f]=function(){var w="C"==a.view&&e?e[f].apply(e,arguments):"B"==a.view?k[f].apply(k,arguments):h[f].apply(h,arguments);p.apply(a,arguments);return w}:f.m(/^cmsSets/)?a[f]=function(){k[f].apply(k,arguments);h[f].apply(h,arguments);e&&e[f].apply(e,arguments)}:a[f]=function(){return"C"==a.view&&e?e[f].apply(e,arguments):"B"==a.view?k[f].apply(k,arguments):h[f].apply(h,arguments)}}}}(c,g));a.pia.cmsSetsPath(a.path);a.pib.cmsSetsPath(a.path);e&&a.pic.cmsSetsPath(a.path); -a.pia.cmsSetsRefiner(a.refiner);a.pib.cmsSetsRefiner(a.refiner);e&&a.pic.cmsSetsRefiner(a.refiner);a.pia.init();a.pib.init();e&&a.pic.init()};d.cmsSetsPath=function(a){this.path=a};d.cmsSetsRefiner=function(a){this.refiner=a};d.showPanel=function(a,c,g){this.setSwitchButton(a,c,g)};d.changeViewMode=function(a){selectedItems="C"==this.view&&this.pic?this.pic.returnSelectedItems():"B"==this.view?this.pib.returnSelectedItems():this.pia.returnSelectedItems();m._sSI(!0,"view_for_"+this.path,this.view= -a);"C"==this.view&&this.pic?this.pic.cmsSetsSelectedItems(selectedItems):"B"==this.view?this.pib.cmsSetsSelectedItems(selectedItems):this.pia.cmsSetsSelectedItems(selectedItems);r._r()};d.setSwitchButton=function(a,c,g){var b=this;a=a.find("#organizer_switch_view_wrap");c=b.pic;g={buttons:[]};g.buttons.push({id:"zenario_organizer_switch_view_a",css_class:b.returnSwitchButtonCSSClassA(),tooltip:b.returnSwitchButtonTooltipA()});g.buttons.push({id:"zenario_organizer_switch_view_b",css_class:b.returnSwitchButtonCSSClassB(), -tooltip:b.returnSwitchButtonTooltipB()});c&&g.buttons.push({id:"zenario_organizer_switch_view_c",css_class:b.returnSwitchButtonCSSClassC(),tooltip:b.returnSwitchButtonTooltipC()});"C"==b.view&&b.pic?g.buttons[2].selected=!0:"B"==b.view?g.buttons[1].selected=!0:g.buttons[0].selected=!0;a.show().html(b.microTemplate("zenario_organizer_switch_view_wrap",g));q._to(a);a.find("#zenario_organizer_switch_view_a").click(function(){b.changeViewMode("A")});a.find("#zenario_organizer_switch_view_b").click(function(){b.changeViewMode("B")}); -c&&a.find("#zenario_organizer_switch_view_c").click(function(){b.changeViewMode("C")})};d.returnPanelTypeA=function(){return l.list};d.returnPanelTypeB=function(){return l.grid};d.returnPanelTypeC=function(){return!1};d.returnSwitchButtonCSSClassA=function(){return"organizer_switch_to_list_view"};d.returnSwitchButtonCSSClassB=function(){return"organizer_switch_to_grid_view"};d.returnSwitchButtonCSSClassC=function(){return""};d.returnSwitchButtonTooltipA=function(){return"List view"};d.returnSwitchButtonTooltipB= -function(){return"Grid view"};d.returnSwitchButtonTooltipC=function(){return""};d.returnDefaultView=function(){return"A"}},zenarioO.panelTypes); +'use strict';zenario.lib(function(d,x,y,z,A,B,m,q,C,D,E,r,F,G,H,I,J,K,L,M,t,u,l){d=t(l.grid_or_list=function(){});d.init=function(){var a=this,b;var g=a.returnPanelTypeA();var c=a.returnPanelTypeB(),n=a.returnPanelTypeC(),h=a.pia=new g,k=a.pib=new c,e=a.pic=n&&new n;c={};for(b in h)c[b]=typeof h[b];for(b in k)c[b]=typeof k[b];if(e)for(b in e)c[b]=typeof e[b];a.view=m._sGI(!0,"view_for_"+a.path)||a.returnDefaultView();for(b in c)u(c,b)&&(g=c[b],function(f,v){var p;switch(f){case "init":case "constructor":break; +default:switch(v){case "function":(p=a[f])?a[f]=function(){var w="C"==a.view&&e?e[f].apply(e,arguments):"B"==a.view?k[f].apply(k,arguments):h[f].apply(h,arguments);p.apply(a,arguments);return w}:f.m(/^cmsSets/)?a[f]=function(){k[f].apply(k,arguments);h[f].apply(h,arguments);e&&e[f].apply(e,arguments)}:a[f]=function(){return"C"==a.view&&e?e[f].apply(e,arguments):"B"==a.view?k[f].apply(k,arguments):h[f].apply(h,arguments)}}}}(b,g));a.pia.cmsSetsPath(a.path);a.pib.cmsSetsPath(a.path);e&&a.pic.cmsSetsPath(a.path); +a.pia.cmsSetsRefiner(a.refiner);a.pib.cmsSetsRefiner(a.refiner);e&&a.pic.cmsSetsRefiner(a.refiner);a.pia.init();a.pib.init();e&&a.pic.init()};d.cmsSetsPath=function(a){this.path=a};d.cmsSetsRefiner=function(a){this.refiner=a};d.showPanel=function(a,b,g){this.setSwitchButton(a,b,g)};d.changeViewMode=function(a){var b="C"==this.view&&this.pic?this.pic.returnSelectedItems():"B"==this.view?this.pib.returnSelectedItems():this.pia.returnSelectedItems();m._sSI(!0,"view_for_"+this.path,this.view=a);"C"== +this.view&&this.pic?this.pic.cmsSetsSelectedItems(b):"B"==this.view?this.pib.cmsSetsSelectedItems(b):this.pia.cmsSetsSelectedItems(b);r._r()};d.setSwitchButton=function(a,b,g){var c=this;a=a.find("#organizer_switch_view_wrap");b=c.pic;g={buttons:[]};g.buttons.push({id:"zenario_organizer_switch_view_a",css_class:c.returnSwitchButtonCSSClassA(),tooltip:c.returnSwitchButtonTooltipA()});g.buttons.push({id:"zenario_organizer_switch_view_b",css_class:c.returnSwitchButtonCSSClassB(),tooltip:c.returnSwitchButtonTooltipB()}); +b&&g.buttons.push({id:"zenario_organizer_switch_view_c",css_class:c.returnSwitchButtonCSSClassC(),tooltip:c.returnSwitchButtonTooltipC()});"C"==c.view&&c.pic?g.buttons[2].selected=!0:"B"==c.view?g.buttons[1].selected=!0:g.buttons[0].selected=!0;a.show().html(c.microTemplate("zenario_organizer_switch_view_wrap",g));q._to(a);a.find("#zenario_organizer_switch_view_a").click(function(){c.changeViewMode("A")});a.find("#zenario_organizer_switch_view_b").click(function(){c.changeViewMode("B")});b&&a.find("#zenario_organizer_switch_view_c").click(function(){c.changeViewMode("C")})}; +d.returnPanelTypeA=function(){return l.list};d.returnPanelTypeB=function(){return l.grid};d.returnPanelTypeC=function(){return!1};d.returnSwitchButtonCSSClassA=function(){return"organizer_switch_to_list_view"};d.returnSwitchButtonCSSClassB=function(){return"organizer_switch_to_grid_view"};d.returnSwitchButtonCSSClassC=function(){return""};d.returnSwitchButtonTooltipA=function(){return"List view"};d.returnSwitchButtonTooltipB=function(){return"Grid view"};d.returnSwitchButtonTooltipC=function(){return""}; +d.returnDefaultView=function(){return"A"}},zenarioO.panelTypes);
zenario/js/panel_type_list_with_caching_disabled.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_list_with_master_switch.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_list_with_subheadings.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_list_with_totals.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_list_with_totals_on_refiners.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_multi_line_list.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_multi_line_list_or_grid.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_network_graph.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_slot_reload_on_change.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/panel_type_start_page.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/plugin.wrapper.js.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/slide_designer.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/slide_designer_microtemplates.js.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/tidy_libs.shell.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/tuix.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/tuix.ready.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/tuix.wrapper.js.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/visitor.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/visitor.phrases.js.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/visitor.ready.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/visitor.wrapper.js.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/js/wizard.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/libs/composer_dist/psr/log/.gitignore+0 −1 removed@@ -1 +0,0 @@ -vendor
zenario/libs/composer_dist/symfony/options-resolver/.gitignore+0 −3 removed@@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml
zenario/libs/composer_dist/symfony/process/.gitignore+0 −3 removed@@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml
zenario/libs/manually_maintained/mit/payson/account.php+0 −31 removed@@ -1,31 +0,0 @@ -<?php -namespace PaysonEmbedded{ - class Account{ - /** @var string $accountEmail */ - public $accountEmail; - /** @var string $status */ - public $status; - /** @var int $merchantId */ - public $merchantId; - /** @var string $enabledForInvoice */ - public $enabledForInvoice; - /** @var string $enabledForPaymentPlan */ - public $enabledForPaymentPlan; - - public function __construct($accountEmail, $status, $merchantId, $enabledForInvoice, $enabledForpaymentPlan){ - $this->accountEmail = $accountEmail; - $this->status = $status; - $this->merchantId = $merchantId; - $this->enabledForInvoice = $enabledForInvoice; - $this->enabledForpaymentPlan = $enabledForpaymentPlan; - } - - public static function create($data) { - return new Account($data->accountEmail,$data->status,$data->merchantId,$data->enabledForInvoice,$data->enabledForpaymentPlan); - } - - public function toArray(){ - return get_object_vars($this); - } - } -} \ No newline at end of file
zenario/libs/manually_maintained/mit/payson/customer.php+0 −45 removed@@ -1,45 +0,0 @@ -<?php -namespace PaysonEmbedded{ - class Customer{ - /** @var string $city */ - public $city; - /** @var string $countryCode */ - public $countryCode; - /** @var int $identityNumber Date of birth YYMMDD (digits). */ - public $identityNumber; - /** @var string $email */ - public $email; - /** @var string $firstName */ - public $firstName; - /** @var string $lastName */ - public $lastName; - /** @var string $phone Phone number. */ - public $phone; - /** @var string $postalCode Postal code. */ - public $postalCode; - /** @var string $street Street address.*/ - public $street; - /** @var string $type Type of customer ("business", "person" (default)).*/ - public $type; - public function __construct($firstName = Null, $lastName = Null, $email = Null, $phone = Null, $identityNumber = Null, $city = Null, $countryCode = Null, $postalCode = Null, $street = Null, $type = 'person'){ - $this->firstName = $firstName; - $this->lastName = $lastName; - $this->email = $email; - $this->phone = $phone; - $this->identityNumber = $identityNumber; - $this->city = $city; - $this->countryCode = $countryCode; - $this->postalCode = $postalCode; - $this->street = $street; - $this->type = $type; - } - - public static function create($data) { - return new Customer($data->firstName,$data->lastName,$data->email,$data->phone,$data->identityNumber,$data->city,$data->countryCode,$data->postalCode,$data->street,$data->type); - } - - public function toArray(){ - return get_object_vars($this); - } - } -} \ No newline at end of file
zenario/libs/manually_maintained/mit/payson/gui.php+0 −33 removed@@ -1,33 +0,0 @@ -<?php -namespace PaysonEmbedded{ - class Gui{ - /** @var string $colorScheme Color scheme of the checkout snippet("white", "black", "blue" (default), "red"). */ - public $colorScheme; - /** @var string $locale Used to change the language shown in the checkout snippet ("se", "fi", "en" (default)). */ - public $locale; - /** @var string $verification Can be used to add extra customer verfication ("bankid", "none" (default)). */ - public $verification; - /** @var bool $requestPhone Can be used to require the user to fill in his phone number. */ - public $requestPhone; - /** @var list $countries List of countries shown in the checkout snippet. */ - public $countries = array(); - /** @var bool $phoneOptional Can be used to ask the user to fill in his phone number, but not strict required. */ - public $phoneOptional; - - public function __construct($locale = "sv", $colorScheme = "gray", $verification = 0, $requestPhone = NULL, $countries = NULL, $phoneOptional = NULL){ - $this->colorScheme = $colorScheme; - $this->locale = $locale; - $this->verification = $verification; - $this->requestPhone = $requestPhone; - $this->countries = $countries; - $this->phoneOptional = $phoneOptional; - } - public static function create($data) { - return new Gui($data->locale, $data->colorScheme, $data->verification, $data->requestPhone, $data->countries, $data->phoneOptional); - } - - public function toArray(){ - return get_object_vars($this); - } - } -} \ No newline at end of file
zenario/libs/manually_maintained/mit/payson/orderitem.php+0 −83 removed@@ -1,83 +0,0 @@ -<?php -namespace PaysonEmbedded{ - - abstract class OrderItemType - { - const PHYSICAL = 'physical'; - const DISCOUNT = 'discount'; - const SERVICE = 'service'; - const FEE = 'fee'; - } - - class OrderItem { - - /** @var string $id */ - public $itemId; - /** @var float $discountRate Discount rate of the article (Decimal number (0.00-1.00)). */ - public $discountRate; - /** @var float $creditedAmount Credited amount (Decimal number (with two decimals)). */ - public $creditedAmount; - /** @var url $imageUri An URI to an image of the article. */ - public $imageUri; - /** @var string $name Name of the article. */ - public $name; - /** @var float $unitPrice Unit price of the article (including tax). */ - public $unitPrice ; - /** @var int $quantity Quantity of the article. */ - public $quantity; - /** @var float taxRate Tax rate of the article (0.00-1.00). */ - public $taxRate; - /** @var string $reference Article reference, usually the article number. */ - public $reference; - /** @var string $type Type of article ("Fee", "Physical" (default), "Service"). */ - public $type; - /** @var url $uri URI to a the article page of the order item. */ - public $uri; - /** @var ean $ean European Article Number. Discrete number (13 digits) */ - public $ean; - - /** - * Constructs an OrderItem object - * - * If any other value than description is provided all of them has to be entered - * - * @param string $name Name of order item. Max 128 characters - * @param float $unitPrice Unit price incl. VAT - * @param int $quantity Quantity of this item. Can have at most 2 decimal places - * @param float $taxRate Tax value. Not actual percentage. For example, 25% has to be entered as 0.25 - * @param string $reference Sku of item - */ - public function __construct($name, $unitPrice, $quantity, $taxRate, $reference, $type=OrderItemType::PHYSICAL, $discountRate=null, $ean = null, $uri=null, $imageUri=null) { - // Mandatory - $this->name = $name; - $this->unitPrice = $unitPrice; - $this->quantity = $quantity; - $this->taxRate = $taxRate; - $this->type = $type; - $this->reference = $reference; - - if(!$name || is_null($unitPrice) || !$quantity || is_null($taxRate) || !$type || !$reference) { - throw new PaysonApiException("Not all of mandatory fields are set for creating of an OrderItem object"); - } - - // Optional - $this->discountRate = $discountRate; - $this->ean = $ean; - $this->uri = $uri; - $this->imageUri = $imageUri; - } - public static function create($data) { - $item = new OrderItem($data->name, $data->unitPrice, $data->quantity, $data->taxRate, $data->reference, $data->type, isset($data->discountRate)?$data->discountRate:null, isset($data->ean)?$data->ean:null, isset($data->uri)?$data->uri:null, isset($data->imageUri)?$data->imageUri:null); - $item->discountRate=$data->discountRate; - $item->creditedAmount=$data->creditedAmount; - if(isset($data->itemId)) { - $item->itemId = $data->itemId; - } - return $item; - } - - public function toArray() { - return get_object_vars($this); - } - } -} \ No newline at end of file
zenario/libs/manually_maintained/mit/payson/paydata.php+0 −61 removed@@ -1,61 +0,0 @@ -<?php -namespace PaysonEmbedded{ - require_once "orderitem.php"; - abstract class CurrencyCode { - const SEK = "SEK"; - const EUR = "EUR"; - } - - class PayData { - /** @var string $currency Currency of the order ("sek", "eur"). */ - public $currency = NULL; - /** @var array $items An array with objects of the order items*/ - public $items = array(); - - /** @var float $totalPriceExcludingTax - Read only */ - public $totalPriceExcludingTax; - /** @var float $totalPriceIncludingTax - Read only */ - public $totalPriceIncludingTax; - /** @var float $totalTaxAmount - Read only */ - public $totalTaxAmount; - /** @var float $totalCreditedAmount - Read only */ - public $totalCreditedAmount; - public function __construct($currencyCode) { - $this->currency = $currencyCode; - $this->items = array(); - } - - public static function create($data) { - $payData = new PayData($data->currency); - $payData->totalPriceExcludingTax = $data->totalPriceExcludingTax; - $payData->totalPriceIncludingTax = $data->totalPriceIncludingTax; - $payData->totalTaxAmount = $data->totalTaxAmount; - $payData->totalCreditedAmount =$data->totalCreditedAmount; - - foreach($data->items as $item) { - $payData->items[] = OrderItem::create($item); - } - - return $payData; - } - - public function AddOrderItem(OrderItem $item) { - $this->items[] = $item; - } - - public function setOrderItems($items) { - if(!($items instanceof OrderItem)) - throw new PaysonApiException("Parameter must be an object of class Item"); - $this->items = $items; - } - public function toArray(){ - $items = array(); - foreach($this->items as $item) { $items[] = $item->toArray(); } - return array( 'currency'=>$this->currency, 'items'=>$items ); - } - - public function toJson(){ - return json_encode($this->toArray()); - } - } -} \ No newline at end of file
zenario/libs/manually_maintained/mit/payson/paysonapierror.php+0 −14 removed@@ -1,14 +0,0 @@ -<?php -namespace PaysonEmbedded{ - class PaysonApiError { - public $message = NULL; - public $parameter = NULL; - public function __construct($message, $parameter = null) { - $this->message = $message; - $this->parameter = $parameter; - } - public function __toString() { - return "Message: " . $this->message . "\t Parameter: " . $this->parameter; - } - } -} \ No newline at end of file
zenario/libs/manually_maintained/mit/payson/paysonapiexception.php+0 −30 removed@@ -1,30 +0,0 @@ -<?php -namespace PaysonEmbedded{ - class PaysonApiException extends \Exception { - private $errors = array(); - - public function getErrorList() { - return $this->errors; - } - - public function getErrors() { - $r = ''; - if(count($this->errors)) { - foreach ($this->errors as $error){ - $r.='<pre>'.$error->message . ($error->parameter?' -- Parameter: ' .$error->parameter:'').'</pre>'; - } - } else { - $r .= $this->getMessage(); - } - return $r; - } - - public function __construct($message,array $errors = array()) { - $this->errors = $errors; - if(count($errors)) { - $message .="\n\n"; foreach($errors as $error) { $message .= "\n".$error."\n"; } $message .="\n\n"; - } - parent::__construct($message); - } - } -}
zenario/libs/manually_maintained/mit/payson/paysonapi.php+0 −164 removed@@ -1,164 +0,0 @@ -<?php -namespace PaysonEmbedded { - require_once "paysonapiexception.php"; - require_once "paysonapierror.php"; - require_once "paydata.php"; - require_once "paysonmerchant.php"; - require_once "customer.php"; - require_once "gui.php"; - require_once "paysoncheckout.php"; - require_once "account.php"; - -} -namespace PaysonEmbedded { - class PaysonApi { - private $merchantId; - private $apiKey; - private $protocol = "https://%s"; - const PAYSON_HOST = "api.payson.se/2.0/"; - const ACTION_CHECKOUTS = "Checkouts/"; - const ACTION_ACCOUNTS = "Accounts/"; - private $paysonMerchant = null; - private $payData = null; - private $customer = null; - private $allOrderData = array(); - private $gui = null; - private $useTestEnvironment = null; - private $checkoutId = null; - private $paysonResponse = null; - public $paysonResponseErrors = array(); - public function __construct($merchantId, $apiKey, $useTestEnvironment = false) { - $this->useTestEnvironment = $useTestEnvironment; - $this->merchantId = $merchantId; - $this->apiKey = $apiKey; - - if (!function_exists('curl_exec')) { - throw new PaysonApiException('Curl not installed. Is required for PaysonApi.'); - } - } - public function getMerchantId() { - return $this->merchantId; - } - public function getApiKey() { - return $this->apiKey; - } - public function CreateCheckout(Checkout $checkout) { - $result = $this->doCurlRequest('POST', $this->getUrl(self::ACTION_CHECKOUTS), $checkout->toArray()); - $checkoutId = $this->extractCheckoutId($result); - if(!$checkoutId) { - throw new PaysonApiException("Checkout Id not received of unclear reason"); - } - return $checkoutId; - } - - public function CreateGetCheckout(Checkout $checkout) { - $result = $this->doCurlRequest('POST', $this->getUrl(self::ACTION_CHECKOUTS), $checkout->toArray(), true); - $newCheckout = Checkout::create(json_decode($result)); - if(!$newCheckout->id) { - throw new PaysonApiException("Checkout ID not received of unclear reason"); - } - return $newCheckout; - } - - public function UpdateCheckout($checkout) { - if(!$checkout->id) { - throw new PaysonApiException("Checkout object which should be updated must have id property set"); - } - $result = $this->doCurlRequest('PUT', $this->getUrl(self::ACTION_CHECKOUTS).$checkout->id, $checkout->toArray()); - return $checkout; - } - - public function GetCheckout($checkoutId) { - $result = $this->doCurlRequest('GET', $this->getUrl(self::ACTION_CHECKOUTS).$checkoutId, null); - return Checkout::create(json_decode($result)); - } - - public function ShipCheckout(Checkout $checkout) { - $checkout->status = 'shipped'; - return $this->UpdateCheckout($checkout); - } - - public function CancelCheckout(Checkout $checkout) { - $checkout->status = 'canceled'; - return $this->UpdateCheckout($checkout); - } - - public function Validate() { - $result = $this->doCurlRequest('GET', $this->getUrl(self::ACTION_ACCOUNTS), null); - return Account::create(json_decode($result)); - } - private function doCurlRequest($method, $url, $postfields, $returnBody = false) { - $ch = curl_init($url); - curl_setopt($ch, CURLOPT_HTTPHEADER, $this->authorizationHeader()); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); - curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields?json_encode($postfields):null); - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); - curl_setopt($ch, CURLOPT_HEADER, true); - $result = curl_exec($ch); - $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); - $body = substr($result, $header_size); - $response_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); - curl_close($ch); - - /* This class of status codes indicates the action requested by the client was received, understood, accepted and processed successfully - * 200 OK - * 201 Created - * 202 Accepted - * 203 Non-Authoritative Information (since HTTP/1.1) - */ - if ($response_code == 200) { - return $body; - } elseif ($response_code == 201) { - if ($returnBody == true) { - return $body; - } - return $result; - } elseif ($result == false) { - throw new PaysonApiException('Curl error: '.curl_error($ch)); - } else { - $errors = array(); - - $data = json_decode($body,true); - $errors[] = new PaysonApiError('HTTP status code: ' . $response_code.', '.$data['message'], null); - - if(isset($data['errors']) && count($data['errors'])) { - $errors = array_merge($errors, $this->parseErrors($data['errors'], $response_code)); - } - - throw new PaysonApiException("Api errors", $errors); - } - - } - - private function authorizationHeader() { - $header = array(); - $header[] = 'Content-Type: application/json'; - $header[] = 'Authorization: Basic ' . base64_encode($this->merchantId . ':' . $this->apiKey); - return $header; - } - private function extractCheckoutId($result) { - $checkoutId = null; - if (preg_match('#Location: (.*)#', $result, $res)) { - $checkoutId = trim($res[1]); - } - $checkoutId = explode('/', $checkoutId); - $checkoutId = $checkoutId[count($checkoutId) - 1]; - return $checkoutId; - } - private function parseErrors($responseErrors, $response_code) { - $errors = array(); - foreach ($responseErrors as $error) { - $errors[] = new PaysonApiError($error['message'], (isset($error['property'])?$error['property']:null)); - } - return $errors; - } - public function setStatus($status) { - $this->allOrderData['status'] = $status; - } - - private function getUrl($action) { - return (sprintf($this->protocol, ($this->useTestEnvironment ? 'test-' : '')) . self::PAYSON_HOST.$action); - } - } -}
zenario/libs/manually_maintained/mit/payson/paysoncheckout.php+0 −67 removed@@ -1,67 +0,0 @@ -<?php -namespace PaysonEmbedded { - class Checkout { - /** @var Merchant $merchant */ - public $merchant; - - /** @var PayData $order */ - public $payData; - - /** @var Gui $gui */ - public $gui; - - /** @var Customer $customer */ - public $customer; - - /** @var string $status */ - public $status; - - /** @var string $id */ - public $id; - - /** @var int $purchaseId */ - public $purchaseId; - - /** @var string $snippet */ - public $snippet; - - /** @var string $description */ - public $description; - - public function __construct(Merchant $merchant, PayData $payData, Gui $gui = null, Customer $customer = null, $description = '') { - $this->merchant = $merchant; - $this->payData = $payData; - $this->gui = $gui?:new Gui(); - $this->customer = $customer?:new Customer(); - $this->purchaseId = null; - $this->description = $description; - } - - public static function create($data) { - $checkout = new Checkout(Merchant::create($data->merchant), PayData::create($data->order), Gui::create($data->gui), Customer::create($data->customer)); - $checkout->status = $data->status; - $checkout->id = $data->id; - $checkout->snippet = $data->snippet; - if(isset($data->purchaseId)) { - $checkout->purchaseId = $data->purchaseId; - } - - if(isset($data->description)) { - $checkout->description = $data->description; - } - return $checkout; - } - - public function toArray() { - return array( - 'id' => $this->id, - 'description' => $this->description, - 'status' => $this->status, - 'merchant' => $this->merchant->toArray(), - 'order' => $this->payData->toArray(), - 'gui' => $this->gui->toArray(), - 'customer' => $this->customer->toArray() - ); - } - } -}
zenario/libs/manually_maintained/mit/payson/paysonmerchant.php+0 −40 removed@@ -1,40 +0,0 @@ -<?php -namespace PaysonEmbedded { - class Merchant { - /** @var url $checkoutUri URI to the merchants checkout page.*/ - public $checkoutUri = NULL; - /** @var url $confirmationUri URI to the merchants confirmation page. */ - public $confirmationUri; - /** @var url $notificationUri Notification URI which receives CPR-status updates. */ - public $notificationUri; - /** @var url $verificationUri Validation URI which is called to verify an order before it can be paid. */ - public $validationUri = NULL; - /** @var url $termsUri URI leading to the sellers terms. */ - public $termsUri; - /** @var string $reference Merchants own reference of the checkout.*/ - public $reference = NULL; - /** @var string $partnerId Partners unique identifier */ - public $partnerId = NULL; - /** @var string $integrationInfo Information about the integration. */ - public $integrationInfo = NULL; - public function __construct($checkoutUri, $confirmationUri, $notificationUri, $termsUri, $partnerId = NULL, $integrationInfo = 'PaysonCheckout2.0|1.0|NONE') { - $this->checkoutUri = $checkoutUri; - $this->confirmationUri = $confirmationUri; - $this->notificationUri = $notificationUri; - $this->termsUri = $termsUri; - $this->partnerId = $partnerId; - $this->integrationInfo = $integrationInfo; - } - - public static function create($data) { - $merchant = new Merchant($data->checkoutUri,$data->confirmationUri,$data->notificationUri,$data->termsUri, $data->partnerId, $data->integrationInfo); - $merchant->reference=$data->reference; - $merchant->validationUri=$data->validationUri; - return $merchant; - } - - public function toArray(){ - return get_object_vars($this); - } - } -} \ No newline at end of file
zenario/libs/manually_maintained/mit/phpmqtt/composer.json+0 −21 removed@@ -1,21 +0,0 @@ -{ - "name": "bluerhinos/phpmqtt", - "description": "Simple MQTT Class", - "license": "BSD", - "type": "library", - "authors": [ - { - "name": "Andrew Milsted", - "email": "andrew@bluerhinos.co.uk" - } - ], - "minimum-stability": "dev", - "require": { - "php": ">=7.2" - }, - "autoload": { - "psr-4": { - "Bluerhinos\\": "./" - } - } -}
zenario/libs/manually_maintained/mit/phpmqtt/examples/publish.php+0 −18 removed@@ -1,18 +0,0 @@ -<?php - -require('../phpMQTT.php'); - -$server = 'localhost'; // change if necessary -$port = 1883; // change if necessary -$username = ''; // set your username -$password = ''; // set your password -$client_id = 'phpMQTT-publisher'; // make sure this is unique for connecting to sever - you could use uniqid() - -$mqtt = new Bluerhinos\phpMQTT($server, $port, $client_id); - -if ($mqtt->connect(true, NULL, $username, $password)) { - $mqtt->publish('bluerhinos/phpMQTT/examples/publishtest', 'Hello World! at ' . date('r'), 0, false); - $mqtt->close(); -} else { - echo "Time out!\n"; -}
zenario/libs/manually_maintained/mit/phpmqtt/examples/README.md+0 −44 removed@@ -1,44 +0,0 @@ -# Output example - -For info on MQTT: https://mntolia.com/fundamentals-mqtt/#4_Advantages_of_MQTT_for_IoT_over_HTTP_UDP - -> Before running each file be sure to review the four connection parameters in the headers. - -subscribe.php --- -This example is to demonstrate using MQTT for a long-running script that will wait for subscribed topics. -This script is not suitable to be run as web requests, instead should be run on the commandline. - -Let `subscribe.php` listening the broker: -```console -$ php subscribe.php -Msg Recieved: Fri, 13 Jan 2017 01:58:23 +0000 -Topic: bluerhinos/phpMQTT/examples/publishtest - - Hello World! at Fri, 13 Jan 2017 01:58:23 +0000 - -Msg Recieved: Fri, 13 Jan 2017 01:58:35 +0000 -Topic: bluerhinos/phpMQTT/examples/publishtest - - Hello World! at Fri, 13 Jan 2017 01:58:35 +0000 - -^C -``` - -publish.php ---- -This example will publish a message to a topic. - -The results shown above corresponds to publisher's two actions: -```console -$ php publish.php -$ php publish.php -``` - -When run as a web request you it is ok to just `$mqtt->connect()`, `$mqtt->publish()` and `$mqtt->close()`. -If it is being run as long-running command line script you should run `$mqtt->proc()` regularly in order maintain the connection with the broker. - -subscribeAndWaitForMessage.php --- -In order to use this library to display messages on a website you can use `$mqtt->subscribeAndWaitForMessage()`, this will subscribe to a topic and then wait for, and return the message. -If you want messages to appear instantly, you should use retained messages (https://mntolia.com/mqtt-retained-messages-explained-example/) \ No newline at end of file
zenario/libs/manually_maintained/mit/phpmqtt/examples/subscribeAndWaitForMessage.php+0 −18 removed@@ -1,18 +0,0 @@ -<?php - -require('../phpMQTT.php'); - -$server = 'localhost'; // change if necessary -$port = 1883; // change if necessary -$username = ''; // set your username -$password = ''; // set your password -$client_id = 'phpMQTT-subscribe-msg'; // make sure this is unique for connecting to sever - you could use uniqid() - -$mqtt = new Bluerhinos\phpMQTT($server, $port, $client_id); -if(!$mqtt->connect(true, NULL, $username, $password)) { - exit(1); -} - -echo $mqtt->subscribeAndWaitForMessage('bluerhinos/phpMQTT/examples/publishtest', 0); - -$mqtt->close(); \ No newline at end of file
zenario/libs/manually_maintained/mit/phpmqtt/examples/subscribe.php+0 −32 removed@@ -1,32 +0,0 @@ -<?php - -require('../phpMQTT.php'); - - -$server = 'localhost'; // change if necessary -$port = 1883; // change if necessary -$username = ''; // set your username -$password = ''; // set your password -$client_id = 'phpMQTT-subscriber'; // make sure this is unique for connecting to sever - you could use uniqid() - -$mqtt = new Bluerhinos\phpMQTT($server, $port, $client_id); -if(!$mqtt->connect(true, NULL, $username, $password)) { - exit(1); -} - -$mqtt->debug = true; - -$topics['bluerhinos/phpMQTT/examples/publishtest'] = array('qos' => 0, 'function' => 'procMsg'); -$mqtt->subscribe($topics, 0); - -while($mqtt->proc()) { - -} - -$mqtt->close(); - -function procMsg($topic, $msg){ - echo 'Msg Recieved: ' . date('r') . "\n"; - echo "Topic: {$topic}\n\n"; - echo "\t$msg\n\n"; -}
zenario/libs/manually_maintained/mit/phpmqtt/.gitignore+0 −2 removed@@ -1,2 +0,0 @@ -/vendor/ -.idea \ No newline at end of file
zenario/libs/manually_maintained/mit/phpmqtt/LICENSE+0 −20 removed@@ -1,20 +0,0 @@ -Copyright (c) 2010 Blue Rhinos Consulting | Andrew Milsted -andrew@bluerhinos.co.uk | http://www.bluerhinos.co.uk - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file
zenario/libs/manually_maintained/mit/phpmqtt/phpMQTT.php+0 −669 removed@@ -1,669 +0,0 @@ -<?php - -namespace Bluerhinos; - -/* - phpMQTT - A simple php class to connect/publish/subscribe to an MQTT broker - -*/ - -/* - Licence - - Copyright (c) 2010 Blue Rhinos Consulting | Andrew Milsted - andrew@bluerhinos.co.uk | http://www.bluerhinos.co.uk - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - -*/ - -/* phpMQTT */ - -class phpMQTT -{ - protected $socket; /* holds the socket */ - protected $msgid = 1; /* counter for message id */ - public $keepalive = 10; /* default keepalive timmer */ - public $timesinceping; /* host unix time, used to detect disconects */ - public $topics = []; /* used to store currently subscribed topics */ - public $debug = false; /* should output debug messages */ - public $address; /* broker address */ - public $port; /* broker port */ - public $clientid; /* client id sent to brocker */ - public $will; /* stores the will of the client */ - protected $username; /* stores username */ - protected $password; /* stores password */ - - public $cafile; - protected static $known_commands = [ - 1 => 'CONNECT', - 2 => 'CONNACK', - 3 => 'PUBLISH', - 4 => 'PUBACK', - 5 => 'PUBREC', - 6 => 'PUBREL', - 7 => 'PUBCOMP', - 8 => 'SUBSCRIBE', - 9 => 'SUBACK', - 10 => 'UNSUBSCRIBE', - 11 => 'UNSUBACK', - 12 => 'PINGREQ', - 13 => 'PINGRESP', - 14 => 'DISCONNECT' - ]; - - /** - * phpMQTT constructor. - * - * @param $address - * @param $port - * @param $clientid - * @param null $cafile - */ - public function __construct($address, $port, $clientid, $cafile = null) - { - $this->broker($address, $port, $clientid, $cafile); - } - - /** - * Sets the broker details - * - * @param $address - * @param $port - * @param $clientid - * @param null $cafile - */ - public function broker($address, $port, $clientid, $cafile = null): void - { - $this->address = $address; - $this->port = $port; - $this->clientid = $clientid; - $this->cafile = $cafile; - } - - /** - * Will try and connect, if fails it will sleep 10s and try again, this will enable the script to recover from a network outage - * - * @param bool $clean - should the client send a clean session flag - * @param null $will - * @param null $username - * @param null $password - * - * @return bool - */ - public function connect_auto($clean = true, $will = null, $username = null, $password = null): bool - { - while ($this->connect($clean, $will, $username, $password) === false) { - sleep(10); - } - return true; - } - - /** - * @param bool $clean - should the client send a clean session flag - * @param null $will - * @param null $username - * @param null $password - * - * @return bool - */ - public function connect($clean = true, $will = null, $username = null, $password = null): bool - { - if ($will) { - $this->will = $will; - } - if ($username) { - $this->username = $username; - } - if ($password) { - $this->password = $password; - } - - if ($this->cafile) { - $socketContext = stream_context_create( - [ - 'ssl' => [ - 'verify_peer_name' => true, - 'cafile' => $this->cafile - ] - ] - ); - $this->socket = stream_socket_client('tls://' . $this->address . ':' . $this->port, $errno, $errstr, 60, STREAM_CLIENT_CONNECT, $socketContext); - } else { - $this->socket = stream_socket_client('tcp://' . $this->address . ':' . $this->port, $errno, $errstr, 60, STREAM_CLIENT_CONNECT); - } - - if (!$this->socket) { - $this->_errorMessage("stream_socket_create() $errno, $errstr"); - return false; - } - - stream_set_timeout($this->socket, 5); - stream_set_blocking($this->socket, 0); - - $i = 0; - $buffer = ''; - - $buffer .= chr(0x00); - $i++; // Length MSB - $buffer .= chr(0x04); - $i++; // Length LSB - $buffer .= chr(0x4d); - $i++; // M - $buffer .= chr(0x51); - $i++; // Q - $buffer .= chr(0x54); - $i++; // T - $buffer .= chr(0x54); - $i++; // T - $buffer .= chr(0x04); - $i++; // // Protocol Level - - //No Will - $var = 0; - if ($clean) { - $var += 2; - } - - //Add will info to header - if ($this->will !== null) { - $var += 4; // Set will flag - $var += ($this->will['qos'] << 3); //Set will qos - if ($this->will['retain']) { - $var += 32; - } //Set will retain - } - - if ($this->username !== null) { - $var += 128; - } //Add username to header - if ($this->password !== null) { - $var += 64; - } //Add password to header - - $buffer .= chr($var); - $i++; - - //Keep alive - $buffer .= chr($this->keepalive >> 8); - $i++; - $buffer .= chr($this->keepalive & 0xff); - $i++; - - $buffer .= $this->strwritestring($this->clientid, $i); - - //Adding will to payload - if ($this->will !== null) { - $buffer .= $this->strwritestring($this->will['topic'], $i); - $buffer .= $this->strwritestring($this->will['content'], $i); - } - - if ($this->username !== null) { - $buffer .= $this->strwritestring($this->username, $i); - } - if ($this->password !== null) { - $buffer .= $this->strwritestring($this->password, $i); - } - - $head = chr(0x10); - - while ($i > 0) { - $encodedByte = $i % 128; - $i /= 128; - $i = (int)$i; - if ($i > 0) { - $encodedByte |= 128; - } - $head .= chr($encodedByte); - } - - fwrite($this->socket, $head, 2); - fwrite($this->socket, $buffer); - - $string = $this->read(4); - - if (ord($string[0]) >> 4 === 2 && $string[3] === chr(0)) { - $this->_debugMessage('Connected to Broker'); - } else { - $this->_errorMessage( - sprintf( - "Connection failed! (Error: 0x%02x 0x%02x)\n", - ord($string[0]), - ord($string[3]) - ) - ); - return false; - } - - $this->timesinceping = time(); - - return true; - } - - /** - * Reads in so many bytes - * - * @param int $int - * @param bool $nb - * - * @return false|string - */ - public function read($int = 8192, $nb = false) - { - $string = ''; - $togo = $int; - - if ($nb) { - return fread($this->socket, $togo); - } - - while (!feof($this->socket) && $togo > 0) { - $fread = fread($this->socket, $togo); - $string .= $fread; - $togo = $int - strlen($string); - } - - return $string; - } - - /** - * Subscribes to a topic, wait for message and return it - * - * @param $topic - * @param $qos - * - * @return string - */ - public function subscribeAndWaitForMessage($topic, $qos): string - { - $this->subscribe( - [ - $topic => [ - 'qos' => $qos, - 'function' => '__direct_return_message__' - ] - ] - ); - - do { - $return = $this->proc(); - } while ($return === true); - - return $return; - } - - /** - * subscribes to topics - * - * @param $topics - * @param int $qos - */ - public function subscribe($topics, $qos = 0): void - { - $i = 0; - $buffer = ''; - $id = $this->msgid; - $buffer .= chr($id >> 8); - $i++; - $buffer .= chr($id % 256); - $i++; - - foreach ($topics as $key => $topic) { - $buffer .= $this->strwritestring($key, $i); - $buffer .= chr($topic['qos']); - $i++; - $this->topics[$key] = $topic; - } - - $cmd = 0x82; - //$qos - $cmd += ($qos << 1); - - $head = chr($cmd); - $head .= $this->setmsglength($i); - fwrite($this->socket, $head, strlen($head)); - - $this->_fwrite($buffer); - $string = $this->read(2); - - $bytes = ord(substr($string, 1, 1)); - $this->read($bytes); - } - - /** - * Sends a keep alive ping - */ - public function ping(): void - { - $head = chr(0xc0); - $head .= chr(0x00); - fwrite($this->socket, $head, 2); - $this->timesinceping = time(); - $this->_debugMessage('ping sent'); - } - - /** - * sends a proper disconnect cmd - */ - public function disconnect(): void - { - $head = ' '; - $head[0] = chr(0xe0); - $head[1] = chr(0x00); - fwrite($this->socket, $head, 2); - } - - /** - * Sends a proper disconnect, then closes the socket - */ - public function close(): void - { - $this->disconnect(); - stream_socket_shutdown($this->socket, STREAM_SHUT_WR); - } - - /** - * Publishes $content on a $topic - * - * @param $topic - * @param $content - * @param int $qos - * @param bool $retain - */ - public function publish($topic, $content, $qos = 0, $retain = false): void - { - $i = 0; - $buffer = ''; - - $buffer .= $this->strwritestring($topic, $i); - - if ($qos) { - $id = $this->msgid++; - $buffer .= chr($id >> 8); - $i++; - $buffer .= chr($id % 256); - $i++; - } - - $buffer .= $content; - $i += strlen($content); - - $head = ' '; - $cmd = 0x30; - if ($qos) { - $cmd += $qos << 1; - } - if (empty($retain) === false) { - ++$cmd; - } - - $head[0] = chr($cmd); - $head .= $this->setmsglength($i); - - fwrite($this->socket, $head, strlen($head)); - $this->_fwrite($buffer); - } - - /** - * Writes a string to the socket - * - * @param $buffer - * - * @return bool|int - */ - protected function _fwrite($buffer) - { - $buffer_length = strlen($buffer); - for ($written = 0; $written < $buffer_length; $written += $fwrite) { - $fwrite = fwrite($this->socket, substr($buffer, $written)); - if ($fwrite === false) { - return false; - } - } - return $buffer_length; - } - - /** - * Processes a received topic - * - * @param $msg - * - * @retrun bool|string - */ - public function message($msg) - { - $tlen = (ord($msg[0]) << 8) + ord($msg[1]); - $topic = substr($msg, 2, $tlen); - $msg = substr($msg, ($tlen + 2)); - $found = false; - foreach ($this->topics as $key => $top) { - if (preg_match( - '/^' . str_replace( - '#', - '.*', - str_replace( - '+', - "[^\/]*", - str_replace( - '/', - "\/", - str_replace( - '$', - '\$', - $key - ) - ) - ) - ) . '$/', - $topic - )) { - if ($top['function'] === '__direct_return_message__') { - return $msg; - } - - if (is_callable($top['function'])) { - call_user_func($top['function'], $topic, $msg); - } else { - $this->_errorMessage('Message received on topic ' . $topic. ' but function is not callable.'); - } - } - } - - if ($found === false) { - $this->_debugMessage('msg received but no match in subscriptions'); - } - - return $found; - } - - /** - * The processing loop for an "always on" client - * set true when you are doing other stuff in the loop good for - * watching something else at the same time - * - * @param bool $loop - * - * @return bool | string - */ - public function proc(bool $loop = true) - { - if (feof($this->socket)) { - $this->_debugMessage('eof receive going to reconnect for good measure'); - fclose($this->socket); - $this->connect_auto(false); - if (count($this->topics)) { - $this->subscribe($this->topics); - } - } - - $byte = $this->read(1, true); - - if ((string)$byte === '') { - if ($loop === true) { - usleep(100000); - } - } else { - $cmd = (int)(ord($byte) / 16); - $this->_debugMessage( - sprintf( - 'Received CMD: %d (%s)', - $cmd, - isset(static::$known_commands[$cmd]) === true ? static::$known_commands[$cmd] : 'Unknown' - ) - ); - - $multiplier = 1; - $value = 0; - do { - $digit = ord($this->read(1)); - $value += ($digit & 127) * $multiplier; - $multiplier *= 128; - } while (($digit & 128) !== 0); - - $this->_debugMessage('Fetching: ' . $value . ' bytes'); - - $string = $value > 0 ? $this->read($value) : ''; - - if ($cmd) { - switch ($cmd) { - case 3: //Publish MSG - $return = $this->message($string); - if (is_bool($return) === false) { - return $return; - } - break; - } - } - } - - if ($this->timesinceping < (time() - $this->keepalive)) { - $this->_debugMessage('not had something in a while so ping'); - $this->ping(); - } - - if ($this->timesinceping < (time() - ($this->keepalive * 2))) { - $this->_debugMessage('not seen a packet in a while, disconnecting/reconnecting'); - fclose($this->socket); - $this->connect_auto(false); - if (count($this->topics)) { - $this->subscribe($this->topics); - } - } - - return true; - } - - /** - * Gets the length of a msg, (and increments $i) - * - * @param $msg - * @param $i - * - * @return float|int - */ - protected function getmsglength(&$msg, &$i) - { - $multiplier = 1; - $value = 0; - do { - $digit = ord($msg[$i]); - $value += ($digit & 127) * $multiplier; - $multiplier *= 128; - $i++; - } while (($digit & 128) !== 0); - - return $value; - } - - /** - * @param $len - * - * @return string - */ - protected function setmsglength($len): string - { - $string = ''; - do { - $digit = $len % 128; - $len >>= 7; - // if there are more digits to encode, set the top bit of this digit - if ($len > 0) { - $digit |= 0x80; - } - $string .= chr($digit); - } while ($len > 0); - return $string; - } - - /** - * @param $str - * @param $i - * - * @return string - */ - protected function strwritestring($str, &$i): string - { - $len = strlen($str); - $msb = $len >> 8; - $lsb = $len % 256; - $ret = chr($msb); - $ret .= chr($lsb); - $ret .= $str; - $i += ($len + 2); - return $ret; - } - - /** - * Prints a sting out character by character - * - * @param $string - */ - public function printstr($string): void - { - $strlen = strlen($string); - for ($j = 0; $j < $strlen; $j++) { - $num = ord($string[$j]); - if ($num > 31) { - $chr = $string[$j]; - } else { - $chr = ' '; - } - printf("%4d: %08b : 0x%02x : %s \n", $j, $num, $num, $chr); - } - } - - /** - * @param string $message - */ - protected function _debugMessage(string $message): void - { - if ($this->debug === true) { - echo date('r: ') . $message . PHP_EOL; - } - } - - /** - * @param string $message - */ - protected function _errorMessage(string $message): void - { - error_log('Error:' . $message); - } -}
zenario/libs/manually_maintained/mit/phpmqtt/README.md+0 −15 removed@@ -1,15 +0,0 @@ -**2020 Update** -I am restarting the project so watch this space - - -Blue Rhinos Consulting -Andrew Milsted | andrew@bluerhinos.co.uk | http://www.bluerhinos.co.uk | @bluerhinos - -A simple php class to connect/publish/subscribe to an MQTT broker - -Documentation: Coming Soon -Source: http://github.com/bluerhinos/phpMQTT - -To install via Composer ------------------------ -`composer require bluerhinos/phpmqtt=@dev`
zenario/libs/manually_maintained/mit/phpmqtt/zenario_modifications.txt+0 −2 removed@@ -1,2 +0,0 @@ -In phpMQTT.php: - Replaced all array offsets that used curly brackets with square ones, as using curly brackets for this is deprecated \ No newline at end of file
zenario/libs/manually_maintained/mit/SVG-Sanitizer/README.md+3 −1 modified@@ -1,3 +1,5 @@ +_A copy of [alnorris's SVG Sanitizer](https://github.com/alnorris/SVG-Sanitizer), with some PHP errors fixed, and some security patches as well._ + SVG Sanitizer ====== @@ -28,4 +30,4 @@ echo $svg->saveSVG(); License ------- -[MIT](http://opensource.org/licenses/MIT) \ No newline at end of file +[MIT](http://opensource.org/licenses/MIT)
zenario/libs/manually_maintained/mit/SVG-Sanitizer/SvgSanitizer.php+8 −10 modified@@ -17,38 +17,38 @@ class SvgSanitizer { // defines the whitelist of elements and attributes allowed. private static $whitelist = [ - 'a' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'fill' => true, 'fill-opacity' => true, 'fill-rule' => true, 'filter' => true, 'id' => true, 'mask' => true, 'opacity' => true, 'stroke' => true, 'stroke-dasharray' => true, 'stroke-dashoffset' => true, 'stroke-linecap' => true, 'stroke-linejoin' => true, 'stroke-miterlimit' => true, 'stroke-opacity' => true, 'stroke-width' => true, 'style' => true, 'systemLanguage' => true, 'transform' => true, 'href' => true, 'xlink:href' => true, 'xlink:title' => true], + 'a' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'fill' => true, 'fill-opacity' => true, 'fill-rule' => true, 'filter' => true, 'id' => true, 'mask' => true, 'opacity' => true, 'stroke' => true, 'stroke-dasharray' => true, 'stroke-dashoffset' => true, 'stroke-linecap' => true, 'stroke-linejoin' => true, 'stroke-miterlimit' => true, 'stroke-opacity' => true, 'stroke-width' => true, 'style' => true, 'systemLanguage' => true, 'transform' => true, 'xlink:title' => true], 'circle' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'cx' => true, 'cy' => true, 'fill' => true, 'fill-opacity' => true, 'fill-rule' => true, 'filter' => true, 'id' => true, 'mask' => true, 'opacity' => true, 'r' => true, 'requiredFeatures' => true, 'stroke' => true, 'stroke-dasharray' => true, 'stroke-dashoffset' => true, 'stroke-linecap' => true, 'stroke-linejoin' => true, 'stroke-miterlimit' => true, 'stroke-opacity' => true, 'stroke-width' => true, 'style' => true, 'systemLanguage' => true, 'transform' => true], 'clipPath' => ['class' => true, 'clipPathUnits' => true, 'id' => true], 'defs' => [], 'style' => ['type' => true], 'desc' => [], 'ellipse' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'cx' => true, 'cy' => true, 'fill' => true, 'fill-opacity' => true, 'fill-rule' => true, 'filter' => true, 'id' => true, 'mask' => true, 'opacity' => true, 'requiredFeatures' => true, 'rx' => true, 'ry' => true, 'stroke' => true, 'stroke-dasharray' => true, 'stroke-dashoffset' => true, 'stroke-linecap' => true, 'stroke-linejoin' => true, 'stroke-miterlimit' => true, 'stroke-opacity' => true, 'stroke-width' => true, 'style' => true, 'systemLanguage' => true, 'transform' => true], 'feGaussianBlur' => ['class' => true, 'color-interpolation-filters' => true, 'id' => true, 'requiredFeatures' => true, 'stdDeviation' => true], - 'filter' => ['class' => true, 'color-interpolation-filters' => true, 'filterRes' => true, 'filterUnits' => true, 'height' => true, 'id' => true, 'primitiveUnits' => true, 'requiredFeatures' => true, 'width' => true, 'x' => true, 'xlink:href' => true, 'y' => true], + 'filter' => ['class' => true, 'color-interpolation-filters' => true, 'filterRes' => true, 'filterUnits' => true, 'height' => true, 'id' => true, 'primitiveUnits' => true, 'requiredFeatures' => true, 'width' => true, 'x' => true, 'y' => true], 'foreignObject' => ['class' => true, 'font-size' => true, 'height' => true, 'id' => true, 'opacity' => true, 'requiredFeatures' => true, 'style' => true, 'transform' => true, 'width' => true, 'x' => true, 'y' => true], 'g' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'id' => true, 'display' => true, 'fill' => true, 'fill-opacity' => true, 'fill-rule' => true, 'filter' => true, 'mask' => true, 'opacity' => true, 'requiredFeatures' => true, 'stroke' => true, 'stroke-dasharray' => true, 'stroke-dashoffset' => true, 'stroke-linecap' => true, 'stroke-linejoin' => true, 'stroke-miterlimit' => true, 'stroke-opacity' => true, 'stroke-width' => true, 'style' => true, 'systemLanguage' => true, 'transform' => true, 'font-family' => true, 'font-size' => true, 'font-style' => true, 'font-weight' => true, 'text-anchor' => true], - 'image' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'filter' => true, 'height' => true, 'id' => true, 'mask' => true, 'opacity' => true, 'requiredFeatures' => true, 'style' => true, 'systemLanguage' => true, 'transform' => true, 'width' => true, 'x' => true, 'xlink:href' => true, 'xlink:title' => true, 'y' => true], + 'image' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'filter' => true, 'height' => true, 'id' => true, 'mask' => true, 'opacity' => true, 'requiredFeatures' => true, 'style' => true, 'systemLanguage' => true, 'transform' => true, 'width' => true, 'x' => true, 'xlink:title' => true, 'y' => true], 'line' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'fill' => true, 'fill-opacity' => true, 'fill-rule' => true, 'filter' => true, 'id' => true, 'marker-end' => true, 'marker-mid' => true, 'marker-start' => true, 'mask' => true, 'opacity' => true, 'requiredFeatures' => true, 'stroke' => true, 'stroke-dasharray' => true, 'stroke-dashoffset' => true, 'stroke-linecap' => true, 'stroke-linejoin' => true, 'stroke-miterlimit' => true, 'stroke-opacity' => true, 'stroke-width' => true, 'style' => true, 'systemLanguage' => true, 'transform' => true, 'x1' => true, 'x2' => true, 'y1' => true, 'y2' => true], - 'linearGradient' => ['class' => true, 'id' => true, 'gradientTransform' => true, 'gradientUnits' => true, 'requiredFeatures' => true, 'spreadMethod' => true, 'systemLanguage' => true, 'x1' => true, 'x2' => true, 'xlink:href' => true, 'y1' => true, 'y2' => true], + 'linearGradient' => ['class' => true, 'id' => true, 'gradientTransform' => true, 'gradientUnits' => true, 'requiredFeatures' => true, 'spreadMethod' => true, 'systemLanguage' => true, 'x1' => true, 'x2' => true, 'y1' => true, 'y2' => true], 'marker' => ['id' => true, 'class' => true, 'markerHeight' => true, 'markerUnits' => true, 'markerWidth' => true, 'orient' => true, 'preserveAspectRatio' => true, 'refX' => true, 'refY' => true, 'systemLanguage' => true, 'viewBox' => true], 'mask' => ['class' => true, 'height' => true, 'id' => true, 'maskContentUnits' => true, 'maskUnits' => true, 'width' => true, 'x' => true, 'y' => true], 'metadata' => ['class' => true, 'id' => true], 'path' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'd' => true, 'fill' => true, 'fill-opacity' => true, 'fill-rule' => true, 'filter' => true, 'id' => true, 'marker-end' => true, 'marker-mid' => true, 'marker-start' => true, 'mask' => true, 'opacity' => true, 'requiredFeatures' => true, 'stroke' => true, 'stroke-dasharray' => true, 'stroke-dashoffset' => true, 'stroke-linecap' => true, 'stroke-linejoin' => true, 'stroke-miterlimit' => true, 'stroke-opacity' => true, 'stroke-width' => true, 'style' => true, 'systemLanguage' => true, 'transform' => true], - 'pattern' => ['class' => true, 'height' => true, 'id' => true, 'patternContentUnits' => true, 'patternTransform' => true, 'patternUnits' => true, 'requiredFeatures' => true, 'style' => true, 'systemLanguage' => true, 'viewBox' => true, 'width' => true, 'x' => true, 'xlink:href' => true, 'y' => true], + 'pattern' => ['class' => true, 'height' => true, 'id' => true, 'patternContentUnits' => true, 'patternTransform' => true, 'patternUnits' => true, 'requiredFeatures' => true, 'style' => true, 'systemLanguage' => true, 'viewBox' => true, 'width' => true, 'x' => true, 'y' => true], 'polygon' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'id' => true, 'fill' => true, 'fill-opacity' => true, 'fill-rule' => true, 'filter' => true, 'id' => true, 'class' => true, 'marker-end' => true, 'marker-mid' => true, 'marker-start' => true, 'mask' => true, 'opacity' => true, 'points' => true, 'requiredFeatures' => true, 'stroke' => true, 'stroke-dasharray' => true, 'stroke-dashoffset' => true, 'stroke-linecap' => true, 'stroke-linejoin' => true, 'stroke-miterlimit' => true, 'stroke-opacity' => true, 'stroke-width' => true, 'style' => true, 'systemLanguage' => true, 'transform' => true], 'polyline' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'id' => true, 'fill' => true, 'fill-opacity' => true, 'fill-rule' => true, 'filter' => true, 'marker-end' => true, 'marker-mid' => true, 'marker-start' => true, 'mask' => true, 'opacity' => true, 'points' => true, 'requiredFeatures' => true, 'stroke' => true, 'stroke-dasharray' => true, 'stroke-dashoffset' => true, 'stroke-linecap' => true, 'stroke-linejoin' => true, 'stroke-miterlimit' => true, 'stroke-opacity' => true, 'stroke-width' => true, 'style' => true, 'systemLanguage' => true, 'transform' => true], - 'radialGradient' => ['class' => true, 'cx' => true, 'cy' => true, 'fx' => true, 'fy' => true, 'gradientTransform' => true, 'gradientUnits' => true, 'id' => true, 'r' => true, 'requiredFeatures' => true, 'spreadMethod' => true, 'systemLanguage' => true, 'xlink:href' => true], + 'radialGradient' => ['class' => true, 'cx' => true, 'cy' => true, 'fx' => true, 'fy' => true, 'gradientTransform' => true, 'gradientUnits' => true, 'id' => true, 'r' => true, 'requiredFeatures' => true, 'spreadMethod' => true, 'systemLanguage' => true], 'rect' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'fill' => true, 'fill-opacity' => true, 'fill-rule' => true, 'filter' => true, 'height' => true, 'id' => true, 'mask' => true, 'opacity' => true, 'requiredFeatures' => true, 'rx' => true, 'ry' => true, 'stroke' => true, 'stroke-dasharray' => true, 'stroke-dashoffset' => true, 'stroke-linecap' => true, 'stroke-linejoin' => true, 'stroke-miterlimit' => true, 'stroke-opacity' => true, 'stroke-width' => true, 'style' => true, 'systemLanguage' => true, 'transform' => true, 'width' => true, 'x' => true, 'y' => true], 'stop' => ['class' => true, 'id' => true, 'offset' => true, 'requiredFeatures' => true, 'stop-color' => true, 'stop-opacity' => true, 'style' => true, 'systemLanguage' => true], 'svg' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'filter' => true, 'id' => true, 'height' => true, 'mask' => true, 'preserveAspectRatio' => true, 'requiredFeatures' => true, 'style' => true, 'systemLanguage' => true, 'viewBox' => true, 'width' => true, 'x' => true, 'xmlns' => true, 'xmlns:se' => true, 'xmlns:xlink' => true, 'y' => true], 'switch' => ['class' => true, 'id' => true, 'requiredFeatures' => true, 'systemLanguage' => true], 'symbol' => ['class' => true, 'fill' => true, 'fill-opacity' => true, 'fill-rule' => true, 'filter' => true, 'font-family' => true, 'font-size' => true, 'font-style' => true, 'font-weight' => true, 'id' => true, 'opacity' => true, 'preserveAspectRatio' => true, 'requiredFeatures' => true, 'stroke' => true, 'stroke-dasharray' => true, 'stroke-dashoffset' => true, 'stroke-linecap' => true, 'stroke-linejoin' => true, 'stroke-miterlimit' => true, 'stroke-opacity' => true, 'stroke-width' => true, 'style' => true, 'systemLanguage' => true, 'transform' => true, 'viewBox' => true], 'text' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'fill' => true, 'fill-opacity' => true, 'fill-rule' => true, 'filter' => true, 'font-family' => true, 'font-size' => true, 'font-style' => true, 'font-weight' => true, 'id' => true, 'mask' => true, 'opacity' => true, 'requiredFeatures' => true, 'stroke' => true, 'stroke-dasharray' => true, 'stroke-dashoffset' => true, 'stroke-linecap' => true, 'stroke-linejoin' => true, 'stroke-miterlimit' => true, 'stroke-opacity' => true, 'stroke-width' => true, 'style' => true, 'systemLanguage' => true, 'text-anchor' => true, 'transform' => true, 'x' => true, 'xml:space' => true, 'y' => true], - 'textPath' => ['class' => true, 'id' => true, 'method' => true, 'requiredFeatures' => true, 'spacing' => true, 'startOffset' => true, 'style' => true, 'systemLanguage' => true, 'transform' => true, 'xlink:href' => true], + 'textPath' => ['class' => true, 'id' => true, 'method' => true, 'requiredFeatures' => true, 'spacing' => true, 'startOffset' => true, 'style' => true, 'systemLanguage' => true, 'transform' => true], 'title' => [], 'tspan' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'dx' => true, 'dy' => true, 'fill' => true, 'fill-opacity' => true, 'fill-rule' => true, 'filter' => true, 'font-family' => true, 'font-size' => true, 'font-style' => true, 'font-weight' => true, 'id' => true, 'mask' => true, 'opacity' => true, 'requiredFeatures' => true, 'rotate' => true, 'stroke' => true, 'stroke-dasharray' => true, 'stroke-dashoffset' => true, 'stroke-linecap' => true, 'stroke-linejoin' => true, 'stroke-miterlimit' => true, 'stroke-opacity' => true, 'stroke-width' => true, 'style' => true, 'systemLanguage' => true, 'text-anchor' => true, 'textLength' => true, 'transform' => true, 'x' => true, 'xml:space' => true, 'y' => true], - 'use' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'fill' => true, 'fill-opacity' => true, 'fill-rule' => true, 'filter' => true, 'height' => true, 'id' => true, 'mask' => true, 'stroke' => true, 'stroke-dasharray' => true, 'stroke-dashoffset' => true, 'stroke-linecap' => true, 'stroke-linejoin' => true, 'stroke-miterlimit' => true, 'stroke-opacity' => true, 'stroke-width' => true, 'style' => true, 'transform' => true, 'width' => true, 'x' => true, 'xlink:href' => true, 'y' => true], + 'use' => ['class' => true, 'clip-path' => true, 'clip-rule' => true, 'fill' => true, 'fill-opacity' => true, 'fill-rule' => true, 'filter' => true, 'height' => true, 'id' => true, 'mask' => true, 'stroke' => true, 'stroke-dasharray' => true, 'stroke-dashoffset' => true, 'stroke-linecap' => true, 'stroke-linejoin' => true, 'stroke-miterlimit' => true, 'stroke-opacity' => true, 'stroke-width' => true, 'style' => true, 'transform' => true, 'width' => true, 'x' => true, 'y' => true], ]; function __construct() { @@ -108,5 +108,3 @@ function save($file) { return($this->xmlDoc->save($file)); } } - -?> \ No newline at end of file
zenario/libs/manually_maintained/mit/SVG-Sanitizer/TODO+0 −2 removed@@ -1,2 +0,0 @@ -- When an illegal element is found, script deletes all child nodes as well, need this to stop -- \ No newline at end of file
zenario/libs/manually_maintained/mit/SVG-Sanitizer/zenario_modifications.txt+0 −6 removed@@ -1,6 +0,0 @@ -Usually we use these "zenario_modifications.txt" files to list small changes we've made. -But in this case, we've pretty much had to rewrite the entire module! - -Fixed several PHP errors in the code. -Rewrote the sanitize() function to fix an infinite loop when scanning attributes. -Added a wrapper for the xmlDoc->save() method. \ No newline at end of file
zenario/modules/zenario_abstract_fea/fun/handleNavigationInFormat.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_abstract_fea/fun/handleNavigationInValidate.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_abstract_fea/fun/loadSlotSettings.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_abstract_fea/fun/saveDatasetFields.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_abstract_fea/fun/saveSlotSettingsAndClose.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_abstract_fea/fun/setupDatasetFields.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_abstract_fea/fun/setupOverridesForPhrases.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_abstract_fea/fun/slideLayoutPrivacyDesc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_abstract_fea/js/form.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_abstract_fea/module_code.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_abstract_list/module_code.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_abstract_manager/module_code.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_abstract_viewer/module_code.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_access_key_map/module_code.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_advanced_interface_tools_fea/classes/admin_boxes/plugin_settings.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_advanced_interface_tools_fea/classes/admin_boxes/site_settings.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_advanced_interface_tools_fea/classes/visitor/create_tuix_snippet.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_advanced_interface_tools_fea/classes/visitor/edit_tuix_snippet.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_advanced_interface_tools_fea/classes/visitor/list_tuix_snippets.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_advanced_interface_tools_fea/module_code.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_advanced_search/module_code.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_anonymous_comments/db_updates/comments_email_templates.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_anonymous_comments/db_updates/comments_tables.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_anonymous_comments/fun/addReply.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_anonymous_comments/fun/fillAdminBox.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_anonymous_comments/fun/fillOrganizerPanel.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_anonymous_comments/fun/formatAdminBox.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_anonymous_comments/fun/handleOrganizerPanelAJAX.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_anonymous_comments/fun/reportPost.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_anonymous_comments/fun/sendApproveRequest.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_anonymous_comments/fun/sendEmailNotification.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_anonymous_comments/fun/showPostScreen.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_anonymous_comments/fun/threadActionHandler.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_anonymous_comments/js/plugin.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_anonymous_comments/module_code.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_banner/classes/admin_boxes/plugin_settings.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_banner/classes/visitor/slot_settings_zenario_banner.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_banner/js/admin.js+1 −1 modified@@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_banner/module_code.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_breadcrumbs/module_code.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_comments/db_updates/comments_email_templates.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_comments/db_updates/comments_tables.inc.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_comments/fun/sendEmailNotificationToSubscribers.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_comments/module_code.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/admin_copy_perms.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/admin.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/alias.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/backup.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/categories.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/change_tags.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/content_categories_add.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/content_categories.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/content_categories_remove.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/content_layout.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/content.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/content_type_details.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/create_vlp.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/custom_dataset.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/delete_draft.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/delete_language.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/delete_media_content_item.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/document_folder.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/document_move.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/document_properties.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/document_rename.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/document_rule.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/document_tag.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/document_upload.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/download_sample_file.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/duplicate_plugin.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/enable_site.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/export_content_items.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/export_dataset.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/export_vlp.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/file_type.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/head_foot_slot.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/help_line.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/image.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/image_tag.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/import.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/layout.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/menu.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/menu_text.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
zenario/modules/zenario_common_features/classes/admin_boxes/migrate_old_documents.php+1 −1 modified@@ -1,6 +1,6 @@ <?php /* - * Copyright (c) 2021, Tribal Limited + * Copyright (c) 2022, Tribal Limited * All rights reserved. * * Redistribution and use in source and binary forms, with or without
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
6- github.com/advisories/GHSA-4p38-rc98-cr39ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2022-44136ghsaADVISORY
- com0t.github.io/zenar.io/2022/10/18/Unauthent-RCE-Zenar.io~9.3.htmlghsaWEB
- github.com/TribalSystems/Zenario/commit/4f95a557af3c0b82e448a6ff8f4c167525972e4aghsaWEB
- github.com/TribalSystems/Zenario/compare/9.0.55141...9.0.57473ghsaWEB
- github.com/TribalSystems/Zenario/releases/tag/9.0.57473ghsaWEB
News mentions
0No linked articles in our index yet.