diff --git a/civicrm.php b/civicrm.php index 343ff49bd737d03e9330d0723f95ab62805cbaeb..e0ff08158147073ebbdcc20458b3474df3aae832 100644 --- a/civicrm.php +++ b/civicrm.php @@ -2,7 +2,7 @@ /** * Plugin Name: CiviCRM * Description: CiviCRM - Growing and Sustaining Relationships - * Version: 5.68.0 + * Version: 5.68.1 * Requires at least: 4.9 * Requires PHP: 7.3 * Author: CiviCRM LLC @@ -36,7 +36,7 @@ if (!defined('ABSPATH')) { } // Set version here: changing it forces Javascript and CSS to reload. -define('CIVICRM_PLUGIN_VERSION', '5.68.0'); +define('CIVICRM_PLUGIN_VERSION', '5.68.1'); // Store reference to this file. if (!defined('CIVICRM_PLUGIN_FILE')) { diff --git a/civicrm/CRM/Contact/Form/Contact.php b/civicrm/CRM/Contact/Form/Contact.php index 0b0aec7ab16fedb991e1b281ef0bb3e2693ab171..65da378bee9100baa4296870a92f14dfdd32b9de 100644 --- a/civicrm/CRM/Contact/Form/Contact.php +++ b/civicrm/CRM/Contact/Form/Contact.php @@ -359,7 +359,7 @@ class CRM_Contact_Form_Contact extends CRM_Core_Form { CRM_Contact_Form_Edit_CustomData::preProcess($this); } else { - $contactSubType = $this->_contactSubType; + $contactSubType = array_filter(explode(CRM_Core_DAO::VALUE_SEPARATOR, (string) $this->_contactSubType)); // need contact sub type to build related grouptree array during post process if (!empty($_POST['qfKey'])) { $contactSubType = $_POST['contact_sub_type'] ?? NULL; diff --git a/civicrm/CRM/Event/ICalendar.php b/civicrm/CRM/Event/ICalendar.php index 0d16cfe2ad263fa45a4af339c8f26c20cdf0a2e9..7947b7aaf89eee1668cd839c324f887a3b215673 100644 --- a/civicrm/CRM/Event/ICalendar.php +++ b/civicrm/CRM/Event/ICalendar.php @@ -54,10 +54,7 @@ class CRM_Event_ICalendar { $config = CRM_Core_Config::singleton(); $template->assign('events', $info); - - $timezones = [@date_default_timezone_get()]; - - $template->assign('timezone', $timezones[0]); + $template->assign('timezone', date_default_timezone_get()); // Send data to the correct template for formatting (iCal vs. gData) if ($rss) { diff --git a/civicrm/CRM/Note/Form/Note.php b/civicrm/CRM/Note/Form/Note.php index b243a2719a0836d6033751a9d7c9a5dc9507390c..9972cc6c3d8b2755c05339a988aea51f42f7dcf8 100644 --- a/civicrm/CRM/Note/Form/Note.php +++ b/civicrm/CRM/Note/Form/Note.php @@ -98,6 +98,10 @@ class CRM_Note_Form_Note extends CRM_Core_Form { * @return void */ public function buildQuickForm() { + if ($this->_action & CRM_Core_Action::VIEW) { + $this->view(); + return; + } if ($this->_action & CRM_Core_Action::DELETE) { $this->addButtons([ [ @@ -177,4 +181,24 @@ class CRM_Note_Form_Note extends CRM_Core_Form { CRM_Core_Session::setStatus(ts('Your Note has been saved.'), ts('Saved'), 'success'); } + /** + * View details of a note. + */ + private function view() { + $note = \Civi\Api4\Note::get() + ->addSelect('*', 'privacy:label') + ->addWhere('id', '=', $this->_id) + ->execute() + ->single(); + $note['privacy'] = $note['privacy:label']; + $this->assign('note', $note); + + $comments = CRM_Core_BAO_Note::getNoteTree($this->_id, 1); + $this->assign('comments', $comments); + + // add attachments part + $currentAttachmentInfo = CRM_Core_BAO_File::getEntityFile('civicrm_note', $this->_id); + $this->assign('currentAttachmentInfo', $currentAttachmentInfo); + } + } diff --git a/civicrm/CRM/Utils/ICalendar.php b/civicrm/CRM/Utils/ICalendar.php index fddefbfec849864ad79d16806cc5ca4f27ce63d1..6cafb774e550673d3641a2c0dc4288af0e4cbc7d 100644 --- a/civicrm/CRM/Utils/ICalendar.php +++ b/civicrm/CRM/Utils/ICalendar.php @@ -245,7 +245,7 @@ class CRM_Utils_ICalendar { return strtotime($event['end_date'] ?? $event['start_date']); }, $info) ); - $template->assign('timezones', CRM_Utils_ICalendar::generate_timezones($timezones, $date_min, $date_max)); + $template->assign('timezones', CRM_Utils_ICalendar::generate_timezones([date_default_timezone_get()], $date_min, $date_max)); } else { $template->assign('timezones', NULL); diff --git a/civicrm/civicrm-version.php b/civicrm/civicrm-version.php index 4dad4984e4e7e74f9bc972b301d45bfa34837c66..1ef579a3470df2b131059db3d627f094d4e04e2d 100644 --- a/civicrm/civicrm-version.php +++ b/civicrm/civicrm-version.php @@ -1,7 +1,7 @@ <?php /** @deprecated */ function civicrmVersion( ) { - return array( 'version' => '5.68.0', + return array( 'version' => '5.68.1', 'cms' => 'Wordpress', 'revision' => '' ); } diff --git a/civicrm/composer.json b/civicrm/composer.json index f29ffaa536553cc57346fad866120e8155779284..80d4125b6a400c1e8287b84e3f580ecd87a33da8 100644 --- a/civicrm/composer.json +++ b/civicrm/composer.json @@ -52,7 +52,7 @@ "require": { "php": "~7.3 || ~8", "composer-runtime-api": "~2.0", - "dompdf/dompdf" : "~2.0.2", + "dompdf/dompdf" : "~2.0.4", "firebase/php-jwt": ">=3 <6", "rubobaquero/phpquery": "^0.9.15", "symfony/config": "~4.4 || ~6.0", diff --git a/civicrm/composer.lock b/civicrm/composer.lock index 2bd8d4e50ea2d99fdd1f043424456dd684deccbe..bcf9dffb0eafc2a2efe751ea3f823cf457e12836 100644 --- a/civicrm/composer.lock +++ b/civicrm/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "877911b3eb22b827449c0a1b597d2703", + "content-hash": "d3d022bba1ca31f64298436418e2c630", "packages": [ { "name": "adrienrn/php-mimetyper", @@ -487,16 +487,16 @@ }, { "name": "dompdf/dompdf", - "version": "v2.0.3", + "version": "v2.0.4", "source": { "type": "git", "url": "https://github.com/dompdf/dompdf.git", - "reference": "e8d2d5e37e8b0b30f0732a011295ab80680d7e85" + "reference": "093f2d9739cec57428e39ddadedfd4f3ae862c0f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dompdf/dompdf/zipball/e8d2d5e37e8b0b30f0732a011295ab80680d7e85", - "reference": "e8d2d5e37e8b0b30f0732a011295ab80680d7e85", + "url": "https://api.github.com/repos/dompdf/dompdf/zipball/093f2d9739cec57428e39ddadedfd4f3ae862c0f", + "reference": "093f2d9739cec57428e39ddadedfd4f3ae862c0f", "shasum": "" }, "require": { @@ -543,9 +543,9 @@ "homepage": "https://github.com/dompdf/dompdf", "support": { "issues": "https://github.com/dompdf/dompdf/issues", - "source": "https://github.com/dompdf/dompdf/tree/v2.0.3" + "source": "https://github.com/dompdf/dompdf/tree/v2.0.4" }, - "time": "2023-02-07T12:51:48+00:00" + "time": "2023-12-12T20:19:39+00:00" }, { "name": "ezyang/htmlpurifier", @@ -1589,26 +1589,24 @@ }, { "name": "masterminds/html5", - "version": "2.7.6", + "version": "2.8.1", "source": { "type": "git", "url": "https://github.com/Masterminds/html5-php.git", - "reference": "897eb517a343a2281f11bc5556d6548db7d93947" + "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/897eb517a343a2281f11bc5556d6548db7d93947", - "reference": "897eb517a343a2281f11bc5556d6548db7d93947", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f47dcf3c70c584de14f21143c55d9939631bc6cf", + "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf", "shasum": "" }, "require": { - "ext-ctype": "*", "ext-dom": "*", - "ext-libxml": "*", "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7" + "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8" }, "type": "library", "extra": { @@ -1652,9 +1650,9 @@ ], "support": { "issues": "https://github.com/Masterminds/html5-php/issues", - "source": "https://github.com/Masterminds/html5-php/tree/2.7.6" + "source": "https://github.com/Masterminds/html5-php/tree/2.8.1" }, - "time": "2022-08-18T16:18:26+00:00" + "time": "2023-05-10T11:58:31+00:00" }, { "name": "myclabs/php-enum", @@ -2472,16 +2470,16 @@ }, { "name": "phenx/php-svg-lib", - "version": "0.5.0", + "version": "0.5.1", "source": { "type": "git", "url": "https://github.com/dompdf/php-svg-lib.git", - "reference": "76876c6cf3080bcb6f249d7d59705108166a6685" + "reference": "8a8a1ebcf6aea861ef30197999f096f7bd4b4456" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/76876c6cf3080bcb6f249d7d59705108166a6685", - "reference": "76876c6cf3080bcb6f249d7d59705108166a6685", + "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/8a8a1ebcf6aea861ef30197999f096f7bd4b4456", + "reference": "8a8a1ebcf6aea861ef30197999f096f7bd4b4456", "shasum": "" }, "require": { @@ -2512,9 +2510,9 @@ "homepage": "https://github.com/PhenX/php-svg-lib", "support": { "issues": "https://github.com/dompdf/php-svg-lib/issues", - "source": "https://github.com/dompdf/php-svg-lib/tree/0.5.0" + "source": "https://github.com/dompdf/php-svg-lib/tree/0.5.1" }, - "time": "2022-09-06T12:16:56+00:00" + "time": "2023-12-11T20:56:08+00:00" }, { "name": "phpoffice/phpspreadsheet", diff --git a/civicrm/ext/afform/admin/info.xml b/civicrm/ext/afform/admin/info.xml index 71d5289947306402c24e77229e37e815e9876f46..d64d84c9a6462544f6da154147a990d47199f4b8 100644 --- a/civicrm/ext/afform/admin/info.xml +++ b/civicrm/ext/afform/admin/info.xml @@ -12,8 +12,8 @@ <url desc="Chat">https://chat.civicrm.org/civicrm/channels/dev-afform</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>beta</develStage> <compatibility> <ver>5.68</ver> diff --git a/civicrm/ext/afform/core/info.xml b/civicrm/ext/afform/core/info.xml index f8ba60bb1067c7e5c7c3d90766845638770e203c..831e680fb91f2e8e147d2f4c0048e05aa9f9cfa1 100644 --- a/civicrm/ext/afform/core/info.xml +++ b/civicrm/ext/afform/core/info.xml @@ -12,8 +12,8 @@ <url desc="Chat">https://chat.civicrm.org/civicrm/channels/dev-afform</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <compatibility> <ver>5.68</ver> </compatibility> diff --git a/civicrm/ext/afform/html/info.xml b/civicrm/ext/afform/html/info.xml index 6a524d6f5564d7b04ab256046f0fdfb8508c2a5a..bba3589ed912f672f4738332d645391b977083df 100644 --- a/civicrm/ext/afform/html/info.xml +++ b/civicrm/ext/afform/html/info.xml @@ -12,8 +12,8 @@ <url desc="Chat">https://chat.civicrm.org/civicrm/channels/dev-afform</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>alpha</develStage> <compatibility> <ver>5.68</ver> diff --git a/civicrm/ext/afform/mock/info.xml b/civicrm/ext/afform/mock/info.xml index a563482cbb9165d4e7da3d73a60761c9445a5ca3..3de31089d805c0926b808fb48cea72c4744aaacb 100644 --- a/civicrm/ext/afform/mock/info.xml +++ b/civicrm/ext/afform/mock/info.xml @@ -11,8 +11,8 @@ <urls> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/authx/info.xml b/civicrm/ext/authx/info.xml index aa50793c74820f4cb6f7baed2444d1fcba8a85da..36b1865e747d556ecf0b0b547f452ea5ab27e3e9 100644 --- a/civicrm/ext/authx/info.xml +++ b/civicrm/ext/authx/info.xml @@ -14,8 +14,8 @@ <url desc="Issues">https://lab.civicrm.org/dev/core/-/issues</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <tags> <tag>mgmt:required</tag> diff --git a/civicrm/ext/civi_campaign/info.xml b/civicrm/ext/civi_campaign/info.xml index 48d7966f8af79109e86563c0d908a77db2d515da..0cc2591e2adb385faab597c9e08c16a3c787ce76 100644 --- a/civicrm/ext/civi_campaign/info.xml +++ b/civicrm/ext/civi_campaign/info.xml @@ -12,8 +12,8 @@ <url desc="Documentation">https://docs.civicrm.org/user/en/latest/campaign/what-is-civicampaign/</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <tags> <tag>component</tag> diff --git a/civicrm/ext/civi_case/info.xml b/civicrm/ext/civi_case/info.xml index 8ed73c3f98642a9989209f1c03e8fb50dea27e56..9f0fca3b2a736b4aa442f742635878413bc10d6d 100644 --- a/civicrm/ext/civi_case/info.xml +++ b/civicrm/ext/civi_case/info.xml @@ -12,8 +12,8 @@ <url desc="Documentation">https://docs.civicrm.org/user/en/latest/case-management/what-is-civicase/</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <tags> <tag>component</tag> diff --git a/civicrm/ext/civi_contribute/info.xml b/civicrm/ext/civi_contribute/info.xml index 3d9d3975e0be5ef7fdb829b4f4cacb37bef89472..b616f14fb2f6ba37321dac3f66e42ea08e354607 100644 --- a/civicrm/ext/civi_contribute/info.xml +++ b/civicrm/ext/civi_contribute/info.xml @@ -12,8 +12,8 @@ <url desc="Documentation">https://docs.civicrm.org/user/en/latest/contributions/what-is-civicontribute/</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <tags> <tag>component</tag> diff --git a/civicrm/ext/civi_event/info.xml b/civicrm/ext/civi_event/info.xml index bb331fbfd9530a3c26c07254a981ce480636088d..b0058f13758ea6f1bef82d43d13b798dd70ed86a 100644 --- a/civicrm/ext/civi_event/info.xml +++ b/civicrm/ext/civi_event/info.xml @@ -12,8 +12,8 @@ <url desc="Documentation">https://docs.civicrm.org/user/en/latest/events/what-is-civievent</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <tags> <tag>component</tag> diff --git a/civicrm/ext/civi_mail/info.xml b/civicrm/ext/civi_mail/info.xml index 6dc808b13419712e4e4e9565d1e656abb8e8d770..86977a7bbfc02899ccdd9f3d80ceb01f8ae4ec38 100644 --- a/civicrm/ext/civi_mail/info.xml +++ b/civicrm/ext/civi_mail/info.xml @@ -12,8 +12,8 @@ <url desc="Documentation">https://docs.civicrm.org/user/en/latest/email/what-is-civimail/</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <tags> <tag>component</tag> diff --git a/civicrm/ext/civi_member/info.xml b/civicrm/ext/civi_member/info.xml index 28f5705a35c524c663de9bd4c8034e9a8e3834fa..e766940f9a351061730f043b2e7eb22529fe1ce8 100644 --- a/civicrm/ext/civi_member/info.xml +++ b/civicrm/ext/civi_member/info.xml @@ -12,8 +12,8 @@ <url desc="Documentation">https://docs.civicrm.org/user/en/latest/membership/what-is-civimember/</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <tags> <tag>component</tag> diff --git a/civicrm/ext/civi_pledge/info.xml b/civicrm/ext/civi_pledge/info.xml index 79391ddf0d24a0282ee6481f66102515fd83ca4e..9a8b08d08cb631222b3cf4d63cf3c69b3c257fbd 100644 --- a/civicrm/ext/civi_pledge/info.xml +++ b/civicrm/ext/civi_pledge/info.xml @@ -12,8 +12,8 @@ <url desc="Documentation">https://docs.civicrm.org/user/en/latest/pledges/what-is-civipledge/</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <tags> <tag>component</tag> diff --git a/civicrm/ext/civi_report/info.xml b/civicrm/ext/civi_report/info.xml index e7fb0eb996f4c02793cc7c1f51c94fa8455063b0..e3f2a46abbc4e824d901277fcd03d30b4a2381de 100644 --- a/civicrm/ext/civi_report/info.xml +++ b/civicrm/ext/civi_report/info.xml @@ -12,8 +12,8 @@ <url desc="Documentation">https://docs.civicrm.org/user/en/latest/reporting/what-is-civireport/</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <tags> <tag>component</tag> diff --git a/civicrm/ext/civicrm_admin_ui/info.xml b/civicrm/ext/civicrm_admin_ui/info.xml index 8d7525d00f68baa6f37f43fe2d71d2c363508a4f..353ba929a3b2e0ee4bea3cf121e013076d8f0615 100644 --- a/civicrm/ext/civicrm_admin_ui/info.xml +++ b/civicrm/ext/civicrm_admin_ui/info.xml @@ -14,8 +14,8 @@ <url desc="Support">https://lab.civicrm.org/dev/core/-/issues</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>beta</develStage> <compatibility> <ver>5.68</ver> diff --git a/civicrm/ext/civicrm_search_ui/info.xml b/civicrm/ext/civicrm_search_ui/info.xml index c5921bd7da489c10edf4dbe02e0f2b73ad3b43f9..9298c5c6ab27dc2288454c34943e839417bc6d67 100644 --- a/civicrm/ext/civicrm_search_ui/info.xml +++ b/civicrm/ext/civicrm_search_ui/info.xml @@ -14,8 +14,8 @@ <url desc="Support">https://lab.civicrm.org/dev/core/-/issues</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>alpha</develStage> <requires> <ext>org.civicrm.search_kit</ext> diff --git a/civicrm/ext/civigrant/info.xml b/civicrm/ext/civigrant/info.xml index 5d7cb585451354b023891d7d931e0ef574537e6b..51dea4e4cd18fd7ff964bbca9701d7239c8a9966 100644 --- a/civicrm/ext/civigrant/info.xml +++ b/civicrm/ext/civigrant/info.xml @@ -12,8 +12,8 @@ <url desc="Documentation">https://docs.civicrm.org/user/en/latest/grants/what-is-civigrant/</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <compatibility> <ver>5.68</ver> diff --git a/civicrm/ext/civiimport/info.xml b/civicrm/ext/civiimport/info.xml index f6515e68d759d077a8a16264b078f6d30ca9a836..5b713ff9c52f524db806a0ae643b7209abe29f44 100644 --- a/civicrm/ext/civiimport/info.xml +++ b/civicrm/ext/civiimport/info.xml @@ -14,8 +14,8 @@ <url desc="Support">http://civicrm.org</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>alpha</develStage> <compatibility> <ver>5.68</ver> diff --git a/civicrm/ext/ckeditor4/info.xml b/civicrm/ext/ckeditor4/info.xml index 1ea33c848e5bd43a0ed8c7ec5d3ea4155fb1c9b8..08db56a95027a0118469ccfa8c2f5b191dc1c06d 100644 --- a/civicrm/ext/ckeditor4/info.xml +++ b/civicrm/ext/ckeditor4/info.xml @@ -14,8 +14,8 @@ <url desc="Support">https://github.com/civicrm/civicrm-core/</url> <url desc="Licensing">https://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <compatibility> <ver>5.68</ver> diff --git a/civicrm/ext/contributioncancelactions/info.xml b/civicrm/ext/contributioncancelactions/info.xml index b521ee7a285804aa490084bdb183ce3d70df51d8..9817a3518c639e2d1c5972c6ab5c942d6292e0b0 100644 --- a/civicrm/ext/contributioncancelactions/info.xml +++ b/civicrm/ext/contributioncancelactions/info.xml @@ -14,8 +14,8 @@ <url desc="Support">http://civicrm.org</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <compatibility> <ver>5.68</ver> diff --git a/civicrm/ext/elavon/info.xml b/civicrm/ext/elavon/info.xml index 0784e9e2444778165bd859675bab57ac47cfedb7..8ceee27585ef7c4c223c06cf6da534551b0698dc 100644 --- a/civicrm/ext/elavon/info.xml +++ b/civicrm/ext/elavon/info.xml @@ -14,8 +14,8 @@ <url desc="Support">https://lab.civicrm.org</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <compatibility> <ver>5.68</ver> diff --git a/civicrm/ext/eventcart/info.xml b/civicrm/ext/eventcart/info.xml index 5b907396e1e74035719fd3ee799b224e455a2368..18a5617c89b4874b4368ca88280135d5833b287a 100644 --- a/civicrm/ext/eventcart/info.xml +++ b/civicrm/ext/eventcart/info.xml @@ -12,8 +12,8 @@ <url desc="Main Extension Page">https://github.com/civicrm/civicrm-core/tree/master/ext/eventcart</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/ewaysingle/info.xml b/civicrm/ext/ewaysingle/info.xml index 8c83d9ecbbcba308beb57471d91e205466ba4f09..56239b8cbc416894dd67c4e8967fdfc14617a81d 100644 --- a/civicrm/ext/ewaysingle/info.xml +++ b/civicrm/ext/ewaysingle/info.xml @@ -14,8 +14,8 @@ <url desc="Support">https://github.com/civicrm/civicrm-core/blob/master/ext/ewaysingle</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/financialacls/info.xml b/civicrm/ext/financialacls/info.xml index 6124da07d4f08a9df7d468698bb025735cf2f644..68d7ed87fbb91c93d9da2912e7b1b09de18040e8 100644 --- a/civicrm/ext/financialacls/info.xml +++ b/civicrm/ext/financialacls/info.xml @@ -14,8 +14,8 @@ <url desc="Support">http://FIXME</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <compatibility> <ver>5.68</ver> diff --git a/civicrm/ext/flexmailer/info.xml b/civicrm/ext/flexmailer/info.xml index 1bdc772eb14159434f435436bf7b6dcd9a1073a0..ba6f1de750a16d9b78e6a3a06f8e0d309e0354c3 100644 --- a/civicrm/ext/flexmailer/info.xml +++ b/civicrm/ext/flexmailer/info.xml @@ -14,8 +14,8 @@ <url desc="Support">http://civicrm.stackexchange.com/</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <comments> FlexMailer is an email delivery engine which replaces the internal guts diff --git a/civicrm/ext/greenwich/info.xml b/civicrm/ext/greenwich/info.xml index 38d5d182de49466a33ca0f3b6f8e614fa0e2ff64..3dbd78797a936596e37266cfce7e589d3b6c2e8d 100644 --- a/civicrm/ext/greenwich/info.xml +++ b/civicrm/ext/greenwich/info.xml @@ -14,8 +14,8 @@ <url desc="Support">http://civicrm.org</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/legacycustomsearches/info.xml b/civicrm/ext/legacycustomsearches/info.xml index 3aba787a08c50465bd2143fa01d2399cff9e2623..63d16483e901c15a9ea3fa2697a16f606b3d4fe5 100644 --- a/civicrm/ext/legacycustomsearches/info.xml +++ b/civicrm/ext/legacycustomsearches/info.xml @@ -14,8 +14,8 @@ <url desc="Support">http://FIXME</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <compatibility> <ver>5.68</ver> diff --git a/civicrm/ext/message_admin/info.xml b/civicrm/ext/message_admin/info.xml index 7394a8acd023973cb28e219b830b12f170e5b7e0..d1339661163f5cce4a58782475522408ae0d4957 100644 --- a/civicrm/ext/message_admin/info.xml +++ b/civicrm/ext/message_admin/info.xml @@ -14,8 +14,8 @@ <url desc="Support">http://civicrm.org</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>alpha</develStage> <compatibility> <ver>5.68</ver> diff --git a/civicrm/ext/oauth-client/info.xml b/civicrm/ext/oauth-client/info.xml index 298dcefdd0b785a904433cb86e66f2c32d7f0363..84ca39e0c5ae21765d4eb23cdc1ef0d5b57560f7 100644 --- a/civicrm/ext/oauth-client/info.xml +++ b/civicrm/ext/oauth-client/info.xml @@ -14,8 +14,8 @@ <url desc="Support">https://lab.civicrm.org/dev/core/-/issues</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <compatibility> <ver>5.68</ver> diff --git a/civicrm/ext/payflowpro/info.xml b/civicrm/ext/payflowpro/info.xml index 9e5aa78821ae95bda315b96e5b5e075a03bf72f2..a90d69bb18ab2c268e177cb9318c7366083f274c 100644 --- a/civicrm/ext/payflowpro/info.xml +++ b/civicrm/ext/payflowpro/info.xml @@ -14,8 +14,8 @@ <url desc="Support">https://lab.civicrm.org</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <compatibility> <ver>5.68</ver> diff --git a/civicrm/ext/recaptcha/info.xml b/civicrm/ext/recaptcha/info.xml index 9489875fadebc5db8c1983b39588e79698b06fa6..4d008d4dfc4a5e5e5ea911cd009a5a3eacf25a56 100644 --- a/civicrm/ext/recaptcha/info.xml +++ b/civicrm/ext/recaptcha/info.xml @@ -12,8 +12,8 @@ <url desc="Main Extension Page">https://github.com/civicrm/civicrm-core/tree/master/ext/recaptcha</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/scheduled_communications/info.xml b/civicrm/ext/scheduled_communications/info.xml index 508b7ffb7b573261d084b5a0d609bf2aba52539f..c017b2bf5ce67316e6a758869716ab1241567197 100644 --- a/civicrm/ext/scheduled_communications/info.xml +++ b/civicrm/ext/scheduled_communications/info.xml @@ -12,8 +12,8 @@ <url desc="Chat">https://chat.civicrm.org/civicrm/channels/search-improvements</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>beta</develStage> <compatibility> <ver>5.68</ver> diff --git a/civicrm/ext/search_kit/info.xml b/civicrm/ext/search_kit/info.xml index b1280f7000e7de2728e749472b23fa412c8480ad..a11d088fb1db831406760689c96c6691094bd7ab 100644 --- a/civicrm/ext/search_kit/info.xml +++ b/civicrm/ext/search_kit/info.xml @@ -14,8 +14,8 @@ <url desc="Issues">https://lab.civicrm.org/dev/report/-/issues</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>stable</develStage> <tags> <tag>mgmt:required</tag> diff --git a/civicrm/ext/sequentialcreditnotes/info.xml b/civicrm/ext/sequentialcreditnotes/info.xml index 14bffbc677394ec17420cd5b200e8f0069e54f7a..dc945693dbc88d7d7043b1038a34135c6b65fb38 100644 --- a/civicrm/ext/sequentialcreditnotes/info.xml +++ b/civicrm/ext/sequentialcreditnotes/info.xml @@ -14,8 +14,8 @@ <url desc="Support">https://lab.civicrm.org/extensions/sequentialcreditnotes</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/standaloneusers/info.xml b/civicrm/ext/standaloneusers/info.xml index 07a87434b32ceeae328a9f9466292d3672024b1e..af1ab0711e07f45aeeed34c1248dcb59d8faf087 100644 --- a/civicrm/ext/standaloneusers/info.xml +++ b/civicrm/ext/standaloneusers/info.xml @@ -14,8 +14,8 @@ <url desc="Support">http://FIXME</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>alpha</develStage> <compatibility> <ver>5.68</ver> diff --git a/civicrm/ext/user_dashboard/info.xml b/civicrm/ext/user_dashboard/info.xml index e2690a85a179ef516147f9f6c875f88347618017..3a6b8f5c8f67f79e6f2d6c481ca7b4b0a6d2021d 100644 --- a/civicrm/ext/user_dashboard/info.xml +++ b/civicrm/ext/user_dashboard/info.xml @@ -14,8 +14,8 @@ <url desc="Support">http://FIXME</url> <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> - <releaseDate>2023-12-07</releaseDate> - <version>5.68.0</version> + <releaseDate>2023-12-30</releaseDate> + <version>5.68.1</version> <develStage>alpha</develStage> <compatibility> <ver>5.68</ver> diff --git a/civicrm/release-notes.md b/civicrm/release-notes.md index 4403e7ec6c65e49239e1c9e03d39c0186259d274..af8e8b6e15ede14cd9ae9791daa6c7cf7bf97d98 100644 --- a/civicrm/release-notes.md +++ b/civicrm/release-notes.md @@ -15,6 +15,15 @@ Other resources for identifying changes are: * https://github.com/civicrm/civicrm-joomla * https://github.com/civicrm/civicrm-wordpress +## CiviCRM 5.68.1 + +Released December 30, 2023 + +- **[Synopsis](release-notes/5.68.1.md#synopsis)** +- **[Bugs resolved](release-notes/5.68.1.md#bugs)** +- **[Credits](release-notes/5.68.1.md#credits)** +- **[Feedback](release-notes/5.68.1.md#feedback)** + ## CiviCRM 5.68.0 Released December 6, 2023 diff --git a/civicrm/release-notes/5.68.1.md b/civicrm/release-notes/5.68.1.md new file mode 100644 index 0000000000000000000000000000000000000000..1350b0f8c6f5d869ec55dc50bb96e84398ece15f --- /dev/null +++ b/civicrm/release-notes/5.68.1.md @@ -0,0 +1,41 @@ +# CiviCRM 5.68.1 + +Released December 30, 2023 + +- **[Synopsis](#synopsis)** +- **[Bugs resolved](#bugs)** +- **[Credits](#credits)** +- **[Feedback](#feedback)** + +## <a name="synopsis"></a>Synopsis + +| *Does this version...?* | | +| --------------------------------------------------------------- | -------- | +| Change the database schema? | no | +| Alter the API? | no | +| Require attention to configuration options? | no | +| Fix problems installing or upgrading to a previous version? | no | +| Introduce features? | no | +| **Fix bugs?** | **yes** | +| Fix security vulnerabilities? | no | + +## <a name="bugs"></a>Bugs resolved + +* **_CiviEvent_: iCalendar fails to generate due to timezone error ([#28709](https://github.com/civicrm/civicrm-core/pull/28709))** +* **_Edit Contact_: Fix new warning about "VALUES_SEPARATOR" ([#28611](https://github.com/civicrm/civicrm-core/pull/28611))** +* **_View Contact_: Notes do not display correctly ([dev/core#4852](https://lab.civicrm.org/dev/core/-/issues/4852): [#28614](https://github.com/civicrm/civicrm-core/pull/28614))** +* **_dompdf_: Update to v2.0.2 to v2.0.4 (with dependencies) ([#28643](https://github.com/civicrm/civicrm-core/pull/28643))** + +## <a name="credits"></a>Credits + +This release was developed by the following authors and reviewers: + +Wikimedia Foundation - Eileen McNaughton; Systopia - Johannes; Megaphone Technology +Consulting - Jon Goldberg; JMA Consulting - Seamus Lee; Dave D; CiviCRM - Tim Otten, +Coleman Watts + +## <a name="feedback"></a>Feedback + +These release notes are edited by Tim Otten and Andie Hunt. If you'd like to +provide feedback on them, please login to https://chat.civicrm.org/civicrm and +contact `@agh1`. diff --git a/civicrm/sql/civicrm_data.mysql b/civicrm/sql/civicrm_data.mysql index 1409daaf07968c37d92eeb8ddeed2cf967948f57..fb05e74e175a3973449885ca2254e0cb3d7c665d 100644 --- a/civicrm/sql/civicrm_data.mysql +++ b/civicrm/sql/civicrm_data.mysql @@ -23108,4 +23108,4 @@ INSERT INTO `civicrm_report_instance` ( `domain_id`, `title`, `report_id`, `description`, `permission`, `form_values`) VALUES ( @domainID, 'Survey Details', 'survey/detail', 'Detailed report for canvassing, phone-banking, walk lists or other surveys.', 'access CiviReport', 'a:39:{s:6:"fields";a:2:{s:9:"sort_name";s:1:"1";s:6:"result";s:1:"1";}s:22:"assignee_contact_id_op";s:2:"eq";s:25:"assignee_contact_id_value";s:0:"";s:12:"sort_name_op";s:3:"has";s:15:"sort_name_value";s:0:"";s:17:"street_number_min";s:0:"";s:17:"street_number_max";s:0:"";s:16:"street_number_op";s:3:"lte";s:19:"street_number_value";s:0:"";s:14:"street_name_op";s:3:"has";s:17:"street_name_value";s:0:"";s:15:"postal_code_min";s:0:"";s:15:"postal_code_max";s:0:"";s:14:"postal_code_op";s:3:"lte";s:17:"postal_code_value";s:0:"";s:7:"city_op";s:3:"has";s:10:"city_value";s:0:"";s:20:"state_province_id_op";s:2:"in";s:23:"state_province_id_value";a:0:{}s:13:"country_id_op";s:2:"in";s:16:"country_id_value";a:0:{}s:12:"survey_id_op";s:2:"in";s:15:"survey_id_value";a:0:{}s:12:"status_id_op";s:2:"eq";s:15:"status_id_value";s:1:"1";s:11:"custom_1_op";s:2:"in";s:14:"custom_1_value";a:0:{}s:11:"custom_2_op";s:2:"in";s:14:"custom_2_value";a:0:{}s:17:"custom_3_relative";s:1:"0";s:13:"custom_3_from";s:0:"";s:11:"custom_3_to";s:0:"";s:11:"description";s:75:"Detailed report for canvassing, phone-banking, walk lists or other surveys.";s:13:"email_subject";s:0:"";s:8:"email_to";s:0:"";s:8:"email_cc";s:0:"";s:10:"permission";s:17:"access CiviReport";s:6:"groups";s:0:"";s:9:"domain_id";i:1;}'); -UPDATE civicrm_domain SET version = '5.68.0'; +UPDATE civicrm_domain SET version = '5.68.1'; diff --git a/civicrm/sql/civicrm_generated.mysql b/civicrm/sql/civicrm_generated.mysql index a8088ebac8ba37a481993170b54ce59ab96d0c39..2345a0a1c1b4bea22be129d956e4cbea7f25efc0 100644 --- a/civicrm/sql/civicrm_generated.mysql +++ b/civicrm/sql/civicrm_generated.mysql @@ -2975,7 +2975,7 @@ UNLOCK TABLES; LOCK TABLES `civicrm_domain` WRITE; /*!40000 ALTER TABLE `civicrm_domain` DISABLE KEYS */; INSERT INTO `civicrm_domain` (`id`, `name`, `description`, `version`, `contact_id`, `locales`, `locale_custom_strings`) VALUES - (1,'Default Domain Name',NULL,'5.68.0',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}'); + (1,'Default Domain Name',NULL,'5.68.1',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}'); /*!40000 ALTER TABLE `civicrm_domain` ENABLE KEYS */; UNLOCK TABLES; diff --git a/civicrm/templates/CRM/Note/Form/Note.tpl b/civicrm/templates/CRM/Note/Form/Note.tpl index d458d25a95f012971f03f1774b1904e84a8b4405..b02126a44926fcbf832b2679357d4bdbd5c24ea5 100644 --- a/civicrm/templates/CRM/Note/Form/Note.tpl +++ b/civicrm/templates/CRM/Note/Form/Note.tpl @@ -7,8 +7,41 @@ | and copyright information, see https://civicrm.org/licensing | +--------------------------------------------------------------------+ *} +{* View action *} +{if ($action eq 4)} + <div class="crm-block crm-content-block crm-note-view-block"> + <table class="crm-info-panel"> + <tr><td class="label">{ts}Subject{/ts}</td><td>{$note.subject}</td></tr> + <tr><td class="label">{ts}Date:{/ts}</td><td>{$note.note_date|crmDate}</td></tr> + <tr><td class="label">{ts}Modified Date:{/ts}</td><td>{$note.modified_date|crmDate}</td></tr> + <tr><td class="label">{ts}Privacy:{/ts}</td><td>{$note.privacy}</td></tr> + <tr><td class="label">{ts}Note:{/ts}</td><td>{$note.note|nl2br}</td></tr> + + {if $currentAttachmentInfo} + {include file="CRM/Form/attachment.tpl"} + {/if} + </table> + <div class="crm-submit-buttons"> + {crmButton class="cancel" icon="times" p='civicrm/contact/view' q="selectedChild=note&reset=1&cid=`$note.entity_id`"}{ts}Done{/ts}{/crmButton} + </div> + + {if $comments} + <fieldset> + <legend>{ts}Comments{/ts}</legend> + <table class="display"> + <thead> + <tr><th>{ts}Comment{/ts}</th><th>{ts}Created By{/ts}</th><th>{ts}Date{/ts}</th><th>{ts}Modified Date{/ts}</th></tr> + </thead> + {foreach from=$comments item=comment} + <tr class="{cycle values='odd-row,even-row'}"><td>{$comment.note}</td><td>{$comment.createdBy}</td><td>{$comment.note_date}</td><td>{$comment.modified_date}</td></tr> + {/foreach} + </table> + </fieldset> + {/if} + + </div> {* Delete action *} -{if ($action eq 8)} +{elseif ($action eq 8)} <div class=status>{ts}Are you sure you want to delete this note?{/ts}</div> <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location=''}</div> {* Create/Update actions *} diff --git a/civicrm/vendor/autoload.php b/civicrm/vendor/autoload.php index d7f8e9f59f37245486b2d74203d13b7d1ae8af59..7fe1163c190128ceb257024542999c8f9dcd13c1 100644 --- a/civicrm/vendor/autoload.php +++ b/civicrm/vendor/autoload.php @@ -9,4 +9,4 @@ if (PHP_VERSION_ID < 50600) { require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInit7e131bfaa15ca0367c946ea14269f3cb::getLoader(); +return ComposerAutoloaderInit950b3ed6f0b1ecab18eb0dbdaefa6b56::getLoader(); diff --git a/civicrm/vendor/composer/autoload_real.php b/civicrm/vendor/composer/autoload_real.php index 20e36a6a983b9d57cbb4c94cb4b022fe0075bab3..0fe83035e69ef4ac6f65e0ecf1964627b4fb8678 100644 --- a/civicrm/vendor/composer/autoload_real.php +++ b/civicrm/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit7e131bfaa15ca0367c946ea14269f3cb +class ComposerAutoloaderInit950b3ed6f0b1ecab18eb0dbdaefa6b56 { private static $loader; @@ -24,22 +24,22 @@ class ComposerAutoloaderInit7e131bfaa15ca0367c946ea14269f3cb require __DIR__ . '/platform_check.php'; - spl_autoload_register(array('ComposerAutoloaderInit7e131bfaa15ca0367c946ea14269f3cb', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit950b3ed6f0b1ecab18eb0dbdaefa6b56', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); - spl_autoload_unregister(array('ComposerAutoloaderInit7e131bfaa15ca0367c946ea14269f3cb', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit950b3ed6f0b1ecab18eb0dbdaefa6b56', 'loadClassLoader')); $includePaths = require __DIR__ . '/include_paths.php'; $includePaths[] = get_include_path(); set_include_path(implode(PATH_SEPARATOR, $includePaths)); require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit950b3ed6f0b1ecab18eb0dbdaefa6b56::getInitializer($loader)); $loader->register(true); - $includeFiles = \Composer\Autoload\ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb::$files; + $includeFiles = \Composer\Autoload\ComposerStaticInit950b3ed6f0b1ecab18eb0dbdaefa6b56::$files; foreach ($includeFiles as $fileIdentifier => $file) { - composerRequire7e131bfaa15ca0367c946ea14269f3cb($fileIdentifier, $file); + composerRequire950b3ed6f0b1ecab18eb0dbdaefa6b56($fileIdentifier, $file); } return $loader; @@ -51,7 +51,7 @@ class ComposerAutoloaderInit7e131bfaa15ca0367c946ea14269f3cb * @param string $file * @return void */ -function composerRequire7e131bfaa15ca0367c946ea14269f3cb($fileIdentifier, $file) +function composerRequire950b3ed6f0b1ecab18eb0dbdaefa6b56($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; diff --git a/civicrm/vendor/composer/autoload_static.php b/civicrm/vendor/composer/autoload_static.php index 84556b530f86f6892d80e0586c83822bd61dd76e..c2de4f34d69454c34a00830bb5f24848fc97ac22 100644 --- a/civicrm/vendor/composer/autoload_static.php +++ b/civicrm/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb +class ComposerStaticInit950b3ed6f0b1ecab18eb0dbdaefa6b56 { public static $files = array ( 'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php', @@ -725,11 +725,11 @@ class ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb::$prefixDirsPsr4; - $loader->prefixesPsr0 = ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb::$prefixesPsr0; - $loader->fallbackDirsPsr0 = ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb::$fallbackDirsPsr0; - $loader->classMap = ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit950b3ed6f0b1ecab18eb0dbdaefa6b56::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit950b3ed6f0b1ecab18eb0dbdaefa6b56::$prefixDirsPsr4; + $loader->prefixesPsr0 = ComposerStaticInit950b3ed6f0b1ecab18eb0dbdaefa6b56::$prefixesPsr0; + $loader->fallbackDirsPsr0 = ComposerStaticInit950b3ed6f0b1ecab18eb0dbdaefa6b56::$fallbackDirsPsr0; + $loader->classMap = ComposerStaticInit950b3ed6f0b1ecab18eb0dbdaefa6b56::$classMap; }, null, ClassLoader::class); } diff --git a/civicrm/vendor/composer/installed.json b/civicrm/vendor/composer/installed.json index 6e8a6bf9e1c72f4d070d064ed2cc67358b3d378a..be1196ae0928c36ac9006acf7450abac4b746c4d 100644 --- a/civicrm/vendor/composer/installed.json +++ b/civicrm/vendor/composer/installed.json @@ -514,17 +514,17 @@ }, { "name": "dompdf/dompdf", - "version": "v2.0.3", - "version_normalized": "2.0.3.0", + "version": "v2.0.4", + "version_normalized": "2.0.4.0", "source": { "type": "git", "url": "https://github.com/dompdf/dompdf.git", - "reference": "e8d2d5e37e8b0b30f0732a011295ab80680d7e85" + "reference": "093f2d9739cec57428e39ddadedfd4f3ae862c0f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dompdf/dompdf/zipball/e8d2d5e37e8b0b30f0732a011295ab80680d7e85", - "reference": "e8d2d5e37e8b0b30f0732a011295ab80680d7e85", + "url": "https://api.github.com/repos/dompdf/dompdf/zipball/093f2d9739cec57428e39ddadedfd4f3ae862c0f", + "reference": "093f2d9739cec57428e39ddadedfd4f3ae862c0f", "shasum": "" }, "require": { @@ -548,7 +548,7 @@ "ext-imagick": "Improves image processing performance", "ext-zlib": "Needed for pdf stream compression" }, - "time": "2023-02-07T12:51:48+00:00", + "time": "2023-12-12T20:19:39+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -573,7 +573,7 @@ "homepage": "https://github.com/dompdf/dompdf", "support": { "issues": "https://github.com/dompdf/dompdf/issues", - "source": "https://github.com/dompdf/dompdf/tree/v2.0.3" + "source": "https://github.com/dompdf/dompdf/tree/v2.0.4" }, "install-path": "../dompdf/dompdf" }, @@ -1661,29 +1661,27 @@ }, { "name": "masterminds/html5", - "version": "2.7.6", - "version_normalized": "2.7.6.0", + "version": "2.8.1", + "version_normalized": "2.8.1.0", "source": { "type": "git", "url": "https://github.com/Masterminds/html5-php.git", - "reference": "897eb517a343a2281f11bc5556d6548db7d93947" + "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/897eb517a343a2281f11bc5556d6548db7d93947", - "reference": "897eb517a343a2281f11bc5556d6548db7d93947", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f47dcf3c70c584de14f21143c55d9939631bc6cf", + "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf", "shasum": "" }, "require": { - "ext-ctype": "*", "ext-dom": "*", - "ext-libxml": "*", "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7" + "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8" }, - "time": "2022-08-18T16:18:26+00:00", + "time": "2023-05-10T11:58:31+00:00", "type": "library", "extra": { "branch-alias": { @@ -1727,7 +1725,7 @@ ], "support": { "issues": "https://github.com/Masterminds/html5-php/issues", - "source": "https://github.com/Masterminds/html5-php/tree/2.7.6" + "source": "https://github.com/Masterminds/html5-php/tree/2.8.1" }, "install-path": "../masterminds/html5" }, @@ -2619,17 +2617,17 @@ }, { "name": "phenx/php-svg-lib", - "version": "0.5.0", - "version_normalized": "0.5.0.0", + "version": "0.5.1", + "version_normalized": "0.5.1.0", "source": { "type": "git", "url": "https://github.com/dompdf/php-svg-lib.git", - "reference": "76876c6cf3080bcb6f249d7d59705108166a6685" + "reference": "8a8a1ebcf6aea861ef30197999f096f7bd4b4456" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/76876c6cf3080bcb6f249d7d59705108166a6685", - "reference": "76876c6cf3080bcb6f249d7d59705108166a6685", + "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/8a8a1ebcf6aea861ef30197999f096f7bd4b4456", + "reference": "8a8a1ebcf6aea861ef30197999f096f7bd4b4456", "shasum": "" }, "require": { @@ -2640,7 +2638,7 @@ "require-dev": { "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5" }, - "time": "2022-09-06T12:16:56+00:00", + "time": "2023-12-11T20:56:08+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -2662,7 +2660,7 @@ "homepage": "https://github.com/PhenX/php-svg-lib", "support": { "issues": "https://github.com/dompdf/php-svg-lib/issues", - "source": "https://github.com/dompdf/php-svg-lib/tree/0.5.0" + "source": "https://github.com/dompdf/php-svg-lib/tree/0.5.1" }, "install-path": "../phenx/php-svg-lib" }, diff --git a/civicrm/vendor/composer/installed.php b/civicrm/vendor/composer/installed.php index 59aa9b21e93fc4ca236cfe31fa2dc012b9a5bdc2..2302ab5f8bd3bffa8dc2ff4f02dfff1230878a30 100644 --- a/civicrm/vendor/composer/installed.php +++ b/civicrm/vendor/composer/installed.php @@ -3,7 +3,7 @@ 'name' => 'civicrm/civicrm-core', 'pretty_version' => '5.68.x-dev', 'version' => '5.68.9999999.9999999-dev', - 'reference' => '8a55d28fd045ac640eaa5fc32b2b1441f92fe4b9', + 'reference' => 'fca30dd508a215b3728b2da8bfe214c9547f99b5', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -40,7 +40,7 @@ 'civicrm/civicrm-core' => array( 'pretty_version' => '5.68.x-dev', 'version' => '5.68.9999999.9999999-dev', - 'reference' => '8a55d28fd045ac640eaa5fc32b2b1441f92fe4b9', + 'reference' => 'fca30dd508a215b3728b2da8bfe214c9547f99b5', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -101,9 +101,9 @@ 'dev_requirement' => false, ), 'dompdf/dompdf' => array( - 'pretty_version' => 'v2.0.3', - 'version' => '2.0.3.0', - 'reference' => 'e8d2d5e37e8b0b30f0732a011295ab80680d7e85', + 'pretty_version' => 'v2.0.4', + 'version' => '2.0.4.0', + 'reference' => '093f2d9739cec57428e39ddadedfd4f3ae862c0f', 'type' => 'library', 'install_path' => __DIR__ . '/../dompdf/dompdf', 'aliases' => array(), @@ -242,9 +242,9 @@ 'dev_requirement' => false, ), 'masterminds/html5' => array( - 'pretty_version' => '2.7.6', - 'version' => '2.7.6.0', - 'reference' => '897eb517a343a2281f11bc5556d6548db7d93947', + 'pretty_version' => '2.8.1', + 'version' => '2.8.1.0', + 'reference' => 'f47dcf3c70c584de14f21143c55d9939631bc6cf', 'type' => 'library', 'install_path' => __DIR__ . '/../masterminds/html5', 'aliases' => array(), @@ -386,9 +386,9 @@ 'dev_requirement' => false, ), 'phenx/php-svg-lib' => array( - 'pretty_version' => '0.5.0', - 'version' => '0.5.0.0', - 'reference' => '76876c6cf3080bcb6f249d7d59705108166a6685', + 'pretty_version' => '0.5.1', + 'version' => '0.5.1.0', + 'reference' => '8a8a1ebcf6aea861ef30197999f096f7bd4b4456', 'type' => 'library', 'install_path' => __DIR__ . '/../phenx/php-svg-lib', 'aliases' => array(), diff --git a/civicrm/vendor/dompdf/dompdf/VERSION b/civicrm/vendor/dompdf/dompdf/VERSION index 50ffc5aa7f69fa0ffc74a36d81ac05273e116308..2165f8f9b6a830a9d8dd3d2857d7fb86eba1d250 100644 --- a/civicrm/vendor/dompdf/dompdf/VERSION +++ b/civicrm/vendor/dompdf/dompdf/VERSION @@ -1 +1 @@ -2.0.3 +2.0.4 diff --git a/civicrm/vendor/dompdf/dompdf/src/Image/Cache.php b/civicrm/vendor/dompdf/dompdf/src/Image/Cache.php index 8e36aa2b7cb55b5eb8e6d31569605c0f5f73258d..b3e1d0e9ea5c2f656c3553d7e1298a6fbbd9a8af 100644 --- a/civicrm/vendor/dompdf/dompdf/src/Image/Cache.php +++ b/civicrm/vendor/dompdf/dompdf/src/Image/Cache.php @@ -31,6 +31,14 @@ class Cache */ protected static $tempImages = []; + /** + * Array of image references from an SVG document. + * Used to detect circular references across SVG documents. + * + * @var array + */ + protected static $svgRefs = []; + /** * The url to the "broken image" used when images can't be loaded * @@ -134,20 +142,28 @@ class Cache $parser, function ($parser, $name, $attributes) use ($options, $parsed_url, $full_url) { if (strtolower($name) === "image") { + if (!\array_key_exists($full_url, self::$svgRefs)) { + self::$svgRefs[$full_url] = []; + } $attributes = array_change_key_case($attributes, CASE_LOWER); $urls = []; $urls[] = $attributes["xlink:href"] ?? ""; $urls[] = $attributes["href"] ?? ""; foreach ($urls as $url) { - if (!empty($url)) { - $inner_full_url = Helpers::build_url($parsed_url["protocol"], $parsed_url["host"], $parsed_url["path"], $url); - if ($inner_full_url === $full_url) { - throw new ImageException("SVG self-reference is not allowed", E_WARNING); - } - [$resolved_url, $type, $message] = self::resolve_url($url, $parsed_url["protocol"], $parsed_url["host"], $parsed_url["path"], $options); - if (!empty($message)) { - throw new ImageException("This SVG document references a restricted resource. $message", E_WARNING); - } + if (empty($url)) { + continue; + } + + $inner_full_url = Helpers::build_url($parsed_url["protocol"], $parsed_url["host"], $parsed_url["path"], $url); + if (empty($inner_full_url)) { + continue; + } + + self::detectCircularRef($full_url, $inner_full_url); + self::$svgRefs[$full_url][] = $inner_full_url; + [$resolved_url, $type, $message] = self::resolve_url($url, $parsed_url["protocol"], $parsed_url["host"], $parsed_url["path"], $options); + if (!empty($message)) { + throw new ImageException("This SVG document references a restricted resource. $message", E_WARNING); } } } @@ -178,6 +194,19 @@ class Cache return [$resolved_url, $type, $message]; } + static function detectCircularRef(string $src, string $target) + { + if (!\array_key_exists($target, self::$svgRefs)) { + return; + } + foreach (self::$svgRefs[$target] as $ref) { + if ($ref === $src) { + throw new ImageException("Circular external SVG image reference detected.", E_WARNING); + } + self::detectCircularRef($src, $ref); + } + } + /** * Register a temp file for the given original image file. * @@ -239,6 +268,7 @@ class Cache self::$_cache = []; self::$tempImages = []; + self::$svgRefs = []; } static function detect_type($file, $context = null) diff --git a/civicrm/vendor/masterminds/html5/README.md b/civicrm/vendor/masterminds/html5/README.md index b1ca1e37158eb0f84644abc65dee953716ab81d4..e80dec5075c0e35946d5c5ef07bcd313433dc552 100644 --- a/civicrm/vendor/masterminds/html5/README.md +++ b/civicrm/vendor/masterminds/html5/README.md @@ -189,7 +189,7 @@ issues known issues that are not presently on the roadmap: - Scripts: This parser does not contain a JavaScript or a CSS interpreter. While one may be supplied, not all features will be supported. -- Rentrance: The current parser is not re-entrant. (Thus you can't pause +- Reentrance: The current parser is not re-entrant. (Thus you can't pause the parser to modify the HTML string mid-parse.) - Validation: The current tree builder is **not** a validating parser. While it will correct some HTML, it does not check that the HTML diff --git a/civicrm/vendor/masterminds/html5/composer.json b/civicrm/vendor/masterminds/html5/composer.json index fb7674e05d30d794849ba15caf8755e2f760744c..69f5da041b988413a032dfea629cfb14153bef4a 100644 --- a/civicrm/vendor/masterminds/html5/composer.json +++ b/civicrm/vendor/masterminds/html5/composer.json @@ -20,13 +20,11 @@ } ], "require" : { - "ext-ctype": "*", "ext-dom": "*", - "ext-libxml" : "*", "php" : ">=5.3.0" }, "require-dev": { - "phpunit/phpunit" : "^4.8.35 || ^5.7.21 || ^6 || ^7" + "phpunit/phpunit" : "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8" }, "autoload": { "psr-4": {"Masterminds\\": "src"} diff --git a/civicrm/vendor/masterminds/html5/src/HTML5/Elements.php b/civicrm/vendor/masterminds/html5/src/HTML5/Elements.php index 8fe798789e8d2c61844e52246e03361a19915cdf..1632dcfec7e31cdd1f420f427264a79dcfe42c54 100644 --- a/civicrm/vendor/masterminds/html5/src/HTML5/Elements.php +++ b/civicrm/vendor/masterminds/html5/src/HTML5/Elements.php @@ -185,7 +185,7 @@ class Elements 'u' => 1, 'ul' => 81, // NORMAL | AUTOCLOSE_P | BLOCK_TAG 'var' => 1, - 'video' => 65, // NORMAL | BLOCK_TAG + 'video' => 1, 'wbr' => 9, // NORMAL | VOID_TAG // Legacy? diff --git a/civicrm/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php b/civicrm/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php index 016919ae2b9994f0de58942d1219c3688553a1d4..e8b4aa09804f45d5ae9ec5bb1963a694bf5c94d9 100644 --- a/civicrm/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php +++ b/civicrm/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php @@ -131,13 +131,16 @@ class Tokenizer $tok = $this->scanner->next(); - if ('!' === $tok) { + if (false === $tok) { + // end of string + $this->parseError('Illegal tag opening'); + } elseif ('!' === $tok) { $this->markupDeclaration(); } elseif ('/' === $tok) { $this->endTag(); } elseif ('?' === $tok) { $this->processingInstruction(); - } elseif (ctype_alpha($tok)) { + } elseif ($this->is_alpha($tok)) { $this->tagName(); } else { $this->parseError('Illegal tag opening'); @@ -347,7 +350,7 @@ class Tokenizer // > -> parse error // EOF -> parse error // -> parse error - if (!ctype_alpha($tok)) { + if (!$this->is_alpha($tok)) { $this->parseError("Expected tag name, got '%s'", $tok); if ("\0" == $tok || false === $tok) { return false; @@ -1194,4 +1197,18 @@ class Tokenizer return '&'; } + + /** + * Checks whether a (single-byte) character is an ASCII letter or not. + * + * @param string $input A single-byte string + * + * @return bool True if it is a letter, False otherwise + */ + protected function is_alpha($input) + { + $code = ord($input); + + return ($code >= 97 && $code <= 122) || ($code >= 65 && $code <= 90); + } } diff --git a/civicrm/vendor/masterminds/html5/src/HTML5/Parser/UTF8Utils.php b/civicrm/vendor/masterminds/html5/src/HTML5/Parser/UTF8Utils.php index f6a70bfacea91b568d91a912f67005048f7c4bf7..4405e4cc0da11775aea2aeb396019cbd8ed65b2d 100644 --- a/civicrm/vendor/masterminds/html5/src/HTML5/Parser/UTF8Utils.php +++ b/civicrm/vendor/masterminds/html5/src/HTML5/Parser/UTF8Utils.php @@ -38,7 +38,7 @@ class UTF8Utils /** * Count the number of characters in a string. - * UTF-8 aware. This will try (in order) iconv, MB, libxml, and finally a custom counter. + * UTF-8 aware. This will try (in order) iconv, MB, and finally a custom counter. * * @param string $string * @@ -55,12 +55,6 @@ class UTF8Utils return iconv_strlen($string, 'utf-8'); } - if (function_exists('utf8_decode')) { - // MPB: Will this work? Won't certain decodes lead to two chars - // extrapolated out of 2-byte chars? - return strlen(utf8_decode($string)); - } - $count = count_chars($string); // 0x80 = 0x7F - 0 + 1 (one added to get inclusive range) diff --git a/civicrm/vendor/phenx/php-svg-lib/SECURITY.md b/civicrm/vendor/phenx/php-svg-lib/SECURITY.md new file mode 100644 index 0000000000000000000000000000000000000000..af4afc0695de1aa81b04919ee5adcfbf7ffe55cb --- /dev/null +++ b/civicrm/vendor/phenx/php-svg-lib/SECURITY.md @@ -0,0 +1,16 @@ +# Security Policy + +## Supported Versions + +Because of limited resources and general compatibility +between versions only the [latest release](https://github.com/dompdf/php-svg-lib/releases) of Dompdf +is actively supported. + +## Reporting a Vulnerability + +In order to give the community time to respond and patch +we strongly urge you report all security issues privately. +New vulnerabilities can be reported through the GitHub +[Security Advisories](https://github.com/dompdf/php-svg-lib/security/advisories) +feature. If you have any questions email us at security@dompdf.org and +we will respond ASAP. diff --git a/civicrm/vendor/phenx/php-svg-lib/src/Svg/Document.php b/civicrm/vendor/phenx/php-svg-lib/src/Svg/Document.php index 4de226e705e05b51694fff86d98caebf9cb8aa3e..309875b6154a6f6b5f02cb3e1f2692a95ff2a050 100644 --- a/civicrm/vendor/phenx/php-svg-lib/src/Svg/Document.php +++ b/civicrm/vendor/phenx/php-svg-lib/src/Svg/Document.php @@ -53,6 +53,8 @@ class Document extends AbstractTag /** @var \Sabberworm\CSS\CSSList\Document[] */ protected $styleSheets = array(); + public $allowExternalReferences = true; + public function loadFile($filename) { $this->filename = $filename; diff --git a/civicrm/vendor/phenx/php-svg-lib/src/Svg/Style.php b/civicrm/vendor/phenx/php-svg-lib/src/Svg/Style.php index 14b11e902958bcc2a0cc285f29ee9605833b9c39..514f54629aa50bff99391e2c7f374948de9e1c3b 100644 --- a/civicrm/vendor/phenx/php-svg-lib/src/Svg/Style.php +++ b/civicrm/vendor/phenx/php-svg-lib/src/Svg/Style.php @@ -139,6 +139,16 @@ class Style break; } } + + if ( + \array_key_exists("font-family", $styles) + && ( + \strtolower(\substr($this->href, 0, 7)) === "phar://" + || ($this->document->allowExternalReferences === false && \strtolower(\substr($this->href, 0, 5)) !== "data:") + ) + ) { + unset($style["font-family"]); + } } } diff --git a/civicrm/vendor/phenx/php-svg-lib/src/Svg/Tag/Image.php b/civicrm/vendor/phenx/php-svg-lib/src/Svg/Tag/Image.php index bda17ea314227fbecd1644ab64bf4457367658b8..8cbfccd89c7f8ba20ddc836744c11af7f8715882 100644 --- a/civicrm/vendor/phenx/php-svg-lib/src/Svg/Tag/Image.php +++ b/civicrm/vendor/phenx/php-svg-lib/src/Svg/Tag/Image.php @@ -58,6 +58,10 @@ class Image extends AbstractTag $this->document->getSurface()->transform(1, 0, 0, -1, 0, $height); + if (\strtolower(\substr($this->href, 0, 7)) === "phar://" || ($this->document->allowExternalReferences === false && \strtolower(\substr($this->href, 0, 5) !== "data:"))) { + return; + } + $this->document->getSurface()->drawImage($this->href, $this->x, $this->y, $this->width, $this->height); } diff --git a/civicrm/vendor/phenx/php-svg-lib/src/Svg/Tag/UseTag.php b/civicrm/vendor/phenx/php-svg-lib/src/Svg/Tag/UseTag.php index c5f00ea9d3574cc2290095cb162de44badef71fd..9e71d59d77ef11667470da29228d5760a8c8d59c 100644 --- a/civicrm/vendor/phenx/php-svg-lib/src/Svg/Tag/UseTag.php +++ b/civicrm/vendor/phenx/php-svg-lib/src/Svg/Tag/UseTag.php @@ -14,12 +14,19 @@ class UseTag extends AbstractTag protected $y = 0; protected $width; protected $height; + protected $instances = 0; /** @var AbstractTag */ protected $reference; protected function before($attributes) { + $this->instances++; + if ($this->instances > 1) { + //TODO: log circular reference error state + return; + } + if (isset($attributes['x'])) { $this->x = $attributes['x']; } @@ -52,6 +59,9 @@ class UseTag extends AbstractTag } protected function after() { + if ($this->instances > 0) { + return; + } parent::after(); if ($this->reference) { @@ -63,6 +73,11 @@ class UseTag extends AbstractTag public function handle($attributes) { + if ($this->instances > 1) { + //TODO: log circular reference error state + return; + } + parent::handle($attributes); if (!$this->reference) { @@ -70,7 +85,7 @@ class UseTag extends AbstractTag } $mergedAttributes = $this->reference->attributes; - $attributesToNotMerge = ['x', 'y', 'width', 'height']; + $attributesToNotMerge = ['x', 'y', 'width', 'height', 'href', 'xlink:href', 'id']; foreach ($attributes as $attrKey => $attrVal) { if (!in_array($attrKey, $attributesToNotMerge) && !isset($mergedAttributes[$attrKey])) { $mergedAttributes[$attrKey] = $attrVal; @@ -87,6 +102,11 @@ class UseTag extends AbstractTag public function handleEnd() { + $this->instances--; + if ($this->instances > 0) { + return; + } + parent::handleEnd(); if (!$this->reference) { diff --git a/civicrm/xml/version.xml b/civicrm/xml/version.xml index 0cd863821af3754ccf263b31be57244c215a7cc3..e832cab15198e7a0510cd88a62a178de4e62a1ac 100644 --- a/civicrm/xml/version.xml +++ b/civicrm/xml/version.xml @@ -1,4 +1,4 @@ <?xml version="1.0" encoding="iso-8859-1" ?> <version> - <version_no>5.68.0</version_no> + <version_no>5.68.1</version_no> </version>