diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md index 93371ef5..7819536e 100644 --- a/DEPENDENCIES.md +++ b/DEPENDENCIES.md @@ -39,8 +39,6 @@ Javascript dependencies: ([MIT License](https://github.com/rollup/rollup/blob/master/LICENSE.md)) - [tailwindcss](https://tailwindcss.com/) ([MIT License](https://github.com/tailwindcss/tailwindcss/blob/master/LICENSE)) -- [ProseMirror](https://prosemirror.net/) - ([MIT License](https://github.com/ProseMirror/prosemirror/blob/master/LICENSE)) - [amCharts 4](https://github.com/amcharts/amcharts4) ([Free amCharts license](https://github.com/amcharts/amcharts4/blob/master/dist/script/LICENSE)) - [Choices.js](https://joshuajohnson.co.uk/Choices/) diff --git a/app/Helpers/form_helper.php b/app/Helpers/form_helper.php index e80bfd40..49eb5802 100644 --- a/app/Helpers/form_helper.php +++ b/app/Helpers/form_helper.php @@ -226,7 +226,8 @@ if (! function_exists('form_dropdown')) { } $form .= "\n"; } else { - $form .= '\n"; } diff --git a/app/Helpers/rss_helper.php b/app/Helpers/rss_helper.php index 8ef68192..764c3bf3 100644 --- a/app/Helpers/rss_helper.php +++ b/app/Helpers/rss_helper.php @@ -51,7 +51,7 @@ if (! function_exists('get_rss_feed')) { $channel->addChild('docs', 'https://cyber.harvard.edu/rss/rss.html'); $channel->addChild('guid', $podcast->guid, $podcastNamespace); - $channel->addChild('title', $podcast->title); + $channel->addChild('title', $podcast->title, null, false); $channel->addChildWithCDATA('description', $podcast->description_html); $itunesImage = $channel->addChild('image', null, $itunesNamespace); @@ -189,7 +189,7 @@ if (! function_exists('get_rss_feed')) { $image = $channel->addChild('image'); $image->addChild('url', $podcast->image->feed_url); - $image->addChild('title', $podcast->title); + $image->addChild('title', $podcast->title, null, false); $image->addChild('link', $podcast->link); if ($podcast->custom_rss !== null) { @@ -200,7 +200,7 @@ if (! function_exists('get_rss_feed')) { foreach ($episodes as $episode) { $item = $channel->addChild('item'); - $item->addChild('title', $episode->title); + $item->addChild('title', $episode->title, null, false); $enclosure = $item->addChild('enclosure'); $enclosure->addAttribute( diff --git a/app/Libraries/SimpleRSSElement.php b/app/Libraries/SimpleRSSElement.php index 84944700..8378c052 100644 --- a/app/Libraries/SimpleRSSElement.php +++ b/app/Libraries/SimpleRSSElement.php @@ -29,8 +29,12 @@ class SimpleRSSElement extends SimpleXMLElement if ($newChild !== null) { $node = dom_import_simplexml($newChild); - $no = $node->ownerDocument; - $node->appendChild($no->createCDATASection($value)); + if ($node !== null) { + $no = $node->ownerDocument; + if ($no !== null) { + $node->appendChild($no->createCDATASection($value)); + } + } } return $newChild; @@ -43,17 +47,29 @@ class SimpleRSSElement extends SimpleXMLElement * @param string $name — The name of the child element to add. * @param string $value — [optional] If specified, the value of the child element. * @param string $namespace [optional] If specified, the namespace to which the child element belongs. + * @param boolean $escape [optional] The value is escaped by default, can be set to false. * * @return static The addChild method returns a SimpleXMLElement object representing the child added to the XML node. */ - public function addChild($name, $value = null, $namespace = null) + public function addChild($name, $value = null, $namespace = null, $escape = true) { $newChild = parent::addChild($name, '', $namespace); if ($newChild !== null) { $node = dom_import_simplexml($newChild); - $no = $node->ownerDocument; - $node->appendChild($no->createTextNode((string) esc($value))); + if ($node !== null) { + $no = $node->ownerDocument; + $value = $escape ? esc($value ?? '') : $value ?? ''; + if ($no === null) { + return $newChild; + } + if (is_array($value)) { + return $newChild; + } + /** @noRector RecastingRemovalRector */ + $node->appendChild($no->createTextNode((string) $value)); + return $newChild; + } } return $newChild; diff --git a/app/Resources/js/typings.d.ts b/app/Resources/js/typings.d.ts index fe9d4f51..f850e707 100644 --- a/app/Resources/js/typings.d.ts +++ b/app/Resources/js/typings.d.ts @@ -1,3 +1 @@ -declare module "prosemirror-markdown"; -declare module "prosemirror-example-setup"; declare module "leaflet.markercluster"; diff --git a/app/Resources/types/js/admin.d.ts b/app/Resources/types/js/admin.d.ts deleted file mode 100644 index 4efc2a2c..00000000 --- a/app/Resources/types/js/admin.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import "@github/markdown-toolbar-element"; -import "./modules/markdown-preview"; -import "./modules/markdown-write-preview"; diff --git a/app/Resources/types/js/charts.d.ts b/app/Resources/types/js/charts.d.ts deleted file mode 100644 index c3fee8a1..00000000 --- a/app/Resources/types/js/charts.d.ts +++ /dev/null @@ -1 +0,0 @@ -import "core-js"; diff --git a/app/Resources/types/js/install.d.ts b/app/Resources/types/js/install.d.ts deleted file mode 100644 index cb0ff5c3..00000000 --- a/app/Resources/types/js/install.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/app/Resources/types/js/map.d.ts b/app/Resources/types/js/map.d.ts deleted file mode 100644 index c3fee8a1..00000000 --- a/app/Resources/types/js/map.d.ts +++ /dev/null @@ -1 +0,0 @@ -import "core-js"; diff --git a/app/Resources/types/js/modules/Charts.d.ts b/app/Resources/types/js/modules/Charts.d.ts deleted file mode 100644 index 2e5108cf..00000000 --- a/app/Resources/types/js/modules/Charts.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const DrawCharts: () => void; -export default DrawCharts; diff --git a/app/Resources/types/js/modules/ClientTimezone.d.ts b/app/Resources/types/js/modules/ClientTimezone.d.ts deleted file mode 100644 index 34444632..00000000 --- a/app/Resources/types/js/modules/ClientTimezone.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const ClientTimezone: () => void; -export default ClientTimezone; diff --git a/app/Resources/types/js/modules/Clipboard.d.ts b/app/Resources/types/js/modules/Clipboard.d.ts deleted file mode 100644 index 9500a96e..00000000 --- a/app/Resources/types/js/modules/Clipboard.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const Clipboard: () => void; -export default Clipboard; diff --git a/app/Resources/types/js/modules/DateTimePicker.d.ts b/app/Resources/types/js/modules/DateTimePicker.d.ts deleted file mode 100644 index 9612d403..00000000 --- a/app/Resources/types/js/modules/DateTimePicker.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import "flatpickr/dist/flatpickr.min.css"; -declare const DateTimePicker: () => void; -export default DateTimePicker; diff --git a/app/Resources/types/js/modules/Dropdown.d.ts b/app/Resources/types/js/modules/Dropdown.d.ts deleted file mode 100644 index 5395e564..00000000 --- a/app/Resources/types/js/modules/Dropdown.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const Dropdown: () => void; -export default Dropdown; diff --git a/app/Resources/types/js/modules/EpisodesMap.d.ts b/app/Resources/types/js/modules/EpisodesMap.d.ts deleted file mode 100644 index 67f900a5..00000000 --- a/app/Resources/types/js/modules/EpisodesMap.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import "leaflet.markercluster/dist/MarkerCluster.css"; -import "leaflet.markercluster/dist/MarkerCluster.Default.css"; -import "leaflet/dist/leaflet.css"; -declare const DrawEpisodesMaps: () => void; -export default DrawEpisodesMaps; diff --git a/app/Resources/types/js/modules/Map.d.ts b/app/Resources/types/js/modules/Map.d.ts deleted file mode 100644 index 4fe78599..00000000 --- a/app/Resources/types/js/modules/Map.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const DrawMaps: () => void; -export default DrawMaps; diff --git a/app/Resources/types/js/modules/Modal.d.ts b/app/Resources/types/js/modules/Modal.d.ts deleted file mode 100644 index 99d06ce4..00000000 --- a/app/Resources/types/js/modules/Modal.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const Modal: () => void; -export default Modal; diff --git a/app/Resources/types/js/modules/MultiSelect.d.ts b/app/Resources/types/js/modules/MultiSelect.d.ts deleted file mode 100644 index 0f708a24..00000000 --- a/app/Resources/types/js/modules/MultiSelect.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const MultiSelect: () => void; -export default MultiSelect; diff --git a/app/Resources/types/js/modules/PublishMessageWarning.d.ts b/app/Resources/types/js/modules/PublishMessageWarning.d.ts deleted file mode 100644 index c9a7b80f..00000000 --- a/app/Resources/types/js/modules/PublishMessageWarning.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const PublishMessageWarning: () => void; -export default PublishMessageWarning; diff --git a/app/Resources/types/js/modules/Select.d.ts b/app/Resources/types/js/modules/Select.d.ts deleted file mode 100644 index a1bd61c8..00000000 --- a/app/Resources/types/js/modules/Select.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const Select: () => void; -export default Select; diff --git a/app/Resources/types/js/modules/SidebarToggler.d.ts b/app/Resources/types/js/modules/SidebarToggler.d.ts deleted file mode 100644 index 53739967..00000000 --- a/app/Resources/types/js/modules/SidebarToggler.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const SidebarToggler: () => void; -export default SidebarToggler; diff --git a/app/Resources/types/js/modules/Slugify.d.ts b/app/Resources/types/js/modules/Slugify.d.ts deleted file mode 100644 index 532945fd..00000000 --- a/app/Resources/types/js/modules/Slugify.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const Slugify: () => void; -export default Slugify; diff --git a/app/Resources/types/js/modules/Soundbites.d.ts b/app/Resources/types/js/modules/Soundbites.d.ts deleted file mode 100644 index b35a4256..00000000 --- a/app/Resources/types/js/modules/Soundbites.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const Soundbites: () => void; -export default Soundbites; diff --git a/app/Resources/types/js/modules/ThemePicker.d.ts b/app/Resources/types/js/modules/ThemePicker.d.ts deleted file mode 100644 index 385f044b..00000000 --- a/app/Resources/types/js/modules/ThemePicker.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const ThemePicker: () => void; -export default ThemePicker; diff --git a/app/Resources/types/js/modules/Time.d.ts b/app/Resources/types/js/modules/Time.d.ts deleted file mode 100644 index e04a63d4..00000000 --- a/app/Resources/types/js/modules/Time.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const Time: () => void; -export default Time; diff --git a/app/Resources/types/js/modules/Toggler.d.ts b/app/Resources/types/js/modules/Toggler.d.ts deleted file mode 100644 index 3157ee54..00000000 --- a/app/Resources/types/js/modules/Toggler.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const Toggler: () => void; -export default Toggler; diff --git a/app/Resources/types/js/modules/Tooltip.d.ts b/app/Resources/types/js/modules/Tooltip.d.ts deleted file mode 100644 index d733d7a3..00000000 --- a/app/Resources/types/js/modules/Tooltip.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const Tooltip: () => void; -export default Tooltip; diff --git a/app/Resources/types/js/modules/markdown-preview.d.ts b/app/Resources/types/js/modules/markdown-preview.d.ts deleted file mode 100644 index 2132ecef..00000000 --- a/app/Resources/types/js/modules/markdown-preview.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import MarkdownToolbarElement from "@github/markdown-toolbar-element"; -import { LitElement, TemplateResult } from "lit"; -export declare class MarkdownPreview extends LitElement { - for: string; - _textarea: HTMLTextAreaElement; - _markdownToolbar: MarkdownToolbarElement; - _show: boolean; - connectedCallback(): void; - hide(): void; - show(): void; - markdownToHtml(): string; - render(): TemplateResult<1>; -} diff --git a/app/Resources/types/js/modules/markdown-write-preview.d.ts b/app/Resources/types/js/modules/markdown-write-preview.d.ts deleted file mode 100644 index 1f646a9b..00000000 --- a/app/Resources/types/js/modules/markdown-write-preview.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { LitElement, TemplateResult } from "lit"; -import { MarkdownPreview } from "./markdown-preview"; -export declare class MarkdownWritePreview extends LitElement { - for: string; - _textarea: HTMLTextAreaElement | null; - _markdownPreview: MarkdownPreview; - _write: NodeListOf; - _preview: NodeListOf; - connectedCallback(): void; - write(): void; - preview(): void; - render(): TemplateResult<1>; -} diff --git a/app/Resources/types/js/podcast.d.ts b/app/Resources/types/js/podcast.d.ts deleted file mode 100644 index cb0ff5c3..00000000 --- a/app/Resources/types/js/podcast.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/tsconfig.json b/tsconfig.json index 5f495c6b..b56093e0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,15 +2,8 @@ "compilerOptions": { /* Basic Options */ "module": "esnext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, - "lib": [ - "DOM", - "DOM.Iterable", - "ESNext" - ] /* Specify library files to be included in the compilation. */, - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "app/Resources/types", - "rootDir": "app/Resources", + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "noEmit": true, /* Strict Type-Checking Options */ "strict": true /* Enable all strict type-checking options. */,