From 3ad63a1d9e696e5e08fbf4a06d972647b7ce550f Mon Sep 17 00:00:00 2001 From: Giuseppe Pignataro Date: Thu, 21 Mar 2019 14:46:19 +0100 Subject: [PATCH 001/122] Updated Italian translation --- bl-languages/it_IT.json | 166 ++++++++++++++++++++-------------------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/bl-languages/it_IT.json b/bl-languages/it_IT.json index 798c22d4..7ba109e3 100644 --- a/bl-languages/it_IT.json +++ b/bl-languages/it_IT.json @@ -2,7 +2,7 @@ "language-data": { "native": "Italiano (Italia)", "english-name": "Italian", - "last-update": "2017-09-10", + "last-update": "2019-03-21", "authors": [ "Daniele La Pira https:\/\/github.com\/danielelapira", "Giuseppe Pignataro https:\/\/github.com\/fastbyte01", @@ -291,91 +291,91 @@ "example-page-4-slug": "informazioni su", "example-page-4-title": "Informazioni su", "example-page-4-content": "La tua pagina sulle informazione è tipicamente una delle pagine più visitate sul tuo sito, deve essere semplice con un paio di cose chiave,come il tuo nome, chi sei, come possono contattarti, una piccola storia, ecc.", - "the-extension-zip-is-not-installed": "The extension zip is not installed, to use this plugin you need to install the extension.", - "there-are-no-sticky-pages-at-this-moment": "There are no sticky pages at this moment.", - "there-are-no-scheduled-pages-at-this-moment": "There are no scheduled pages at this moment.", - "update": "Update", + "the-extension-zip-is-not-installed": "L'estensione zip non è installata, per utilizzare questo plugin hai bisogno di installare l'estensione.", + "there-are-no-sticky-pages-at-this-moment": "Non c'è nessuna pagina sticky in questo momento.", + "there-are-no-scheduled-pages-at-this-moment": "Non c'è nessuna pagina programmata in questo momento.", + "update": "Aggiorna", "template": "Template", "nickname": "Nickname", - "disable-user": "Disable user", - "delete-user-and-keep-content": "Delete user and keep content", - "delete-user-and-delete-content": "Delete user and delete content (Warning)", - "social-networks": "Social Networks", - "interval": "Interval", - "number-in-minutes-for-every-execution-of-autosave": "Number in minutes for every execution of autosave.", - "extreme-friendly-url": "Extreme friendly URL", - "title-formats": "Title formats", - "delete-content": "Delete content", - "are-you-sure-you-want-to-delete-this-page": "Are you sure you want to delete this page?", + "disable-user": "Disabilita utente", + "delete-user-and-keep-content": "Elimina utente e mantieni il contenuto", + "delete-user-and-delete-content": "Elimina utente ed elimina il contenuto (Attenzione)", + "social-networks": "Social Network", + "interval": "Intervallo", + "number-in-minutes-for-every-execution-of-autosave": "Numero di minuti per ogni esecuzione del salvataggio automatico.", + "extreme-friendly-url": "URL estremamente friendly", + "title-formats": "Formati titolo", + "delete-content": "Elimina contenuto", + "are-you-sure-you-want-to-delete-this-page": "Sei sicuro di voler eliminare questa pagina?", "sticky": "Sticky", - "actions": "Actions", - "edit": "Edit", - "options": "Options", - "enter-title": "Enter title", + "actions": "Azioni", + "edit": "Modifica", + "options": "Opzioni", + "enter-title": "Inserisci titolo", "media-manager": "Media Manager", - "set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images": "Set a cover image from an external URL, such as a CDN or some server dedicated for images.", - "user": "User", - "date-format-format": "Date format: YYYY-MM-DD Hours:Minutes:Seconds<\/code>", - "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", - "field-used-when-ordering-content-by-position": "Field used when ordering content by position", - "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", - "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", - "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", - "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", - "this-tells-search-engines-not-to-follow-links-on-this-page": "This tells search engines not to follow links on this page.", - "apply-code-noarchive-code-to-this-page": "Apply noarchive<\/code> to this page.", - "this-tells-search-engines-not-to-save-a-cached-copy-of-this-page": "This tells search engines not to save a cached copy of this page.", - "uncategorized": "Uncategorized", - "done": "Done", - "delete-category": "Delete category", - "are-you-sure-you-want-to-delete-this-category?": "Are you sure you want to delete this category?", - "confirm-new-password": "Confirm new password", - "the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content": "The nickname is almost used in the themes to display the author of the content", - "allow-unicode": "Allow Unicode", - "allow-unicode-characters-in-the-url-and-some-part-of-the-system": "Allow Unicode characters in the URL and some part of the system.", - "variables-allowed": "Variables allowed", + "set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images": "Imposta ina immagine di copertina da un URL esterno, Come un CDN o alcuni server dedicati alle immagini.", + "user": "Utente", + "date-format-format": "Formato data: YYYY-MM-DD Hours:Minutes:Seconds<\/code>", + "start-typing-a-page-title-to-see-a-list-of-suggestions": "Inizia a digitare il titolo di una pagina per vedere un elenco di suggerimenti.", + "field-used-when-ordering-content-by-position": "Campi utilizzati quando si ordina il contenuto per posizione", + "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Scrivi il nome di un template per filtrare la pagina nel tema e cambiare lo stile della pagina.", + "write-the-tags-separated-by-comma": "Scrivi i tag separati da una virgola.", + "apply-code-noindex-code-to-this-page": "Applica noindex<\/code> a questa pagina.", + "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "Questo dice ai motori di ricerca di non visualizzare questa pagina nei risultati di ricerca.", + "apply-code-nofollow-code-to-this-page": "Applica nofollow<\/code> a questa pagina.", + "this-tells-search-engines-not-to-follow-links-on-this-page": "Questo dice ai motori di ricerca di non seguire i link in questa pagina.", + "apply-code-noarchive-code-to-this-page": "Applica noarchive<\/code> a questa pagina.", + "this-tells-search-engines-not-to-save-a-cached-copy-of-this-page": "Questo dice ai motori di ricerca di non salvare una copia cache di questa pagina.", + "uncategorized": "Non categorizzato", + "done": "Fatto", + "delete-category": "Elimina categoria", + "are-you-sure-you-want-to-delete-this-category?": "Sei sicuro di voler eliminare questa categoria?", + "confirm-new-password": "Conferma nuova password", + "the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content": "Il nickname viene usato nei temi per visualizzare l'autore del contenuto", + "allow-unicode": "Permetti Unicode", + "allow-unicode-characters-in-the-url-and-some-part-of-the-system": "Permette i caratteri Unicode nell'URL e in alcune parti del sistema.", + "variables-allowed": "Variabili permesse", "tag": "Tag", - "drag-and-drop-to-sort-the-plugins": "Drag and Drop to sort the plugins.", + "drag-and-drop-to-sort-the-plugins": "Sposta e trascina per ordinare i plugin.", "seo": "SEO", - "documentation": "Documentation", - "forum-support": "Forum support", - "chat-support": "Chat support", - "quick-links": "Quick links", - "leave-empty-for-autocomplete-by-bludit": "Leave empty for autocomplete by Bludit.", - "choose-a-password-for-the-user-admin": "Choose a password for the user admin<\/code>", - "access-denied": "Access denied", - "choose-images-to-upload": "Choose images to upload", - "insert": "Insert", - "upload": "Upload", - "autosave": "Autosave", - "the-content-is-saved-as-a-draft-to-publish-it": "The content is saved as a draft. To publish it click on the button Publish<\/b> or if you still working on it click on Save as draft<\/b>.", - "site": "Site", - "first": "First", - "last": "Last", - "there-are-no-pages-at-this-moment": "There are no pages at this moment.", - "there-are-no-static-pages-at-this-moment": "There are no static pages at this moment.", - "there-are-no-draft-pages-at-this-moment": "There are no draft pages at this moment.", - "good-morning": "Good morning", - "good-afternoon": "Good afternoon", - "good-evening": "Good evening", - "good-night": "Good night", - "hello": "Hello", - "there-are-no-images-for-the-page": "There are no images for the page.", - "select-cover-image": "Select cover image", - "this-plugin-depends-on-the-following-plugins": "This plugin depends on the following plugins.", - "no-pages-found": "No pages found", - "system-updated": "System updated", - "security": "Security", - "remove-cover-image": "Remove cover image", - "width": "Width", - "height": "Height", - "quality": "Quality", - "thumbnails": "Thumbnails", - "thumbnail": "Thumbnail", - "thumbnail-width-in-pixels": "Thumbnail width in pixels (px).", - "thumbnail-height-in-pixels": "Thumbnail height in pixels (px).", - "thumbnail-quality-in-percentage": "Thumbnail quality in percentage (%).", - "maximum-load-file-size-allowed:": "Maximum load file size allowed:", - "file-type-is-not-supported": "File type is not supported. Allowed types:" -} \ No newline at end of file + "documentation": "Documentazione", + "forum-support": "Forum di supporto", + "chat-support": "Chat di supporto", + "quick-links": "Link veloci", + "leave-empty-for-autocomplete-by-bludit": "Lascia vuoto per autocommpletamento di Bludit.", + "choose-a-password-for-the-user-admin": "Scegli una password per l'utente admin<\/code>", + "access-denied": "Accesso negato", + "choose-images-to-upload": "Seleziona le immagini da caricare", + "insert": "Inserisci", + "upload": "Carica", + "autosave": "Salvataggio Automatico", + "the-content-is-saved-as-a-draft-to-publish-it": "Il contenuto è salvato come bozza.Per pubblicarlo fai clic sul pulsante Pubblica<\/b> o se stai continuando a lavorarci su fai clic su Salva come bozza<\/b>.", + "site": "Sito", + "first": "Primo", + "last": "Ultimo", + "there-are-no-pages-at-this-moment": "Non ci sono pagine in questo momento.", + "there-are-no-static-pages-at-this-moment": "Non ci sono pagine statiche in questo momento.", + "there-are-no-draft-pages-at-this-moment": "Non ci sono pagine in bozza in questo momento.", + "good-morning": "Buongiorno", + "good-afternoon": "Buon pomeriggio", + "good-evening": "Buona sera", + "good-night": "Buonanotte", + "hello": "Ciao", + "there-are-no-images-for-the-page": "Non ci sono immagini per la pagina.", + "select-cover-image": "Seleziona immagine di copertina", + "this-plugin-depends-on-the-following-plugins": "Questo plugin dipende dai seguenti plugin.", + "no-pages-found": "Nessuna pagina trovata", + "system-updated": "Sistema aggiornato", + "security": "Sicurezza", + "remove-cover-image": "Rimuovi immagine di copertina", + "width": "Larghezza", + "height": "Altezza", + "quality": "Qualità", + "thumbnails": "Anteprime", + "thumbnail": "Anteprima", + "thumbnail-width-in-pixels": "Larghezza anteprima in pixel (px).", + "thumbnail-height-in-pixels": "Altezza anteprima in pixel (px).", + "thumbnail-quality-in-percentage": "Qualità anteprima in percentuale (%).", + "maximum-load-file-size-allowed:": "Grandezza massima da caricare permessa:", + "file-type-is-not-supported": "TIpo di file non supportato. Tipi permessi:" +} From 3d56d85a89d27243b219e7f73a33e7842b8e01d2 Mon Sep 17 00:00:00 2001 From: Giuseppe Pignataro Date: Thu, 21 Mar 2019 17:49:11 +0100 Subject: [PATCH 002/122] Updated Italian translations --- bl-plugins/backup/languages/it.json | 4 ++-- bl-plugins/disqus/languages/it.json | 10 +++++----- bl-plugins/opengraph/languages/it.json | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/bl-plugins/backup/languages/it.json b/bl-plugins/backup/languages/it.json index 175f4f04..7d4f8ab8 100644 --- a/bl-plugins/backup/languages/it.json +++ b/bl-plugins/backup/languages/it.json @@ -8,5 +8,5 @@ "download": "Scarica", "restore-backup": "Ripristina Backup", "delete-backup": "Elimina Backup", - "there-are-no-backups-for-the-moment": "There are no backups for the moment" -} \ No newline at end of file + "there-are-no-backups-for-the-moment": "Non ci sono backup al momento" +} diff --git a/bl-plugins/disqus/languages/it.json b/bl-plugins/disqus/languages/it.json index 50b678b2..dee4b46f 100644 --- a/bl-plugins/disqus/languages/it.json +++ b/bl-plugins/disqus/languages/it.json @@ -5,8 +5,8 @@ "description": "Disqus è un servizio di hosting per i commenti sui siti web.
E' neccesario essere resitrati su Disqus per utilizzare questo servizio." }, "disqus-shortname": "Nome Breve Disqus ", - "enable-disqus-on-pages": "Disqus on pages", - "enable-disqus-on-static-pages": "Disqus on static pages", - "enable-disqus-on-sticky-pages": "Disqus on sticky pages", - "get-the-shortname-from-the-disqus-general-settings": "Get the shortname from the Disqus general settings" -} \ No newline at end of file + "enable-disqus-on-pages": "Disqus sulle pagine", + "enable-disqus-on-static-pages": "Disqus sulle pagine statiche", + "enable-disqus-on-sticky-pages": "Disqus sulle pagine sticky", + "get-the-shortname-from-the-disqus-general-settings": "Acquisisci il nome utente da utilizzare dalle impostazioni generali di Disqus" +} diff --git a/bl-plugins/opengraph/languages/it.json b/bl-plugins/opengraph/languages/it.json index 042370c3..04cd057e 100644 --- a/bl-plugins/opengraph/languages/it.json +++ b/bl-plugins/opengraph/languages/it.json @@ -4,6 +4,6 @@ "name": "Open Graph", "description": "Il protocollo Open Graph permette a qualsiasi pagina web di diventare un rich object in un social graph." }, - "set-a-default-image-for-content": "Set a default image for the content without pictures.", - "set-your-facebook-app-id": "Set your Facebook App ID." -} \ No newline at end of file + "set-a-default-image-for-content": "Imposta un'immagine predefinita per il contenuto senza foto.", + "set-your-facebook-app-id": "Imposta il tuo Facebook App ID." +} From 546c525b23f311e2652366adc77c519550c4efd1 Mon Sep 17 00:00:00 2001 From: Giuseppe Pignataro Date: Thu, 21 Mar 2019 18:02:32 +0100 Subject: [PATCH 003/122] Added italian translation --- bl-plugins/canonical/languages/it.json | 7 +++++++ bl-plugins/hit-counter/languages/it.json | 7 +++++++ bl-plugins/remote-content/languages/it.json | 11 +++++++++++ bl-plugins/robots/languages/it.json | 7 +++++++ bl-plugins/search/languages/it.json | 9 +++++++++ bl-plugins/simple-stats/languages/it.json | 12 ++++++++++++ 6 files changed, 53 insertions(+) create mode 100644 bl-plugins/canonical/languages/it.json create mode 100644 bl-plugins/hit-counter/languages/it.json create mode 100644 bl-plugins/remote-content/languages/it.json create mode 100644 bl-plugins/robots/languages/it.json create mode 100644 bl-plugins/search/languages/it.json create mode 100644 bl-plugins/simple-stats/languages/it.json diff --git a/bl-plugins/canonical/languages/it.json b/bl-plugins/canonical/languages/it.json new file mode 100644 index 00000000..16f80324 --- /dev/null +++ b/bl-plugins/canonical/languages/it.json @@ -0,0 +1,7 @@ +{ + "plugin-data": + { + "name": "Canonical", + "description": "L'utilizzo degli URLS canonici può aiutare i motori di ricerca quali URL hanno un contenuto identico." + } +} \ No newline at end of file diff --git a/bl-plugins/hit-counter/languages/it.json b/bl-plugins/hit-counter/languages/it.json new file mode 100644 index 00000000..937a6f61 --- /dev/null +++ b/bl-plugins/hit-counter/languages/it.json @@ -0,0 +1,7 @@ +{ + "plugin-data": + { + "name": "Contatore visite", + "description": "Mostra il numero di visite o di visitatori unici nella barra laterale del tuo sito." + } +} \ No newline at end of file diff --git a/bl-plugins/remote-content/languages/it.json b/bl-plugins/remote-content/languages/it.json new file mode 100644 index 00000000..30ddc686 --- /dev/null +++ b/bl-plugins/remote-content/languages/it.json @@ -0,0 +1,11 @@ +{ + "plugin-data": + { + "name": "Contenuto remoto", + "description": "Questo plugin offre un modo semplice di avere il contenuto del proprio sito su Github e simili e di tenerli sincronizzati con Bludit." + }, + "webhook": "Webhook", + "source": "Sorgente", + "try-webhook": "Prova webhook", + "complete-url-of-the-zip-file": "URL completo del file zipe." +} \ No newline at end of file diff --git a/bl-plugins/robots/languages/it.json b/bl-plugins/robots/languages/it.json new file mode 100644 index 00000000..93ef9d55 --- /dev/null +++ b/bl-plugins/robots/languages/it.json @@ -0,0 +1,7 @@ +{ + "plugin-data": + { + "name": "Robot", + "description": "Puoi usare uno speciale meta tag HTML per direi ai robot di non indicizzare il contenuto di una pagina, e/o di non scansionarla per i link." + } +} \ No newline at end of file diff --git a/bl-plugins/search/languages/it.json b/bl-plugins/search/languages/it.json new file mode 100644 index 00000000..c1595200 --- /dev/null +++ b/bl-plugins/search/languages/it.json @@ -0,0 +1,9 @@ +{ + "plugin-data": + { + "name": "Cerca", + "description": "Offre un campo di ricerca ai tuoi utenti per poter cercare tra il contenuto del tuo sito." + }, + "search": "Cerca", + "show-button-search": "Mostra pulsante cerca" +} \ No newline at end of file diff --git a/bl-plugins/simple-stats/languages/it.json b/bl-plugins/simple-stats/languages/it.json new file mode 100644 index 00000000..8362a1f4 --- /dev/null +++ b/bl-plugins/simple-stats/languages/it.json @@ -0,0 +1,12 @@ +{ + "plugin-data": + { + "name": "Statistiche semplici", + "description": "Mostra il numero di vivitatori per giorno sulla tua dashboard." + }, + "visits": "Visite", + "visits-today": "Visite oggi", + "unique-visitors-today": "Visitatori unici oggi", + "chart": "Grafico", + "table": "Tabella" +} From 940e0783d77fad6703d1dabc2be14bcb48a0383e Mon Sep 17 00:00:00 2001 From: SamBrishes Date: Fri, 22 Mar 2019 17:40:57 +0100 Subject: [PATCH 004/122] Create de_AT.json --- bl-languages/de_AT.json | 384 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 384 insertions(+) create mode 100644 bl-languages/de_AT.json diff --git a/bl-languages/de_AT.json b/bl-languages/de_AT.json new file mode 100644 index 00000000..8320a930 --- /dev/null +++ b/bl-languages/de_AT.json @@ -0,0 +1,384 @@ +{ + "language-data": { + "native": "Deutsch (Österreich)", + "english-name": "German (Austria)", + "locale": "de, de_AT", + "last-update": "2019-03-22", + "authors": [ + "Clickwork https:\/\/clickwork.ch", + "blog2read https:\/\/github.com\/blog2read", + "cblte https:\/\/github.com\/cblte", + "MoritzBrueckner https:\/\/github.com\/MoritzBrueckner", + "SamBrishes https:\/\/www.pytes.net", + "" + ] + }, + "dates": { + "Mon": "Mo", + "Tue": "Di", + "Wed": "Mi", + "Thu": "Do", + "Fri": "Fr", + "Sat": "Sa", + "Sun": "So", + "Monday": "Montag", + "Tuesday": "Dienstag", + "Wednesday": "Mittwoch", + "Thursday": "Donnerstag", + "Friday": "Freitag", + "Saturday": "Samstag", + "Sunday": "Sonntag", + "Jan": "Jan", + "Feb": "Feb", + "Mar": "Mär", + "Apr": "Apr", + "Jun": "Jun", + "Jul": "Jul", + "Aug": "Aug", + "Sep": "Sep", + "Oct": "Okt", + "Nov": "Nov", + "Dec": "Dez", + "January": "Jänner", + "February": "Februar", + "March": "März", + "April": "April", + "May": "Mai", + "June": "Juni", + "July": "Juli", + "August": "August", + "September": "September", + "October": "Oktober", + "November": "November", + "December": "Dezember" + }, + "dashboard": "Dashboard", + "manage-users": "Benutzer verwalten", + "manage-categories": "Kategorien verwalten", + "general-settings": "Allgemeine Einstellungen", + "advanced-settings": "Erweiterte Einstellungen", + "thanks-for-support-bludit": "Vielen Dank für die Unterstützung von Bludit!", + "upgrade-to-bludit-pro": "Upgrade auf Bludit PRO", + "language": "Sprache\/Zeitzone", + "plugin": "Plugin", + "plugins": "Plugins", + "developers": "Entwickler", + "themes": "Themes", + "about": "Über", + "url": "URL", + "welcome": "Willkommen", + "logout": "Abmelden", + "website": "Website", + "publish": "Veröffentlichen", + "manage": "Verwalten", + "content": "Inhalte", + "category": "Kategorie", + "categories": "Kategorien", + "users": "Benutzer", + "settings": "Einstellungen", + "general": "Allgemein", + "advanced": "Erweitert", + "new-content": "Neuer Inhalt", + "manage-content": "Inhalte verwalten", + "add-new-content": "Neuen Inhalt erstellen", + "new-category": "Neue Kategorie", + "you-do-not-have-sufficient-permissions": "Keine Berechtigung, diese Seite aufzurufen.", + "add-a-new-user": "Neuer Benutzer", + "url-associated-with-the-content": "Der URL kann selbst angepasst werden.", + "language-and-timezone": "Sprache und Zeitzone", + "change-your-language-and-region-settings": "Sprache ändern und Lokalisierung einstellen.", + "notifications": "Aktivitäten", + "plugin-activated": "Plugin aktiviert", + "plugin-deactivated": "Plugin deaktiviert", + "new-theme-configured": "Theme aktiviert", + "changes-on-settings": "Änderung der Einstellungen", + "plugin-configured": "Plugin konfiguriert", + "welcome-to-bludit": "Willkommen bei Bludit", + "statistics": "Statistiken", + "drafts": "Entwürfe", + "title": "Titel", + "save": "Speichern", + "save-as-draft": "Als Entwurf speichern", + "cancel": "Abbrechen", + "description": "Beschreibung", + "this-field-can-help-describe-the-content": "Kurze Inhaltsbeschreibung. Möglich sind bis zu 150 Zeichen.", + "images": "Bilder", + "error": "Fehler", + "supported-image-file-types": "Unterstützte Dateiformate", + "cover-image": "Hauptbild", + "drag-and-drop-or-click-here": "Drag and Drop oder hier klicken", + "there-are-no-images": "Keine Bilder vorhanden", + "upload-and-more-images": "Upload und weitere Bilder", + "click-on-the-image-for-options": "Für die Bildoptionen auf das Bild klicken.", + "click-here-to-cancel": "Schließen", + "insert-image": "Bild einfügen", + "set-as-cover-image": "Als Hauptbild verwenden", + "delete-image": "Bild löschen", + "tags": "Schlagwörter", + "add": "Hinzufügen", + "status": "Status", + "published": "Veröffentlicht", + "draft": "Entwürfe", + "empty-title": "Kein Titel", + "empty": "Kein Inhalt", + "date": "Datum", + "external-cover-image": "Externes Hauptbild", + "parent": "Übergeordneter Inhalt", + "full-image-url": "Link zum verwendeten Bild.", + "this-field-is-used-when-you-order-the-content-by-position": "Dieses Feld wird verwendet, wenn der Inhalt nach Position angezeigt wird.", + "position": "Position", + "friendly-url": "URL", + "image-description": "Bildbeschreibung", + "add-a-new-category": "Neue Kategorie hinzufügen", + "name": "Name", + "username": "Benutzername", + "first-name": "Vorname", + "last-name": "Nachname", + "to-schedule-the-content-select-the-date-and-time": "Um einen Inhalt zu einem späteren Zeitpunkt zu veröffentlichen, Datum und Zeit wählen. Sein Status muss \"Veröffentlicht\" sein.", + "email": "E-Mail-Adresse", + "role": "Rolle", + "registered": "Hinzugefügt", + "site-information": "Angaben zur Website", + "site-title": "Titel der Website", + "use-this-field-to-name-your-site": "Name der Website, wie er auf jeder Seite angezeigt wird.", + "site-slogan": "Untertitel", + "use-this-field-to-add-a-catchy-phrase": "Untertitel oder Slogan der Website.", + "site-description": "Informationen", + "you-can-add-a-site-description-to-provide": "Kurze Beschreibung der Website (wird von Suchmaschinen verwendet).", + "footer-text": "Footer-Text", + "you-can-add-a-small-text-on-the-bottom": "Text im Fussbereich jeder Seite. Beispielsweise: Copyright-Hinweis, Eigentümer der Website usw.", + "social-networks-links": "Links zu sozialen Netzwerken", + "site-url": "Adresse der Website", + "email-account-settings": "E-Mail", + "sender-email": "Absender", + "emails-will-be-sent-from-this-address": "E-Mails werden mit dieser E-Mail-Adresse als Absender verschickt.", + "url-filters": "URL-Filter", + "select-your-sites-language": "Sprache der Website.", + "timezone": "Zeitzone", + "select-a-timezone-for-a-correct": "Zeitzone für die richtige Anzeige des Datums und der Zeit auf der Website.", + "locale": "Lokalisierung", + "date-and-time-formats": "Datum und Zeit", + "date-format": "Datumsformat", + "current-format": "Aktuelles Datumsformat", + "version": "Version", + "author": "Autor", + "activate": "Aktivieren", + "deactivate": "Deaktivieren", + "edit-category": "Kategorie bearbeiten", + "delete": "Löschen", + "password": "Passwort", + "confirm-password": "Passwort wiederholen", + "editor": "Editor", + "administrator": "Administrator", + "edit-user": "Benutzer bearbeiten", + "edit-content": "Inhalt bearbeiten", + "profile": "Profil", + "change-password": "Passwort ändern", + "enabled": "Aktiviert", + "disable-the-user": "Benutzer deaktivieren", + "profile-picture": "Profil-Bild", + "edit-or-delete-your-categories": "Kategorien bearbeiten oder löschen.", + "create-a-new-category-to-organize-your-content": "Eine neue Kategorie hinzufügen.", + "confirm-delete-this-action-cannot-be-undone": "Bestätigung der Löschung. Diese kann nicht rückgängig gemacht werden.", + "do-you-want-to-disable-the-user": "Soll der Benutzer deaktiviert werden?", + "new-password": "Neues Passwort", + "you-can-change-this-field-when-save-the-current-changes": "You can change this field when save the current changes.", + "items-per-page": "Inhalte pro Seite", + "invite-a-friend-to-collaborate-on-your-site": "Einen neuen Benutzer hinzufügen.", + "number-of-items-to-show-per-page": "Anzahl Inhalte pro Seite.", + "website-or-blog": "Website oder Blog", + "order-content-by": "Inhalte anzeigen nach", + "edit-or-delete-content-from-your-site": "Inhalte bearbeiten oder löschen.", + "order-the-content-by-date-to-build-a-blog": "Für einen Blog Inhalte nach Datum anzeigen, für eine Website nach Position.", + "page-not-found-content": "Es sieht so aus, als würde es diese Seite nicht geben!", + "page-not-found": "Seite nicht gefunden", + "predefined-pages": "Zugewiesene Seiten", + "returning-page-when-the-page-doesnt-exist": "Inhalt, wenn eine Seite nicht vorhanden ist. Wird nichts gewählt, wird die Standardmeldung verwendet.", + "returning-page-for-the-main-page": "Zur Hauptseite zugeordneter Inhalt. Standardmässig werden die neuesten Inhalte geordnet nach Datum (Blog) oder Position (Website) angezeigt.", + "full-url-of-your-site": "Vollständiger URL der Website mit http:\/\/ oder https:\/\/ (wenn ein Zertifikat aktiviert ist).", + "with-the-locales-you-can-set-the-regional-user-interface": "Die Lokalisierung erlaubt die Anzeige von Zeit und Datum im Format der gewählten Sprachregion. Dafür muss das System entsprechend konfiguriert sein.", + "bludit-installer": "Bludit Installer", + "choose-your-language": "Eine Sprache wählen", + "next": "Weiter", + "complete-the-form-choose-a-password-for-the-username-admin": "Bitte ein Passwort für den Benutzer \"admin\"
und eine E-Mail-Adresse eingeben.", + "show-password": "Passwort im Klartext zeigen", + "install": "Installieren", + "login": "Anmelden", + "back-to-login-form": "Zurück zur Anmeldeseite", + "get-login-access-code": "Zugangscode schicken", + "email-access-code": "Zugangscode zuschicken", + "whats-next": "Und so geht es weiter:", + "username-or-password-incorrect": "Falscher Benutzername und\/oder falsches Passwort", + "follow-bludit-on": "Den [deutschsprachigen Newsletter](http:\/\/eepurl.com\/b6mpKf) abonnieren und Bludit folgen bei", + "this-is-a-brief-description-of-yourself-our-your-site": "Hier kann beispielsweise eine kurze Beschreibung der Person, die den Blog oder die Website betreibt, oder der Website stehen. Der Text kann im Administrationsbereich in den Einstellungen des Plugins \"Über\" geändert werden.", + "new-version-available": "Eine neue Version ist verfügbar", + "new-category-created": "Kategorie hinzugefügt", + "category-deleted": "Kategorie gelöscht", + "category-edited": "Kategorie bearbeitet", + "new-user-created": "Benutzer hinzugefügt", + "user-edited": "Benutzer bearbeitet", + "user-deleted": "Benutzer gelöscht", + "recommended-for-recovery-password-and-notifications": "E-Mail-Adresse für die Passwort-Wiederherstellung und Mitteilungen.", + "authentication-token": "Authentifizierungs-Token", + "token": "Token", + "current-status": "Aktueller Status", + "upload-image": "Bild hochladen", + "the-changes-have-been-saved": "Die Änderung wurde gespeichert.", + "label": "Bezeichnung", + "links": "Links", + "this-title-is-almost-always-used-in-the-sidebar-of-the-site": "Abhängig vom Theme wird die Bezeichnung als Titel des Plugin-Bereichs verwendet.", + "password-must-be-at-least-6-characters-long": "Das Passwort muss mindestens 6 Zeichen lang sein.", + "ip-address-has-been-blocked": "Die IP-Adresse wurde gesperrt.", + "try-again-in-a-few-minutes": "Bitte, es in einigen Minuten noch einmal versuchen.", + "content-published-from-scheduler": "Geplanter Inhalt veröffentlicht", + "blog": "Blog", + "complete-all-fields": "Bitte alle Felder ausfüllen", + "static": "Statisch", + "about-your-site-or-yourself": "Über den Betreiber der Website.", + "homepage": "Hauptseite", + "disabled": "Deaktiviert", + "to-enable-the-user-you-must-set-a-new-password": "Um den Benutzer zu aktivieren, muss ein neues Passwort vergeben werden.", + "delete-the-user-and-associate-his-content-to-admin-user": "Benutzer löschen und seine Inhalte dem Benutzer admin übertragen.", + "delete-the-user-and-all-his-content": "Benutzer und alle seine Inhalte löschen.", + "user-disabled": "Benutzer deaktiviert", + "user-password-changed": "Passwort geändert", + "the-password-and-confirmation-password-do-not-match": "Das Passwort und die Bestätigung des Passworts stimmen nicht überein", + "scheduled-content": "Geplant", + "there-are-no-scheduled-content": "Es sind keine Veröffentlichungen geplant.", + "new-content-created": "Inhalt erstellt", + "content-edited": "Inhalt bearbeitet", + "content-deleted": "Inhalt gelöscht", + "undefined": "Nicht definiert", + "create-new-content-for-your-site": "Einen neuen Inhalt erstellen.", + "there-are-no-draft-content": "Es gibt keine Entwürfe.", + "order-items-by": "Inhalte sortieren nach", + "all-content": "Alle Inhalte", + "dynamic": "Dynamisch", + "type": "Art", + "draft-content": "Entwürfe", + "post": "Post", + "default": "Standardvorgabe", + "latest-content": "Neueste Inhalte", + "default-message": "Standardmeldung", + "no-parent": "Kein übergeordneter Inhalt", + "have-you-seen-my-ball": "Hast Du meinen Ball gesehen?", + "pagebreak": "Seitenumbruch", + "pages": "Seiten", + "this-plugin-may-not-be-supported-by-this-version-of-bludit": "Dieses Plugin wird möglicherweise von der installierten Version von Bludit nicht unterstützt.", + "previous": "Zurück", + "previous-page": "Vorhergehende Seite", + "next-page": "Nächste Seite", + "scheduled": "Geplant", + "this-token-is-similar-to-a-password-it-should-not-be-shared": "Dieser Token ist genauso wichtig wie ein Passwort und sollte nicht weitergegeben werden.", + "congratulations-you-have-successfully-installed-your-bludit": "Gratulation, Bludit wurde erfolgreich installiert!", + "this-theme-may-not-be-supported-by-this-version-of-bludit": "Dieses Theme wird möglicherweise von der installierten Version von Bludit nicht unterstützt.", + "read-more": "Weiterlesen", + "remember-me": "Angemeldet bleiben", + "plugins-position": "Reihenfolge der Plugins", + "plugins-sorted": "Reihenfolge der Plugins geändert", + "plugins-position-changed": "Die Reihenfolge der Plugins wurde geändert.", + "drag-and-drop-to-set-the-position-of-the-plugin": "Die Reihenfolge der Plugins kann mit \"Drag and Drop\" geändert werden", + "change-the-position-of-the-plugins": "Reihenfolge der Plugins bearbeiten", + "reading-time": "Lesezeit", + "minutes": "Minuten", + "minute": "Minute", + "example-page-1-slug": "veroeffentliche-deine-inhalte", + "example-page-1-title": "Veröffentliche deine Inhalte", + "example-page-1-content": "Veröffentliche deine eigenen Inhalte oder passe die vorhandenen deinen Bedürfnissen an. Um Inhalte zu veröffentlichen, zu bearbeiten oder zu löschen, musst du dich im [Administrationsbereich](.\/admin) anmelden (mit dem Benutzernamen `admin` und dem Passwort, das Du bei der Installation eingegeben hast).", + "example-page-2-slug": "richte-deine-website-ein", + "example-page-2-title": "Richte deine Website ein", + "example-page-2-content": "Passe die Einstellungen deiner Website im [Administrationsbereich](.\/admin) an. Unter [Einstellungen > Allgemein](.\/admin\/settings-general) kannst Du beispielsweise den Titel und die Beschreibung der Website ändern oder Links zu sozialen Netzwerken eingeben.", + "example-page-3-slug": "folge-bludit", + "example-page-3-title": "Folge Bludit", + "example-page-3-content": "Halte dich auf dem Laufenden über neue Versionen, Themes und Plugins in den sozialen Netzwerken Facebook<\/a>, Twitter<\/a> und YouTube<\/a>, über den Blog<\/a> oder indem du den deutschsprachigen Newsletter<\/a> abonnierst.", + "example-page-4-slug": "ueber", + "example-page-4-title": "Über", + "example-page-4-content": "Die Seite \"Über\" ist eine viel beachtete Seite. Denn viele wollen wissen, wer einen Blog oder eine Website betreibt, welche Idee dahinter steht, wie du erreichbar bist usw.", + "the-extension-zip-is-not-installed": "Die ZIP-Erweiterung ist auf deinem Server nicht installiert. Um dieses Plugin zu verwenden, muss sie installiert werden.", + "there-are-no-sticky-pages-at-this-moment": "Es gibt keine fixierten Inhalte.", + "there-are-no-scheduled-pages-at-this-moment": "Es gibt keine zur Veröffentlichung geplanten Inhalte.", + "update": "Aktualisierung", + "template": "Template", + "nickname": "Nickname", + "disable-user": "Benutzer deaktivieren", + "delete-user-and-keep-content": "Benutzer löschen und Inhalte behalten", + "delete-user-and-delete-content": "Benutzer und Inhalte löschen (Vorsicht!)", + "social-networks": "Soziale Netzwerke", + "interval": "Abstände", + "number-in-minutes-for-every-execution-of-autosave": "Anzahl Minuten zwischen automatischen Speicherungen.", + "extreme-friendly-url": "Besonders benutzerfreundlicher URL", + "title-formats": "Titelformate", + "delete-content": "Inhalt löschen", + "are-you-sure-you-want-to-delete-this-page": "Bist Du sicher, dass Du diesen Inhalt löschen möchtest?", + "sticky": "Fixiert", + "actions": "Aktionen", + "edit": "Bearbeiten", + "options": "Einstellungen", + "enter-title": "Titel hier eingegeben", + "media-manager": "Medien-Manager", + "set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images": "Hauptbild mit einem externen URL, beispielsweise von einem Content Delivery Network (CDN).", + "user": "Benutzer", + "date-format-format": "Datumsformat: YYYY-MM-DD Stunden:Minuten:Sekunden<\/code>", + "start-typing-a-page-title-to-see-a-list-of-suggestions": "Die automatische Vervollständigung zeigt entsprechende Vorschläge an.", + "field-used-when-ordering-content-by-position": "Dieses Feld wird verwendet, wenn die Inhalte nach Position angezeigt werden (Website).", + "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Name des Templates, wenn das Theme es erlaubt, verschiedene Templates einzelnen Inhalten zuzuordnen.", + "write-the-tags-separated-by-comma": "Schlagwörter durch Kommas getrennt eingeben.", + "apply-code-noindex-code-to-this-page": "Die Anweisung noindex<\/code> für diese Seite verwenden.", + "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "Anweisung an Suchmaschinen, die Seite in Suchergebnissen nicht zu zeigen.", + "apply-code-nofollow-code-to-this-page": "Die Anweisung nofollow<\/code> für dieses Seite verwenden.", + "this-tells-search-engines-not-to-follow-links-on-this-page": "Anweisung an Suchmaschinen, Links auf der Seite nicht zu folgen.", + "apply-code-noarchive-code-to-this-page": "Die Anweisung noarchive<\/code> für diese Seite anwenden.", + "this-tells-search-engines-not-to-save-a-cached-copy-of-this-page": "Anweisung an Suchmaschinen, keine Kopie der Seite im Cache zu speichern.", + "uncategorized": "Nicht kategorisiert", + "done": "Bestätigen", + "delete-category": "Kategorie löschen", + "are-you-sure-you-want-to-delete-this-category?": "Bist du sicher, dass Du diese Kategorie löschen möchtest?", + "confirm-new-password": "Bestätige das neue Passwort", + "the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content": "Der Nickname wird als Name des Autors von Beiträgen angezeigt.", + "allow-unicode": "Unicode", + "allow-unicode-characters-in-the-url-and-some-part-of-the-system": "Unicode-Zeichen mit Umlauten usw. im URL und bei einigen Teilen des Systems verwenden.", + "variables-allowed": "Mögliche Platzhalter:", + "tag": "Tag", + "drag-and-drop-to-sort-the-plugins": "Die Reihenfolge der Plugins kann mit Drag and Drop geändert werden.", + "seo": "SEO", + "documentation": "Dokumentation", + "forum-support": "Support-Forum", + "chat-support": "Support-Chat", + "quick-links": "Quicklinks", + "leave-empty-for-autocomplete-by-bludit": "Ohne Eingabe wird der URL von Bludit erstellt.", + "choose-a-password-for-the-user-admin": "Gib ein Passwort für den Benutzer admin<\/code> ein", + "access-denied": "Zugriff verweigert", + "choose-images-to-upload": "Bilder auswählen und auf den Server laden", + "insert": "Einfügen", + "upload": "Hochladen", + "autosave": "Automatische Speicherung", + "the-content-is-saved-as-a-draft-to-publish-it": "Der Inhalt ist als Entwurf gespeichert. Um ihn zu veröffentlichen, klicke Veröffentlichen<\/b>, wenn du ihn weiter bearbeiten möchtest, klicke Als Entwurf speichern<\/b>.", + "site": "Seite", + "first": "Erste", + "last": "Letzte", + "there-are-no-pages-at-this-moment": "Es gibt noch keine Seiten.", + "there-are-no-static-pages-at-this-moment": "Es gibt noch keine statischen Inhalte.", + "there-are-no-draft-pages-at-this-moment": "Es gibt noch keine Entwürfe.", + "good-morning": "Guten Morgen", + "good-afternoon": "Guten Nachmittag", + "good-evening": "Guten Abend", + "good-night": "Gute Nacht", + "hello": "Hallo", + "there-are-no-images-for-the-page": "Für diesen Inhalt sind keine Bilder vorhanden.", + "select-cover-image": "Wähle ein Hauptbild", + "this-plugin-depends-on-the-following-plugins": "Dieses Plugin benötigt die folgenden Plugins:", + "no-pages-found": "Es wurden keine Seiten gefunden", + "system-updated": "Das System wurde aktualisiert", + "security": "Sicherheit", + "remove-cover-image": "Hauptbild entfernen", + "width": "Breite", + "height": "Höhe", + "quality": "Qualität", + "thumbnails": "Vorschaubilder", + "thumbnail": "Vorschaubild", + "thumbnail-width-in-pixels": "Breite der Vorschaubilder in Pixel (px).", + "thumbnail-height-in-pixels": "Höhe der Vorschaubilder in Pixel (px).", + "thumbnail-quality-in-percentage": "Qualität der Vorschaubilder in Prozent (%).", + "maximum-load-file-size-allowed:": "Maximal erlaubte Dateigröße:", + "file-type-is-not-supported": "Dateiformat wird nicht unterstützt. Erlaubte Dateiformate:" +} \ No newline at end of file From 2f63e920b07342ed787bf7172a88628e1a05abf0 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Wed, 27 Mar 2019 22:33:23 +0100 Subject: [PATCH 005/122] Upload image from API --- bl-plugins/api/plugin.php | 64 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/bl-plugins/api/plugin.php b/bl-plugins/api/plugin.php index f004dac7..0a736573 100644 --- a/bl-plugins/api/plugin.php +++ b/bl-plugins/api/plugin.php @@ -147,6 +147,10 @@ class pluginAPI extends Plugin { elseif ( ($method==='POST') && ($parameters[0]==='pages') && empty($parameters[1]) && $writePermissions ) { $data = $this->createPage($inputs); } + // (POST) /api/images + elseif ( ($method==='POST') && ($parameters[0]==='images') && $writePermissions ) { + $data = $this->uploadImage($inputs); + } // (GET) /api/tags elseif ( ($method==='GET') && ($parameters[0]==='tags') && empty($parameters[1]) ) { $data = $this->getTags(); @@ -419,4 +423,64 @@ class pluginAPI extends Plugin { ); } + private function uploadImage($inputs) + { + global $site; + + // Where save the image + if (isset($inputs['uuid']) && IMAGE_RESTRICT) { + $imageDirectory = PATH_UPLOADS_PAGES.$inputs['uuid'].DS; + $thumbnailDirectory = $imageDirectory.'thumbnails'.DS; + $imageEndpoint = DOMAIN_UPLOADS_PAGES.$inputs['uuid'].'/'; + $thumbnailEndpoint = $imageEndpoint.'thumbnails'.'/'; + } else { + $imageDirectory = PATH_UPLOADS; + $thumbnailDirectory = PATH_UPLOADS_THUMBNAILS; + $imageEndpoint = DOMAIN_UPLOADS; + $thumbnailEndpoint = DOMAIN_UPLOADS_THUMBNAILS; + } + + // Check for errors + if ($_FILES['image']['error'] != 0) { + return array( + 'status'=>'1', + 'message'=>'Maximum load file size allowed: '.ini_get('upload_max_filesize') + ); + } + + $filename = $_FILES['image']['name']; + $allowedExtensions = array('gif', 'png', 'jpg', 'jpeg', 'svg'); + + // File extension + $fileExtension = pathinfo($filename, PATHINFO_EXTENSION); + $fileExtension = Text::lowercase($fileExtension); + if (!in_array($fileExtension, $allowedExtensions) ) { + return array( + 'status'=>'1', + 'message'=>'File type is not supported. Allowed types: '.implode(', ',$allowedExtensions) + ); + } + + // Filename and move from temporary directory to upload directory + $nextFilename = Filesystem::nextFilename($imageDirectory, $filename); + rename($_FILES['image']['tmp_name'], $imageDirectory.$nextFilename); + chmod($imageDirectory.$nextFilename, 0644); + + // Thumbnail + if ($fileExtension == 'svg') { + symlink($imageDirectory.$nextFilename, $thumbnailDirectory.$nextFilename); + } else { + $Image = new Image(); + $Image->setImage($imageDirectory.$nextFilename, $site->thumbnailWidth(), $site->thumbnailHeight(), 'crop'); + $Image->saveImage($thumbnailDirectory.$nextFilename, $site->thumbnailQuality(), true); + } + + return array( + 'status'=>'0', + 'message'=>'Image uploaded.', + 'image'=>$imageEndpoint.$nextFilename, + 'thumbnail'=>$thumbnailEndpoint.$nextFilename + ); + } + } \ No newline at end of file From 2ef0c95caeddb48927edba64c68b7a8e469f0210 Mon Sep 17 00:00:00 2001 From: SamBrishes Date: Thu, 28 Mar 2019 21:37:50 +0100 Subject: [PATCH 006/122] Update sidebar.php --- bl-kernel/admin/themes/booty/html/sidebar.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bl-kernel/admin/themes/booty/html/sidebar.php b/bl-kernel/admin/themes/booty/html/sidebar.php index bd663f4f..4963f169 100644 --- a/bl-kernel/admin/themes/booty/html/sidebar.php +++ b/bl-kernel/admin/themes/booty/html/sidebar.php @@ -57,7 +57,11 @@ + + + +
'; @@ -68,6 +72,7 @@ } } ?> + "}),i=a.length,l=a.join("");return"

"+C.translate(["Plugins installed ({0}):",i])+"

    "+l+"
"},E=function(e){return{title:"Plugins",type:"container",style:"overflow-y: auto; overflow-x: hidden;",layout:"flex",padding:10,spacing:10,items:[(t=e,{type:"container",html:'
'+M(t)+"
",flex:1}),{type:"container",html:'

'+C.translate("Premium plugins:")+'

  • PowerPaste
  • Spell Checker Pro
  • Accessibility Checker
  • Advanced Code Editor
  • Enhanced Media Embed
  • Link Checker

'+C.translate("Learn more...")+"

",flex:1}]};var t},I=tinymce.util.Tools.resolve("tinymce.EditorManager"),j=function(){var e,t,n='TinyMCE '+(e=I.majorVersion,t=I.minorVersion,0===e.indexOf("@")?"X.X.X":e+"."+t)+"";return[{type:"label",html:C.translate(["You are using {0}",n])},{type:"spacer",flex:1},{text:"Close",onclick:function(){this.parent().parent().close()}}]},L=function(e,t){return function(){e.windowManager.open({title:"Help",bodyType:"tabpanel",layout:"flex",body:[T(),E(e)],buttons:j(),onPostRender:function(){this.getEl("title").innerHTML='TinyMCE Logo'}})}},B=function(e,t){e.addCommand("mceHelp",L(e,t))},N=function(e,t){e.addButton("help",{icon:"help",onclick:L(e,t)}),e.addMenuItem("help",{text:"Help",icon:"help",context:"help",onclick:L(e,t)})};e.add("help",function(e,t){N(e,t),B(e,t),e.shortcuts.add("Alt+0","Open help dialog","mceHelp")})}(); \ No newline at end of file +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.0.3 (2019-03-19) + */ +!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(e){return function(){return e}};function d(r){for(var o=[],e=1;e${name}'),f=function(t,n){return function(e,t){for(var n=0,r=e.length;n'+(r=n,i=M((o=r).plugins),c=o.settings.forced_plugins===undefined?i:function(e,t){for(var n=[],r=0,o=e.length;r"+f(r,e)+""}),l=u.length,s=u.join(""),"

"+T.translate(["Plugins installed ({0}):",l])+"

    "+s+"
")+""),(t=b(["Accessibility Checker","Advanced Code Editor","Tiny Comments","Tiny Drive","Enhanced Media Embed","Format Painter","Link Checker","Mentions","MoxieManager","PowerPaste","Spell Checker Pro"],function(e){return"
  • "+T.translate(e)+"
  • "}).join(""),'

    '+T.translate("Premium plugins:")+"

    ")].join("")}]}},H=tinymce.util.Tools.resolve("tinymce.EditorManager"),j=function(){var e,t,n='TinyMCE '+(e=H.majorVersion,t=H.minorVersion,0===e.indexOf("@")?"X.X.X":e+"."+t)+"";return{type:"htmlpanel",html:"

    "+T.translate(["You are using {0}",n])+"

    ",presets:"document"}},E=function(e){return e.getParam("help_version",j,"function")()},D=function(e){return{title:"Version",items:[E(e)]}},I=function(t){return function(){var e={type:"tabpanel",tabs:[w(),F(t),D(t)]};t.windowManager.open({title:"Help",size:"medium",body:e,buttons:[{type:"cancel",name:"close",text:"Close",primary:!0}],initialData:{}})}},L=function(e){e.addCommand("mceHelp",I(e))},B=function(e){e.ui.registry.addButton("help",{icon:"help",tooltip:"Help",onAction:I(e)}),e.ui.registry.addMenuItem("help",{text:"Help",icon:"help",shortcut:"Alt+0",onAction:I(e)})};e.add("help",function(e){B(e),L(e),e.shortcuts.add("Alt+0","Open help dialog","mceHelp")}),function N(){}}(); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/hr/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/hr/plugin.min.js index 72bc2cab..63e4df1d 100755 --- a/bl-plugins/tinymce/tinymce/plugins/hr/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/hr/plugin.min.js @@ -1 +1,9 @@ -!function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(n){n.addCommand("InsertHorizontalRule",function(){n.execCommand("mceInsertContent",!1,"
    ")})},o=function(n){n.addButton("hr",{icon:"hr",tooltip:"Horizontal line",cmd:"InsertHorizontalRule"}),n.addMenuItem("hr",{icon:"hr",text:"Horizontal line",cmd:"InsertHorizontalRule",context:"insert"})};n.add("hr",function(n){t(n),o(n)})}(); \ No newline at end of file +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.0.3 (2019-03-19) + */ +!function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager"),o=function(n){n.addCommand("InsertHorizontalRule",function(){n.execCommand("mceInsertContent",!1,"
    ")})},t=function(n){n.ui.registry.addButton("hr",{icon:"horizontal-rule",tooltip:"Horizontal line",onAction:function(){return n.execCommand("InsertHorizontalRule")}}),n.ui.registry.addMenuItem("hr",{icon:"horizontal-rule",text:"Horizontal line",onAction:function(){return n.execCommand("InsertHorizontalRule")}})};n.add("hr",function(n){o(n),t(n)}),function e(){}}(); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/image/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/image/plugin.min.js index 2bb78be4..8eec2ddf 100755 --- a/bl-plugins/tinymce/tinymce/plugins/image/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/image/plugin.min.js @@ -1 +1,9 @@ -!function(){"use strict";var i,e=tinymce.util.Tools.resolve("tinymce.PluginManager"),d=function(e){return!1!==e.settings.image_dimensions},l=function(e){return!0===e.settings.image_advtab},m=function(e){return e.getParam("image_prepend_url","")},n=function(e){return e.getParam("image_class_list")},r=function(e){return!1!==e.settings.image_description},a=function(e){return!0===e.settings.image_title},o=function(e){return!0===e.settings.image_caption},u=function(e){return e.getParam("image_list",!1)},c=function(e){return e.getParam("images_upload_url",!1)},s=function(e){return e.getParam("images_upload_handler",!1)},g=function(e){return e.getParam("images_upload_url")},f=function(e){return e.getParam("images_upload_handler")},p=function(e){return e.getParam("images_upload_base_path")},h=function(e){return e.getParam("images_upload_credentials")},v="undefined"!=typeof window?window:Function("return this;")(),b=function(e,t){return function(e,t){for(var n=t!==undefined&&null!==t?t:v,r=0;rthis.length())return null;for(var n=this.littleEndian?0:-8*(e-1),r=0,o=0;r=s.length())throw new Error("Invalid Exif data.");"ASCII"!==i?(f=s.asArray(i,c,a),l=1==a?f[0]:f,it.hasOwnProperty(o)&&"object"!=typeof l?d[o]=it[o][l]:d[o]=l):d[o]=s.STRING(c,a).replace(/\0$/,"").trim()}return d},t}(),ut=function(t){var e,n,r=[],o=0;for(e=2;e<=t.length();)if(65488<=(n=t.SHORT(e))&&n<=65495)e+=2;else{if(65498===n||65497===n)break;o=t.SHORT(e+2)+2,65505<=n&&n<=65519&&r.push({hex:n,name:"APP"+(15&n),start:e,length:o,segment:t.SEGMENT(e,o)}),e+=o}return r},ct=function(u){return k.blobToArrayBuffer(u).then(function(t){try{var e=new tt(t);if(65496===e.SHORT(0)){var n=ut(e),r=n.filter(function(t){return"APP1"===t.name}),o={};if(!r.length)return g.reject("Headers did not include required information");var i=new at(r[0].segment);return(o={tiff:i.TIFF(),exif:i.EXIF(),gps:i.GPS(),thumb:i.thumb()}).rawHeaders=n,o}return g.reject("Image was not a jpeg")}catch(a){return g.reject("Unsupported format or not an image: "+u.type+" (Exception: "+a.message+")")}})},lt=function(t,e){return Q.rotate(t,e)},st={invert:function(t){return K.invert(t)},sharpen:function(t){return K.sharpen(t)},emboss:function(t){return K.emboss(t)},brightness:function(t,e){return K.brightness(t,e)},hue:function(t,e){return K.hue(t,e)},saturate:function(t,e){return K.saturate(t,e)},contrast:function(t,e){return K.contrast(t,e)},grayscale:function(t,e){return K.grayscale(t,e)},sepia:function(t,e){return K.sepia(t,e)},colorize:function(t,e,n,r){return K.colorize(t,e,n,r)},gamma:function(t,e){return K.gamma(t,e)},exposure:function(t,e){return K.exposure(t,e)},flip:function(t,e){return Q.flip(t,e)},crop:function(t,e,n,r,o){return Q.crop(t,e,n,r,o)},resize:function(t,e,n){return Q.resize(t,e,n)},rotate:lt,exifRotate:function(e){return e.toBlob().then(ct).then(function(t){switch(t.tiff.Orientation){case 6:return lt(e,90);case 3:return lt(e,180);case 8:return lt(e,270);default:return e}},function(){return e})}},ft=function(t){return t.toBlob()},dt={blobToImageResult:function(t){return M.fromBlob(t)},fromBlobAndUrlSync:function(t,e){return M.fromBlobAndUrlSync(t,e)},imageToImageResult:function(t){return M.fromImage(t)},imageResultToBlob:function(t,e,n){return e===undefined&&n===undefined?ft(t):t.toAdjustedBlob(e,n)},imageResultToOriginalBlob:ft,imageResultToDataURL:function(t){return t.toDataURL()}},ht=function(){return S.getOrDie("URL")},pt={createObjectURL:function(t){return ht().createObjectURL(t)},revokeObjectURL:function(t){ht().revokeObjectURL(t)}},gt=tinymce.util.Tools.resolve("tinymce.util.Delay"),mt=tinymce.util.Tools.resolve("tinymce.util.Promise"),yt=tinymce.util.Tools.resolve("tinymce.util.URI"),vt=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),bt=tinymce.util.Tools.resolve("tinymce.ui.Factory"),wt=tinymce.util.Tools.resolve("tinymce.geom.Rect"),xt=function(n){return new mt(function(t){var e=function(){n.removeEventListener("load",e),t(n)};n.complete?t(n):n.addEventListener("load",e)})},It=tinymce.util.Tools.resolve("tinymce.dom.DomQuery"),Tt=tinymce.util.Tools.resolve("tinymce.util.Observable"),Rt=tinymce.util.Tools.resolve("tinymce.util.VK"),St=0,Ot={create:function(t){return new(bt.get("Control").extend({Defaults:{classes:"imagepanel"},selection:function(t){return arguments.length?(this.state.set("rect",t),this):this.state.get("rect")},imageSize:function(){var t=this.state.get("viewRect");return{w:t.w,h:t.h}},toggleCropRect:function(t){this.state.set("cropEnabled",t)},imageSrc:function(t){var o=this,i=new Image;i.src=t,xt(i).then(function(){var t,e,n=o.state.get("viewRect");if((e=o.$el.find("img"))[0])e.replaceWith(i);else{var r=document.createElement("div");r.className="mce-imagepanel-bg",o.getEl().appendChild(r),o.getEl().appendChild(i)}t={x:0,y:0,w:i.naturalWidth,h:i.naturalHeight},o.state.set("viewRect",t),o.state.set("rect",wt.inflate(t,-20,-20)),n&&n.w===t.w&&n.h===t.h||o.zoomFit(),o.repaintImage(),o.fire("load")})},zoom:function(t){return arguments.length?(this.state.set("zoom",t),this):this.state.get("zoom")},postRender:function(){return this.imageSrc(this.settings.imageSrc),this._super()},zoomFit:function(){var t,e,n,r,o,i;t=this.$el.find("img"),e=this.getEl().clientWidth,n=this.getEl().clientHeight,r=t[0].naturalWidth,o=t[0].naturalHeight,1<=(i=Math.min((e-10)/r,(n-10)/o))&&(i=1),this.zoom(i)},repaintImage:function(){var t,e,n,r,o,i,a,u,c,l,s;s=this.getEl(),c=this.zoom(),l=this.state.get("rect"),a=this.$el.find("img"),u=this.$el.find(".mce-imagepanel-bg"),o=s.offsetWidth,i=s.offsetHeight,n=a[0].naturalWidth*c,r=a[0].naturalHeight*c,t=Math.max(0,o/2-n/2),e=Math.max(0,i/2-r/2),a.css({left:t,top:e,width:n,height:r}),u.css({left:t,top:e,width:n,height:r}),this.cropRect&&(this.cropRect.setRect({x:l.x*c+t,y:l.y*c+e,w:l.w*c,h:l.h*c}),this.cropRect.setClampRect({x:t,y:e,w:n,h:r}),this.cropRect.setViewPortRect({x:0,y:0,w:o,h:i}))},bindStates:function(){var r=this;function n(t){r.cropRect=function(l,n,s,r,o){var f,a,t,i,e="mce-",u=e+"crid-"+St++;function d(t,e){return{x:e.x-t.x,y:e.y-t.y,w:e.w,h:e.h}}function c(t,e,n,r){var o,i,a,u,c;o=e.x,i=e.y,a=e.w,u=e.h,o+=n*t.deltaX,i+=r*t.deltaY,(a+=n*t.deltaW)<20&&(a=20),(u+=r*t.deltaH)<20&&(u=20),c=l=wt.clamp({x:o,y:i,w:a,h:u},s,"move"===t.name),c=d(s,c),f.fire("updateRect",{rect:c}),g(c)}function h(e){function t(t,e){e.h<0&&(e.h=0),e.w<0&&(e.w=0),It("#"+u+"-"+t,r).css({left:e.x,top:e.y,width:e.w,height:e.h})}$.each(a,function(t){It("#"+u+"-"+t.name,r).css({left:e.w*t.xMul+e.x,top:e.h*t.yMul+e.y})}),t("top",{x:n.x,y:n.y,w:n.w,h:e.y-n.y}),t("right",{x:e.x+e.w,y:e.y,w:n.w-e.x-e.w+n.x,h:e.h}),t("bottom",{x:n.x,y:e.y+e.h,w:n.w,h:n.h-e.y-e.h+n.y}),t("left",{x:n.x,y:e.y,w:e.x-n.x,h:e.h}),t("move",e)}function p(t){h(l=t)}function g(t){var e,n;p((e=s,{x:(n=t).x+e.x,y:n.y+e.y,w:n.w,h:n.h}))}return a=[{name:"move",xMul:0,yMul:0,deltaX:1,deltaY:1,deltaW:0,deltaH:0,label:"Crop Mask"},{name:"nw",xMul:0,yMul:0,deltaX:1,deltaY:1,deltaW:-1,deltaH:-1,label:"Top Left Crop Handle"},{name:"ne",xMul:1,yMul:0,deltaX:0,deltaY:1,deltaW:1,deltaH:-1,label:"Top Right Crop Handle"},{name:"sw",xMul:0,yMul:1,deltaX:1,deltaY:0,deltaW:-1,deltaH:1,label:"Bottom Left Crop Handle"},{name:"se",xMul:1,yMul:1,deltaX:0,deltaY:0,deltaW:1,deltaH:1,label:"Bottom Right Crop Handle"}],i=["top","right","bottom","left"],It('
    ').appendTo(r),$.each(i,function(t){It("#"+u,r).append(' + +$L->g('Enabled plugins'))); + echo ' - - - - - - - - - +
    '.$L->g('Name').''.$L->g('Description').''.$L->g('Version').''.$L->g('Author').'
    '; -foreach ($plugins['all'] as $plugin) { - echo 'installed()?'class="bg-light"':'').'> +// Show installed plugins +foreach ($pluginsInstalled as $plugin) { + echo ''; - '; - echo ''; + + echo ''; + + echo ''; + + echo ''; +} + +echo ' + +
    -
    '.$plugin->name().'
    + echo '
    +
    '.$plugin->name().'
    '; - - if ($plugin->installed()) { if (method_exists($plugin, 'form')) { echo ''.$L->g('Settings').''; } echo ''.$L->g('Deactivate').''; - } else { - echo ''.$L->g('Activate').''; - } - echo '
    '; echo '
    '; + echo ''; + echo $plugin->description(); + echo ''; + echo ''.$plugin->version().''; + echo ' + '.$plugin->author().' +
    +'; + +echo Bootstrap::formTitle(array('title'=>$L->g('Disabled plugins'))); + +echo ' + + +'; + +// Plugins not installed +$pluginsNotInstalled = array_diff_key($plugins['all'], $pluginsInstalled); +foreach ($pluginsNotInstalled as $plugin) { + echo ''; + + echo ''; + + echo ''; From 801c2ba9e9381c7bf635b1ecca01b00c4c0bde8a Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Sun, 12 May 2019 11:50:08 +0200 Subject: [PATCH 043/122] Edit setting trough the API --- bl-plugins/api/plugin.php | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/bl-plugins/api/plugin.php b/bl-plugins/api/plugin.php index b8dd418f..1106f091 100644 --- a/bl-plugins/api/plugin.php +++ b/bl-plugins/api/plugin.php @@ -138,6 +138,10 @@ class pluginAPI extends Plugin { $pageKey = $parameters[1]; $data = $this->editPage($pageKey, $inputs); } + // (PUT) /api/settings + elseif ( ($method==='PUT') && ($parameters[0]==='settings') && empty($parameters[1]) && $writePermissions ) { + $data = $this->editSettings($inputs); + } // (DELETE) /api/pages/ elseif ( ($method==='DELETE') && ($parameters[0]==='pages') && !empty($parameters[1]) && $writePermissions ) { $pageKey = $parameters[1]; @@ -483,4 +487,26 @@ class pluginAPI extends Plugin { ); } + /* + | Edit the settings + | You can edit any field defined in the class site.class.php variable $dbFields + | + | @args array + | + | @return array + */ + private function editSettings($args) + { + if (editSettings($args)) { + return array( + 'status'=>'0', + 'message'=>'Settings edited.' + ); + } + return array( + 'status'=>'1', + 'message'=>'Error trying to edit the settings.' + ); + } + } \ No newline at end of file From 10ba5625da3ca21ce05ca43c462d787c5bc18791 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Sun, 12 May 2019 12:32:12 +0200 Subject: [PATCH 044/122] Get categories via the API --- bl-kernel/category.class.php | 18 ++++++++- bl-kernel/functions.php | 4 +- bl-plugins/api/plugin.php | 76 ++++++++++++++++++++++++++++++++++-- 3 files changed, 92 insertions(+), 6 deletions(-) diff --git a/bl-kernel/category.class.php b/bl-kernel/category.class.php index d7c58531..f48a5970 100644 --- a/bl-kernel/category.class.php +++ b/bl-kernel/category.class.php @@ -59,4 +59,20 @@ class Category { { return $this->getValue('list'); } -} + + // Returns an array in json format with all the data of the tag + public function json($returnsArray=false) + { + $tmp['key'] = $this->key(); + $tmp['name'] = $this->name(); + $tmp['description'] = $this->description(); + $tmp['permalink'] = $this->permalink(); + $tmp['pages'] = $this->pages(); + + if ($returnsArray) { + return $tmp; + } + + return json_encode($tmp); + } +} \ No newline at end of file diff --git a/bl-kernel/functions.php b/bl-kernel/functions.php index 3de2d6bc..bc645b94 100644 --- a/bl-kernel/functions.php +++ b/bl-kernel/functions.php @@ -571,7 +571,9 @@ function editSettings($args) { $args['uriBlog'] = ''; } - $args['extremeFriendly'] = (($args['extremeFriendly']=='true')?true:false); + if (isset($args['extremeFriendly'])) { + $args['extremeFriendly'] = (($args['extremeFriendly']=='true')?true:false); + } if ($site->set($args)) { // Check current order-by if changed it reorder the content diff --git a/bl-plugins/api/plugin.php b/bl-plugins/api/plugin.php index 1106f091..dead0763 100644 --- a/bl-plugins/api/plugin.php +++ b/bl-plugins/api/plugin.php @@ -164,6 +164,15 @@ class pluginAPI extends Plugin { $tagKey = $parameters[1]; $data = $this->getTag($tagKey); } + // (GET) /api/categories + elseif ( ($method==='GET') && ($parameters[0]==='categories') && empty($parameters[1]) ) { + $data = $this->getCategories(); + } + // (GET) /api/categories/ + elseif ( ($method==='GET') && ($parameters[0]==='categories') && !empty($parameters[1]) ) { + $categoryKey = $parameters[1]; + $data = $this->getCategory($categoryKey); + } else { $this->response(401, 'Unauthorized', array('message'=>'Access denied or invalid endpoint.')); } @@ -284,7 +293,7 @@ class pluginAPI extends Plugin { } catch (Exception $e) { return array( 'status'=>'1', - 'message'=>'Tag not found by the tag key: '.$key + 'message'=>'Tag not found by the key: '.$key ); } @@ -301,7 +310,7 @@ class pluginAPI extends Plugin { return array( 'status'=>'0', - 'message'=>'Tag data and pages related to the tag.', + 'message'=>'Information about the tag and pages related.', 'data'=>$data ); } @@ -491,9 +500,9 @@ class pluginAPI extends Plugin { | Edit the settings | You can edit any field defined in the class site.class.php variable $dbFields | - | @args array + | @args array | - | @return array + | @return array */ private function editSettings($args) { @@ -509,4 +518,63 @@ class pluginAPI extends Plugin { ); } + /* + | Returns the categories in the system + | Included the category name, key, description and the list of pages + | The list of pages are the page's key + | + | @return array + */ + private function getCategories() + { + global $categories; + $tmp = array( + 'status'=>'0', + 'message'=>'List of categories.', + 'data'=>array() + ); + foreach ($categories->keys() as $key) { + $category = $categories->getMap($key); + array_push($tmp['data'], $category); + } + return $tmp; + } + + /* + | Returns information about the category and pages related + | The pages are expanded which mean the title, content and more fields are returned in the query + | This can degrade the performance + | + | @key string Category key + | + | @return array + */ + private function getCategory($key) + { + try { + $category = new Category($key); + } catch (Exception $e) { + return array( + 'status'=>'1', + 'message'=>'Category not found by the key: '.$key + ); + } + + $list = array(); + foreach ($category->pages() as $pageKey) { + try { + $page = new Page($pageKey); + array_push($list, $page->json($returnsArray=true)); + } catch (Exception $e){} + } + + $data = $category->json($returnsArray=true); + $data['pages'] = $list; + + return array( + 'status'=>'0', + 'message'=>'Information about the category and pages related.', + 'data'=>$data + ); + } } \ No newline at end of file From 05a17e91229a8f0574cd30d3406235953de451ea Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Sun, 12 May 2019 14:31:33 +0200 Subject: [PATCH 045/122] Editor role now only can edit his own content --- bl-kernel/admin/controllers/content.php | 37 ++++++++++++++------ bl-kernel/admin/controllers/edit-content.php | 2 +- bl-kernel/admin/views/edit-user.php | 27 ++++++++++---- 3 files changed, 48 insertions(+), 18 deletions(-) diff --git a/bl-kernel/admin/controllers/content.php b/bl-kernel/admin/controllers/content.php index 3ea7755f..f48ee78b 100644 --- a/bl-kernel/admin/controllers/content.php +++ b/bl-kernel/admin/controllers/content.php @@ -10,6 +10,19 @@ checkRole(array('admin', 'editor')); // Functions // ============================================================================ +// Returns the content belongs to the current user if the user has the role Editor +function filterContentOwner($list) { + global $login; + global $pages; + $tmp = array(); + foreach ($list as $pageKey) { + if ($pages->db[$pageKey]['username']==$login->username()) { + array_push($tmp, $pageKey); + } + } + return $tmp; +} + // ============================================================================ // Main before POST // ============================================================================ @@ -22,21 +35,25 @@ checkRole(array('admin', 'editor')); // Main after POST // ============================================================================ -// List of published pages -$onlyPublished = true; -$numberOfItems = ITEMS_PER_PAGE_ADMIN; -$pageNumber = $url->pageNumber(); -$published = $pages->getList($pageNumber, $numberOfItems, $onlyPublished); +$published = $pages->getList($url->pageNumber(), ITEMS_PER_PAGE_ADMIN); +$drafts = $pages->getDraftDB(true); +$scheduled = $pages->getScheduledDB(true); +$static = $pages->getStaticDB(true); +$sticky = $pages->getStickyDB(true); + +// If the user is an Editor filter the content he/she can edit +if (checkRole(array('editor'))) { + $published = filterContentOwner($published); + $drafts = filterContentOwner($drafts); + $scheduled = filterContentOwner($scheduled); + $static = filterContentOwner($static); + $sticky = filterContentOwner($sticky); +} // Check if out of range the pageNumber if (empty($published) && $url->pageNumber()>1) { Redirect::page('content'); } -$drafts = $pages->getDraftDB(true); -$scheduled = $pages->getScheduledDB(true); -$static = $pages->getStaticDB(true); -$sticky = $pages->getStickyDB(true); - // Title of the page $layout['title'] .= ' - '.$L->g('Manage content'); \ No newline at end of file diff --git a/bl-kernel/admin/controllers/edit-content.php b/bl-kernel/admin/controllers/edit-content.php index 0b5ba1d2..16c83d99 100644 --- a/bl-kernel/admin/controllers/edit-content.php +++ b/bl-kernel/admin/controllers/edit-content.php @@ -4,7 +4,7 @@ // Check role // ============================================================================ -if (!checkRole(array('admin','editor'), false)) { +if (checkRole(array('editor'), false)) { try { $pageKey = isset($_POST['key']) ? $_POST['key'] : $layout['parameters']; $page = new Page($pageKey); diff --git a/bl-kernel/admin/views/edit-user.php b/bl-kernel/admin/views/edit-user.php index c92a2ae6..9d93c485 100644 --- a/bl-kernel/admin/views/edit-user.php +++ b/bl-kernel/admin/views/edit-user.php @@ -100,21 +100,34 @@
    -
    - - -
    -
    - Profile picture preview +
    +
    +
    +
    + + +
    + +
    +
    + Profile picture preview +
    +
    From 93e6b2a622c47fb6ac551fbde5e85601c83ded11 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Fri, 17 May 2019 19:51:39 +0200 Subject: [PATCH 051/122] remove open iconic fonts --- .../themes/booty/css/fonts/open-iconic.eot | Bin 28196 -> 0 bytes .../themes/booty/css/fonts/open-iconic.otf | Bin 20996 -> 0 bytes .../themes/booty/css/fonts/open-iconic.svg | 543 ------------------ .../themes/booty/css/fonts/open-iconic.ttf | Bin 28028 -> 0 bytes .../themes/booty/css/fonts/open-iconic.woff | Bin 14984 -> 0 bytes 5 files changed, 543 deletions(-) delete mode 100755 bl-kernel/admin/themes/booty/css/fonts/open-iconic.eot delete mode 100755 bl-kernel/admin/themes/booty/css/fonts/open-iconic.otf delete mode 100755 bl-kernel/admin/themes/booty/css/fonts/open-iconic.svg delete mode 100755 bl-kernel/admin/themes/booty/css/fonts/open-iconic.ttf delete mode 100755 bl-kernel/admin/themes/booty/css/fonts/open-iconic.woff diff --git a/bl-kernel/admin/themes/booty/css/fonts/open-iconic.eot b/bl-kernel/admin/themes/booty/css/fonts/open-iconic.eot deleted file mode 100755 index f98177dbf711863eff7c90f84d5d419d02d99ba8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28196 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 f%X4~$E_2;^J#ifP;CI~=<%5iE_!YyhznS - - - - -Created by FontForge 20120731 at Tue Jul 1 20:39:22 2014 - By P.J. Onori -Created by P.J. Onori with FontForge 2.0 (http://fontforge.sf.net) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bl-kernel/admin/themes/booty/css/fonts/open-iconic.ttf b/bl-kernel/admin/themes/booty/css/fonts/open-iconic.ttf deleted file mode 100755 index fab604866cd5e55ef4525ea22e420c411f510b01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28028 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 diff --git a/bl-kernel/admin/themes/booty/css/fonts/open-iconic.woff b/bl-kernel/admin/themes/booty/css/fonts/open-iconic.woff deleted file mode 100755 index f9309988aeab3868040d3b322658902098eba27f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14984 zcmZ8|b8seK(C!=Cwr#($lZ~BhY}>Y-jcwc5*vZBlYh&9^ZhqhW{ZvpRobEY2 zRim2jc2|&)0Du6#g(m`l^xtUf0|3Fv_;2t37YPYfIRF6U=Qof04SefskYWWDCf0Ax zvBgA?Sg zQ{3X4{N{ANb;56uL&kuESlGIFd~-hEx-kF%7M7U{z_qbA{?BgvJGPPkQ1m-q%+}E3 zdtHw2HU7t!7$h5R$XB`1U|?VZ2x4oEo(?{~<9cW^U`%1|L<`O49o%ya3Cchk?TQjvHN{6At8vTKtqH+gT24Lz@);yzA(}YXmPMtu?=J) zB`AsehXP=+al-fk06b49&+lmeAMwbpQMYtnkU%E5*g+%ehk}td81f)!!euyQg~T*2 z)@9npKco9a9KNs1`!r1D7wjizEmb+j<)@`LL%3o_S^DOxFhSl--hj14 zM#H5aHC`i!yXJ}d7a=RP@L93co8&-xe2dITtXa!y%MBkDB~oaSX8=|B+}p%5@uonM zn_)dskE5dgxwy$B7UDtO_s#N{dQ@IiYRc?**2_dj%d{C+ob@a*k&~f+QCmvu@MvPv zXAzzv=m(mV@f35IWRg%#BWNS#Yb*+XqhW64orn;jVCARAp6(CT+dJl6*AU;? zM*P*yjc8Zknkp&+s)x#G((ur2&&kDr+QHf9@3~dEGc~r>L7*Gzy1Zi26w8WWema4O9nUHF1Ay`VkG|KN;jIkW!y|Iqm z_{%A18!12g;hLL=>v$cmr4i55J7qcYXU=B~yAkp<@s~C6tv|V{8@vThN7>Ar*+kUT zG#R!Mo!W$4Nb=yBdJDs4I&6_7L__a`awb5B)C3Ey=!p>9V1OES1_-UBB15l>gAY6! zgAcgD1lD&~n=am~Xzs0?{DhP>B#)UnBu6*&eKAo@JpMbD(YyVmvxqj z&@&kK=UwrH$rMA@KCPr0_vdj`DwkaL#P-jJHm=bJ?i!1 z8}!q?ktnS3m!tlo1#^A;Kj@_YSVeWK>j|c&ToS7G_GF@PG48OmO z9f5EK30J^t+iqJy*#ApP50`b1Itps9p(Y}?<(r0xM8Llb@Vv_bC)p7#QQo3mf&A%)o+*0URgNCG za4$QHzx$SKgZ`gRt#R0@*1!twSlSHhsoh;QsLMm8r|!LTG;ZrmyWdoHUi$My zm|}07P^J|LaHp^NgRiGf&NR(l5NXAon_%#8@W<{J!y{jdzW4$&DU}1qKxKQX)8XSL z?2mV_=`AIG5HC-7@$7A6{NO&-ydr#n74Uj&pF-Z$8y{E$zC4yusOM~M_{>Se`eA&?^+`>z6+^^e z-9zRTW5i&l^d`h>3TNz)Nke3o@P4#IaDYO_;5OYM^K&LQe2?L@Z-9NqAh8)@a0oa2 zBgZE0*v2lzCWIB9Dg+PnN60WgJt9X9;>y;|Kz%P)#Ht|n&;k+1CZVGLZfL=$4YG(l)XI zh)7x3yd;LHCXIWu%}triolkzfz}&Mv;H7!jBuw@gw*s$C$eu=Qa`1sc z5B}ui$H!Ce4T7GYUs-(D)QtlbRq-=L`#jXs?`*z*GJpGBAOxgH)eXYY$Hg~AG4DOq z=I=cl`sYCiMJzXE)U-~?69#ZqtZ&+AQf<3#MTmlm%g{%Umm_j2vh91ay zqv1Eg^xKZrziV{;&zZQAcXh9BJ$2;6V~=dAB!U$EAp{B=FqE%)N^YkP%oiRBdy5yc}^m({p@zFIc>%w~m)m9mf}!-OfW5B#m6e+P`6X=P7dmh0oT$%qeiyr_JA?e>=;4&-SO=&B8d&53>ph7P{!2UjA~-<}+y zPd{`k0wz%CSu^`360$||g)I7cO(uA+j+wedG2^l`$+y$zR;9Uh)P|Z7YDCGkDr?Emz*2pk z=&{N3d}iyDCb5)=dbZCriD^F425+7nvY$^RexMM&Y@~fu_8dox`Rv=J+(Qc9 zWn-qPasT@eA02E~FvN~G5E{6FE|YOYXW<6Lr~;=-HsGPY*-BMa)A~nN0YuSZvNR`; z?3GZSJ9gTT=B1hQ>?q8Z$4Lc+-+cJDeA2{i2Y;$GDd|}~D%QeStOPVz3q!BG*3_3< zsN9j}+#54rC}E;sx!5Odt+_wQl@-R;EOL%rm7PhG84}(HzEmEj=aMrK zIbG|+mgHB(oqX}A(s99tu1a)pigk_tAoUw~m?aQ&b3GAeI>XD0@EuIa$5l*WS1n*g zVJzBC98rNH+I+s$#v@W|d9@)RcYCycT4=Se+q`R8J-~u{;9-d3WS5+P6N)5m6Yiaf zW5r-x?=Ll_GwMmLqv7bF{L`WyIobWu>Q~t8YF*XhO1GVnn(*7@JyIqu1`U@KGOlS7 zDkIuCSkaEPKx|W0eg3B=i?9iL1FUT5wishps-be9I&>pL2hh8|-SBPq^WaW#5tOE~ zT}eCEtSL~gqcqjWVd7I9gOLIKbVX?4W{OO%%C0HvcP#h>_@M-fc}T%}R9KJL<`U9V zXu1u!HS7X0Ez~@YB)L|YW@u9W5-|tHX@2Vd^Q|Yoj6j=D&m1~FnIk%im7$;J?kgN=T59<}6@^cfW2XSeDIy;+ z;ETOlaWdwo5OPoV_ct=W{O6{#XMgMJ$9oeE-~m`CjpUZsw{hJ#0gvO&c?Cy}%w9Ms zF1qLs5n#X6OVn!u32_b_qY`#EKw4CB&te~7XZY(jWdCXUQ92kuUn~8)qF)SI2<%X% z$*37c99~#|tO)1lveW3!TBbb0&BE?sJ2VN2b`;e?d02KJA-GD}T=1K%plNHtYUYXp zgJD%O29qwCKm_~M0K>`K8^SP{D*2gCTZu`SM9S}-Ykw9zDoswD2oi?2TS?0j|YT&|8hjXaQoPL@9w`)i%-M<8&28g z`*F!&y{zlqjf@rLrt~FRSN5BK<&28)W4m>{vp08~u*1zMt6=`$Tiv_$EYw^6mW-W< zt8zy&d5h9t;u3Jj2lY=`hj8Cq$z7Jwz83FVg8EUT_;y_|+qcUF=C!0ITJ*U22Lx;V! zcKoPS=n8#~`Z=P6J*6*B$?-V%RjyUCCvVVwdl4E(WA=YtevNLvY$%)5Bc}Fw#;j-I z0#n6dHjW;Da&pE??)2+d3EbXdopfMeK@6A7^s%KeI88UNE8A_UQz9pRg$VLmUKJVl z4I&pPU<9*3OS$nt9-xj5K$8UbcV(lbl*jMiig1b^fo^TkNqIjEk~>Q^*t@Y56IUj>ezm7Kz-yTs!n(QG%R6u)`W@o3~fE4rr$BH|lu!66Zt>E+mol2P_*O ziCJ0f=UY}ApdzPxn7#+JwBo&4_`u(lc$Y5=bBVwn<&r;>yAaRJ-31VEoTj>*61yyd zp3YVTLPv?QW5862ulNZ1OgO37-b6gtqu(;CiQAmQ# zCr+Ycyg+WEcZ!?X&fSUptp-8 zOKi8O!M8Q-*Qu1ps0AggluG*V^1Nk{%4)ki%nw(VY+snRW|#=(2QwJB9_$3%HZg&v zGierEtLuJ=$|~f4f4fwK5=?TPAjUyj8Yew=i=kkkgavOh6g$X3)xPOz)zymuI+`8M zw>dd|>IZAe!R{&|(y{JJk1V~blgfVPyc@hkWl%sl(2&%1_ zBayVylj>~>f=ABwi~c<+Iw4?r-Y>*Ha5S^04!G0F`%{@_*=~3GPH#N7wy(VW#9K~% z^A}g?O}_Q?lKt*@WTk_H-hSSv3-$^pR130pW(KZ(yEogRXYxqJ=3(mI^u9}QZvQ-a z((-M|R_NJHj9Leb)GgW74j^HIe+xHZ9kE0~@bpOQ{p$rbO7MWSD}JS|^sjCkYlGuC zUORP_Sk^=&Xl>}jo)cc3(U8>A$EKMhU3Op5&q?!5bIRWKQy#{mHJe~z zpD_@@wKexPN7*mrUJtXFETM6Et`^w$d}C!Oti(ItQxZ<}ac+wqpcwP31>V3Xy^R=>z5USMBZKK+o&=70h3Nk7J|rhq`+&2=kGz zbKt(1>sMjxt*%JtH0X1QUjjrO+!WGqJ~>^oI7Jo_J)Kc&*z0~air!w9jp!g4?wfgq zJL+up-MtWP-#IVzI~_ZIvZ7?AAS3Z;mPEnwP_cT! z*JJkw8oBTf-J3$s=O1WSr-_ar>?Lq(5SfWB(V-~fojAhaKW3_-Gv)6Cs%N6kHOpSA zcS_*;`P_me1{t2on+Vr1a$ReDFnK`uz3Z3nG7l^pUjIFTxC`QjIs zw*4v<4CwC+ww4{v+O69!bR4?vCk|s{UsX-Jfap8;>_AXh$l|f<;E74Cz!jC7G9IXy zRd53A1wnR`fLa1lq+bZjJc+3|#A70PRV!DqsMBI+{Y`^Fjxpas$8>UHzBCi7^C*i6 zK(hW0jN5kPJk|E<^L0~z;qgZas_$AoR&%@#wjhOvWDm=21DL3NucshN z&4&0NC>nxBdAUC#X!+LbzQ^kjjbhE1k1OVX7~$`<-c{$9+pA7>tr~|B)r7k3PQii)1bP3cLR~PA43g zv4&593)87tEg~Q62W|9|3QnF4m?e!IAcZS5Ibl^1YcsARB`ADY4@045znu~7a01Rh z>+l$JuFC|4z7hK3+kCD|DCv!`W2+C<_BhK-N=Y> zl~TeiuMqwCt^g2?J(W(R_x%hzZ2vT01(hBOkf{W6GNbOatvp{|VWfZ@Gaj%s85B1e z{1-eVWEKKhhEWhGjoh&iS!ze1fT3o7ow#1s4uhlLS<=;VminN4iuf0PSxB_tM4{Q*zUBpS#fqtC8M||{+PW- z5(wRsj(WEBgf#w`o)_kNV2gkk)eH-#tUQ@!r1^IZh&ZD0`?tbafwU1|CVhznf zNcNSz+~+>zhi)M#9b%<-D2l7HP?UKitR+ZD(RSuH;DtL1{iZh<2ucun!sawL z`=q-fJdKD;G+Bv51liqQ+tU(A>7MJhhOnA&5qu5Rl=-K7=a^Bc5AfVym}bjN8}a31 zSC+FQ2;YpbwsQh&KyheTK+B>WMu-W!SdTKbq+HdKtis?NxkRxZ$qSeOCGaBhz|Z(DEp*18 z1VY0=kluAfiGjwwj;QdjMMGCGU*OjKSx<7Ei}Qj)i@i@!ss5pK%B8wKW43@}FZc$1 z-YoNXL5^b2WSlRy4ve@Z5jq~L&dXc<&fA`H7{ix;`+e}9bh&Hz9biU!LH$`ro>n{E z60{dR1cz+zB{R$pgoATCvTD1<7#BtK@y^5If#X$}l~ytQCQx-!#mp8tbkW2!!BzcyD)40=2|*Yu0mzK2QhCp1h#(R@$2;3wHfiXgEyLjy>&XZ{&M zX|0LbwAC69Uagm>U>z2#~Po-F%98OE1a8pWC?$^=_E$3P3gIXP#XRT!S%HmE3Nof?Q8}oXNel$6zZ6o5zeox?V*DP z#;gc)w7}{?5S6x8>d);zSK@Bkb2cjyb4fpGEQY8yvG{d=<)f#aeV&c7cz}dINU$Mi z(%?!S-H5nn;V;BHL`q}2RFUQG#`yzUbSbPC|xe%Okxc%);L zG_IfQ50^C{^A+S3h12axEIV`>eqL^5>t|45rId@hnBdprP!y7Z)cQ%p(8ARJ5fkIp zsXBB>UB(p=2!Bb&w+Ydbzv(Zoq=hleRCOX?9E-CqQnFv*KyBvL5g10fl#6st3l1r^ z{nu}0VD+#h3EPFLP)&G6MVtXL zojBMIJEED*owWecK9Axcvs^)EyxTG6kCj#khg~RI92J@%q-I~YswpGSNItHCSVz-Z z$aI%XJe@qt>YU7K`DFEY%(uxUQNk=Y1!MdKB!^j3lDhl& zB*r^qUR%{ANk;qd1q6@ttEMdwk?leq$2=`&Sl6|!Y!1R}KfWg7%;x6J6}JEmGNXFm zg|_y^m62>BRdyx`Y%_8b#P`(XCq2~>tsGTcLL!`UA*V>h`1J*&%T zdIHFYXJMi^OA7M~hfB<*ZueY+JM&>+Qfs#=kiLtfx0Ft)66%I_u?evJL21EhB1K~o z`y+e<;GfX>bBQsII2~e7232`QBzVq9t<1BI9gB&3v^Ec(tsL>=LHPD(3RZhi>+eHu zd|8z;=K=UNDEvmBsN1(=_6jNRl;dDjM9kO}*MC(c^F3lY{V&6y`f`AQZw?~-MqNy@ zTjAUYNJv+3iVw0y+J$1+cV)GLRf00|eV_EtDGG}ZM`MgKy1E3@Y68%4IWb*yvmw;1 zW4+u|$L@h*3@+;&b&FewrGx#rG#a-Y6k`B#0lUWXJ{=|geA4hq+^u1speQWAISOkxN6G2HT#(@9Tx^dB9XN_J?3OOn|~ zl$aAWj7%vg4nFC>fH5@o+O&Bq=Yw0FizVKxE{rDu<>BtzXAf=xem*|A%c3k`_IB1; zS?QAC^M3G%gl?zt#n9;@+H;`p^q*0YcXU&pIoTNQ@}1(qL22#*r= zZZi_}Yy%6t5zSkDn-$(McjvFXR9jx!dN;Or+L1<0IbO;R%_-O(w+5pxh#!$=qJ4Y4 zYD|XROqif~U`MF-?cxEZyv;j173tj z-YY(e%y5_KiS|+MCa32c^uh!YtRyu#U+7JX-2>9+vtNsXrX)PoX~9gbOv0o7fgfj} zB`?g8I*)BLm-MV-8F|9RS6zfd%mWs5oU49T_0Hc?R!?L211om!o0F5?OCs*R=6-{c#%b^7GQ}uK~jPH z!qWw1S0j(t4IW+yW|v#OYAN)jCMFo4AluBz$FX=j+Sk*9N}jv6sek`8*blveRYyK6 z@$$QlJR0o@v$S+f-zsLw0nh#kUV&fD{$c1Ky*FirKmqzg+)FWg)*qYr#!&xh)r5FM zyIhdtLDGe=z-F!B!f`gKQ;5@DmkA~JFJ)}&q2vWU*3SVpi6R6uxf)tZkEGzFa5#xh zgxWZZW?URJ?Z)bcPP-?uZsE@O`(e|((Jc)+yo;i4MIL;)hlm(2w741^jymCajG}`Y z0+9`yJ4PswEoFzGwoK&Bt{R)>WKNgeyhyZZrCWq%%VuYWOSZTCmc7B@AINXaIYw>g zD(_7~W$3#FFPFybE@REcF<7d=>Bl!Qs|)m~SLEeCXQD;JBti`=eSRQFLEkCdcI{wy zZh^j@{zDOlr}L}zgS3@RiQBzf2Jwro|}z zp(8`DShFcww4*$ph=`Zv&Qf;2lWqEvw#uf03PUx5*6Zt_ixy%t9Lsse#_!)n3$--l zOf$;2nUJKM8%rIVj%qU1>XT_ym2MR4aaD{P*8oOSZgIqcWfWlkoR%D~ll0=66q}CTgR^m^OW6AzkH7eH)iozB+LoEQPHk( z#`+MS)QEj`X~>v7ZPYe^*p)Xt3}Ja0T^Df?O^X*F|EApS<~55@Q05SkK0sF+UD=#y zt7#A&M)vf*n^sI0F~cOr_VJvOH0Xd?%4c zS9%8jMQZ#au03wIpvh_4m~jGGx}6aI{d!htmWrf+Ec501JY=~N`(k@SGWn!aRsfxN){B8UN2djrCZY-c;VfAmwKt~0mYbZs}* zN)bzhWb*t}1j2|hWp6O^-@hIy=snZ+vUl(7haLy(cRSqP)j6yC>k9j)-0U_2f`oC* zDq6$j2-(gxSw{;!Dp96XDiCcn<=s}RfXP?}T|Y2spwLwsB6ETb1}TfF=R{7Hzpnh5 zA8mde1`9$mIOIAp6)$HGzWUmv@fqHkz82Ew-Q~St6-GJ%T zoE#?-c3l0~iaA9*ZHhlS4{FA<9Xf40OlkBmvD;}@=7o63Ay)&<*d*Y$1s;!ljpE;>z#T%*x>L7ZnjI45Ij{?bC*!?k!+qG ztdZ3sm+s_sl6t;4RC2XWn51!HZA6K~SFd{_-)wmP_l?z2qE~E~<2OIQ+O+`I`?nv4 zTY=XT@qB)6R50(?106eq%h-+tvkEe1h`*@lmM&+x3DEC^osEhDdqcgXu%ke2MH&Xk z1C-O3ZCc_QBqYIvgg?eabiv}wJFj##c2D8mmh`lixXcu@YxCQrG8!B!t|Fs3VzCQ; z9hr_t$>&PsMb)7~T9Gy2%f@h*+#5)SQ1_;4J^h9y10)bshZ z;l2nhm_6Q$h;b}ZWEkFj``_4Ccc@<0bZ^yIU;nEXlUv%4ty-&3ERH>Fs*hBk2V4(@zX=>s`_S;> znv9FMT_}=x6fgK5Eocs51k=oLfx-1*kl`Xt-`Wy>}^8>`FDC3BHmx0tiP7SUAm<*Y2o55|>ORCS?h9s0JBXbw;#Cph$cb&794ji= z+q>GiW^0_In6F@|`Go$PG?<~CdAy08(5Tw{%|4#eF}0z$P|{heEvSj_fb)BSxH5<| z05&!eJ_hd`J6pRTn3-`De*kX~6ob6;5$76=(raIQ zLf|D#m~aFvX;k~)4ngj9jDkYEH>=9Bl0Y4lFbo2hwZ;8SM5yle*pjPB#+xSFQmlZS zx-6>M44W~rAali^78Y#mRKbxFx=eMiUEa9z(ucTGd4XT}DvL>5sH(2)4?_+6KO;-8 zrn@NfBWJqrmF0aeV)74j{RNieoN=x1WWDtZBl&cYz_p4>6*bDFG3D`jit{?pN}=Kb zA$HRnUz77!U1Y__9o>Mc9eAhu-xJAe)|vDDd>|D0$V1~)51#MF`!ucYiH0PDBh7hd zP@~9L9U6_>0ITN)i|*;n^J#Cuv4^nl9;%&+iqY3>S?5D)G#pDe#$!hX0bHuh9I~vq zA2D4T@VATH2!##Rj~ya`D*lSE^NQsk@^8~~tHFwqGoQhqMQ94Y#*!-iK3j^ml#r&i zOqazq3pA5ARb?ZISzwF}DezJS|A=-F4_sjNEx`+yGyRH{IhD+PA05?2fF70oRRvbTyn=GafV{2>-SOR5)yp}dOVJQnupdB__2H{ zi%Re7Q-_+nW%M@Y$ImbA3k6IhfhQs^_th%;8QPSFoVu@2dYLVA7&B7wEV3z3DWY|4`dJ^1W>(H5b9w2ewH26TeK*KTVdYH@0yhXow`Vt zEiQb%wNti%zh@KY^!l}LTgdz&+oC$>Osld`vBzQUXWP=M-9c}NQL_(n4;71kn5XGo zmVOZ3ksQkzy(!yLlj|9MYY%lc=Ah@ZOz?K%F2w`tdy65K9JF()4*MSTo^&Wn?TB3P zh4PYQtzNI2laZ^V1u@2%VYXofo#$f9?} z{g5ky{arkjo0YZngdjFBkKC`Vo`@ZkWNC`C_ZF7g_;LQ^=gJK60isc0nfD||;QbLh zqm?XPW>-Ds0dZJbpO zb}am_%z^ldSG0U6@a*@mqlI3hkR}r6(>VCjfiSOI46I~*s;(97Ro)8+>zQ@jlv$49PArKvxkxgwBdB;#)2(4-!CdDVF!4L+<>%U)0rggTDio~bmuS8 z*DD7#>a9n~qz&fVQ)Srb$Y8w@3@3OW!=V6HjEqk8@ilHta1dF<-HO!0i~(!}5~#<= z!n4PX!FG>le~I^w5dGJxZstqGGH1pB;o}eE(Eh6Be7L8vtB>x7O+Oo_hROX4XeF%iNrNuDbMF%%Fj5&tjH zZ7s_!M;$vi4iUxIB2MrA(l$%5jD^&&(JiBh?Iq~B=emhrk`8_i{Ffx(xx%$@JBb4$SlNt~?WQ(N zrbFis>F-n+Ewf$L%LDR}95)U!ev7AlHLtPc>%(EeK6Xt72Nfmhq@VH#)l!BvMwO(w<36$uo$fW(#UmwvEP`o}J zPq{_b+bON@JG)PrK_|W_HmDM^PA|s$o1Y4khOl?^I?z#%nE! z{XC7pZ{9)DmQ?j7%D20V@pyT&Qdj#Tq9{+FAHx6pAWx)0Eu9L z5P*=4FobZ6NRH@+n21=7xPVTSv+KMKCW`On=9T!~!Jpg?S1Asw@0mRV42*4P_1jnSrl*M$yOvfC< ze8(ciO2@{;PRE|bp~m6EF~AAJsl@q<^NGucYk}L0JBj-b_Z|-(j~tH=PZiGu&krvf z?;0O~55)h8AAsM8|4D#LU_uZ>@SEVAkd#n}P=_#?aDecVh?K~UsE=5H*n_x`xQBR& z_?m=}M294iWQb&!6qi(l)POXKw3+ms44W*0Y=CT+9Fbg_+<`ose1!a!f}O&PBAa53 z5}Zw{%81H?s+?+r8k<^z+JSn2=DS1cf3GEvp@e?oJ^-k!K_hm=RJ*f~ zEPy^8)bGD}--KRiQ5NiBg;%7?zy1B=B*CHtc5B`!uGQRYFqnRBRXcLS z5pE{wla8bepSRui&#pNdE4gXH30(*{{GCl_2&(6MoneF?{$&T+Oa5g?MnXO=2THwJ zNyu0l{80#UvlT~tQNytW?0(Xc(S$a90`+1L4jIB^YnjWGh~q2PwiAbQyrJWIs()GM z-LTx|QI(~BF!yZyu3jYOyxi)d6q1}%F&nsTiNOoMg)@>4DswO zd7&f@=3|L%Ce-$h8rp+jmYY_uB#UFDQ4=Lb^GwKDnU=3`E4&nCwr*b=o=B|s^hs1R#V!agd6;mD@GGo*1m^2txCCYJ=jET}Lb#)NzldN#7*)#TZtJX7)bZh()DN<&DULB-z4J%ASOCDOS zi0&0yIg1V%+Atv2pu!%dK1bsWTZ|X)or9^6BWGs)3I=Y28W_*KeR-jvY4B^gK*h{y^sAn)+SUTnDOF`orBX|!{9+a4 zVtJ-&laFDBi^D=mo7d6d<;Dz!8i#DF~u*T d`d@*P)=+z2O9=Gccp2C_0H}G=_V0V@{{Zm~b;kez From 1d5b68661906b782c1caa8246f030e07afac6402 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Fri, 17 May 2019 20:28:48 +0200 Subject: [PATCH 052/122] prevent ERR_TOO_MANY_REDIRECTS --- .htaccess | 1 + install.php | 1 + 2 files changed, 2 insertions(+) diff --git a/.htaccess b/.htaccess index 3ef5e449..b1523b66 100644 --- a/.htaccess +++ b/.htaccess @@ -13,6 +13,7 @@ RewriteRule ^bl-content/(databases|workspaces|pages|tmp)/.*$ - [R=404,L] # All URL process by index.php RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) index.php [PT,L] \ No newline at end of file diff --git a/install.php b/install.php index bd4075cb..f212c5a9 100644 --- a/install.php +++ b/install.php @@ -215,6 +215,7 @@ RewriteRule ^bl-content/(databases|workspaces|pages|tmp)/.*$ - [R=404,L] # All URL process by index.php RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) index.php [PT,L] '; From a4fc00aa63ad724bcbb681e9e95b507e2bb69a7e Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Sat, 18 May 2019 11:52:30 +0200 Subject: [PATCH 053/122] search function improved --- bl-kernel/admin/views/content.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/bl-kernel/admin/views/content.php b/bl-kernel/admin/views/content.php index 955bb147..5a9dd5e2 100644 --- a/bl-kernel/admin/views/content.php +++ b/bl-kernel/admin/views/content.php @@ -226,8 +226,6 @@ function table($type) { $("#search").autoComplete({ minChars: 3, source: function(term, response) { - console.log(term); - // Prevent call inmediatly another ajax request try { searchXHR.abort(); } catch(e){} searchXHR = $.getJSON(HTML_PATH_ADMIN_ROOT+"ajax/content-list", { @@ -247,9 +245,13 @@ function table($type) { response(matches); }); }, - onSelect: function(e, term, item) { - var key = searchList[term]; - window.open("edit-content/"+key,"_self"); + renderItem: function (item, search) { + var key = searchList[item]; + html = '

    '; + html += '
    '+item+'
    '; + html += ''; + html += '
    '; + return html; } }); }); From 4c095f9ffcbeacfa2e281f65ef1b7ce1b3c83e47 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Sat, 18 May 2019 11:54:39 +0200 Subject: [PATCH 054/122] UI improved and new icons set --- bl-kernel/admin/controllers/user-password.php | 2 - .../themes/booty/css/bludit.bootstrap.css | 17 ++++- bl-kernel/admin/themes/booty/css/bludit.css | 72 ++++++++++++------- .../booty/css/open-iconic-bootstrap.min.css | 1 - bl-kernel/admin/themes/booty/html/sidebar.php | 13 ++-- bl-kernel/admin/themes/booty/index.php | 1 - bl-kernel/admin/themes/booty/init.php | 4 +- bl-kernel/admin/views/about.php | 4 +- bl-kernel/admin/views/dashboard.php | 24 ++++--- bl-kernel/admin/views/developers.php | 2 +- bl-kernel/admin/views/edit-user.php | 4 +- bl-kernel/admin/views/new-user.php | 4 +- bl-kernel/admin/views/plugins-position.php | 2 +- bl-kernel/admin/views/user-password.php | 2 +- bl-kernel/admin/views/users.php | 4 +- bl-kernel/ajax/content-list.php | 36 ++++++++++ bl-plugins/backup/plugin.php | 8 +-- bl-plugins/simplemde/js/README.md | 2 +- bl-plugins/simplemde/js/simplemde.min.js | 2 +- bl-plugins/simplemde/plugin.php | 2 +- bl-plugins/version/plugin.php | 4 +- 21 files changed, 139 insertions(+), 71 deletions(-) delete mode 100755 bl-kernel/admin/themes/booty/css/open-iconic-bootstrap.min.css create mode 100644 bl-kernel/ajax/content-list.php diff --git a/bl-kernel/admin/controllers/user-password.php b/bl-kernel/admin/controllers/user-password.php index 491f4ae7..0f86abb7 100644 --- a/bl-kernel/admin/controllers/user-password.php +++ b/bl-kernel/admin/controllers/user-password.php @@ -4,8 +4,6 @@ // Functions // ============================================================================ - - // ============================================================================ // Main before POST // ============================================================================ diff --git a/bl-kernel/admin/themes/booty/css/bludit.bootstrap.css b/bl-kernel/admin/themes/booty/css/bludit.bootstrap.css index c4d6e525..e99a96ae 100644 --- a/bl-kernel/admin/themes/booty/css/bludit.bootstrap.css +++ b/bl-kernel/admin/themes/booty/css/bludit.bootstrap.css @@ -3,7 +3,8 @@ a { } a:hover { - color: #0078D4; + color: #003f6f; + text-decoration: none; } .bg-success { @@ -17,6 +18,10 @@ a:hover { .text-danger { color: #D40000!important; } +a.text-danger:focus, +a.text-danger:hover { + color: #790000!important; +} /* Buttons */ .btn { @@ -46,4 +51,12 @@ a:hover { box-shadow: none; } -/* */ +/* Tables */ +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.02); +} + +.table thead th { + font-size: 0.8em; + text-transform: uppercase!important; +} \ No newline at end of file diff --git a/bl-kernel/admin/themes/booty/css/bludit.css b/bl-kernel/admin/themes/booty/css/bludit.css index cdff6085..8b79cb37 100644 --- a/bl-kernel/admin/themes/booty/css/bludit.css +++ b/bl-kernel/admin/themes/booty/css/bludit.css @@ -14,6 +14,51 @@ body { pointer-events: none; } */ +/* + ICONS +*/ +.fa { + padding-right: 2px; + line-height: inherit; +} + +/* + SIDEBAR +*/ + +div.sidebar .nav-item a { + padding-left:0; + padding-right:0; + color: #555; + padding-top: 5px; + padding-bottom: 5px; +} + +div.sidebar .nav-item a:hover { + color: #0078D4; +} + +div.sidebar .nav-item h4 { + font-size: 1.2em; + text-transform: uppercase; + font-weight: 400; + margin-top: 10px; +} + +/* + AUTOCOMPLETE SEARCH +*/ +.search-suggestion { + padding: 5px; +} + +.search-suggestion-options { + font-size: 0.9em; + padding-top: 2px; +} + + + /* BOOTSTRAP Hacks */ @@ -176,34 +221,7 @@ body.login { color: #ffffff; } -/* - SIDEBAR -*/ -div.sidebar .nav-item a { - padding-left:0; - padding-right:0; - color: #777; - padding-top: 5px; - padding-bottom: 5px; -} - -div.sidebar .nav-item a:hover { - text-decoration: underline; -} - -div.sidebar .nav-item h4 { - font-size: 1.3em; - text-transform: uppercase; - font-weight: 400; - margin-top: 10px; -} - -div.sidebar .nav-item span.oi { - color: #000; - font-size: 0.8em; - padding-right: 5px; -} /* PLUGINS diff --git a/bl-kernel/admin/themes/booty/css/open-iconic-bootstrap.min.css b/bl-kernel/admin/themes/booty/css/open-iconic-bootstrap.min.css deleted file mode 100755 index 0ac996dd..00000000 --- a/bl-kernel/admin/themes/booty/css/open-iconic-bootstrap.min.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Icons;src:url(./fonts/open-iconic.eot);src:url(./fonts/open-iconic.eot?#iconic-sm) format('embedded-opentype'),url(./fonts/open-iconic.woff) format('woff'),url(./fonts/open-iconic.ttf) format('truetype'),url(./fonts/open-iconic.otf) format('opentype'),url(./fonts/open-iconic.svg#iconic-sm) format('svg');font-weight:400;font-style:normal}.oi{position:relative;top:1px;display:inline-block;speak:none;font-family:Icons;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.oi:empty:before{width:1em;text-align:center;box-sizing:content-box}.oi.oi-align-center:before{text-align:center}.oi.oi-align-left:before{text-align:left}.oi.oi-align-right:before{text-align:right}.oi.oi-flip-horizontal:before{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.oi.oi-flip-vertical:before{-webkit-transform:scale(1,-1);-ms-transform:scale(-1,1);transform:scale(1,-1)}.oi.oi-flip-horizontal-vertical:before{-webkit-transform:scale(-1,-1);-ms-transform:scale(-1,1);transform:scale(-1,-1)}.oi-account-login:before{content:'\e000'}.oi-account-logout:before{content:'\e001'}.oi-action-redo:before{content:'\e002'}.oi-action-undo:before{content:'\e003'}.oi-align-center:before{content:'\e004'}.oi-align-left:before{content:'\e005'}.oi-align-right:before{content:'\e006'}.oi-aperture:before{content:'\e007'}.oi-arrow-bottom:before{content:'\e008'}.oi-arrow-circle-bottom:before{content:'\e009'}.oi-arrow-circle-left:before{content:'\e00a'}.oi-arrow-circle-right:before{content:'\e00b'}.oi-arrow-circle-top:before{content:'\e00c'}.oi-arrow-left:before{content:'\e00d'}.oi-arrow-right:before{content:'\e00e'}.oi-arrow-thick-bottom:before{content:'\e00f'}.oi-arrow-thick-left:before{content:'\e010'}.oi-arrow-thick-right:before{content:'\e011'}.oi-arrow-thick-top:before{content:'\e012'}.oi-arrow-top:before{content:'\e013'}.oi-audio-spectrum:before{content:'\e014'}.oi-audio:before{content:'\e015'}.oi-badge:before{content:'\e016'}.oi-ban:before{content:'\e017'}.oi-bar-chart:before{content:'\e018'}.oi-basket:before{content:'\e019'}.oi-battery-empty:before{content:'\e01a'}.oi-battery-full:before{content:'\e01b'}.oi-beaker:before{content:'\e01c'}.oi-bell:before{content:'\e01d'}.oi-bluetooth:before{content:'\e01e'}.oi-bold:before{content:'\e01f'}.oi-bolt:before{content:'\e020'}.oi-book:before{content:'\e021'}.oi-bookmark:before{content:'\e022'}.oi-box:before{content:'\e023'}.oi-briefcase:before{content:'\e024'}.oi-british-pound:before{content:'\e025'}.oi-browser:before{content:'\e026'}.oi-brush:before{content:'\e027'}.oi-bug:before{content:'\e028'}.oi-bullhorn:before{content:'\e029'}.oi-calculator:before{content:'\e02a'}.oi-calendar:before{content:'\e02b'}.oi-camera-slr:before{content:'\e02c'}.oi-caret-bottom:before{content:'\e02d'}.oi-caret-left:before{content:'\e02e'}.oi-caret-right:before{content:'\e02f'}.oi-caret-top:before{content:'\e030'}.oi-cart:before{content:'\e031'}.oi-chat:before{content:'\e032'}.oi-check:before{content:'\e033'}.oi-chevron-bottom:before{content:'\e034'}.oi-chevron-left:before{content:'\e035'}.oi-chevron-right:before{content:'\e036'}.oi-chevron-top:before{content:'\e037'}.oi-circle-check:before{content:'\e038'}.oi-circle-x:before{content:'\e039'}.oi-clipboard:before{content:'\e03a'}.oi-clock:before{content:'\e03b'}.oi-cloud-download:before{content:'\e03c'}.oi-cloud-upload:before{content:'\e03d'}.oi-cloud:before{content:'\e03e'}.oi-cloudy:before{content:'\e03f'}.oi-code:before{content:'\e040'}.oi-cog:before{content:'\e041'}.oi-collapse-down:before{content:'\e042'}.oi-collapse-left:before{content:'\e043'}.oi-collapse-right:before{content:'\e044'}.oi-collapse-up:before{content:'\e045'}.oi-command:before{content:'\e046'}.oi-comment-square:before{content:'\e047'}.oi-compass:before{content:'\e048'}.oi-contrast:before{content:'\e049'}.oi-copywriting:before{content:'\e04a'}.oi-credit-card:before{content:'\e04b'}.oi-crop:before{content:'\e04c'}.oi-dashboard:before{content:'\e04d'}.oi-data-transfer-download:before{content:'\e04e'}.oi-data-transfer-upload:before{content:'\e04f'}.oi-delete:before{content:'\e050'}.oi-dial:before{content:'\e051'}.oi-document:before{content:'\e052'}.oi-dollar:before{content:'\e053'}.oi-double-quote-sans-left:before{content:'\e054'}.oi-double-quote-sans-right:before{content:'\e055'}.oi-double-quote-serif-left:before{content:'\e056'}.oi-double-quote-serif-right:before{content:'\e057'}.oi-droplet:before{content:'\e058'}.oi-eject:before{content:'\e059'}.oi-elevator:before{content:'\e05a'}.oi-ellipses:before{content:'\e05b'}.oi-envelope-closed:before{content:'\e05c'}.oi-envelope-open:before{content:'\e05d'}.oi-euro:before{content:'\e05e'}.oi-excerpt:before{content:'\e05f'}.oi-expand-down:before{content:'\e060'}.oi-expand-left:before{content:'\e061'}.oi-expand-right:before{content:'\e062'}.oi-expand-up:before{content:'\e063'}.oi-external-link:before{content:'\e064'}.oi-eye:before{content:'\e065'}.oi-eyedropper:before{content:'\e066'}.oi-file:before{content:'\e067'}.oi-fire:before{content:'\e068'}.oi-flag:before{content:'\e069'}.oi-flash:before{content:'\e06a'}.oi-folder:before{content:'\e06b'}.oi-fork:before{content:'\e06c'}.oi-fullscreen-enter:before{content:'\e06d'}.oi-fullscreen-exit:before{content:'\e06e'}.oi-globe:before{content:'\e06f'}.oi-graph:before{content:'\e070'}.oi-grid-four-up:before{content:'\e071'}.oi-grid-three-up:before{content:'\e072'}.oi-grid-two-up:before{content:'\e073'}.oi-hard-drive:before{content:'\e074'}.oi-header:before{content:'\e075'}.oi-headphones:before{content:'\e076'}.oi-heart:before{content:'\e077'}.oi-home:before{content:'\e078'}.oi-image:before{content:'\e079'}.oi-inbox:before{content:'\e07a'}.oi-infinity:before{content:'\e07b'}.oi-info:before{content:'\e07c'}.oi-italic:before{content:'\e07d'}.oi-justify-center:before{content:'\e07e'}.oi-justify-left:before{content:'\e07f'}.oi-justify-right:before{content:'\e080'}.oi-key:before{content:'\e081'}.oi-laptop:before{content:'\e082'}.oi-layers:before{content:'\e083'}.oi-lightbulb:before{content:'\e084'}.oi-link-broken:before{content:'\e085'}.oi-link-intact:before{content:'\e086'}.oi-list-rich:before{content:'\e087'}.oi-list:before{content:'\e088'}.oi-location:before{content:'\e089'}.oi-lock-locked:before{content:'\e08a'}.oi-lock-unlocked:before{content:'\e08b'}.oi-loop-circular:before{content:'\e08c'}.oi-loop-square:before{content:'\e08d'}.oi-loop:before{content:'\e08e'}.oi-magnifying-glass:before{content:'\e08f'}.oi-map-marker:before{content:'\e090'}.oi-map:before{content:'\e091'}.oi-media-pause:before{content:'\e092'}.oi-media-play:before{content:'\e093'}.oi-media-record:before{content:'\e094'}.oi-media-skip-backward:before{content:'\e095'}.oi-media-skip-forward:before{content:'\e096'}.oi-media-step-backward:before{content:'\e097'}.oi-media-step-forward:before{content:'\e098'}.oi-media-stop:before{content:'\e099'}.oi-medical-cross:before{content:'\e09a'}.oi-menu:before{content:'\e09b'}.oi-microphone:before{content:'\e09c'}.oi-minus:before{content:'\e09d'}.oi-monitor:before{content:'\e09e'}.oi-moon:before{content:'\e09f'}.oi-move:before{content:'\e0a0'}.oi-musical-note:before{content:'\e0a1'}.oi-paperclip:before{content:'\e0a2'}.oi-pencil:before{content:'\e0a3'}.oi-people:before{content:'\e0a4'}.oi-person:before{content:'\e0a5'}.oi-phone:before{content:'\e0a6'}.oi-pie-chart:before{content:'\e0a7'}.oi-pin:before{content:'\e0a8'}.oi-play-circle:before{content:'\e0a9'}.oi-plus:before{content:'\e0aa'}.oi-power-standby:before{content:'\e0ab'}.oi-print:before{content:'\e0ac'}.oi-project:before{content:'\e0ad'}.oi-pulse:before{content:'\e0ae'}.oi-puzzle-piece:before{content:'\e0af'}.oi-question-mark:before{content:'\e0b0'}.oi-rain:before{content:'\e0b1'}.oi-random:before{content:'\e0b2'}.oi-reload:before{content:'\e0b3'}.oi-resize-both:before{content:'\e0b4'}.oi-resize-height:before{content:'\e0b5'}.oi-resize-width:before{content:'\e0b6'}.oi-rss-alt:before{content:'\e0b7'}.oi-rss:before{content:'\e0b8'}.oi-script:before{content:'\e0b9'}.oi-share-boxed:before{content:'\e0ba'}.oi-share:before{content:'\e0bb'}.oi-shield:before{content:'\e0bc'}.oi-signal:before{content:'\e0bd'}.oi-signpost:before{content:'\e0be'}.oi-sort-ascending:before{content:'\e0bf'}.oi-sort-descending:before{content:'\e0c0'}.oi-spreadsheet:before{content:'\e0c1'}.oi-star:before{content:'\e0c2'}.oi-sun:before{content:'\e0c3'}.oi-tablet:before{content:'\e0c4'}.oi-tag:before{content:'\e0c5'}.oi-tags:before{content:'\e0c6'}.oi-target:before{content:'\e0c7'}.oi-task:before{content:'\e0c8'}.oi-terminal:before{content:'\e0c9'}.oi-text:before{content:'\e0ca'}.oi-thumb-down:before{content:'\e0cb'}.oi-thumb-up:before{content:'\e0cc'}.oi-timer:before{content:'\e0cd'}.oi-transfer:before{content:'\e0ce'}.oi-trash:before{content:'\e0cf'}.oi-underline:before{content:'\e0d0'}.oi-vertical-align-bottom:before{content:'\e0d1'}.oi-vertical-align-center:before{content:'\e0d2'}.oi-vertical-align-top:before{content:'\e0d3'}.oi-video:before{content:'\e0d4'}.oi-volume-high:before{content:'\e0d5'}.oi-volume-low:before{content:'\e0d6'}.oi-volume-off:before{content:'\e0d7'}.oi-warning:before{content:'\e0d8'}.oi-wifi:before{content:'\e0d9'}.oi-wrench:before{content:'\e0da'}.oi-x:before{content:'\e0db'}.oi-yen:before{content:'\e0dc'}.oi-zoom-in:before{content:'\e0dd'}.oi-zoom-out:before{content:'\e0de'} \ No newline at end of file diff --git a/bl-kernel/admin/themes/booty/html/sidebar.php b/bl-kernel/admin/themes/booty/html/sidebar.php index bf55e110..5a2508b5 100644 --- a/bl-kernel/admin/themes/booty/html/sidebar.php +++ b/bl-kernel/admin/themes/booty/html/sidebar.php @@ -9,20 +9,21 @@ p('Dashboard') ?> + - + @@ -74,6 +75,6 @@ diff --git a/bl-kernel/admin/themes/booty/index.php b/bl-kernel/admin/themes/booty/index.php index 8472916c..97c21f1c 100644 --- a/bl-kernel/admin/themes/booty/index.php +++ b/bl-kernel/admin/themes/booty/index.php @@ -16,7 +16,6 @@ echo Theme::cssLineAwesome(); // Icons echo Theme::css(array( 'jquery-auto-complete.css', - 'open-iconic-bootstrap.min.css', 'jquery.datetimepicker.min.css', 'bludit.css', 'bludit.bootstrap.css' diff --git a/bl-kernel/admin/themes/booty/init.php b/bl-kernel/admin/themes/booty/init.php index 50cbe648..96a86a90 100644 --- a/bl-kernel/admin/themes/booty/init.php +++ b/bl-kernel/admin/themes/booty/init.php @@ -44,7 +44,7 @@ EOF; } if (isset($args['icon'])) { - return ' '.$args['title'].''; + return ' '.$args['title'].''; } return ''.$args['title'].''; @@ -56,7 +56,7 @@ EOF; $title = $args['title']; return << - $title + $title EOF; } diff --git a/bl-kernel/admin/views/about.php b/bl-kernel/admin/views/about.php index 55c08487..8da2783b 100644 --- a/bl-kernel/admin/views/about.php +++ b/bl-kernel/admin/views/about.php @@ -1,6 +1,6 @@ $L->g('About'), 'icon'=>'info')); +echo Bootstrap::pageTitle(array('title'=>$L->g('About'), 'icon'=>'info-circle')); echo '
    +
    '.$plugin->name().'
    + +
    '; echo $plugin->description(); echo '
    @@ -10,7 +10,7 @@ echo ' echo ''; echo ''; if (defined('BLUDIT_PRO')) { - echo ''; + echo ''; } else { echo ''; } diff --git a/bl-kernel/admin/views/dashboard.php b/bl-kernel/admin/views/dashboard.php index ef8c047c..1d20dd26 100644 --- a/bl-kernel/admin/views/dashboard.php +++ b/bl-kernel/admin/views/dashboard.php @@ -4,20 +4,22 @@
    -

    g('hello') ?>

    +

    + g('hello') ?> +

    + +EOF; + } +} \ No newline at end of file diff --git a/bl-plugins/simplemde/css/simplemde.min.css b/bl-plugins/simplemde/css/simplemde.min.css deleted file mode 100644 index d62f4d77..00000000 --- a/bl-plugins/simplemde/css/simplemde.min.css +++ /dev/null @@ -1,7 +0,0 @@ -/** - * simplemde v1.11.2 - * Copyright Next Step Webs, Inc. - * @link https://github.com/NextStepWebs/simplemde-markdown-editor - * @license MIT - */ -.CodeMirror{color:#000}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-ruler{border-left:1px solid #ccc;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:0;position:relative}.CodeMirror-sizer{position:relative;border-right:30px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-30px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important;-webkit-user-select:none;-moz-user-select:none;user-select:none}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:none;font-variant-ligatures:none}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;overflow:auto}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected,.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background:#ffa;background:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:0 0}.CodeMirror{height:auto;min-height:300px;border:1px solid #ddd;border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:10px;font:inherit;z-index:1}.CodeMirror-scroll{min-height:300px}.CodeMirror-fullscreen{background:#fff;position:fixed!important;top:50px;left:0;right:0;bottom:0;height:auto;z-index:9}.CodeMirror-sided{width:50%!important}.editor-toolbar{position:relative;opacity:.6;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;padding:0 10px;border-top:1px solid #bbb;border-left:1px solid #bbb;border-right:1px solid #bbb;border-top-left-radius:4px;border-top-right-radius:4px}.editor-toolbar:after,.editor-toolbar:before{display:block;content:' ';height:1px}.editor-toolbar:before{margin-bottom:8px}.editor-toolbar:after{margin-top:8px}.editor-toolbar:hover,.editor-wrapper input.title:focus,.editor-wrapper input.title:hover{opacity:.8}.editor-toolbar.fullscreen{width:100%;height:50px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding-top:10px;padding-bottom:10px;box-sizing:border-box;background:#fff;border:0;position:fixed;top:0;left:0;opacity:1;z-index:9}.editor-toolbar.fullscreen::before{width:20px;height:50px;background:-moz-linear-gradient(left,rgba(255,255,255,1) 0,rgba(255,255,255,0) 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,1)),color-stop(100%,rgba(255,255,255,0)));background:-webkit-linear-gradient(left,rgba(255,255,255,1) 0,rgba(255,255,255,0) 100%);background:-o-linear-gradient(left,rgba(255,255,255,1) 0,rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left,rgba(255,255,255,1) 0,rgba(255,255,255,0) 100%);background:linear-gradient(to right,rgba(255,255,255,1) 0,rgba(255,255,255,0) 100%);position:fixed;top:0;left:0;margin:0;padding:0}.editor-toolbar.fullscreen::after{width:20px;height:50px;background:-moz-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,1) 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,0)),color-stop(100%,rgba(255,255,255,1)));background:-webkit-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,1) 100%);background:-o-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,1) 100%);background:-ms-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,1) 100%);background:linear-gradient(to right,rgba(255,255,255,0) 0,rgba(255,255,255,1) 100%);position:fixed;top:0;right:0;margin:0;padding:0}.editor-toolbar a{display:inline-block;text-align:center;text-decoration:none!important;color:#2c3e50!important;width:30px;height:30px;margin:0;border:1px solid transparent;border-radius:3px;cursor:pointer}.editor-toolbar a.active,.editor-toolbar a:hover{background:#fcfcfc;border-color:#95a5a6}.editor-toolbar a:before{line-height:30px}.editor-toolbar i.separator{display:inline-block;width:0;border-left:1px solid #d9d9d9;border-right:1px solid #fff;color:transparent;text-indent:-10px;margin:0 6px}.editor-toolbar a.fa-header-x:after{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:65%;vertical-align:text-bottom;position:relative;top:2px}.editor-toolbar a.fa-header-1:after{content:"1"}.editor-toolbar a.fa-header-2:after{content:"2"}.editor-toolbar a.fa-header-3:after{content:"3"}.editor-toolbar a.fa-header-bigger:after{content:"▲"}.editor-toolbar a.fa-header-smaller:after{content:"▼"}.editor-toolbar.disabled-for-preview a:not(.no-disable){pointer-events:none;background:#fff;border-color:transparent;text-shadow:inherit}@media only screen and (max-width:700px){.editor-toolbar a.no-mobile{display:none}}.editor-statusbar{padding:8px 10px;font-size:12px;color:#959694;text-align:right}.editor-statusbar span{display:inline-block;min-width:4em;margin-left:1em}.editor-preview,.editor-preview-side{padding:10px;background:#fafafa;overflow:auto;display:none;box-sizing:border-box}.editor-statusbar .lines:before{content:'lines: '}.editor-statusbar .words:before{content:'words: '}.editor-statusbar .characters:before{content:'characters: '}.editor-preview{position:absolute;width:100%;height:100%;top:0;left:0;z-index:7}.editor-preview-side{position:fixed;bottom:0;width:50%;top:50px;right:0;z-index:9;border:1px solid #ddd}.editor-preview-active,.editor-preview-active-side{display:block}.editor-preview-side>p,.editor-preview>p{margin-top:0}.editor-preview pre,.editor-preview-side pre{background:#eee;margin-bottom:10px}.editor-preview table td,.editor-preview table th,.editor-preview-side table td,.editor-preview-side table th{border:1px solid #ddd;padding:5px}.CodeMirror .CodeMirror-code .cm-tag{color:#63a35c}.CodeMirror .CodeMirror-code .cm-attribute{color:#795da3}.CodeMirror .CodeMirror-code .cm-string{color:#183691}.CodeMirror .CodeMirror-selected{background:#d9d9d9}.CodeMirror .CodeMirror-code .cm-header-1{font-size:200%;line-height:200%}.CodeMirror .CodeMirror-code .cm-header-2{font-size:160%;line-height:160%}.CodeMirror .CodeMirror-code .cm-header-3{font-size:125%;line-height:125%}.CodeMirror .CodeMirror-code .cm-header-4{font-size:110%;line-height:110%}.CodeMirror .CodeMirror-code .cm-comment{background:rgba(0,0,0,.05);border-radius:2px}.CodeMirror .CodeMirror-code .cm-link{color:#7f8c8d}.CodeMirror .CodeMirror-code .cm-url{color:#aab2b3}.CodeMirror .CodeMirror-code .cm-strikethrough{text-decoration:line-through}.CodeMirror .CodeMirror-placeholder{opacity:.5}.CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word){background:rgba(255,0,0,.15)} \ No newline at end of file diff --git a/bl-plugins/simplemde/js/README.md b/bl-plugins/simplemde/js/README.md deleted file mode 100644 index 0318c39d..00000000 --- a/bl-plugins/simplemde/js/README.md +++ /dev/null @@ -1,40 +0,0 @@ -This version of SimpleMDE have a little changes for Bludit. - ---- Image preview hack --- - -Original -t;++t)s[t]=e[t],c[e.charCodeAt(t)]=t;c["-".charCodeAt(0)]=62,c["_".charCodeAt(0)]=63}function i(e){var t,n,r,i,o,a,l=e.length;if(l%4>0)throw new Error("Invalid string. Length must be a multiple of 4");o="="===e[l-2]?2:"="===e[l-1]?1:0,a=new u(3*l/4-o),r=o>0?l-4:l;var s=0;for(t=0,n=0;r>t;t+=4,n+=3)i=c[e.charCodeAt(t)]<<18|c[e.charCodeAt(t+1)]<<12|c[e.charCodeAt(t+2)]<<6|c[e.charCodeAt(t+3)],a[s++]=i>>16&255,a[s++]=i>>8&255,a[s++]=255&i;return 2===o?(i=c[e.charCodeAt(t)]<<2|c[e.charCodeAt(t+1)]>>4,a[s++]=255&i):1===o&&(i=c[e.charCodeAt(t)]<<10|c[e.charCodeAt(t+1)]<<4|c[e.charCodeAt(t+2)]>>2,a[s++]=i>>8&255,a[s++]=255&i),a}function o(e){return s[e>>18&63]+s[e>>12&63]+s[e>>6&63]+s[63&e]}function a(e,t,n){for(var r,i=[],a=t;n>a;a+=3)r=(e[a]<<16)+(e[a+1]<<8)+e[a+2],i.push(o(r));return i.join("")}function l(e){for(var t,n=e.length,r=n%3,i="",o=[],l=16383,c=0,u=n-r;u>c;c+=l)o.push(a(e,c,c+l>u?u:c+l));return 1===r?(t=e[n-1],i+=s[t>>2],i+=s[t<<4&63],i+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=s[t>>10],i+=s[t>>4&63],i+=s[t<<2&63],i+="="),o.push(i),o.join("")}n.toByteArray=i,n.fromByteArray=l;var s=[],c=[],u="undefined"!=typeof Uint8Array?Uint8Array:Array;r()},{}],2:[function(e,t,n){},{}],3:[function(e,t,n){(function(t){"use strict";function r(){try{var e=new Uint8Array(1);return e.foo=function(){return 42},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}function i(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(e,t){if(i()=t?o(e,t):void 0!==n?"string"==typeof r?o(e,t).fill(n,r):o(e,t).fill(n):o(e,t)}function u(e,t){if(s(t),e=o(e,0>t?0:0|m(t)),!a.TYPED_ARRAY_SUPPORT)for(var n=0;t>n;n++)e[n]=0;return e}function f(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!a.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|v(t,n);return e=o(e,r),e.write(t,n),e}function h(e,t){var n=0|m(t.length);e=o(e,n);for(var r=0;n>r;r+=1)e[r]=255&t[r];return e}function d(e,t,n,r){if(t.byteLength,0>n||t.byteLength=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|e}function g(e){return+e!=e&&(e=0),a.alloc(+e)}function v(e,t){if(a.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"binary":case"raw":case"raws":return n;case"utf8":case"utf-8":case void 0:return q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return $(e).length;default:if(r)return q(e).length;t=(""+t).toLowerCase(),r=!0}}function y(e,t,n){var r=!1;if((void 0===t||0>t)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),0>=n)return"";if(n>>>=0,t>>>=0,t>=n)return"";for(e||(e="utf8");;)switch(e){case"hex":return I(this,t,n);case"utf8":case"utf-8":return N(this,t,n);case"ascii":return E(this,t,n);case"binary":return O(this,t,n);case"base64":return M(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function x(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function b(e,t,n,r){function i(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}var o=1,a=e.length,l=t.length;if(void 0!==r&&(r=String(r).toLowerCase(),"ucs2"===r||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,n/=2}for(var s=-1,c=0;a>n+c;c++)if(i(e,n+c)===i(t,-1===s?0:c-s)){if(-1===s&&(s=c),c-s+1===l)return(n+s)*o}else-1!==s&&(c-=c-s),s=-1;return-1}function w(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r),r>i&&(r=i)):r=i;var o=t.length;if(o%2!==0)throw new Error("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;r>a;a++){var l=parseInt(t.substr(2*a,2),16);if(isNaN(l))return a;e[n+a]=l}return a}function k(e,t,n,r){return V(q(t,e.length-n),e,n,r)}function S(e,t,n,r){return V(G(t),e,n,r)}function C(e,t,n,r){return S(e,t,n,r)}function L(e,t,n,r){return V($(t),e,n,r)}function T(e,t,n,r){return V(Y(t,e.length-n),e,n,r)}function M(e,t,n){return 0===t&&n===e.length?X.fromByteArray(e):X.fromByteArray(e.slice(t,n))}function N(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;n>i;){var o=e[i],a=null,l=o>239?4:o>223?3:o>191?2:1;if(n>=i+l){var s,c,u,f;switch(l){case 1:128>o&&(a=o);break;case 2:s=e[i+1],128===(192&s)&&(f=(31&o)<<6|63&s,f>127&&(a=f));break;case 3:s=e[i+1],c=e[i+2],128===(192&s)&&128===(192&c)&&(f=(15&o)<<12|(63&s)<<6|63&c,f>2047&&(55296>f||f>57343)&&(a=f));break;case 4:s=e[i+1],c=e[i+2],u=e[i+3],128===(192&s)&&128===(192&c)&&128===(192&u)&&(f=(15&o)<<18|(63&s)<<12|(63&c)<<6|63&u,f>65535&&1114112>f&&(a=f))}}null===a?(a=65533,l=1):a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|1023&a),r.push(a),i+=l}return A(r)}function A(e){var t=e.length;if(Q>=t)return String.fromCharCode.apply(String,e);for(var n="",r=0;t>r;)n+=String.fromCharCode.apply(String,e.slice(r,r+=Q));return n}function E(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;n>i;i++)r+=String.fromCharCode(127&e[i]);return r}function O(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;n>i;i++)r+=String.fromCharCode(e[i]);return r}function I(e,t,n){var r=e.length;(!t||0>t)&&(t=0),(!n||0>n||n>r)&&(n=r);for(var i="",o=t;n>o;o++)i+=U(e[o]);return i}function P(e,t,n){for(var r=e.slice(t,n),i="",o=0;oe)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,n,r,i,o){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||o>t)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function H(e,t,n,r){0>t&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);o>i;i++)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function W(e,t,n,r){0>t&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);o>i;i++)e[n+i]=t>>>8*(r?i:3-i)&255}function B(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(0>n)throw new RangeError("Index out of range")}function _(e,t,n,r,i){return i||B(e,t,n,4,3.4028234663852886e38,-3.4028234663852886e38),Z.write(e,t,n,r,23,4),n+4}function F(e,t,n,r,i){return i||B(e,t,n,8,1.7976931348623157e308,-1.7976931348623157e308),Z.write(e,t,n,r,52,8),n+8}function z(e){if(e=j(e).replace(ee,""),e.length<2)return"";for(;e.length%4!==0;)e+="=";return e}function j(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function U(e){return 16>e?"0"+e.toString(16):e.toString(16)}function q(e,t){t=t||1/0;for(var n,r=e.length,i=null,o=[],a=0;r>a;a++){if(n=e.charCodeAt(a),n>55295&&57344>n){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(56320>n){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=(i-55296<<10|n-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,128>n){if((t-=1)<0)break;o.push(n)}else if(2048>n){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(65536>n){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(1114112>n))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function G(e){for(var t=[],n=0;n>8,i=n%256,o.push(i),o.push(r);return o}function $(e){return X.toByteArray(z(e))}function V(e,t,n,r){for(var i=0;r>i&&!(i+n>=t.length||i>=e.length);i++)t[i+n]=e[i];return i}function K(e){return e!==e}var X=e("base64-js"),Z=e("ieee754"),J=e("isarray");n.Buffer=a,n.SlowBuffer=g,n.INSPECT_MAX_BYTES=50,a.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:r(),n.kMaxLength=i(),a.poolSize=8192,a._augment=function(e){return e.__proto__=a.prototype,e},a.from=function(e,t,n){return l(null,e,t,n)},a.TYPED_ARRAY_SUPPORT&&(a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0})),a.alloc=function(e,t,n){return c(null,e,t,n)},a.allocUnsafe=function(e){return u(null,e)},a.allocUnsafeSlow=function(e){return u(null,e)},a.isBuffer=function(e){return!(null==e||!e._isBuffer)},a.compare=function(e,t){if(!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);o>i;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return r>n?-1:n>r?1:0},a.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(e,t){if(!J(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return a.alloc(0);var n;if(void 0===t)for(t=0,n=0;nt;t+=2)x(this,t,t+1);return this},a.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;e>t;t+=4)x(this,t,t+3),x(this,t+1,t+2);return this},a.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?N(this,0,e):y.apply(this,arguments)},a.prototype.equals=function(e){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:0===a.compare(this,e)},a.prototype.inspect=function(){var e="",t=n.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),""},a.prototype.compare=function(e,t,n,r,i){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),0>t||n>e.length||0>r||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var o=i-r,l=n-t,s=Math.min(o,l),c=this.slice(r,i),u=e.slice(t,n),f=0;s>f;++f)if(c[f]!==u[f]){o=c[f],l=u[f];break}return l>o?-1:o>l?1:0},a.prototype.indexOf=function(e,t,n){if("string"==typeof t?(n=t,t=0):t>2147483647?t=2147483647:-2147483648>t&&(t=-2147483648),t>>=0,0===this.length)return-1;if(t>=this.length)return-1;if(0>t&&(t=Math.max(this.length+t,0)),"string"==typeof e&&(e=a.from(e,n)),a.isBuffer(e))return 0===e.length?-1:b(this,e,t,n);if("number"==typeof e)return a.TYPED_ARRAY_SUPPORT&&"function"===Uint8Array.prototype.indexOf?Uint8Array.prototype.indexOf.call(this,e,t):b(this,[e],t,n);throw new TypeError("val must be string, number or Buffer")},a.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},a.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t=0|t,isFinite(n)?(n=0|n,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(0>n||0>t)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return w(this,e,t,n);case"utf8":case"utf-8":return k(this,e,t,n);case"ascii":return S(this,e,t,n);case"binary":return C(this,e,t,n);case"base64":return L(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;a.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,0>e?(e+=n,0>e&&(e=0)):e>n&&(e=n),0>t?(t+=n,0>t&&(t=0)):t>n&&(t=n),e>t&&(t=e);var r;if(a.TYPED_ARRAY_SUPPORT)r=this.subarray(e,t),r.__proto__=a.prototype;else{var i=t-e;r=new a(i,void 0);for(var o=0;i>o;o++)r[o]=this[o+e]}return r},a.prototype.readUIntLE=function(e,t,n){e=0|e,t=0|t,n||R(e,t,this.length);for(var r=this[e],i=1,o=0;++o0&&(i*=256);)r+=this[e+--t]*i;return r},a.prototype.readUInt8=function(e,t){return t||R(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return t||R(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return t||R(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,n){e=0|e,t=0|t,n||R(e,t,this.length);for(var r=this[e],i=1,o=0;++o=i&&(r-=Math.pow(2,8*t)),r},a.prototype.readIntBE=function(e,t,n){e=0|e,t=0|t,n||R(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o},a.prototype.readInt8=function(e,t){return t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){t||R(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt16BE=function(e,t){t||R(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt32LE=function(e,t){return t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return t||R(e,4,this.length),Z.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return t||R(e,4,this.length),Z.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return t||R(e,8,this.length),Z.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return t||R(e,8,this.length),Z.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t=0|t,n=0|n,!r){var i=Math.pow(2,8*n)-1;D(this,e,t,n,i,0)}var o=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+o]=e/a&255;return t+n},a.prototype.writeUInt8=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,1,255,0),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):H(this,e,t,!0),t+2},a.prototype.writeUInt16BE=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):H(this,e,t,!1),t+2},a.prototype.writeUInt32LE=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):W(this,e,t,!0),t+4},a.prototype.writeUInt32BE=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):W(this,e,t,!1),t+4},a.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t=0|t,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var o=0,a=1,l=0;for(this[t]=255&e;++oe&&0===l&&0!==this[t+o-1]&&(l=1),this[t+o]=(e/a>>0)-l&255;return t+n},a.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t=0|t,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var o=n-1,a=1,l=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)0>e&&0===l&&0!==this[t+o+1]&&(l=1),this[t+o]=(e/a>>0)-l&255;return t+n},a.prototype.writeInt8=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,1,127,-128),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),0>e&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):H(this,e,t,!0),t+2},a.prototype.writeInt16BE=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):H(this,e,t,!1),t+2},a.prototype.writeInt32LE=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):W(this,e,t,!0),t+4},a.prototype.writeInt32BE=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,4,2147483647,-2147483648),0>e&&(e=4294967295+e+1),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):W(this,e,t,!1),t+4},a.prototype.writeFloatLE=function(e,t,n){return _(this,e,t,!0,n)},a.prototype.writeFloatBE=function(e,t,n){return _(this,e,t,!1,n)},a.prototype.writeDoubleLE=function(e,t,n){return F(this,e,t,!0,n)},a.prototype.writeDoubleBE=function(e,t,n){return F(this,e,t,!1,n)},a.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&n>r&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(0>t)throw new RangeError("targetStart out of bounds");if(0>n||n>=this.length)throw new RangeError("sourceStart out of bounds");if(0>r)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-tn&&r>t)for(i=o-1;i>=0;i--)e[i+t]=this[i+n];else if(1e3>o||!a.TYPED_ARRAY_SUPPORT)for(i=0;o>i;i++)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},a.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);256>i&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!a.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e=255&e);if(0>t||this.length=n)return this;t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var o;if("number"==typeof e)for(o=t;n>o;o++)this[o]=e;else{var l=a.isBuffer(e)?e:q(new a(e,r).toString()),s=l.length;for(o=0;n-t>o;o++)this[o+t]=l[o%s]}return this};var ee=/[^+\/0-9A-Za-z-_]/g}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"base64-js":1,ieee754:15,isarray:16}],4:[function(e,t,n){"use strict";function r(e){return e=e||{},"function"!=typeof e.codeMirrorInstance||"function"!=typeof e.codeMirrorInstance.defineMode?void console.log("CodeMirror Spell Checker: You must provide an instance of CodeMirror via the option `codeMirrorInstance`"):(String.prototype.includes||(String.prototype.includes=function(){return-1!==String.prototype.indexOf.apply(this,arguments)}),void e.codeMirrorInstance.defineMode("spell-checker",function(t){if(!r.aff_loading){r.aff_loading=!0;var n=new XMLHttpRequest;n.open("GET","https://cdn.jsdelivr.net/codemirror.spell-checker/latest/en_US.aff",!0),n.onload=function(){4===n.readyState&&200===n.status&&(r.aff_data=n.responseText,r.num_loaded++,2==r.num_loaded&&(r.typo=new i("en_US",r.aff_data,r.dic_data,{platform:"any"})))},n.send(null)}if(!r.dic_loading){r.dic_loading=!0;var o=new XMLHttpRequest;o.open("GET","https://cdn.jsdelivr.net/codemirror.spell-checker/latest/en_US.dic",!0),o.onload=function(){4===o.readyState&&200===o.status&&(r.dic_data=o.responseText,r.num_loaded++,2==r.num_loaded&&(r.typo=new i("en_US",r.aff_data,r.dic_data,{platform:"any"})))},o.send(null)}var a='!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~ ',l={token:function(e){var t=e.peek(),n="";if(a.includes(t))return e.next(),null;for(;null!=(t=e.peek())&&!a.includes(t);)n+=t,e.next();return r.typo&&!r.typo.check(n)?"spell-error":null}},s=e.codeMirrorInstance.getMode(t,t.backdrop||"text/plain");return e.codeMirrorInstance.overlayMode(s,l,!0)}))}var i=e("typo-js");r.num_loaded=0,r.aff_loading=!1,r.dic_loading=!1,r.aff_data="",r.dic_data="",r.typo,t.exports=r},{"typo-js":18}],5:[function(t,n,r){!function(i){"object"==typeof r&&"object"==typeof n?i(t("../../lib/codemirror")):"function"==typeof e&&e.amd?e(["../../lib/codemirror"],i):i(CodeMirror)}(function(e){"use strict";function t(e){var t=e.getWrapperElement();e.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:t.style.width,height:t.style.height},t.style.width="",t.style.height="auto",t.className+=" CodeMirror-fullscreen",document.documentElement.style.overflow="hidden",e.refresh()}function n(e){var t=e.getWrapperElement();t.className=t.className.replace(/\s*CodeMirror-fullscreen\b/,""),document.documentElement.style.overflow="";var n=e.state.fullScreenRestore;t.style.width=n.width,t.style.height=n.height,window.scrollTo(n.scrollLeft,n.scrollTop),e.refresh()}e.defineOption("fullScreen",!1,function(r,i,o){o==e.Init&&(o=!1),!o!=!i&&(i?t(r):n(r))})})},{"../../lib/codemirror":10}],6:[function(t,n,r){!function(i){"object"==typeof r&&"object"==typeof n?i(t("../../lib/codemirror")):"function"==typeof e&&e.amd?e(["../../lib/codemirror"],i):i(CodeMirror)}(function(e){function t(e){e.state.placeholder&&(e.state.placeholder.parentNode.removeChild(e.state.placeholder),e.state.placeholder=null)}function n(e){t(e);var n=e.state.placeholder=document.createElement("pre");n.style.cssText="height: 0; overflow: visible",n.className="CodeMirror-placeholder";var r=e.getOption("placeholder");"string"==typeof r&&(r=document.createTextNode(r)),n.appendChild(r),e.display.lineSpace.insertBefore(n,e.display.lineSpace.firstChild)}function r(e){o(e)&&n(e)}function i(e){var r=e.getWrapperElement(),i=o(e);r.className=r.className.replace(" CodeMirror-empty","")+(i?" CodeMirror-empty":""),i?n(e):t(e)}function o(e){return 1===e.lineCount()&&""===e.getLine(0)}e.defineOption("placeholder","",function(n,o,a){var l=a&&a!=e.Init;if(o&&!l)n.on("blur",r),n.on("change",i),n.on("swapDoc",i),i(n);else if(!o&&l){n.off("blur",r),n.off("change",i),n.off("swapDoc",i),t(n);var s=n.getWrapperElement();s.className=s.className.replace(" CodeMirror-empty","")}o&&!n.hasFocus()&&r(n)})})},{"../../lib/codemirror":10}],7:[function(t,n,r){!function(i){"object"==typeof r&&"object"==typeof n?i(t("../../lib/codemirror")):"function"==typeof e&&e.amd?e(["../../lib/codemirror"],i):i(CodeMirror)}(function(e){"use strict";var t=/^(\s*)(>[> ]*|[*+-]\s|(\d+)([.)]))(\s*)/,n=/^(\s*)(>[> ]*|[*+-]|(\d+)[.)])(\s*)$/,r=/[*+-]\s/;e.commands.newlineAndIndentContinueMarkdownList=function(i){if(i.getOption("disableInput"))return e.Pass;for(var o=i.listSelections(),a=[],l=0;l")>=0?d[2]:parseInt(d[3],10)+1+d[4];a[l]="\n"+p+g+m}}i.replaceSelections(a)}})},{"../../lib/codemirror":10}],8:[function(t,n,r){!function(i){"object"==typeof r&&"object"==typeof n?i(t("../../lib/codemirror")):"function"==typeof e&&e.amd?e(["../../lib/codemirror"],i):i(CodeMirror)}(function(e){"use strict";e.overlayMode=function(t,n,r){return{startState:function(){return{base:e.startState(t),overlay:e.startState(n),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function(r){return{base:e.copyState(t,r.base),overlay:e.copyState(n,r.overlay),basePos:r.basePos,baseCur:null,overlayPos:r.overlayPos,overlayCur:null}},token:function(e,i){return(e!=i.streamSeen||Math.min(i.basePos,i.overlayPos)=n.line,d=h?n:s(f,0),p=e.markText(u,d,{className:o});if(null==r?i.push(p):i.splice(r++,0,p),h)break;a=f}}function i(e){for(var t=e.state.markedSelection,n=0;n1)return o(e);var t=e.getCursor("start"),n=e.getCursor("end"),a=e.state.markedSelection;if(!a.length)return r(e,t,n);var s=a[0].find(),u=a[a.length-1].find();if(!s||!u||n.line-t.line=0||c(n,s.from)<=0)return o(e);for(;c(t,s.from)>0;)a.shift().clear(),s=a[0].find();for(c(t,s.from)<0&&(s.to.line-t.line0&&(n.line-u.from.linebo&&setTimeout(function(){s.display.input.reset(!0)},20),jt(this),Ki(),bt(this),this.curOp.forceUpdate=!0,Xr(this,i),r.autofocus&&!Ao||s.hasFocus()?setTimeout(Bi(vn,this),20):yn(this);for(var u in ta)ta.hasOwnProperty(u)&&ta[u](this,r[u],na);k(this),r.finishInit&&r.finishInit(this);for(var f=0;fbo&&(r.gutters.style.zIndex=-1,r.scroller.style.paddingRight=0),wo||go&&Ao||(r.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(r.wrapper):e(r.wrapper)),r.viewFrom=r.viewTo=t.first,r.reportedViewFrom=r.reportedViewTo=t.first,r.view=[],r.renderedView=null,r.externalMeasured=null,r.viewOffset=0,r.lastWrapHeight=r.lastWrapWidth=0,r.updateLineNumbers=null,r.nativeBarWidth=r.barHeight=r.barWidth=0,r.scrollbarsClipped=!1,r.lineNumWidth=r.lineNumInnerWidth=r.lineNumChars=null,r.alignWidgets=!1,r.cachedCharWidth=r.cachedTextHeight=r.cachedPaddingH=null, -r.maxLine=null,r.maxLineLength=0,r.maxLineChanged=!1,r.wheelDX=r.wheelDY=r.wheelStartX=r.wheelStartY=null,r.shift=!1,r.selForContextMenu=null,r.activeTouch=null,n.init(r)}function n(t){t.doc.mode=e.getMode(t.options,t.doc.modeOption),r(t)}function r(e){e.doc.iter(function(e){e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null)}),e.doc.frontier=e.doc.first,_e(e,100),e.state.modeGen++,e.curOp&&Dt(e)}function i(e){e.options.lineWrapping?(Ja(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(Za(e.display.wrapper,"CodeMirror-wrap"),h(e)),a(e),Dt(e),lt(e),setTimeout(function(){y(e)},100)}function o(e){var t=yt(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/xt(e.display)-3);return function(i){if(kr(e.doc,i))return 0;var o=0;if(i.widgets)for(var a=0;at.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)})}function d(e){var t=Pi(e.gutters,"CodeMirror-linenumbers");-1==t&&e.lineNumbers?e.gutters=e.gutters.concat(["CodeMirror-linenumbers"]):t>-1&&!e.lineNumbers&&(e.gutters=e.gutters.slice(0),e.gutters.splice(t,1))}function p(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+qe(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Ye(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}function m(e,t,n){this.cm=n;var r=this.vert=ji("div",[ji("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=ji("div",[ji("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");e(r),e(i),Ea(r,"scroll",function(){r.clientHeight&&t(r.scrollTop,"vertical")}),Ea(i,"scroll",function(){i.clientWidth&&t(i.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,xo&&8>bo&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")}function g(){}function v(t){t.display.scrollbars&&(t.display.scrollbars.clear(),t.display.scrollbars.addClass&&Za(t.display.wrapper,t.display.scrollbars.addClass)),t.display.scrollbars=new e.scrollbarModel[t.options.scrollbarStyle](function(e){t.display.wrapper.insertBefore(e,t.display.scrollbarFiller),Ea(e,"mousedown",function(){t.state.focused&&setTimeout(function(){t.display.input.focus()},0)}),e.setAttribute("cm-not-content","true")},function(e,n){"horizontal"==n?on(t,e):rn(t,e)},t),t.display.scrollbars.addClass&&Ja(t.display.wrapper,t.display.scrollbars.addClass)}function y(e,t){t||(t=p(e));var n=e.display.barWidth,r=e.display.barHeight;x(e,t);for(var i=0;4>i&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&O(e),x(e,p(e)),n=e.display.barWidth,r=e.display.barHeight}function x(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}function b(e,t,n){var r=n&&null!=n.top?Math.max(0,n.top):e.scroller.scrollTop;r=Math.floor(r-Ue(e));var i=n&&null!=n.bottom?n.bottom:r+e.wrapper.clientHeight,o=ni(t,r),a=ni(t,i);if(n&&n.ensure){var l=n.ensure.from.line,s=n.ensure.to.line;o>l?(o=l,a=ni(t,ri(Zr(t,l))+e.wrapper.clientHeight)):Math.min(s,t.lastLine())>=a&&(o=ni(t,ri(Zr(t,s))-e.wrapper.clientHeight),a=s)}return{from:o,to:Math.max(a,o+1)}}function w(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=C(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+"px",a=0;a=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==zt(e))return!1;k(e)&&(Wt(e),t.dims=P(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),a=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFroma&&n.viewTo-a<20&&(a=Math.min(i,n.viewTo)),Wo&&(o=br(e.doc,o),a=wr(e.doc,a));var l=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;Ft(e,o,a),n.viewOffset=ri(Zr(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var s=zt(e);if(!l&&0==s&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var c=Gi();return s>4&&(n.lineDiv.style.display="none"),R(e,n.updateLineNumbers,t.dims),s>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,c&&Gi()!=c&&c.offsetHeight&&c.focus(),Ui(n.cursorDiv),Ui(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,l&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,_e(e,400)),n.updateLineNumbers=null,!0}function N(e,t){for(var n=t.viewport,r=!0;(r&&e.options.lineWrapping&&t.oldDisplayWidth!=$e(e)||(n&&null!=n.top&&(n={top:Math.min(e.doc.height+qe(e.display)-Ve(e),n.top)}),t.visible=b(e.display,e.doc,n),!(t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)))&&M(e,t);r=!1){O(e);var i=p(e);Re(e),y(e,i),E(e,i)}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function A(e,t){var n=new L(e,t);if(M(e,n)){O(e),N(e,n);var r=p(e);Re(e),y(e,r),E(e,r),n.finish()}}function E(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Ye(e)+"px"}function O(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=0;rbo){var a=o.node.offsetTop+o.node.offsetHeight;i=a-n,n=a}else{var l=o.node.getBoundingClientRect();i=l.bottom-l.top}var s=o.line.height-i;if(2>i&&(i=yt(t)),(s>.001||-.001>s)&&(ei(o.line,i),I(o.line),o.rest))for(var c=0;c=t&&f.lineNumber;f.changes&&(Pi(f.changes,"gutter")>-1&&(h=!1),D(e,f,c,n)),h&&(Ui(f.lineNumber),f.lineNumber.appendChild(document.createTextNode(S(e.options,c)))),l=f.node.nextSibling}else{var d=U(e,f,c,n);a.insertBefore(d,l)}c+=f.size}for(;l;)l=r(l)}function D(e,t,n,r){for(var i=0;ibo&&(e.node.style.zIndex=2)),e.node}function W(e){var t=e.bgClass?e.bgClass+" "+(e.line.bgClass||""):e.line.bgClass;if(t&&(t+=" CodeMirror-linebackground"),e.background)t?e.background.className=t:(e.background.parentNode.removeChild(e.background),e.background=null);else if(t){var n=H(e);e.background=n.insertBefore(ji("div",null,t),n.firstChild)}}function B(e,t){var n=e.display.externalMeasured;return n&&n.line==t.line?(e.display.externalMeasured=null,t.measure=n.measure,n.built):Br(e,t)}function _(e,t){var n=t.text.className,r=B(e,t);t.text==t.node&&(t.node=r.pre),t.text.parentNode.replaceChild(r.pre,t.text),t.text=r.pre,r.bgClass!=t.bgClass||r.textClass!=t.textClass?(t.bgClass=r.bgClass,t.textClass=r.textClass,F(t)):n&&(t.text.className=n)}function F(e){W(e),e.line.wrapClass?H(e).className=e.line.wrapClass:e.node!=e.text&&(e.node.className="");var t=e.textClass?e.textClass+" "+(e.line.textClass||""):e.line.textClass;e.text.className=t||""}function z(e,t,n,r){if(t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null),t.gutterBackground&&(t.node.removeChild(t.gutterBackground),t.gutterBackground=null),t.line.gutterClass){var i=H(t);t.gutterBackground=ji("div",null,"CodeMirror-gutter-background "+t.line.gutterClass,"left: "+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+"px; width: "+r.gutterTotalWidth+"px"),i.insertBefore(t.gutterBackground,t.text)}var o=t.line.gutterMarkers;if(e.options.lineNumbers||o){var i=H(t),a=t.gutter=ji("div",null,"CodeMirror-gutter-wrapper","left: "+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+"px");if(e.display.input.setUneditable(a),i.insertBefore(a,t.text),t.line.gutterClass&&(a.className+=" "+t.line.gutterClass),!e.options.lineNumbers||o&&o["CodeMirror-linenumbers"]||(t.lineNumber=a.appendChild(ji("div",S(e.options,n),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+r.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+e.display.lineNumInnerWidth+"px"))),o)for(var l=0;l1)if(Fo&&Fo.text.join("\n")==t){if(r.ranges.length%Fo.text.length==0){s=[];for(var c=0;c=0;c--){var u=r.ranges[c],f=u.from(),h=u.to();u.empty()&&(n&&n>0?f=Bo(f.line,f.ch-n):e.state.overwrite&&!a?h=Bo(h.line,Math.min(Zr(o,h.line).text.length,h.ch+Ii(l).length)):Fo&&Fo.lineWise&&Fo.text.join("\n")==t&&(f=h=Bo(f.line,0)));var d=e.curOp.updateInput,p={from:f,to:h,text:s?s[c%s.length]:l,origin:i||(a?"paste":e.state.cutIncoming?"cut":"+input")};Tn(e.doc,p),Ci(e,"inputRead",e,p)}t&&!a&&Q(e,t),Bn(e),e.curOp.updateInput=d,e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=!1}function J(e,t){var n=e.clipboardData&&e.clipboardData.getData("text/plain");return n?(e.preventDefault(),t.isReadOnly()||t.options.disableInput||At(t,function(){Z(t,n,0,null,"paste")}),!0):void 0}function Q(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),a=!1;if(o.electricChars){for(var l=0;l-1){a=Fn(e,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Zr(e.doc,i.head.line).text.slice(0,i.head.ch))&&(a=Fn(e,i.head.line,"smart"));a&&Ci(e,"electricInput",e,i.head.line)}}}function ee(e){for(var t=[],n=[],r=0;ri?c.map:u[i],a=0;ai?e.line:e.rest[i]),f=o[a]+r;return(0>r||l!=t)&&(f=o[a+(r?1:0)]),Bo(s,f)}}}var i=e.text.firstChild,o=!1;if(!t||!Va(i,t))return ae(Bo(ti(e.line),0),!0);if(t==i&&(o=!0,t=i.childNodes[n],n=0,!t)){var a=e.rest?Ii(e.rest):e.line;return ae(Bo(ti(a),a.text.length),o)}var l=3==t.nodeType?t:null,s=t;for(l||1!=t.childNodes.length||3!=t.firstChild.nodeType||(l=t.firstChild,n&&(n=l.nodeValue.length));s.parentNode!=i;)s=s.parentNode;var c=e.measure,u=c.maps,f=r(l,s,n);if(f)return ae(f,o);for(var h=s.nextSibling,d=l?l.nodeValue.length-n:0;h;h=h.nextSibling){if(f=r(h,h.firstChild,0))return ae(Bo(f.line,f.ch-d),o);d+=h.textContent.length}for(var p=s.previousSibling,d=n;p;p=p.previousSibling){if(f=r(p,p.firstChild,-1))return ae(Bo(f.line,f.ch+d),o);d+=h.textContent.length}}function ce(e,t,n,r,i){function o(e){return function(t){return t.id==e}}function a(t){if(1==t.nodeType){var n=t.getAttribute("cm-text");if(null!=n)return""==n&&(n=t.textContent.replace(/\u200b/g,"")),void(l+=n);var u,f=t.getAttribute("cm-marker");if(f){var h=e.findMarks(Bo(r,0),Bo(i+1,0),o(+f));return void(h.length&&(u=h[0].find())&&(l+=Jr(e.doc,u.from,u.to).join(c)))}if("false"==t.getAttribute("contenteditable"))return;for(var d=0;d=0){var a=K(o.from(),i.from()),l=V(o.to(),i.to()),s=o.empty()?i.from()==i.head:o.from()==o.head;t>=r&&--t,e.splice(--r,2,new fe(s?l:a,s?a:l))}}return new ue(e,t)}function de(e,t){return new ue([new fe(e,t||e)],0)}function pe(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function me(e,t){if(t.linen?Bo(n,Zr(e,n).text.length):ge(t,Zr(e,t.line).text.length)}function ge(e,t){var n=e.ch;return null==n||n>t?Bo(e.line,t):0>n?Bo(e.line,0):e}function ve(e,t){return t>=e.first&&t=t.ch:l.to>t.ch))){if(i&&(Pa(s,"beforeCursorEnter"),s.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!s.atomic)continue;if(n){var c,u=s.find(0>r?1:-1);if((0>r?s.inclusiveRight:s.inclusiveLeft)&&(u=Pe(e,u,-r,u&&u.line==t.line?o:null)),u&&u.line==t.line&&(c=_o(u,n))&&(0>r?0>c:c>0))return Oe(e,u,t,r,i)}var f=s.find(0>r?-1:1);return(0>r?s.inclusiveLeft:s.inclusiveRight)&&(f=Pe(e,f,r,f.line==t.line?o:null)),f?Oe(e,f,t,r,i):null}}return t}function Ie(e,t,n,r,i){var o=r||1,a=Oe(e,t,n,o,i)||!i&&Oe(e,t,n,o,!0)||Oe(e,t,n,-o,i)||!i&&Oe(e,t,n,-o,!0);return a?a:(e.cantEdit=!0,Bo(e.first,0))}function Pe(e,t,n,r){return 0>n&&0==t.ch?t.line>e.first?me(e,Bo(t.line-1)):null:n>0&&t.ch==(r||Zr(e,t.line)).text.length?t.line=e.display.viewTo||l.to().linet&&(t=0),t=Math.round(t),r=Math.round(r),l.appendChild(ji("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px; top: "+t+"px; width: "+(null==n?u-e:n)+"px; height: "+(r-t)+"px"))}function i(t,n,i){function o(n,r){return ht(e,Bo(t,n),"div",f,r)}var l,s,f=Zr(a,t),h=f.text.length;return eo(ii(f),n||0,null==i?h:i,function(e,t,a){var f,d,p,m=o(e,"left");if(e==t)f=m,d=p=m.left;else{if(f=o(t-1,"right"),"rtl"==a){var g=m;m=f,f=g}d=m.left,p=f.right}null==n&&0==e&&(d=c),f.top-m.top>3&&(r(d,m.top,null,m.bottom),d=c,m.bottoms.bottom||f.bottom==s.bottom&&f.right>s.right)&&(s=f),c+1>d&&(d=c),r(d,f.top,p-d,f.bottom)}),{start:l,end:s}}var o=e.display,a=e.doc,l=document.createDocumentFragment(),s=Ge(e.display),c=s.left,u=Math.max(o.sizerWidth,$e(e)-o.sizer.offsetLeft)-s.right,f=t.from(),h=t.to();if(f.line==h.line)i(f.line,f.ch,h.ch);else{var d=Zr(a,f.line),p=Zr(a,h.line),m=yr(d)==yr(p),g=i(f.line,f.ch,m?d.text.length+1:null).end,v=i(h.line,m?0:null,h.ch).start;m&&(g.top0?t.blinker=setInterval(function(){t.cursorDiv.style.visibility=(n=!n)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function _e(e,t){e.doc.mode.startState&&e.doc.frontier=e.display.viewTo)){var n=+new Date+e.options.workTime,r=sa(t.mode,je(e,t.frontier)),i=[];t.iter(t.frontier,Math.min(t.first+t.size,e.display.viewTo+500),function(o){if(t.frontier>=e.display.viewFrom){var a=o.styles,l=o.text.length>e.options.maxHighlightLength,s=Rr(e,o,l?sa(t.mode,r):r,!0);o.styles=s.styles;var c=o.styleClasses,u=s.classes;u?o.styleClasses=u:c&&(o.styleClasses=null);for(var f=!a||a.length!=o.styles.length||c!=u&&(!c||!u||c.bgClass!=u.bgClass||c.textClass!=u.textClass),h=0;!f&&hn?(_e(e,e.options.workDelay),!0):void 0}),i.length&&At(e,function(){for(var t=0;ta;--l){if(l<=o.first)return o.first;var s=Zr(o,l-1);if(s.stateAfter&&(!n||l<=o.frontier))return l;var c=Fa(s.text,null,e.options.tabSize);(null==i||r>c)&&(i=l-1,r=c)}return i}function je(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return!0;var o=ze(e,t,n),a=o>r.first&&Zr(r,o-1).stateAfter;return a=a?sa(r.mode,a):ca(r.mode),r.iter(o,t,function(n){Hr(e,n.text,a);var l=o==t-1||o%5==0||o>=i.viewFrom&&o2&&o.push((s.bottom+c.top)/2-n.top)}}o.push(n.bottom-n.top)}}function Xe(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};for(var r=0;rn)return{map:e.measure.maps[r],cache:e.measure.caches[r],before:!0}}function Ze(e,t){t=yr(t);var n=ti(t),r=e.display.externalMeasured=new Pt(e.doc,t,n);r.lineN=n;var i=r.built=Br(e,r);return r.text=i.pre,qi(e.display.lineMeasure,i.pre),r}function Je(e,t,n,r){return tt(e,et(e,t),n,r)}function Qe(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&tt?(i=0,o=1,a="left"):c>t?(i=t-s,o=i+1):(l==e.length-3||t==c&&e[l+3]>t)&&(o=c-s,i=o-1,t>=c&&(a="right")),null!=i){if(r=e[l+2],s==c&&n==(r.insertLeft?"left":"right")&&(a=n),"left"==n&&0==i)for(;l&&e[l-2]==e[l-3]&&e[l-1].insertLeft;)r=e[(l-=3)+2],a="left";if("right"==n&&i==c-s)for(;lu;u++){for(;l&&zi(t.line.text.charAt(o.coverStart+l));)--l;for(;o.coverStart+sbo&&0==l&&s==o.coverEnd-o.coverStart)i=a.parentNode.getBoundingClientRect();else if(xo&&e.options.lineWrapping){var f=qa(a,l,s).getClientRects();i=f.length?f["right"==r?f.length-1:0]:qo}else i=qa(a,l,s).getBoundingClientRect()||qo;if(i.left||i.right||0==l)break;s=l,l-=1,c="right"}xo&&11>bo&&(i=it(e.display.measure,i))}else{l>0&&(c=r="right");var f;i=e.options.lineWrapping&&(f=a.getClientRects()).length>1?f["right"==r?f.length-1:0]:a.getBoundingClientRect()}if(xo&&9>bo&&!l&&(!i||!i.left&&!i.right)){var h=a.parentNode.getClientRects()[0];i=h?{left:h.left,right:h.left+xt(e.display),top:h.top,bottom:h.bottom}:qo}for(var d=i.top-t.rect.top,p=i.bottom-t.rect.top,m=(d+p)/2,g=t.view.measure.heights,u=0;un.from?a(e-1):a(e,r)}r=r||Zr(e.doc,t.line),i||(i=et(e,r));var s=ii(r),c=t.ch;if(!s)return a(c);var u=co(s,c),f=l(c,u);return null!=al&&(f.other=l(c,al)),f}function pt(e,t){var n=0,t=me(e.doc,t);e.options.lineWrapping||(n=xt(e.display)*t.ch);var r=Zr(e.doc,t.line),i=ri(r)+Ue(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function mt(e,t,n,r){var i=Bo(e,t);return i.xRel=r,n&&(i.outside=!0),i}function gt(e,t,n){var r=e.doc;if(n+=e.display.viewOffset,0>n)return mt(r.first,0,!0,-1);var i=ni(r,n),o=r.first+r.size-1;if(i>o)return mt(r.first+r.size-1,Zr(r,o).text.length,!0,1);0>t&&(t=0);for(var a=Zr(r,i);;){var l=vt(e,a,i,t,n),s=gr(a),c=s&&s.find(0,!0);if(!s||!(l.ch>c.from.ch||l.ch==c.from.ch&&l.xRel>0))return l;i=ti(a=c.to.line)}}function vt(e,t,n,r,i){function o(r){var i=dt(e,Bo(n,r),"line",t,c);return l=!0,a>i.bottom?i.left-s:ag)return mt(n,d,v,1);for(;;){if(u?d==h||d==fo(t,h,1):1>=d-h){for(var y=p>r||g-r>=r-p?h:d,x=r-(y==h?p:g);zi(t.text.charAt(y));)++y;var b=mt(n,y,y==h?m:v,-1>x?-1:x>1?1:0);return b}var w=Math.ceil(f/2),k=h+w;if(u){k=h;for(var S=0;w>S;++S)k=fo(t,k,1)}var C=o(k);C>r?(d=k,g=C,(v=l)&&(g+=1e3),f=w):(h=k,p=C,m=l,f-=w)}}function yt(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==zo){zo=ji("pre");for(var t=0;49>t;++t)zo.appendChild(document.createTextNode("x")),zo.appendChild(ji("br"));zo.appendChild(document.createTextNode("x"))}qi(e.measure,zo);var n=zo.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),Ui(e.measure),n||1}function xt(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=ji("span","xxxxxxxxxx"),n=ji("pre",[t]);qi(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function bt(e){e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Yo},Go?Go.ops.push(e.curOp):e.curOp.ownsGroup=Go={ops:[e.curOp],delayedCallbacks:[]}}function wt(e){var t=e.delayedCallbacks,n=0;do{for(;n=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new L(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Lt(e){e.updatedDisplay=e.mustUpdate&&M(e.cm,e.update)}function Tt(e){var t=e.cm,n=t.display;e.updatedDisplay&&O(t),e.barMeasure=p(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=Je(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+Ye(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-$e(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection(e.focus))}function Mt(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLefto;o=r){var a=new Pt(e.doc,Zr(e.doc,o),o);r=o+a.size,i.push(a)}return i}function Dt(e,t,n,r){null==t&&(t=e.doc.first),null==n&&(n=e.doc.first+e.doc.size),r||(r=0);var i=e.display;if(r&&nt)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)Wo&&br(e.doc,t)i.viewFrom?Wt(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)Wt(e);else if(t<=i.viewFrom){var o=_t(e,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):Wt(e)}else if(n>=i.viewTo){var o=_t(e,t,t,-1);o?(i.view=i.view.slice(0,o.index),i.viewTo=o.lineN):Wt(e)}else{var a=_t(e,t,t,-1),l=_t(e,n,n+r,1);a&&l?(i.view=i.view.slice(0,a.index).concat(Rt(e,a.lineN,l.lineN)).concat(i.view.slice(l.index)),i.viewTo+=r):Wt(e)}var s=i.externalMeasured;s&&(n=i.lineN&&t=r.viewTo)){var o=r.view[Bt(e,t)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==Pi(a,n)&&a.push(n)}}}function Wt(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function Bt(e,t){if(t>=e.display.viewTo)return null;if(t-=e.display.viewFrom,0>t)return null;for(var n=e.display.view,r=0;rt)return r}function _t(e,t,n,r){var i,o=Bt(e,t),a=e.display.view;if(!Wo||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var l=0,s=e.display.viewFrom;o>l;l++)s+=a[l].size;if(s!=t){if(r>0){if(o==a.length-1)return null;i=s+a[o].size-t,o++}else i=s-t;t+=i,n+=i}for(;br(e.doc,n)!=n;){if(o==(0>r?0:a.length-1))return null;n+=r*a[o-(0>r?1:0)].size,o+=r}return{index:o,lineN:n}}function Ft(e,t,n){var r=e.display,i=r.view;0==i.length||t>=r.viewTo||n<=r.viewFrom?(r.view=Rt(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=Rt(e,t,r.viewFrom).concat(r.view):r.viewFromn&&(r.view=r.view.slice(0,Bt(e,n)))),r.viewTo=n}function zt(e){for(var t=e.display.view,n=0,r=0;r400}var i=e.display;Ea(i.scroller,"mousedown",Et(e,$t)),xo&&11>bo?Ea(i.scroller,"dblclick",Et(e,function(t){if(!Ti(e,t)){var n=Yt(e,t);if(n&&!Jt(e,t)&&!Gt(e.display,t)){Ma(t);var r=e.findWordAt(n);be(e.doc,r.anchor,r.head)}}})):Ea(i.scroller,"dblclick",function(t){Ti(e,t)||Ma(t)}),Do||Ea(i.scroller,"contextmenu",function(t){xn(e,t)});var o,a={end:0};Ea(i.scroller,"touchstart",function(t){if(!Ti(e,t)&&!n(t)){clearTimeout(o);var r=+new Date;i.activeTouch={start:r,moved:!1,prev:r-a.end<=300?a:null},1==t.touches.length&&(i.activeTouch.left=t.touches[0].pageX,i.activeTouch.top=t.touches[0].pageY)}}),Ea(i.scroller,"touchmove",function(){i.activeTouch&&(i.activeTouch.moved=!0)}),Ea(i.scroller,"touchend",function(n){var o=i.activeTouch;if(o&&!Gt(i,n)&&null!=o.left&&!o.moved&&new Date-o.start<300){var a,l=e.coordsChar(i.activeTouch,"page");a=!o.prev||r(o,o.prev)?new fe(l,l):!o.prev.prev||r(o,o.prev.prev)?e.findWordAt(l):new fe(Bo(l.line,0),me(e.doc,Bo(l.line+1,0))),e.setSelection(a.anchor,a.head),e.focus(),Ma(n)}t()}),Ea(i.scroller,"touchcancel",t),Ea(i.scroller,"scroll",function(){i.scroller.clientHeight&&(rn(e,i.scroller.scrollTop),on(e,i.scroller.scrollLeft,!0),Pa(e,"scroll",e))}),Ea(i.scroller,"mousewheel",function(t){an(e,t)}),Ea(i.scroller,"DOMMouseScroll",function(t){an(e,t)}),Ea(i.wrapper,"scroll",function(){i.wrapper.scrollTop=i.wrapper.scrollLeft=0}),i.dragFunctions={enter:function(t){Ti(e,t)||Aa(t)},over:function(t){Ti(e,t)||(tn(e,t),Aa(t))},start:function(t){en(e,t)},drop:Et(e,Qt),leave:function(t){Ti(e,t)||nn(e)}};var l=i.input.getField();Ea(l,"keyup",function(t){pn.call(e,t)}),Ea(l,"keydown",Et(e,hn)),Ea(l,"keypress",Et(e,mn)),Ea(l,"focus",Bi(vn,e)),Ea(l,"blur",Bi(yn,e))}function Ut(t,n,r){var i=r&&r!=e.Init;if(!n!=!i){var o=t.display.dragFunctions,a=n?Ea:Ia;a(t.display.scroller,"dragstart",o.start),a(t.display.scroller,"dragenter",o.enter),a(t.display.scroller,"dragover",o.over),a(t.display.scroller,"dragleave",o.leave),a(t.display.scroller,"drop",o.drop)}}function qt(e){var t=e.display;t.lastWrapHeight==t.wrapper.clientHeight&&t.lastWrapWidth==t.wrapper.clientWidth||(t.cachedCharWidth=t.cachedTextHeight=t.cachedPaddingH=null,t.scrollbarsClipped=!1,e.setSize())}function Gt(e,t){for(var n=wi(t);n!=e.wrapper;n=n.parentNode)if(!n||1==n.nodeType&&"true"==n.getAttribute("cm-ignore-events")||n.parentNode==e.sizer&&n!=e.mover)return!0}function Yt(e,t,n,r){var i=e.display;if(!n&&"true"==wi(t).getAttribute("cm-not-content"))return null;var o,a,l=i.lineSpace.getBoundingClientRect();try{o=t.clientX-l.left,a=t.clientY-l.top}catch(t){return null}var s,c=gt(e,o,a);if(r&&1==c.xRel&&(s=Zr(e.doc,c.line).text).length==c.ch){var u=Fa(s,s.length,e.options.tabSize)-s.length;c=Bo(c.line,Math.max(0,Math.round((o-Ge(e.display).left)/xt(e.display))-u))}return c}function $t(e){var t=this,n=t.display;if(!(Ti(t,e)||n.activeTouch&&n.input.supportsTouch())){if(n.shift=e.shiftKey,Gt(n,e))return void(wo||(n.scroller.draggable=!1,setTimeout(function(){n.scroller.draggable=!0},100)));if(!Jt(t,e)){var r=Yt(t,e);switch(window.focus(),ki(e)){case 1:t.state.selectingText?t.state.selectingText(e):r?Vt(t,e,r):wi(e)==n.scroller&&Ma(e);break;case 2:wo&&(t.state.lastMiddleDown=+new Date),r&&be(t.doc,r),setTimeout(function(){n.input.focus()},20),Ma(e);break;case 3:Do?xn(t,e):gn(t)}}}}function Vt(e,t,n){xo?setTimeout(Bi(X,e),0):e.curOp.focus=Gi();var r,i=+new Date;Uo&&Uo.time>i-400&&0==_o(Uo.pos,n)?r="triple":jo&&jo.time>i-400&&0==_o(jo.pos,n)?(r="double",Uo={time:i,pos:n}):(r="single",jo={time:i,pos:n});var o,a=e.doc.sel,l=Eo?t.metaKey:t.ctrlKey;e.options.dragDrop&&el&&!e.isReadOnly()&&"single"==r&&(o=a.contains(n))>-1&&(_o((o=a.ranges[o]).from(),n)<0||n.xRel>0)&&(_o(o.to(),n)>0||n.xRel<0)?Kt(e,t,n,l):Xt(e,t,n,r,l)}function Kt(e,t,n,r){var i=e.display,o=+new Date,a=Et(e,function(l){wo&&(i.scroller.draggable=!1),e.state.draggingText=!1,Ia(document,"mouseup",a),Ia(i.scroller,"drop",a),Math.abs(t.clientX-l.clientX)+Math.abs(t.clientY-l.clientY)<10&&(Ma(l),!r&&+new Date-200=p;p++){var v=Zr(c,p).text,y=za(v,s,o);s==d?i.push(new fe(Bo(p,y),Bo(p,y))):v.length>y&&i.push(new fe(Bo(p,y),Bo(p,za(v,d,o))))}i.length||i.push(new fe(n,n)),Te(c,he(h.ranges.slice(0,f).concat(i),f),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var x=u,b=x.anchor,w=t;if("single"!=r){if("double"==r)var k=e.findWordAt(t);else var k=new fe(Bo(t.line,0),me(c,Bo(t.line+1,0)));_o(k.anchor,b)>0?(w=k.head,b=K(x.from(),k.anchor)):(w=k.anchor,b=V(x.to(),k.head))}var i=h.ranges.slice(0);i[f]=new fe(me(c,b),w),Te(c,he(i,f),Ba)}}function a(t){var n=++y,i=Yt(e,t,!0,"rect"==r);if(i)if(0!=_o(i,g)){e.curOp.focus=Gi(),o(i);var l=b(s,c);(i.line>=l.to||i.linev.bottom?20:0;u&&setTimeout(Et(e,function(){y==n&&(s.scroller.scrollTop+=u,a(t))}),50)}}function l(t){e.state.selectingText=!1,y=1/0,Ma(t),s.input.focus(),Ia(document,"mousemove",x),Ia(document,"mouseup",w),c.history.lastSelOrigin=null}var s=e.display,c=e.doc;Ma(t);var u,f,h=c.sel,d=h.ranges;if(i&&!t.shiftKey?(f=c.sel.contains(n),u=f>-1?d[f]:new fe(n,n)):(u=c.sel.primary(),f=c.sel.primIndex),Oo?t.shiftKey&&t.metaKey:t.altKey)r="rect",i||(u=new fe(n,n)),n=Yt(e,t,!0,!0),f=-1;else if("double"==r){var p=e.findWordAt(n);u=e.display.shift||c.extend?xe(c,u,p.anchor,p.head):p}else if("triple"==r){var m=new fe(Bo(n.line,0),me(c,Bo(n.line+1,0)));u=e.display.shift||c.extend?xe(c,u,m.anchor,m.head):m}else u=xe(c,u,n);i?-1==f?(f=d.length,Te(c,he(d.concat([u]),f),{scroll:!1,origin:"*mouse"})):d.length>1&&d[f].empty()&&"single"==r&&!t.shiftKey?(Te(c,he(d.slice(0,f).concat(d.slice(f+1)),0),{scroll:!1,origin:"*mouse"}),h=c.sel):ke(c,f,u,Ba):(f=0,Te(c,new ue([u],0),Ba),h=c.sel);var g=n,v=s.wrapper.getBoundingClientRect(),y=0,x=Et(e,function(e){ki(e)?a(e):l(e)}),w=Et(e,l);e.state.selectingText=w,Ea(document,"mousemove",x),Ea(document,"mouseup",w)}function Zt(e,t,n,r){try{var i=t.clientX,o=t.clientY}catch(t){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&Ma(t);var a=e.display,l=a.lineDiv.getBoundingClientRect();if(o>l.bottom||!Ni(e,n))return bi(t);o-=l.top-a.viewOffset;for(var s=0;s=i){var u=ni(e.doc,o),f=e.options.gutters[s];return Pa(e,n,e,u,f,t),bi(t)}}}function Jt(e,t){return Zt(e,t,"gutterClick",!0)}function Qt(e){var t=this;if(nn(t),!Ti(t,e)&&!Gt(t.display,e)){Ma(e),xo&&($o=+new Date);var n=Yt(t,e,!0),r=e.dataTransfer.files;if(n&&!t.isReadOnly())if(r&&r.length&&window.FileReader&&window.File)for(var i=r.length,o=Array(i),a=0,l=function(e,r){if(!t.options.allowDropFileTypes||-1!=Pi(t.options.allowDropFileTypes,e.type)){var l=new FileReader;l.onload=Et(t,function(){var e=l.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(e)&&(e=""),o[r]=e,++a==i){n=me(t.doc,n);var s={from:n,to:n,text:t.doc.splitLines(o.join(t.doc.lineSeparator())),origin:"paste"};Tn(t.doc,s),Le(t.doc,de(n,Qo(s)))}}),l.readAsText(e)}},s=0;i>s;++s)l(r[s],s);else{if(t.state.draggingText&&t.doc.sel.contains(n)>-1)return t.state.draggingText(e),void setTimeout(function(){t.display.input.focus()},20);try{var o=e.dataTransfer.getData("Text");if(o){if(t.state.draggingText&&!(Eo?e.altKey:e.ctrlKey))var c=t.listSelections();if(Me(t.doc,de(n,n)),c)for(var s=0;sa.clientWidth,s=a.scrollHeight>a.clientHeight;if(r&&l||i&&s){if(i&&Eo&&wo)e:for(var c=t.target,u=o.view;c!=a;c=c.parentNode)for(var f=0;fh?d=Math.max(0,d+h-50):p=Math.min(e.doc.height,p+h+50),A(e,{top:d,bottom:p})}20>Vo&&(null==o.wheelStartX?(o.wheelStartX=a.scrollLeft,o.wheelStartY=a.scrollTop,o.wheelDX=r,o.wheelDY=i,setTimeout(function(){if(null!=o.wheelStartX){var e=a.scrollLeft-o.wheelStartX,t=a.scrollTop-o.wheelStartY,n=t&&o.wheelDY&&t/o.wheelDY||e&&o.wheelDX&&e/o.wheelDX;o.wheelStartX=o.wheelStartY=null,n&&(Ko=(Ko*Vo+n)/(Vo+1),++Vo)}},200)):(o.wheelDX+=r,o.wheelDY+=i))}}function ln(e,t,n){if("string"==typeof t&&(t=ua[t],!t))return!1;e.display.input.ensurePolled();var r=e.display.shift,i=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),n&&(e.display.shift=!1),i=t(e)!=Ha}finally{e.display.shift=r,e.state.suppressEdits=!1}return i}function sn(e,t,n){for(var r=0;rbo&&27==e.keyCode&&(e.returnValue=!1);var n=e.keyCode;t.display.shift=16==n||e.shiftKey;var r=un(t,e);Co&&(Jo=r?n:null,!r&&88==n&&!rl&&(Eo?e.metaKey:e.ctrlKey)&&t.replaceSelection("",null,"cut")),18!=n||/\bCodeMirror-crosshair\b/.test(t.display.lineDiv.className)||dn(t)}}function dn(e){function t(e){18!=e.keyCode&&e.altKey||(Za(n,"CodeMirror-crosshair"),Ia(document,"keyup",t),Ia(document,"mouseover",t))}var n=e.display.lineDiv;Ja(n,"CodeMirror-crosshair"),Ea(document,"keyup",t),Ea(document,"mouseover",t)}function pn(e){16==e.keyCode&&(this.doc.sel.shift=!1),Ti(this,e)}function mn(e){var t=this;if(!(Gt(t.display,e)||Ti(t,e)||e.ctrlKey&&!e.altKey||Eo&&e.metaKey)){var n=e.keyCode,r=e.charCode;if(Co&&n==Jo)return Jo=null,void Ma(e);if(!Co||e.which&&!(e.which<10)||!un(t,e)){var i=String.fromCharCode(null==r?n:r);fn(t,e,i)||t.display.input.onKeyPress(e)}}}function gn(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,yn(e))},100)}function vn(e){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(Pa(e,"focus",e),e.state.focused=!0,Ja(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),wo&&setTimeout(function(){e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),Be(e))}function yn(e){e.state.delayingBlurEvent||(e.state.focused&&(Pa(e,"blur",e),e.state.focused=!1,Za(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function xn(e,t){Gt(e.display,t)||bn(e,t)||Ti(e,t,"contextmenu")||e.display.input.onContextMenu(t)}function bn(e,t){return Ni(e,"gutterContextMenu")?Zt(e,t,"gutterContextMenu",!1):!1}function wn(e,t){if(_o(e,t.from)<0)return e;if(_o(e,t.to)<=0)return Qo(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=Qo(t).ch-t.to.ch),Bo(n,r)}function kn(e,t){for(var n=[],r=0;r=0;--i)Mn(e,{from:r[i].from,to:r[i].to,text:i?[""]:t.text});else Mn(e,t)}}function Mn(e,t){if(1!=t.text.length||""!=t.text[0]||0!=_o(t.from,t.to)){var n=kn(e,t);ci(e,t,n,e.cm?e.cm.curOp.id:NaN),En(e,t,n,or(e,t));var r=[];Kr(e,function(e,n){n||-1!=Pi(r,e.history)||(xi(e.history,t),r.push(e.history)),En(e,t,null,or(e,t))})}}function Nn(e,t,n){if(!e.cm||!e.cm.state.suppressEdits){for(var r,i=e.history,o=e.sel,a="undo"==t?i.done:i.undone,l="undo"==t?i.undone:i.done,s=0;s=0;--s){var f=r.changes[s];if(f.origin=t,u&&!Ln(e,f,!1))return void(a.length=0);c.push(ai(e,f));var h=s?kn(e,f):Ii(a);En(e,f,h,lr(e,f)),!s&&e.cm&&e.cm.scrollIntoView({from:f.from,to:Qo(f)});var d=[];Kr(e,function(e,t){t||-1!=Pi(d,e.history)||(xi(e.history,f),d.push(e.history)),En(e,f,null,lr(e,f))})}}}}function An(e,t){if(0!=t&&(e.first+=t,e.sel=new ue(Ri(e.sel.ranges,function(e){return new fe(Bo(e.anchor.line+t,e.anchor.ch),Bo(e.head.line+t,e.head.ch))}),e.sel.primIndex),e.cm)){Dt(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;re.lastLine())){if(t.from.lineo&&(t={from:t.from,to:Bo(o,Zr(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Jr(e,t.from,t.to),n||(n=kn(e,t)),e.cm?On(e.cm,t,r):Yr(e,t,r),Me(e,n,Wa)}}function On(e,t,n){var r=e.doc,i=e.display,a=t.from,l=t.to,s=!1,c=a.line;e.options.lineWrapping||(c=ti(yr(Zr(r,a.line))),r.iter(c,l.line+1,function(e){return e==i.maxLine?(s=!0,!0):void 0})),r.sel.contains(t.from,t.to)>-1&&Mi(e),Yr(r,t,n,o(e)),e.options.lineWrapping||(r.iter(c,a.line+t.text.length,function(e){var t=f(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,s=!1)}),s&&(e.curOp.updateMaxLine=!0)),r.frontier=Math.min(r.frontier,a.line),_e(e,400);var u=t.text.length-(l.line-a.line)-1;t.full?Dt(e):a.line!=l.line||1!=t.text.length||Gr(e.doc,t)?Dt(e,a.line,l.line+1,u):Ht(e,a.line,"text");var h=Ni(e,"changes"),d=Ni(e,"change");if(d||h){var p={from:a,to:l,text:t.text,removed:t.removed,origin:t.origin};d&&Ci(e,"change",e,p),h&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(p)}e.display.selForContextMenu=null}function In(e,t,n,r,i){if(r||(r=n),_o(r,n)<0){var o=r;r=n,n=o}"string"==typeof t&&(t=e.splitLines(t)),Tn(e,{from:n,to:r,text:t,origin:i})}function Pn(e,t){if(!Ti(e,"scrollCursorIntoView")){var n=e.display,r=n.sizer.getBoundingClientRect(),i=null;if(t.top+r.top<0?i=!0:t.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!Mo){var o=ji("div","​",null,"position: absolute; top: "+(t.top-n.viewOffset-Ue(e.display))+"px; height: "+(t.bottom-t.top+Ye(e)+n.barHeight)+"px; left: "+t.left+"px; width: 2px;");e.display.lineSpace.appendChild(o),o.scrollIntoView(i),e.display.lineSpace.removeChild(o)}}}function Rn(e,t,n,r){null==r&&(r=0);for(var i=0;5>i;i++){var o=!1,a=dt(e,t),l=n&&n!=t?dt(e,n):a,s=Hn(e,Math.min(a.left,l.left),Math.min(a.top,l.top)-r,Math.max(a.left,l.left),Math.max(a.bottom,l.bottom)+r),c=e.doc.scrollTop,u=e.doc.scrollLeft;if(null!=s.scrollTop&&(rn(e,s.scrollTop),Math.abs(e.doc.scrollTop-c)>1&&(o=!0)),null!=s.scrollLeft&&(on(e,s.scrollLeft),Math.abs(e.doc.scrollLeft-u)>1&&(o=!0)),!o)break}return a}function Dn(e,t,n,r,i){var o=Hn(e,t,n,r,i);null!=o.scrollTop&&rn(e,o.scrollTop),null!=o.scrollLeft&&on(e,o.scrollLeft)}function Hn(e,t,n,r,i){var o=e.display,a=yt(e.display);0>n&&(n=0);var l=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:o.scroller.scrollTop,s=Ve(e),c={};i-n>s&&(i=n+s);var u=e.doc.height+qe(o),f=a>n,h=i>u-a;if(l>n)c.scrollTop=f?0:n;else if(i>l+s){var d=Math.min(n,(h?u:i)-s);d!=l&&(c.scrollTop=d)}var p=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:o.scroller.scrollLeft,m=$e(e)-(e.options.fixedGutter?o.gutters.offsetWidth:0),g=r-t>m;return g&&(r=t+m),10>t?c.scrollLeft=0:p>t?c.scrollLeft=Math.max(0,t-(g?0:10)):r>m+p-3&&(c.scrollLeft=r+(g?0:10)-m),c}function Wn(e,t,n){null==t&&null==n||_n(e),null!=t&&(e.curOp.scrollLeft=(null==e.curOp.scrollLeft?e.doc.scrollLeft:e.curOp.scrollLeft)+t),null!=n&&(e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+n)}function Bn(e){_n(e);var t=e.getCursor(),n=t,r=t;e.options.lineWrapping||(n=t.ch?Bo(t.line,t.ch-1):t,r=Bo(t.line,t.ch+1)),e.curOp.scrollToPos={from:n,to:r,margin:e.options.cursorScrollMargin,isCursor:!0}}function _n(e){var t=e.curOp.scrollToPos;if(t){e.curOp.scrollToPos=null;var n=pt(e,t.from),r=pt(e,t.to),i=Hn(e,Math.min(n.left,r.left),Math.min(n.top,r.top)-t.margin,Math.max(n.right,r.right),Math.max(n.bottom,r.bottom)+t.margin);e.scrollTo(i.scrollLeft,i.scrollTop)}}function Fn(e,t,n,r){var i,o=e.doc;null==n&&(n="add"),"smart"==n&&(o.mode.indent?i=je(e,t):n="prev");var a=e.options.tabSize,l=Zr(o,t),s=Fa(l.text,null,a);l.stateAfter&&(l.stateAfter=null);var c,u=l.text.match(/^\s*/)[0];if(r||/\S/.test(l.text)){if("smart"==n&&(c=o.mode.indent(i,l.text.slice(u.length),l.text),c==Ha||c>150)){if(!r)return;n="prev"}}else c=0,n="not";"prev"==n?c=t>o.first?Fa(Zr(o,t-1).text,null,a):0:"add"==n?c=s+e.options.indentUnit:"subtract"==n?c=s-e.options.indentUnit:"number"==typeof n&&(c=s+n),c=Math.max(0,c);var f="",h=0;if(e.options.indentWithTabs)for(var d=Math.floor(c/a);d;--d)h+=a,f+=" ";if(c>h&&(f+=Oi(c-h)),f!=u)return In(o,f,Bo(t,0),Bo(t,u.length),"+input"),l.stateAfter=null,!0;for(var d=0;d=0;t--)In(e.doc,"",r[t].from,r[t].to,"+delete");Bn(e)})}function Un(e,t,n,r,i){function o(){var t=l+n;return t=e.first+e.size?!1:(l=t,u=Zr(e,t))}function a(e){var t=(i?fo:ho)(u,s,n,!0);if(null==t){if(e||!o())return!1;s=i?(0>n?io:ro)(u):0>n?u.text.length:0}else s=t;return!0}var l=t.line,s=t.ch,c=n,u=Zr(e,l);if("char"==r)a();else if("column"==r)a(!0);else if("word"==r||"group"==r)for(var f=null,h="group"==r,d=e.cm&&e.cm.getHelper(t,"wordChars"),p=!0;!(0>n)||a(!p);p=!1){var m=u.text.charAt(s)||"\n",g=_i(m,d)?"w":h&&"\n"==m?"n":!h||/\s/.test(m)?null:"p";if(!h||p||g||(g="s"),f&&f!=g){0>n&&(n=1,a());break}if(g&&(f=g),n>0&&!a(!p))break}var v=Ie(e,Bo(l,s),t,c,!0);return _o(t,v)||(v.hitSide=!0),v}function qn(e,t,n,r){var i,o=e.doc,a=t.left;if("page"==r){var l=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);i=t.top+n*(l-(0>n?1.5:.5)*yt(e.display))}else"line"==r&&(i=n>0?t.bottom+3:t.top-3);for(;;){var s=gt(e,a,i);if(!s.outside)break;if(0>n?0>=i:i>=o.height){s.hitSide=!0;break}i+=5*n}return s}function Gn(t,n,r,i){e.defaults[t]=n,r&&(ta[t]=i?function(e,t,n){n!=na&&r(e,t,n)}:r)}function Yn(e){for(var t,n,r,i,o=e.split(/-(?!$)/),e=o[o.length-1],a=0;a0||0==a&&o.clearWhenEmpty!==!1)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=ji("span",[o.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(vr(e,t.line,t,n,o)||t.line!=n.line&&vr(e,n.line,t,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Wo=!0}o.addToHistory&&ci(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var l,s=t.line,c=e.cm;if(e.iter(s,n.line+1,function(e){c&&o.collapsed&&!c.options.lineWrapping&&yr(e)==c.display.maxLine&&(l=!0),o.collapsed&&s!=t.line&&ei(e,0),nr(e,new Qn(o,s==t.line?t.ch:null,s==n.line?n.ch:null)),++s}),o.collapsed&&e.iter(t.line,n.line+1,function(t){kr(e,t)&&ei(t,0)}),o.clearOnEnter&&Ea(o,"beforeCursorEnter",function(){o.clear()}),o.readOnly&&(Ho=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++ga,o.atomic=!0),c){if(l&&(c.curOp.updateMaxLine=!0),o.collapsed)Dt(c,t.line,n.line+1);else if(o.className||o.title||o.startStyle||o.endStyle||o.css)for(var u=t.line;u<=n.line;u++)Ht(c,u,"text");o.atomic&&Ae(c.doc),Ci(c,"markerAdded",c,o)}return o}function Kn(e,t,n,r,i){r=Wi(r),r.shared=!1;var o=[Vn(e,t,n,r,i)],a=o[0],l=r.widgetNode;return Kr(e,function(e){l&&(r.widgetNode=l.cloneNode(!0)),o.push(Vn(e,me(e,t),me(e,n),r,i));for(var s=0;s=t:o.to>t);(r||(r=[])).push(new Qn(a,o.from,s?null:o.to))}}return r}function ir(e,t,n){if(e)for(var r,i=0;i=t:o.to>t);if(l||o.from==t&&"bookmark"==a.type&&(!n||o.marker.insertLeft)){var s=null==o.from||(a.inclusiveLeft?o.from<=t:o.from0&&l)for(var f=0;ff;++f)p.push(m);p.push(s)}return p}function ar(e){for(var t=0;t0)){var u=[s,1],f=_o(c.from,l.from),h=_o(c.to,l.to);(0>f||!a.inclusiveLeft&&!f)&&u.push({from:c.from,to:l.from}),(h>0||!a.inclusiveRight&&!h)&&u.push({from:l.to,to:c.to}),i.splice.apply(i,u),s+=u.length-1}}return i}function cr(e){var t=e.markedSpans;if(t){for(var n=0;n=0&&0>=f||0>=u&&f>=0)&&(0>=u&&(s.marker.inclusiveRight&&i.inclusiveLeft?_o(c.to,n)>=0:_o(c.to,n)>0)||u>=0&&(s.marker.inclusiveRight&&i.inclusiveLeft?_o(c.from,r)<=0:_o(c.from,r)<0)))return!0}}}function yr(e){for(var t;t=mr(e);)e=t.find(-1,!0).line;return e}function xr(e){for(var t,n;t=gr(e);)e=t.find(1,!0).line,(n||(n=[])).push(e);return n}function br(e,t){var n=Zr(e,t),r=yr(n);return n==r?t:ti(r)}function wr(e,t){if(t>e.lastLine())return t;var n,r=Zr(e,t);if(!kr(e,r))return t;for(;n=gr(r);)r=n.find(1,!0).line;return ti(r)+1}function kr(e,t){var n=Wo&&t.markedSpans;if(n)for(var r,i=0;io;o++){i&&(i[0]=e.innerMode(t,r).mode);var a=t.token(n,r);if(n.pos>n.start)return a}throw new Error("Mode "+t.name+" failed to advance stream.")}function Ir(e,t,n,r){function i(e){return{start:f.start,end:f.pos,string:f.current(),type:o||null,state:e?sa(a.mode,u):u}}var o,a=e.doc,l=a.mode;t=me(a,t);var s,c=Zr(a,t.line),u=je(e,t.line,n),f=new ma(c.text,e.options.tabSize);for(r&&(s=[]);(r||f.pose.options.maxHighlightLength?(l=!1,a&&Hr(e,t,r,f.pos),f.pos=t.length,s=null):s=Ar(Or(n,f,r,h),o),h){var d=h[0].name;d&&(s="m-"+(s?d+" "+s:d))}if(!l||u!=s){for(;cc;){var r=i[s];r>e&&i.splice(s,1,e,i[s+1],r),s+=2,c=Math.min(e,r)}if(t)if(l.opaque)i.splice(n,s-n,e,"cm-overlay "+t),s=n+2;else for(;s>n;n+=2){var o=i[n+1];i[n+1]=(o?o+" ":"")+"cm-overlay "+t}},o)}return{styles:i,classes:o.bgClass||o.textClass?o:null}}function Dr(e,t,n){if(!t.styles||t.styles[0]!=e.state.modeGen){var r=je(e,ti(t)),i=Rr(e,t,t.text.length>e.options.maxHighlightLength?sa(e.doc.mode,r):r);t.stateAfter=r,t.styles=i.styles,i.classes?t.styleClasses=i.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.frontier&&e.doc.frontier++}return t.styles}function Hr(e,t,n,r){var i=e.doc.mode,o=new ma(t,e.options.tabSize);for(o.start=o.pos=r||0,""==t&&Er(i,n);!o.eol();)Or(i,o,n),o.start=o.pos}function Wr(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?ka:wa;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function Br(e,t){var n=ji("span",null,null,wo?"padding-right: .1px":null),r={pre:ji("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,splitSpaces:(xo||wo)&&e.getOption("lineWrapping")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o,a=i?t.rest[i-1]:t.line;r.pos=0,r.addToken=Fr,Ji(e.display.measure)&&(o=ii(a))&&(r.addToken=jr(r.addToken,o)),r.map=[];var l=t!=e.display.externalMeasured&&ti(a);qr(a,r,Dr(e,a,l)),a.styleClasses&&(a.styleClasses.bgClass&&(r.bgClass=$i(a.styleClasses.bgClass,r.bgClass||"")),a.styleClasses.textClass&&(r.textClass=$i(a.styleClasses.textClass,r.textClass||""))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(Zi(e.display.measure))),0==i?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(wo){var s=r.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return Pa(e,"renderLine",e,t.line,r.pre),r.pre.className&&(r.textClass=$i(r.pre.className,r.textClass||"")),r}function _r(e){var t=ji("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function Fr(e,t,n,r,i,o,a){if(t){var l=e.splitSpaces?t.replace(/ {3,}/g,zr):t,s=e.cm.state.specialChars,c=!1;if(s.test(t))for(var u=document.createDocumentFragment(),f=0;;){s.lastIndex=f;var h=s.exec(t),d=h?h.index-f:t.length-f;if(d){var p=document.createTextNode(l.slice(f,f+d));xo&&9>bo?u.appendChild(ji("span",[p])):u.appendChild(p),e.map.push(e.pos,e.pos+d,p),e.col+=d,e.pos+=d}if(!h)break;if(f+=d+1," "==h[0]){var m=e.cm.options.tabSize,g=m-e.col%m,p=u.appendChild(ji("span",Oi(g),"cm-tab"));p.setAttribute("role","presentation"),p.setAttribute("cm-text"," "),e.col+=g}else if("\r"==h[0]||"\n"==h[0]){var p=u.appendChild(ji("span","\r"==h[0]?"␍":"␤","cm-invalidchar"));p.setAttribute("cm-text",h[0]),e.col+=1}else{var p=e.cm.options.specialCharPlaceholder(h[0]);p.setAttribute("cm-text",h[0]),xo&&9>bo?u.appendChild(ji("span",[p])):u.appendChild(p),e.col+=1}e.map.push(e.pos,e.pos+1,p),e.pos++}else{e.col+=t.length;var u=document.createTextNode(l);e.map.push(e.pos,e.pos+t.length,u),xo&&9>bo&&(c=!0),e.pos+=t.length}if(n||r||i||c||a){var v=n||"";r&&(v+=r),i&&(v+=i);var y=ji("span",[u],v,a);return o&&(y.title=o),e.content.appendChild(y)}e.content.appendChild(u)}}function zr(e){for(var t=" ",n=0;nc&&h.from<=c)break}if(h.to>=u)return e(n,r,i,o,a,l,s);e(n,r.slice(0,h.to-c),i,o,null,l,s),o=null,r=r.slice(h.to-c),c=h.to}}}function Ur(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t}function qr(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(r)for(var a,l,s,c,u,f,h,d=i.length,p=0,m=1,g="",v=0;;){if(v==p){s=c=u=f=l="",h=null,v=1/0;for(var y,x=[],b=0;bp||k.collapsed&&w.to==p&&w.from==p)?(null!=w.to&&w.to!=p&&v>w.to&&(v=w.to,c=""),k.className&&(s+=" "+k.className),k.css&&(l=(l?l+";":"")+k.css),k.startStyle&&w.from==p&&(u+=" "+k.startStyle),k.endStyle&&w.to==v&&(y||(y=[])).push(k.endStyle,w.to),k.title&&!f&&(f=k.title),k.collapsed&&(!h||dr(h.marker,k)<0)&&(h=w)):w.from>p&&v>w.from&&(v=w.from)}if(y)for(var b=0;b=d)break;for(var S=Math.min(d,v);;){if(g){var C=p+g.length;if(!h){var L=C>S?g.slice(0,S-p):g;t.addToken(t,L,a?a+s:s,u,p+L.length==v?c:"",f,l)}if(C>=S){g=g.slice(S-p),p=S;break}p=C,u=""}g=i.slice(o,o=n[m++]),a=Wr(n[m++],t.cm.options)}}else for(var m=1;mn;++n)o.push(new ba(c[n],i(n),r));return o}var l=t.from,s=t.to,c=t.text,u=Zr(e,l.line),f=Zr(e,s.line),h=Ii(c),d=i(c.length-1),p=s.line-l.line;if(t.full)e.insert(0,a(0,c.length)),e.remove(c.length,e.size-c.length);else if(Gr(e,t)){var m=a(0,c.length-1);o(f,f.text,d),p&&e.remove(l.line,p),m.length&&e.insert(l.line,m)}else if(u==f)if(1==c.length)o(u,u.text.slice(0,l.ch)+h+u.text.slice(s.ch),d);else{var m=a(1,c.length-1);m.push(new ba(h+u.text.slice(s.ch),d,r)),o(u,u.text.slice(0,l.ch)+c[0],i(0)),e.insert(l.line+1,m)}else if(1==c.length)o(u,u.text.slice(0,l.ch)+c[0]+f.text.slice(s.ch),i(0)),e.remove(l.line+1,p);else{o(u,u.text.slice(0,l.ch)+c[0],i(0)),o(f,h+f.text.slice(s.ch),d);var m=a(1,c.length-1);p>1&&e.remove(l.line+1,p-1),e.insert(l.line+1,m)}Ci(e,"change",e,t)}function $r(e){this.lines=e,this.parent=null;for(var t=0,n=0;tt||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(o>t){n=i;break}t-=o}return n.lines[t]}function Jr(e,t,n){var r=[],i=t.line;return e.iter(t.line,n.line+1,function(e){var o=e.text;i==n.line&&(o=o.slice(0,n.ch)),i==t.line&&(o=o.slice(t.ch)),r.push(o),++i}),r}function Qr(e,t,n){var r=[];return e.iter(t,n,function(e){r.push(e.text)}),r}function ei(e,t){var n=t-e.height;if(n)for(var r=e;r;r=r.parent)r.height+=n}function ti(e){if(null==e.parent)return null;for(var t=e.parent,n=Pi(t.lines,e),r=t.parent;r;t=r,r=r.parent)for(var i=0;r.children[i]!=t;++i)n+=r.children[i].chunkSize();return n+t.first}function ni(e,t){var n=e.first;e:do{for(var r=0;rt){e=i;continue e}t-=o,n+=i.chunkSize()}return n}while(!e.lines);for(var r=0;rt)break;t-=l}return n+r}function ri(e){e=yr(e);for(var t=0,n=e.parent,r=0;r1&&!e.done[e.done.length-2].ranges?(e.done.pop(),Ii(e.done)):void 0}function ci(e,t,n,r){var i=e.history;i.undone.length=0;var o,a=+new Date;if((i.lastOp==r||i.lastOrigin==t.origin&&t.origin&&("+"==t.origin.charAt(0)&&e.cm&&i.lastModTime>a-e.cm.options.historyEventDelay||"*"==t.origin.charAt(0)))&&(o=si(i,i.lastOp==r))){var l=Ii(o.changes);0==_o(t.from,t.to)&&0==_o(t.from,l.to)?l.to=Qo(t):o.changes.push(ai(e,t))}else{var s=Ii(i.done);for(s&&s.ranges||hi(e.sel,i.done),o={changes:[ai(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=a,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,l||Pa(e,"historyAdded")}function ui(e,t,n,r){var i=t.charAt(0);return"*"==i||"+"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}function fi(e,t,n,r){var i=e.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||ui(e,o,Ii(i.done),t))?i.done[i.done.length-1]=t:hi(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&r.clearRedo!==!1&&li(i.undone)}function hi(e,t){var n=Ii(t);n&&n.ranges&&n.equals(e)||t.push(e)}function di(e,t,n,r){var i=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),function(n){n.markedSpans&&((i||(i=t["spans_"+e.id]={}))[o]=n.markedSpans),++o})}function pi(e){if(!e)return null;for(var t,n=0;n-1&&(Ii(l)[f]=u[f],delete u[f])}}}return i}function vi(e,t,n,r){n0?r.slice():Oa:r||Oa}function Ci(e,t){function n(e){return function(){e.apply(null,o)}}var r=Si(e,t,!1);if(r.length){var i,o=Array.prototype.slice.call(arguments,2);Go?i=Go.delayedCallbacks:Ra?i=Ra:(i=Ra=[],setTimeout(Li,0));for(var a=0;a0}function Ai(e){e.prototype.on=function(e,t){Ea(this,e,t)},e.prototype.off=function(e,t){Ia(this,e,t)}}function Ei(){this.id=null}function Oi(e){for(;ja.length<=e;)ja.push(Ii(ja)+" ");return ja[e]}function Ii(e){return e[e.length-1]}function Pi(e,t){for(var n=0;n-1&&Ya(e)?!0:t.test(e):Ya(e)}function Fi(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}function zi(e){return e.charCodeAt(0)>=768&&$a.test(e)}function ji(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),"string"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o0;--t)e.removeChild(e.firstChild);return e}function qi(e,t){return Ui(e).appendChild(t)}function Gi(){for(var e=document.activeElement;e&&e.root&&e.root.activeElement;)e=e.root.activeElement;return e}function Yi(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}function $i(e,t){for(var n=e.split(" "),r=0;r2&&!(xo&&8>bo))}var n=Ka?ji("span","​"):ji("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function Ji(e){if(null!=Xa)return Xa;var t=qi(e,document.createTextNode("AخA")),n=qa(t,0,1).getBoundingClientRect();if(!n||n.left==n.right)return!1;var r=qa(t,1,2).getBoundingClientRect();return Xa=r.right-n.right<3}function Qi(e){if(null!=il)return il;var t=qi(e,ji("span","x")),n=t.getBoundingClientRect(),r=qa(t,0,1).getBoundingClientRect();return il=Math.abs(n.left-r.left)>1}function eo(e,t,n,r){if(!e)return r(t,n,"ltr");for(var i=!1,o=0;ot||t==n&&a.to==t)&&(r(Math.max(a.from,t),Math.min(a.to,n),1==a.level?"rtl":"ltr"),i=!0)}i||r(t,n,"ltr")}function to(e){return e.level%2?e.to:e.from}function no(e){return e.level%2?e.from:e.to}function ro(e){var t=ii(e);return t?to(t[0]):0}function io(e){var t=ii(e);return t?no(Ii(t)):e.text.length}function oo(e,t){var n=Zr(e.doc,t),r=yr(n);r!=n&&(t=ti(r));var i=ii(r),o=i?i[0].level%2?io(r):ro(r):0;return Bo(t,o)}function ao(e,t){for(var n,r=Zr(e.doc,t);n=gr(r);)r=n.find(1,!0).line,t=null;var i=ii(r),o=i?i[0].level%2?ro(r):io(r):r.text.length;return Bo(null==t?ti(r):t,o)}function lo(e,t){var n=oo(e,t.line),r=Zr(e.doc,n.line),i=ii(r);if(!i||0==i[0].level){var o=Math.max(0,r.text.search(/\S/)),a=t.line==n.line&&t.ch<=o&&t.ch;return Bo(n.line,a?0:o)}return n}function so(e,t,n){var r=e[0].level;return t==r?!0:n==r?!1:n>t}function co(e,t){al=null;for(var n,r=0;rt)return r;if(i.from==t||i.to==t){if(null!=n)return so(e,i.level,e[n].level)?(i.from!=i.to&&(al=n),r):(i.from!=i.to&&(al=r),n);n=r}}return n}function uo(e,t,n,r){if(!r)return t+n;do t+=n;while(t>0&&zi(e.text.charAt(t)));return t}function fo(e,t,n,r){var i=ii(e);if(!i)return ho(e,t,n,r);for(var o=co(i,t),a=i[o],l=uo(e,t,a.level%2?-n:n,r);;){if(l>a.from&&l0==a.level%2?a.to:a.from);if(a=i[o+=n],!a)return null;l=n>0==a.level%2?uo(e,a.to,-1,r):uo(e,a.from,1,r)}}function ho(e,t,n,r){var i=t+n;if(r)for(;i>0&&zi(e.text.charAt(i));)i+=n;return 0>i||i>e.text.length?null:i}var po=navigator.userAgent,mo=navigator.platform,go=/gecko\/\d/i.test(po),vo=/MSIE \d/.test(po),yo=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(po),xo=vo||yo,bo=xo&&(vo?document.documentMode||6:yo[1]),wo=/WebKit\//.test(po),ko=wo&&/Qt\/\d+\.\d+/.test(po),So=/Chrome\//.test(po),Co=/Opera\//.test(po),Lo=/Apple Computer/.test(navigator.vendor),To=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(po),Mo=/PhantomJS/.test(po),No=/AppleWebKit/.test(po)&&/Mobile\/\w+/.test(po),Ao=No||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(po),Eo=No||/Mac/.test(mo),Oo=/\bCrOS\b/.test(po),Io=/win/i.test(mo),Po=Co&&po.match(/Version\/(\d*\.\d*)/);Po&&(Po=Number(Po[1])),Po&&Po>=15&&(Co=!1,wo=!0);var Ro=Eo&&(ko||Co&&(null==Po||12.11>Po)),Do=go||xo&&bo>=9,Ho=!1,Wo=!1;m.prototype=Wi({update:function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?r+"px":"0";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=e.scrollWidth-e.clientWidth+o+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},setScrollLeft:function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz)},setScrollTop:function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert)},zeroWidthHack:function(){var e=Eo&&!To?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new Ei,this.disableVert=new Ei},enableZeroWidthBar:function(e,t){function n(){var r=e.getBoundingClientRect(),i=document.elementFromPoint(r.left+1,r.bottom-1);i!=e?e.style.pointerEvents="none":t.set(1e3,n)}e.style.pointerEvents="auto",t.set(1e3,n)},clear:function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)}},m.prototype),g.prototype=Wi({update:function(){return{bottom:0,right:0}},setScrollLeft:function(){},setScrollTop:function(){},clear:function(){}},g.prototype),e.scrollbarModel={"native":m,"null":g},L.prototype.signal=function(e,t){Ni(e,t)&&this.events.push(arguments)},L.prototype.finish=function(){for(var e=0;e=9&&n.hasSelection&&(n.hasSelection=null),n.poll()}),Ea(o,"paste",function(e){Ti(r,e)||J(e,r)||(r.state.pasteIncoming=!0,n.fastPoll())}),Ea(o,"cut",t),Ea(o,"copy",t),Ea(e.scroller,"paste",function(t){Gt(e,t)||Ti(r,t)||(r.state.pasteIncoming=!0,n.focus())}),Ea(e.lineSpace,"selectstart",function(t){Gt(e,t)||Ma(t)}),Ea(o,"compositionstart",function(){var e=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:e,range:r.markText(e,r.getCursor("to"),{className:"CodeMirror-composing"})}}),Ea(o,"compositionend",function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)})},prepareSelection:function(){var e=this.cm,t=e.display,n=e.doc,r=De(e);if(e.options.moveInputWithCursor){var i=dt(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),a=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+a.top-o.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+a.left-o.left))}return r},showSelection:function(e){var t=this.cm,n=t.display;qi(n.cursorDiv,e.cursors),qi(n.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},reset:function(e){if(!this.contextMenuPending){var t,n,r=this.cm,i=r.doc;if(r.somethingSelected()){this.prevInput="";var o=i.sel.primary();t=rl&&(o.to().line-o.from().line>100||(n=r.getSelection()).length>1e3);var a=t?"-":n||r.getSelection();this.textarea.value=a,r.state.focused&&Ua(this.textarea),xo&&bo>=9&&(this.hasSelection=a)}else e||(this.prevInput=this.textarea.value="",xo&&bo>=9&&(this.hasSelection=null));this.inaccurateSelection=t}},getField:function(){return this.textarea},supportsTouch:function(){return!1},focus:function(){if("nocursor"!=this.cm.options.readOnly&&(!Ao||Gi()!=this.textarea))try{this.textarea.focus()}catch(e){}},blur:function(){this.textarea.blur()},resetPosition:function(){this.wrapper.style.top=this.wrapper.style.left=0; -},receivedFocus:function(){this.slowPoll()},slowPoll:function(){var e=this;e.pollingFast||e.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},fastPoll:function(){function e(){var r=n.poll();r||t?(n.pollingFast=!1,n.slowPoll()):(t=!0,n.polling.set(60,e))}var t=!1,n=this;n.pollingFast=!0,n.polling.set(20,e)},poll:function(){var e=this.cm,t=this.textarea,n=this.prevInput;if(this.contextMenuPending||!e.state.focused||nl(t)&&!n&&!this.composing||e.isReadOnly()||e.options.disableInput||e.state.keySeq)return!1;var r=t.value;if(r==n&&!e.somethingSelected())return!1;if(xo&&bo>=9&&this.hasSelection===r||Eo&&/[\uf700-\uf7ff]/.test(r))return e.display.input.reset(),!1;if(e.doc.sel==e.display.selForContextMenu){var i=r.charCodeAt(0);if(8203!=i||n||(n="​"),8666==i)return this.reset(),this.cm.execCommand("undo")}for(var o=0,a=Math.min(n.length,r.length);a>o&&n.charCodeAt(o)==r.charCodeAt(o);)++o;var l=this;return At(e,function(){Z(e,r.slice(o),n.length-o,null,l.composing?"*compose":null),r.length>1e3||r.indexOf("\n")>-1?t.value=l.prevInput="":l.prevInput=r,l.composing&&(l.composing.range.clear(),l.composing.range=e.markText(l.composing.start,e.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},ensurePolled:function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},onKeyPress:function(){xo&&bo>=9&&(this.hasSelection=null),this.fastPoll()},onContextMenu:function(e){function t(){if(null!=a.selectionStart){var e=i.somethingSelected(),t="​"+(e?a.value:"");a.value="⇚",a.value=t,r.prevInput=e?"":"​",a.selectionStart=1,a.selectionEnd=t.length,o.selForContextMenu=i.doc.sel}}function n(){if(r.contextMenuPending=!1,r.wrapper.style.cssText=f,a.style.cssText=u,xo&&9>bo&&o.scrollbars.setScrollTop(o.scroller.scrollTop=s),null!=a.selectionStart){(!xo||xo&&9>bo)&&t();var e=0,n=function(){o.selForContextMenu==i.doc.sel&&0==a.selectionStart&&a.selectionEnd>0&&"​"==r.prevInput?Et(i,ua.selectAll)(i):e++<10?o.detectingSelectAll=setTimeout(n,500):o.input.reset()};o.detectingSelectAll=setTimeout(n,200)}}var r=this,i=r.cm,o=i.display,a=r.textarea,l=Yt(i,e),s=o.scroller.scrollTop;if(l&&!Co){var c=i.options.resetSelectionOnContextMenu;c&&-1==i.doc.sel.contains(l)&&Et(i,Te)(i.doc,de(l),Wa);var u=a.style.cssText,f=r.wrapper.style.cssText;r.wrapper.style.cssText="position: absolute";var h=r.wrapper.getBoundingClientRect();if(a.style.cssText="position: absolute; width: 30px; height: 30px; top: "+(e.clientY-h.top-5)+"px; left: "+(e.clientX-h.left-5)+"px; z-index: 1000; background: "+(xo?"rgba(255, 255, 255, .05)":"transparent")+"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",wo)var d=window.scrollY;if(o.input.focus(),wo&&window.scrollTo(null,d),o.input.reset(),i.somethingSelected()||(a.value=r.prevInput=" "),r.contextMenuPending=!0,o.selForContextMenu=i.doc.sel,clearTimeout(o.detectingSelectAll),xo&&bo>=9&&t(),Do){Aa(e);var p=function(){Ia(window,"mouseup",p),setTimeout(n,20)};Ea(window,"mouseup",p)}else setTimeout(n,50)}},readOnlyChanged:function(e){e||this.reset()},setUneditable:Di,needsContentAttribute:!1},ne.prototype),ie.prototype=Wi({init:function(e){function t(e){if(!Ti(r,e)){if(r.somethingSelected())Fo={lineWise:!1,text:r.getSelections()},"cut"==e.type&&r.replaceSelection("",null,"cut");else{if(!r.options.lineWiseCopyCut)return;var t=ee(r);Fo={lineWise:!0,text:t.text},"cut"==e.type&&r.operation(function(){r.setSelections(t.ranges,0,Wa),r.replaceSelection("",null,"cut")})}if(e.clipboardData&&!No)e.preventDefault(),e.clipboardData.clearData(),e.clipboardData.setData("text/plain",Fo.text.join("\n"));else{var n=re(),i=n.firstChild;r.display.lineSpace.insertBefore(n,r.display.lineSpace.firstChild),i.value=Fo.text.join("\n");var o=document.activeElement;Ua(i),setTimeout(function(){r.display.lineSpace.removeChild(n),o.focus()},50)}}}var n=this,r=n.cm,i=n.div=e.lineDiv;te(i),Ea(i,"paste",function(e){Ti(r,e)||J(e,r)}),Ea(i,"compositionstart",function(e){var t=e.data;if(n.composing={sel:r.doc.sel,data:t,startData:t},t){var i=r.doc.sel.primary(),o=r.getLine(i.head.line),a=o.indexOf(t,Math.max(0,i.head.ch-t.length));a>-1&&a<=i.head.ch&&(n.composing.sel=de(Bo(i.head.line,a),Bo(i.head.line,a+t.length)))}}),Ea(i,"compositionupdate",function(e){n.composing.data=e.data}),Ea(i,"compositionend",function(e){var t=n.composing;t&&(e.data==t.startData||/\u200b/.test(e.data)||(t.data=e.data),setTimeout(function(){t.handled||n.applyComposition(t),n.composing==t&&(n.composing=null)},50))}),Ea(i,"touchstart",function(){n.forceCompositionEnd()}),Ea(i,"input",function(){n.composing||!r.isReadOnly()&&n.pollContent()||At(n.cm,function(){Dt(r)})}),Ea(i,"copy",t),Ea(i,"cut",t)},prepareSelection:function(){var e=De(this.cm,!1);return e.focus=this.cm.state.focused,e},showSelection:function(e,t){e&&this.cm.display.view.length&&((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},showPrimarySelection:function(){var e=window.getSelection(),t=this.cm.doc.sel.primary(),n=le(this.cm,e.anchorNode,e.anchorOffset),r=le(this.cm,e.focusNode,e.focusOffset);if(!n||n.bad||!r||r.bad||0!=_o(K(n,r),t.from())||0!=_o(V(n,r),t.to())){var i=oe(this.cm,t.from()),o=oe(this.cm,t.to());if(i||o){var a=this.cm.display.view,l=e.rangeCount&&e.getRangeAt(0);if(i){if(!o){var s=a[a.length-1].measure,c=s.maps?s.maps[s.maps.length-1]:s.map;o={node:c[c.length-1],offset:c[c.length-2]-c[c.length-3]}}}else i={node:a[0].measure.map[2],offset:0};try{var u=qa(i.node,i.offset,o.offset,o.node)}catch(f){}u&&(!go&&this.cm.state.focused?(e.collapse(i.node,i.offset),u.collapsed||e.addRange(u)):(e.removeAllRanges(),e.addRange(u)),l&&null==e.anchorNode?e.addRange(l):go&&this.startGracePeriod()),this.rememberSelection()}}},startGracePeriod:function(){var e=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){e.gracePeriod=!1,e.selectionChanged()&&e.cm.operation(function(){e.cm.curOp.selectionChanged=!0})},20)},showMultipleSelections:function(e){qi(this.cm.display.cursorDiv,e.cursors),qi(this.cm.display.selectionDiv,e.selection)},rememberSelection:function(){var e=window.getSelection();this.lastAnchorNode=e.anchorNode,this.lastAnchorOffset=e.anchorOffset,this.lastFocusNode=e.focusNode,this.lastFocusOffset=e.focusOffset},selectionInEditor:function(){var e=window.getSelection();if(!e.rangeCount)return!1;var t=e.getRangeAt(0).commonAncestorContainer;return Va(this.div,t)},focus:function(){"nocursor"!=this.cm.options.readOnly&&this.div.focus()},blur:function(){this.div.blur()},getField:function(){return this.div},supportsTouch:function(){return!0},receivedFocus:function(){function e(){t.cm.state.focused&&(t.pollSelection(),t.polling.set(t.cm.options.pollInterval,e))}var t=this;this.selectionInEditor()?this.pollSelection():At(this.cm,function(){t.cm.curOp.selectionChanged=!0}),this.polling.set(this.cm.options.pollInterval,e)},selectionChanged:function(){var e=window.getSelection();return e.anchorNode!=this.lastAnchorNode||e.anchorOffset!=this.lastAnchorOffset||e.focusNode!=this.lastFocusNode||e.focusOffset!=this.lastFocusOffset},pollSelection:function(){if(!this.composing&&!this.gracePeriod&&this.selectionChanged()){var e=window.getSelection(),t=this.cm;this.rememberSelection();var n=le(t,e.anchorNode,e.anchorOffset),r=le(t,e.focusNode,e.focusOffset);n&&r&&At(t,function(){Te(t.doc,de(n,r),Wa),(n.bad||r.bad)&&(t.curOp.selectionChanged=!0)})}},pollContent:function(){var e=this.cm,t=e.display,n=e.doc.sel.primary(),r=n.from(),i=n.to();if(r.linet.viewTo-1)return!1;var o;if(r.line==t.viewFrom||0==(o=Bt(e,r.line)))var a=ti(t.view[0].line),l=t.view[0].node;else var a=ti(t.view[o].line),l=t.view[o-1].node.nextSibling;var s=Bt(e,i.line);if(s==t.view.length-1)var c=t.viewTo-1,u=t.lineDiv.lastChild;else var c=ti(t.view[s+1].line)-1,u=t.view[s+1].node.previousSibling;for(var f=e.doc.splitLines(ce(e,l,u,a,c)),h=Jr(e.doc,Bo(a,0),Bo(c,Zr(e.doc,c).text.length));f.length>1&&h.length>1;)if(Ii(f)==Ii(h))f.pop(),h.pop(),c--;else{if(f[0]!=h[0])break;f.shift(),h.shift(),a++}for(var d=0,p=0,m=f[0],g=h[0],v=Math.min(m.length,g.length);v>d&&m.charCodeAt(d)==g.charCodeAt(d);)++d;for(var y=Ii(f),x=Ii(h),b=Math.min(y.length-(1==f.length?d:0),x.length-(1==h.length?d:0));b>p&&y.charCodeAt(y.length-p-1)==x.charCodeAt(x.length-p-1);)++p;f[f.length-1]=y.slice(0,y.length-p),f[0]=f[0].slice(d);var w=Bo(a,d),k=Bo(c,h.length?Ii(h).length-p:0);return f.length>1||f[0]||_o(w,k)?(In(e.doc,f,w,k,"+input"),!0):void 0},ensurePolled:function(){this.forceCompositionEnd()},reset:function(){this.forceCompositionEnd()},forceCompositionEnd:function(){this.composing&&!this.composing.handled&&(this.applyComposition(this.composing),this.composing.handled=!0,this.div.blur(),this.div.focus())},applyComposition:function(e){this.cm.isReadOnly()?Et(this.cm,Dt)(this.cm):e.data&&e.data!=e.startData&&Et(this.cm,Z)(this.cm,e.data,0,e.sel)},setUneditable:function(e){e.contentEditable="false"},onKeyPress:function(e){e.preventDefault(),this.cm.isReadOnly()||Et(this.cm,Z)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0)},readOnlyChanged:function(e){this.div.contentEditable=String("nocursor"!=e)},onContextMenu:Di,resetPosition:Di,needsContentAttribute:!0},ie.prototype),e.inputStyles={textarea:ne,contenteditable:ie},ue.prototype={primary:function(){return this.ranges[this.primIndex]},equals:function(e){if(e==this)return!0;if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length)return!1;for(var t=0;t=0&&_o(e,r.to())<=0)return n}return-1}},fe.prototype={from:function(){return K(this.anchor,this.head)},to:function(){return V(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};var zo,jo,Uo,qo={left:0,right:0,top:0,bottom:0},Go=null,Yo=0,$o=0,Vo=0,Ko=null;xo?Ko=-.53:go?Ko=15:So?Ko=-.7:Lo&&(Ko=-1/3);var Xo=function(e){var t=e.wheelDeltaX,n=e.wheelDeltaY;return null==t&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),null==n&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:null==n&&(n=e.wheelDelta),{x:t,y:n}};e.wheelEventPixels=function(e){var t=Xo(e);return t.x*=Ko,t.y*=Ko,t};var Zo=new Ei,Jo=null,Qo=e.changeEnd=function(e){return e.text?Bo(e.from.line+e.text.length-1,Ii(e.text).length+(1==e.text.length?e.from.ch:0)):e.to};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,t){var n=this.options,r=n[e];n[e]==t&&"mode"!=e||(n[e]=t,ta.hasOwnProperty(e)&&Et(this,ta[e])(this,t,r))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"]($n(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;nn&&(Fn(this,i.head.line,e,!0),n=i.head.line,r==this.doc.sel.primIndex&&Bn(this));else{var o=i.from(),a=i.to(),l=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var s=l;n>s;++s)Fn(this,s,e);var c=this.doc.sel.ranges;0==o.ch&&t.length==c.length&&c[r].from().ch>0&&ke(this.doc,r,new fe(o,c[r].to()),Wa)}}}),getTokenAt:function(e,t){return Ir(this,e,t)},getLineTokens:function(e,t){return Ir(this,Bo(e),t,!0)},getTokenTypeAt:function(e){e=me(this.doc,e);var t,n=Dr(this,Zr(this.doc,e.line)),r=0,i=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var a=r+i>>1;if((a?n[2*a-1]:0)>=o)i=a;else{if(!(n[2*a+1]l?t:0==l?null:t.slice(0,l-1)},getModeAt:function(t){var n=this.doc.mode;return n.innerMode?e.innerMode(n,this.getTokenAt(t).state).mode:n},getHelper:function(e,t){return this.getHelpers(e,t)[0]},getHelpers:function(e,t){var n=[];if(!la.hasOwnProperty(t))return n;var r=la[t],i=this.getModeAt(e);if("string"==typeof i[t])r[i[t]]&&n.push(r[i[t]]);else if(i[t])for(var o=0;oi&&(e=i,r=!0),n=Zr(this.doc,e)}else n=e;return ut(this,n,{top:0,left:0},t||"page").top+(r?this.doc.height-ri(n):0)},defaultTextHeight:function(){return yt(this.display)},defaultCharWidth:function(){return xt(this.display)},setGutterMarker:Ot(function(e,t,n){return zn(this.doc,e,"gutter",function(e){var r=e.gutterMarkers||(e.gutterMarkers={});return r[t]=n,!n&&Fi(r)&&(e.gutterMarkers=null),!0})}),clearGutter:Ot(function(e){var t=this,n=t.doc,r=n.first;n.iter(function(n){n.gutterMarkers&&n.gutterMarkers[e]&&(n.gutterMarkers[e]=null,Ht(t,r,"gutter"),Fi(n.gutterMarkers)&&(n.gutterMarkers=null)),++r})}),lineInfo:function(e){if("number"==typeof e){if(!ve(this.doc,e))return null;var t=e;if(e=Zr(this.doc,e),!e)return null}else{var t=ti(e);if(null==t)return null}return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,r,i){var o=this.display;e=dt(this,me(this.doc,e));var a=e.bottom,l=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),o.sizer.appendChild(t),"over"==r)a=e.top;else if("above"==r||"near"==r){var s=Math.max(o.wrapper.clientHeight,this.doc.height),c=Math.max(o.sizer.clientWidth,o.lineSpace.clientWidth);("above"==r||e.bottom+t.offsetHeight>s)&&e.top>t.offsetHeight?a=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=s&&(a=e.bottom),l+t.offsetWidth>c&&(l=c-t.offsetWidth)}t.style.top=a+"px",t.style.left=t.style.right="","right"==i?(l=o.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==i?l=0:"middle"==i&&(l=(o.sizer.clientWidth-t.offsetWidth)/2),t.style.left=l+"px"),n&&Dn(this,l,a,l+t.offsetWidth,a+t.offsetHeight)},triggerOnKeyDown:Ot(hn),triggerOnKeyPress:Ot(mn),triggerOnKeyUp:pn,execCommand:function(e){return ua.hasOwnProperty(e)?ua[e].call(null,this):void 0},triggerElectric:Ot(function(e){Q(this,e)}),findPosH:function(e,t,n,r){var i=1;0>t&&(i=-1,t=-t);for(var o=0,a=me(this.doc,e);t>o&&(a=Un(this.doc,a,i,n,r),!a.hitSide);++o);return a},moveH:Ot(function(e,t){var n=this;n.extendSelectionsBy(function(r){return n.display.shift||n.doc.extend||r.empty()?Un(n.doc,r.head,e,t,n.options.rtlMoveVisually):0>e?r.from():r.to()},_a)}),deleteH:Ot(function(e,t){var n=this.doc.sel,r=this.doc;n.somethingSelected()?r.replaceSelection("",null,"+delete"):jn(this,function(n){var i=Un(r,n.head,e,t,!1);return 0>e?{from:i,to:n.head}:{from:n.head,to:i}})}),findPosV:function(e,t,n,r){var i=1,o=r;0>t&&(i=-1,t=-t);for(var a=0,l=me(this.doc,e);t>a;++a){var s=dt(this,l,"div");if(null==o?o=s.left:s.left=o,l=qn(this,s,i,n),l.hitSide)break}return l},moveV:Ot(function(e,t){var n=this,r=this.doc,i=[],o=!n.display.shift&&!r.extend&&r.sel.somethingSelected();if(r.extendSelectionsBy(function(a){if(o)return 0>e?a.from():a.to();var l=dt(n,a.head,"div");null!=a.goalColumn&&(l.left=a.goalColumn),i.push(l.left);var s=qn(n,l,e,t);return"page"==t&&a==r.sel.primary()&&Wn(n,null,ht(n,s,"div").top-l.top),s},_a),i.length)for(var a=0;a0&&l(n.charAt(r-1));)--r;for(;i.5)&&a(this),Pa(this,"refresh",this)}),swapDoc:Ot(function(e){var t=this.doc;return t.cm=null,Xr(this,e),lt(this),this.display.input.reset(),this.scrollTo(e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,Ci(this,"swapDoc",this,t),t}),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ai(e);var ea=e.defaults={},ta=e.optionHandlers={},na=e.Init={toString:function(){return"CodeMirror.Init"}};Gn("value","",function(e,t){e.setValue(t)},!0),Gn("mode",null,function(e,t){e.doc.modeOption=t,n(e)},!0),Gn("indentUnit",2,n,!0),Gn("indentWithTabs",!1),Gn("smartIndent",!0),Gn("tabSize",4,function(e){r(e),lt(e),Dt(e)},!0),Gn("lineSeparator",null,function(e,t){if(e.doc.lineSep=t,t){var n=[],r=e.doc.first;e.doc.iter(function(e){for(var i=0;;){var o=e.text.indexOf(t,i);if(-1==o)break;i=o+t.length,n.push(Bo(r,o))}r++});for(var i=n.length-1;i>=0;i--)In(e.doc,t,n[i],Bo(n[i].line,n[i].ch+t.length))}}),Gn("specialChars",/[\u0000-\u001f\u007f\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g,function(t,n,r){t.state.specialChars=new RegExp(n.source+(n.test(" ")?"":"| "),"g"),r!=e.Init&&t.refresh()}),Gn("specialCharPlaceholder",_r,function(e){e.refresh()},!0),Gn("electricChars",!0),Gn("inputStyle",Ao?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),Gn("rtlMoveVisually",!Io),Gn("wholeLineUpdateBefore",!0),Gn("theme","default",function(e){l(e),s(e)},!0),Gn("keyMap","default",function(t,n,r){var i=$n(n),o=r!=e.Init&&$n(r);o&&o.detach&&o.detach(t,i),i.attach&&i.attach(t,o||null)}),Gn("extraKeys",null),Gn("lineWrapping",!1,i,!0),Gn("gutters",[],function(e){d(e.options),s(e)},!0),Gn("fixedGutter",!0,function(e,t){e.display.gutters.style.left=t?C(e.display)+"px":"0",e.refresh()},!0),Gn("coverGutterNextToScrollbar",!1,function(e){y(e)},!0),Gn("scrollbarStyle","native",function(e){v(e),y(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)},!0),Gn("lineNumbers",!1,function(e){d(e.options),s(e)},!0),Gn("firstLineNumber",1,s,!0),Gn("lineNumberFormatter",function(e){return e},s,!0),Gn("showCursorWhenSelecting",!1,Re,!0),Gn("resetSelectionOnContextMenu",!0),Gn("lineWiseCopyCut",!0),Gn("readOnly",!1,function(e,t){"nocursor"==t?(yn(e),e.display.input.blur(),e.display.disabled=!0):e.display.disabled=!1,e.display.input.readOnlyChanged(t)}),Gn("disableInput",!1,function(e,t){t||e.display.input.reset()},!0),Gn("dragDrop",!0,Ut),Gn("allowDropFileTypes",null),Gn("cursorBlinkRate",530),Gn("cursorScrollMargin",0),Gn("cursorHeight",1,Re,!0),Gn("singleCursorHeightPerLine",!0,Re,!0),Gn("workTime",100),Gn("workDelay",100),Gn("flattenSpans",!0,r,!0),Gn("addModeClass",!1,r,!0),Gn("pollInterval",100),Gn("undoDepth",200,function(e,t){e.doc.history.undoDepth=t}),Gn("historyEventDelay",1250),Gn("viewportMargin",10,function(e){e.refresh()},!0),Gn("maxHighlightLength",1e4,r,!0),Gn("moveInputWithCursor",!0,function(e,t){t||e.display.input.resetPosition()}),Gn("tabindex",null,function(e,t){e.display.input.getField().tabIndex=t||""}),Gn("autofocus",null);var ra=e.modes={},ia=e.mimeModes={};e.defineMode=function(t,n){e.defaults.mode||"null"==t||(e.defaults.mode=t),arguments.length>2&&(n.dependencies=Array.prototype.slice.call(arguments,2)),ra[t]=n},e.defineMIME=function(e,t){ia[e]=t},e.resolveMode=function(t){if("string"==typeof t&&ia.hasOwnProperty(t))t=ia[t];else if(t&&"string"==typeof t.name&&ia.hasOwnProperty(t.name)){var n=ia[t.name];"string"==typeof n&&(n={name:n}),t=Hi(n,t),t.name=n.name}else if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+xml$/.test(t))return e.resolveMode("application/xml");return"string"==typeof t?{name:t}:t||{name:"null"}},e.getMode=function(t,n){var n=e.resolveMode(n),r=ra[n.name];if(!r)return e.getMode(t,"text/plain");var i=r(t,n);if(oa.hasOwnProperty(n.name)){var o=oa[n.name];for(var a in o)o.hasOwnProperty(a)&&(i.hasOwnProperty(a)&&(i["_"+a]=i[a]),i[a]=o[a])}if(i.name=n.name,n.helperType&&(i.helperType=n.helperType),n.modeProps)for(var a in n.modeProps)i[a]=n.modeProps[a];return i},e.defineMode("null",function(){return{token:function(e){e.skipToEnd()}}}),e.defineMIME("text/plain","null");var oa=e.modeExtensions={};e.extendMode=function(e,t){var n=oa.hasOwnProperty(e)?oa[e]:oa[e]={};Wi(t,n)},e.defineExtension=function(t,n){e.prototype[t]=n},e.defineDocExtension=function(e,t){Ca.prototype[e]=t},e.defineOption=Gn;var aa=[];e.defineInitHook=function(e){aa.push(e)};var la=e.helpers={};e.registerHelper=function(t,n,r){la.hasOwnProperty(t)||(la[t]=e[t]={_global:[]}),la[t][n]=r},e.registerGlobalHelper=function(t,n,r,i){e.registerHelper(t,n,i),la[t]._global.push({pred:r,val:i})};var sa=e.copyState=function(e,t){if(t===!0)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n},ca=e.startState=function(e,t,n){return e.startState?e.startState(t,n):!0};e.innerMode=function(e,t){for(;e.innerMode;){var n=e.innerMode(t);if(!n||n.mode==e)break;t=n.state,e=n.mode}return n||{mode:e,state:t}};var ua=e.commands={selectAll:function(e){e.setSelection(Bo(e.firstLine(),0),Bo(e.lastLine()),Wa)},singleSelection:function(e){e.setSelection(e.getCursor("anchor"),e.getCursor("head"),Wa)},killLine:function(e){jn(e,function(t){if(t.empty()){var n=Zr(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line0)i=new Bo(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),Bo(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var a=Zr(e.doc,i.line-1).text;a&&e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+a.charAt(a.length-1),Bo(i.line-1,a.length-1),Bo(i.line,1),"+transpose")}n.push(new fe(i,i))}e.setSelections(n)})},newlineAndIndent:function(e){At(e,function(){for(var t=e.listSelections().length,n=0;t>n;n++){var r=e.listSelections()[n];e.replaceRange(e.doc.lineSeparator(),r.anchor,r.head,"+input"),e.indentLine(r.from().line+1,null,!0)}Bn(e)})},openLine:function(e){e.replaceSelection("\n","start")},toggleOverwrite:function(e){e.toggleOverwrite()}},fa=e.keyMap={};fa.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},fa.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},fa.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},fa.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},fa["default"]=Eo?fa.macDefault:fa.pcDefault,e.normalizeKeyMap=function(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];if(/^(name|fallthrough|(de|at)tach)$/.test(n))continue;if("..."==r){delete e[n];continue}for(var i=Ri(n.split(" "),Yn),o=0;o=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){return this.post},eatSpace:function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},skipToEnd:function(){this.pos=this.string.length},skipTo:function(e){var t=this.string.indexOf(e,this.pos);return t>-1?(this.pos=t,!0):void 0},backUp:function(e){this.pos-=e},column:function(){return this.lastColumnPos0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}var i=function(e){return n?e.toLowerCase():e},o=this.string.substr(this.pos,e.length);return i(o)==i(e)?(t!==!1&&(this.pos+=e.length),!0):void 0},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}}};var ga=0,va=e.TextMarker=function(e,t){this.lines=[],this.type=t,this.doc=e,this.id=++ga};Ai(va),va.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&bt(e),Ni(this,"clear")){var n=this.find();n&&Ci(this,"clear",n.from,n.to)}for(var r=null,i=null,o=0;oe.display.maxLineLength&&(e.display.maxLine=s,e.display.maxLineLength=c,e.display.maxLineChanged=!0)}null!=r&&e&&this.collapsed&&Dt(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&Ae(e.doc)),e&&Ci(e,"markerCleared",e,this),t&&kt(e),this.parent&&this.parent.clear()}},va.prototype.find=function(e,t){null==e&&"bookmark"==this.type&&(e=1);for(var n,r,i=0;in;++n){var i=this.lines[n];this.height-=i.height,Nr(i),Ci(i,"delete")}this.lines.splice(e,t)},collapse:function(e){e.push.apply(e,this.lines)},insertInner:function(e,t,n){this.height+=n,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var r=0;re;++e)if(n(this.lines[e]))return!0}},Vr.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var n=0;ne){var o=Math.min(t,i-e),a=r.height;if(r.removeInner(e,o),this.height-=a-r.height,i==o&&(this.children.splice(n--,1),r.parent=null),0==(t-=o))break;e=0}else e-=i}if(this.size-t<25&&(this.children.length>1||!(this.children[0]instanceof $r))){var l=[];this.collapse(l),this.children=[new $r(l)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t=e){if(i.insertInner(e,t,n),i.lines&&i.lines.length>50){for(var a=i.lines.length%25+25,l=a;l10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;re){var a=Math.min(t,o-e);if(i.iterN(e,a,n))return!0;if(0==(t-=a))break;e=0}else e-=o}}};var Sa=0,Ca=e.Doc=function(e,t,n,r){if(!(this instanceof Ca))return new Ca(e,t,n,r);null==n&&(n=0),Vr.call(this,[new $r([new ba("",null)])]),this.first=n,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.frontier=n;var i=Bo(n,0);this.sel=de(i),this.history=new oi(null),this.id=++Sa,this.modeOption=t,this.lineSep=r,this.extend=!1,"string"==typeof e&&(e=this.splitLines(e)),Yr(this,{from:i,to:i,text:e}),Te(this,de(i),Wa)};Ca.prototype=Hi(Vr.prototype,{constructor:Ca,iter:function(e,t,n){n?this.iterN(e-this.first,t-e,n):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var n=0,r=0;r=0;o--)Tn(this,r[o]);l?Le(this,l):this.cm&&Bn(this.cm)}),undo:It(function(){Nn(this,"undo")}),redo:It(function(){Nn(this,"redo")}),undoSelection:It(function(){Nn(this,"undo",!0)}),redoSelection:It(function(){Nn(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=me(this,e),t=me(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,function(o){var a=o.markedSpans;if(a)for(var l=0;l=s.to||null==s.from&&i!=e.line||null!=s.from&&i==t.line&&s.from>=t.ch||n&&!n(s.marker)||r.push(s.marker.parent||s.marker)}++i}),r},getAllMarks:function(){var e=[];return this.iter(function(t){var n=t.markedSpans;if(n)for(var r=0;re?(t=e,!0):(e-=o,void++n)}),me(this,Bo(n,t))},indexFromPos:function(e){e=me(this,e);var t=e.ch;if(e.linet&&(t=e.from),null!=e.to&&e.tol||l>=t)return a+(t-o);a+=l-o,a+=n-a%n,o=l+1}},za=e.findColumn=function(e,t,n){for(var r=0,i=0;;){var o=e.indexOf(" ",r);-1==o&&(o=e.length);var a=o-r;if(o==e.length||i+a>=t)return r+Math.min(a,t-i);if(i+=o-r,i+=n-i%n,r=o+1,i>=t)return r}},ja=[""],Ua=function(e){e.select()};No?Ua=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:xo&&(Ua=function(e){try{e.select()}catch(t){}});var qa,Ga=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Ya=e.isWordChar=function(e){return/\w/.test(e)||e>"€"&&(e.toUpperCase()!=e.toLowerCase()||Ga.test(e))},$a=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;qa=document.createRange?function(e,t,n,r){var i=document.createRange();return i.setEnd(r||e,n),i.setStart(e,t),i}:function(e,t,n){var r=document.body.createTextRange();try{r.moveToElementText(e.parentNode)}catch(i){return r}return r.collapse(!0),r.moveEnd("character",n),r.moveStart("character",t),r};var Va=e.contains=function(e,t){if(3==t.nodeType&&(t=t.parentNode),e.contains)return e.contains(t);do if(11==t.nodeType&&(t=t.host),t==e)return!0;while(t=t.parentNode)};xo&&11>bo&&(Gi=function(){try{return document.activeElement}catch(e){return document.body}});var Ka,Xa,Za=e.rmClass=function(e,t){var n=e.className,r=Yi(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:"")}},Ja=e.addClass=function(e,t){var n=e.className;Yi(t).test(n)||(e.className+=(n?" ":"")+t)},Qa=!1,el=function(){if(xo&&9>bo)return!1;var e=ji("div");return"draggable"in e||"dragDrop"in e}(),tl=e.splitLines=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,n=[],r=e.length;r>=t;){var i=e.indexOf("\n",t);-1==i&&(i=e.length);var o=e.slice(t,"\r"==e.charAt(i-1)?i-1:i),a=o.indexOf("\r");-1!=a?(n.push(o.slice(0,a)),t+=a+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)},nl=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(t){return!1}}:function(e){try{var t=e.ownerDocument.selection.createRange()}catch(n){}return t&&t.parentElement()==e?0!=t.compareEndPoints("StartToEnd",t):!1},rl=function(){var e=ji("div");return"oncopy"in e?!0:(e.setAttribute("oncopy","return;"),"function"==typeof e.oncopy)}(),il=null,ol=e.keyNames={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"};!function(){for(var e=0;10>e;e++)ol[e+48]=ol[e+96]=String(e);for(var e=65;90>=e;e++)ol[e]=String.fromCharCode(e);for(var e=1;12>=e;e++)ol[e+111]=ol[e+63235]="F"+e}();var al,ll=function(){function e(e){return 247>=e?n.charAt(e):e>=1424&&1524>=e?"R":e>=1536&&1773>=e?r.charAt(e-1536):e>=1774&&2220>=e?"r":e>=8192&&8203>=e?"w":8204==e?"b":"L"}function t(e,t,n){this.level=e,this.from=t,this.to=n}var n="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",r="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm",i=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,o=/[stwN]/,a=/[LRr]/,l=/[Lb1n]/,s=/[1n]/,c="L";return function(n){if(!i.test(n))return!1;for(var r,u=n.length,f=[],h=0;u>h;++h)f.push(r=e(n.charCodeAt(h)));for(var h=0,d=c;u>h;++h){var r=f[h];"m"==r?f[h]=d:d=r}for(var h=0,p=c;u>h;++h){var r=f[h];"1"==r&&"r"==p?f[h]="n":a.test(r)&&(p=r,"r"==r&&(f[h]="R"))}for(var h=1,d=f[0];u-1>h;++h){var r=f[h];"+"==r&&"1"==d&&"1"==f[h+1]?f[h]="1":","!=r||d!=f[h+1]||"1"!=d&&"n"!=d||(f[h]=d),d=r}for(var h=0;u>h;++h){var r=f[h];if(","==r)f[h]="N";else if("%"==r){for(var m=h+1;u>m&&"%"==f[m];++m);for(var g=h&&"!"==f[h-1]||u>m&&"1"==f[m]?"1":"N",v=h;m>v;++v)f[v]=g;h=m-1}}for(var h=0,p=c;u>h;++h){var r=f[h];"L"==p&&"1"==r?f[h]="L":a.test(r)&&(p=r)}for(var h=0;u>h;++h)if(o.test(f[h])){for(var m=h+1;u>m&&o.test(f[m]);++m);for(var y="L"==(h?f[h-1]:c),x="L"==(u>m?f[m]:c),g=y||x?"L":"R",v=h;m>v;++v)f[v]=g;h=m-1}for(var b,w=[],h=0;u>h;)if(l.test(f[h])){var k=h;for(++h;u>h&&l.test(f[h]);++h);w.push(new t(0,k,h))}else{var S=h,C=w.length;for(++h;u>h&&"L"!=f[h];++h);for(var v=S;h>v;)if(s.test(f[v])){v>S&&w.splice(C,0,new t(1,S,v));var L=v;for(++v;h>v&&s.test(f[v]);++v);w.splice(C,0,new t(2,L,v)),S=v}else++v;h>S&&w.splice(C,0,new t(1,S,h))}return 1==w[0].level&&(b=n.match(/^\s+/))&&(w[0].from=b[0].length,w.unshift(new t(0,0,b[0].length))),1==Ii(w).level&&(b=n.match(/\s+$/))&&(Ii(w).to-=b[0].length,w.push(new t(0,u-b[0].length,u))),2==w[0].level&&w.unshift(new t(1,w[0].to,w[0].to)),w[0].level!=Ii(w).level&&w.push(new t(w[0].level,u,u)),w}}();return e.version="5.15.2",e})},{}],11:[function(t,n,r){!function(i){"object"==typeof r&&"object"==typeof n?i(t("../../lib/codemirror"),t("../markdown/markdown"),t("../../addon/mode/overlay")):"function"==typeof e&&e.amd?e(["../../lib/codemirror","../markdown/markdown","../../addon/mode/overlay"],i):i(CodeMirror)}(function(e){"use strict";var t=/^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\.beep|\.lwz|\.xpc|\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\.beeps?|xmpp|xri|ymsgr|z39\.50[rs]?):(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i;e.defineMode("gfm",function(n,r){function i(e){return e.code=!1,null}var o=0,a={startState:function(){return{code:!1,codeBlock:!1,ateSpace:!1}},copyState:function(e){return{code:e.code,codeBlock:e.codeBlock,ateSpace:e.ateSpace}},token:function(e,n){if(n.combineTokens=null,n.codeBlock)return e.match(/^```+/)?(n.codeBlock=!1,null):(e.skipToEnd(),null);if(e.sol()&&(n.code=!1),e.sol()&&e.match(/^```+/))return e.skipToEnd(),n.codeBlock=!0,null;if("`"===e.peek()){e.next();var i=e.pos;e.eatWhile("`");var a=1+e.pos-i;return n.code?a===o&&(n.code=!1):(o=a,n.code=!0),null}if(n.code)return e.next(),null;if(e.eatSpace())return n.ateSpace=!0,null;if((e.sol()||n.ateSpace)&&(n.ateSpace=!1,r.gitHubSpice!==!1)){if(e.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+@)?(?:[a-f0-9]{7,40}\b)/))return n.combineTokens=!0,"link";if(e.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+)?#[0-9]+\b/))return n.combineTokens=!0,"link"}return e.match(t)&&"]("!=e.string.slice(e.start-2,e.start)&&(0==e.start||/\W/.test(e.string.charAt(e.start-1)))?(n.combineTokens=!0,"link"):(e.next(),null)},blankLine:i},l={underscoresBreakWords:!1,taskLists:!0,fencedCodeBlocks:"```",strikethrough:!0};for(var s in r)l[s]=r[s];return l.name="markdown",e.overlayMode(e.getMode(n,l),a)},"markdown"),e.defineMIME("text/x-gfm","gfm")})},{"../../addon/mode/overlay":8,"../../lib/codemirror":10,"../markdown/markdown":12}],12:[function(t,n,r){!function(i){"object"==typeof r&&"object"==typeof n?i(t("../../lib/codemirror"),t("../xml/xml"),t("../meta")):"function"==typeof e&&e.amd?e(["../../lib/codemirror","../xml/xml","../meta"],i):i(CodeMirror)}(function(e){"use strict";e.defineMode("markdown",function(t,n){function r(n){if(e.findModeByName){var r=e.findModeByName(n);r&&(n=r.mime||r.mimes[0])}var i=e.getMode(t,n);return"null"==i.name?null:i}function i(e,t,n){return t.f=t.inline=n,n(e,t)}function o(e,t,n){return t.f=t.block=n,n(e,t)}function a(e){return!e||!/\S/.test(e.string)}function l(e){return e.linkTitle=!1,e.em=!1,e.strong=!1,e.strikethrough=!1,e.quote=0,e.indentedCode=!1,k&&e.f==c&&(e.f=p,e.block=s),e.trailingSpace=0,e.trailingSpaceNewLine=!1,e.prevLine=e.thisLine,e.thisLine=null,null}function s(t,o){var l=t.sol(),s=o.list!==!1,c=o.indentedCode;o.indentedCode=!1,s&&(o.indentationDiff>=0?(o.indentationDiff<4&&(o.indentation-=o.indentationDiff),o.list=null):o.indentation>0?o.list=null:o.list=!1);var f=null;if(o.indentationDiff>=4)return t.skipToEnd(),c||a(o.prevLine)?(o.indentation-=4,o.indentedCode=!0,S.code):null;if(t.eatSpace())return null;if((f=t.match(A))&&f[1].length<=6)return o.header=f[1].length,n.highlightFormatting&&(o.formatting="header"),o.f=o.inline,h(o);if(!(a(o.prevLine)||o.quote||s||c)&&(f=t.match(E)))return o.header="="==f[0].charAt(0)?1:2,n.highlightFormatting&&(o.formatting="header"),o.f=o.inline,h(o);if(t.eat(">"))return o.quote=l?1:o.quote+1,n.highlightFormatting&&(o.formatting="quote"),t.eatSpace(),h(o);if("["===t.peek())return i(t,o,y);if(t.match(L,!0))return o.hr=!0,S.hr;if((a(o.prevLine)||s)&&(t.match(T,!1)||t.match(M,!1))){var d=null;for(t.match(T,!0)?d="ul":(t.match(M,!0),d="ol"),o.indentation=t.column()+t.current().length,o.list=!0;o.listStack&&t.column()")>-1)&&(n.f=p,n.block=s,n.htmlState=null)}return r}function u(e,t){return t.fencedChars&&e.match(t.fencedChars,!1)?(t.localMode=t.localState=null,t.f=t.block=f,null):t.localMode?t.localMode.token(e,t.localState):(e.skipToEnd(),S.code)}function f(e,t){e.match(t.fencedChars),t.block=s,t.f=p,t.fencedChars=null,n.highlightFormatting&&(t.formatting="code-block"),t.code=1;var r=h(t);return t.code=0,r}function h(e){var t=[];if(e.formatting){t.push(S.formatting),"string"==typeof e.formatting&&(e.formatting=[e.formatting]);for(var r=0;r=e.quote?t.push(S.formatting+"-"+e.formatting[r]+"-"+e.quote):t.push("error"))}if(e.taskOpen)return t.push("meta"),t.length?t.join(" "):null;if(e.taskClosed)return t.push("property"),t.length?t.join(" "):null;if(e.linkHref?t.push(S.linkHref,"url"):(e.strong&&t.push(S.strong),e.em&&t.push(S.em),e.strikethrough&&t.push(S.strikethrough),e.linkText&&t.push(S.linkText),e.code&&t.push(S.code)),e.header&&t.push(S.header,S.header+"-"+e.header),e.quote&&(t.push(S.quote),!n.maxBlockquoteDepth||n.maxBlockquoteDepth>=e.quote?t.push(S.quote+"-"+e.quote):t.push(S.quote+"-"+n.maxBlockquoteDepth)),e.list!==!1){var i=(e.listStack.length-1)%3;i?1===i?t.push(S.list2):t.push(S.list3):t.push(S.list1)}return e.trailingSpaceNewLine?t.push("trailing-space-new-line"):e.trailingSpace&&t.push("trailing-space-"+(e.trailingSpace%2?"a":"b")),t.length?t.join(" "):null}function d(e,t){return e.match(O,!0)?h(t):void 0}function p(t,r){var i=r.text(t,r);if("undefined"!=typeof i)return i;if(r.list)return r.list=null,h(r);if(r.taskList){var a="x"!==t.match(N,!0)[1];return a?r.taskOpen=!0:r.taskClosed=!0,n.highlightFormatting&&(r.formatting="task"),r.taskList=!1,h(r)}if(r.taskOpen=!1,r.taskClosed=!1,r.header&&t.match(/^#+$/,!0))return n.highlightFormatting&&(r.formatting="header"), -h(r);var l=t.sol(),s=t.next();if(r.linkTitle){r.linkTitle=!1;var u=s;"("===s&&(u=")"),u=(u+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");var f="^\\s*(?:[^"+u+"\\\\]+|\\\\\\\\|\\\\.)"+u;if(t.match(new RegExp(f),!0))return S.linkHref}if("`"===s){var d=r.formatting;n.highlightFormatting&&(r.formatting="code"),t.eatWhile("`");var p=t.current().length;if(0==r.code)return r.code=p,h(r);if(p==r.code){var v=h(r);return r.code=0,v}return r.formatting=d,h(r)}if(r.code)return h(r);if("\\"===s&&(t.next(),n.highlightFormatting)){var y=h(r),x=S.formatting+"-escape";return y?y+" "+x:x}if("!"===s&&t.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return t.match(/\[[^\]]*\]/),r.inline=r.f=g,S.image;if("["===s&&t.match(/[^\]]*\](\(.*\)| ?\[.*?\])/,!1))return r.linkText=!0,n.highlightFormatting&&(r.formatting="link"),h(r);if("]"===s&&r.linkText&&t.match(/\(.*?\)| ?\[.*?\]/,!1)){n.highlightFormatting&&(r.formatting="link");var y=h(r);return r.linkText=!1,r.inline=r.f=g,y}if("<"===s&&t.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){r.f=r.inline=m,n.highlightFormatting&&(r.formatting="link");var y=h(r);return y?y+=" ":y="",y+S.linkInline}if("<"===s&&t.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){r.f=r.inline=m,n.highlightFormatting&&(r.formatting="link");var y=h(r);return y?y+=" ":y="",y+S.linkEmail}if("<"===s&&t.match(/^(!--|\w)/,!1)){var b=t.string.indexOf(">",t.pos);if(-1!=b){var k=t.string.substring(t.start,b);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(k)&&(r.md_inside=!0)}return t.backUp(1),r.htmlState=e.startState(w),o(t,r,c)}if("<"===s&&t.match(/^\/\w*?>/))return r.md_inside=!1,"tag";var C=!1;if(!n.underscoresBreakWords&&"_"===s&&"_"!==t.peek()&&t.match(/(\w)/,!1)){var L=t.pos-2;if(L>=0){var T=t.string.charAt(L);"_"!==T&&T.match(/(\w)/,!1)&&(C=!0)}}if("*"===s||"_"===s&&!C)if(l&&" "===t.peek());else{if(r.strong===s&&t.eat(s)){n.highlightFormatting&&(r.formatting="strong");var v=h(r);return r.strong=!1,v}if(!r.strong&&t.eat(s))return r.strong=s,n.highlightFormatting&&(r.formatting="strong"),h(r);if(r.em===s){n.highlightFormatting&&(r.formatting="em");var v=h(r);return r.em=!1,v}if(!r.em)return r.em=s,n.highlightFormatting&&(r.formatting="em"),h(r)}else if(" "===s&&(t.eat("*")||t.eat("_"))){if(" "===t.peek())return h(r);t.backUp(1)}if(n.strikethrough)if("~"===s&&t.eatWhile(s)){if(r.strikethrough){n.highlightFormatting&&(r.formatting="strikethrough");var v=h(r);return r.strikethrough=!1,v}if(t.match(/^[^\s]/,!1))return r.strikethrough=!0,n.highlightFormatting&&(r.formatting="strikethrough"),h(r)}else if(" "===s&&t.match(/^~~/,!0)){if(" "===t.peek())return h(r);t.backUp(2)}return" "===s&&(t.match(/ +$/,!1)?r.trailingSpace++:r.trailingSpace&&(r.trailingSpaceNewLine=!0)),h(r)}function m(e,t){var r=e.next();if(">"===r){t.f=t.inline=p,n.highlightFormatting&&(t.formatting="link");var i=h(t);return i?i+=" ":i="",i+S.linkInline}return e.match(/^[^>]+/,!0),S.linkInline}function g(e,t){if(e.eatSpace())return null;var r=e.next();return"("===r||"["===r?(t.f=t.inline=v("("===r?")":"]",0),n.highlightFormatting&&(t.formatting="link-string"),t.linkHref=!0,h(t)):"error"}function v(e){return function(t,r){var i=t.next();if(i===e){r.f=r.inline=p,n.highlightFormatting&&(r.formatting="link-string");var o=h(r);return r.linkHref=!1,o}return t.match(P[e]),r.linkHref=!0,h(r)}}function y(e,t){return e.match(/^([^\]\\]|\\.)*\]:/,!1)?(t.f=x,e.next(),n.highlightFormatting&&(t.formatting="link"),t.linkText=!0,h(t)):i(e,t,p)}function x(e,t){if(e.match(/^\]:/,!0)){t.f=t.inline=b,n.highlightFormatting&&(t.formatting="link");var r=h(t);return t.linkText=!1,r}return e.match(/^([^\]\\]|\\.)+/,!0),S.linkText}function b(e,t){return e.eatSpace()?null:(e.match(/^[^\s]+/,!0),void 0===e.peek()?t.linkTitle=!0:e.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,!0),t.f=t.inline=p,S.linkHref+" url")}var w=e.getMode(t,"text/html"),k="null"==w.name;void 0===n.highlightFormatting&&(n.highlightFormatting=!1),void 0===n.maxBlockquoteDepth&&(n.maxBlockquoteDepth=0),void 0===n.underscoresBreakWords&&(n.underscoresBreakWords=!0),void 0===n.taskLists&&(n.taskLists=!1),void 0===n.strikethrough&&(n.strikethrough=!1),void 0===n.tokenTypeOverrides&&(n.tokenTypeOverrides={});var S={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"tag",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough"};for(var C in S)S.hasOwnProperty(C)&&n.tokenTypeOverrides[C]&&(S[C]=n.tokenTypeOverrides[C]);var L=/^([*\-_])(?:\s*\1){2,}\s*$/,T=/^[*\-+]\s+/,M=/^[0-9]+([.)])\s+/,N=/^\[(x| )\](?=\s)/,A=n.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,E=/^ *(?:\={1,}|-{1,})\s*$/,O=/^[^#!\[\]*_\\<>` "'(~]+/,I=new RegExp("^("+(n.fencedCodeBlocks===!0?"~~~+|```+":n.fencedCodeBlocks)+")[ \\t]*([\\w+#-]*)"),P={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\\]]|\\.)*\])*?(?=\])/},R={startState:function(){return{f:s,prevLine:null,thisLine:null,block:s,htmlState:null,indentation:0,inline:p,text:d,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,fencedChars:null}},copyState:function(t){return{f:t.f,prevLine:t.prevLine,thisLine:t.thisLine,block:t.block,htmlState:t.htmlState&&e.copyState(w,t.htmlState),indentation:t.indentation,localMode:t.localMode,localState:t.localMode?e.copyState(t.localMode,t.localState):null,inline:t.inline,text:t.text,formatting:!1,linkTitle:t.linkTitle,code:t.code,em:t.em,strong:t.strong,strikethrough:t.strikethrough,header:t.header,hr:t.hr,taskList:t.taskList,list:t.list,listStack:t.listStack.slice(0),quote:t.quote,indentedCode:t.indentedCode,trailingSpace:t.trailingSpace,trailingSpaceNewLine:t.trailingSpaceNewLine,md_inside:t.md_inside,fencedChars:t.fencedChars}},token:function(e,t){if(t.formatting=!1,e!=t.thisLine){var n=t.header||t.hr;if(t.header=0,t.hr=!1,e.match(/^\s*$/,!0)||n){if(l(t),!n)return null;t.prevLine=null}t.prevLine=t.thisLine,t.thisLine=e,t.taskList=!1,t.trailingSpace=0,t.trailingSpaceNewLine=!1,t.f=t.block;var r=e.match(/^\s*/,!0)[0].replace(/\t/g," ").length;if(t.indentationDiff=Math.min(r-t.indentation,4),t.indentation=t.indentation+t.indentationDiff,r>0)return null}return t.f(e,t)},innerMode:function(e){return e.block==c?{state:e.htmlState,mode:w}:e.localState?{state:e.localState,mode:e.localMode}:{state:e,mode:R}},blankLine:l,getType:h,fold:"markdown"};return R},"xml"),e.defineMIME("text/x-markdown","markdown")})},{"../../lib/codemirror":10,"../meta":13,"../xml/xml":14}],13:[function(t,n,r){!function(i){"object"==typeof r&&"object"==typeof n?i(t("../lib/codemirror")):"function"==typeof e&&e.amd?e(["../lib/codemirror"],i):i(CodeMirror)}(function(e){"use strict";e.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["pgp"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mime:"text/x-coffeescript",mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"]},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Jade",mime:"text/x-jade",mode:"jade",ext:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mime:"text/n-triples",mode:"ntriples",ext:["nt"]},{name:"Objective C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mime:"application/x-httpd-php",mode:"php",ext:["php","php3","php4","php5","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mime:"text/x-sh",mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mime:"text/x-yaml",mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var t=0;t-1&&t.substring(i+1,t.length);return o?e.findModeByExtension(o):void 0},e.findModeByName=function(t){t=t.toLowerCase();for(var n=0;n")):null:e.match("--")?n(s("comment","-->")):e.match("DOCTYPE",!0,!0)?(e.eatWhile(/[\w\._\-]/),n(c(1))):null:e.eat("?")?(e.eatWhile(/[\w\._\-]/),t.tokenize=s("meta","?>"),"meta"):(T=e.eat("/")?"closeTag":"openTag",t.tokenize=a,"tag bracket");if("&"==r){var i;return i=e.eat("#")?e.eat("x")?e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):e.eatWhile(/[\d]/)&&e.eat(";"):e.eatWhile(/[\w\.\-:]/)&&e.eat(";"),i?"atom":"error"}return e.eatWhile(/[^&<]/),null}function a(e,t){var n=e.next();if(">"==n||"/"==n&&e.eat(">"))return t.tokenize=o,T=">"==n?"endTag":"selfcloseTag","tag bracket";if("="==n)return T="equals",null;if("<"==n){t.tokenize=o,t.state=d,t.tagName=t.tagStart=null;var r=t.tokenize(e,t);return r?r+" tag error":"tag error"}return/[\'\"]/.test(n)?(t.tokenize=l(n),t.stringStartCol=e.column(),t.tokenize(e,t)):(e.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function l(e){var t=function(t,n){for(;!t.eol();)if(t.next()==e){n.tokenize=a;break}return"string"};return t.isInAttribute=!0,t}function s(e,t){return function(n,r){for(;!n.eol();){if(n.match(t)){r.tokenize=o;break}n.next()}return e}}function c(e){return function(t,n){for(var r;null!=(r=t.next());){if("<"==r)return n.tokenize=c(e+1),n.tokenize(t,n);if(">"==r){if(1==e){n.tokenize=o;break}return n.tokenize=c(e-1),n.tokenize(t,n)}}return"meta"}}function u(e,t,n){this.prev=e.context,this.tagName=t,this.indent=e.indented,this.startOfLine=n,(S.doNotIndent.hasOwnProperty(t)||e.context&&e.context.noIndent)&&(this.noIndent=!0)}function f(e){e.context&&(e.context=e.context.prev)}function h(e,t){for(var n;;){if(!e.context)return;if(n=e.context.tagName,!S.contextGrabbers.hasOwnProperty(n)||!S.contextGrabbers[n].hasOwnProperty(t))return;f(e)}}function d(e,t,n){return"openTag"==e?(n.tagStart=t.column(),p):"closeTag"==e?m:d}function p(e,t,n){return"word"==e?(n.tagName=t.current(),M="tag",y):(M="error",p)}function m(e,t,n){if("word"==e){var r=t.current();return n.context&&n.context.tagName!=r&&S.implicitlyClosed.hasOwnProperty(n.context.tagName)&&f(n),n.context&&n.context.tagName==r||S.matchClosing===!1?(M="tag",g):(M="tag error",v)}return M="error",v}function g(e,t,n){return"endTag"!=e?(M="error",g):(f(n),d)}function v(e,t,n){return M="error",g(e,t,n)}function y(e,t,n){if("word"==e)return M="attribute",x;if("endTag"==e||"selfcloseTag"==e){var r=n.tagName,i=n.tagStart;return n.tagName=n.tagStart=null,"selfcloseTag"==e||S.autoSelfClosers.hasOwnProperty(r)?h(n,r):(h(n,r),n.context=new u(n,r,i==n.indented)),d}return M="error",y}function x(e,t,n){return"equals"==e?b:(S.allowMissing||(M="error"),y(e,t,n))}function b(e,t,n){return"string"==e?w:"word"==e&&S.allowUnquoted?(M="string",y):(M="error",y(e,t,n))}function w(e,t,n){return"string"==e?w:y(e,t,n)}var k=r.indentUnit,S={},C=i.htmlMode?t:n;for(var L in C)S[L]=C[L];for(var L in i)S[L]=i[L];var T,M;return o.isInText=!0,{startState:function(e){var t={tokenize:o,state:d,indented:e||0,tagName:null,tagStart:null,context:null};return null!=e&&(t.baseIndent=e),t},token:function(e,t){if(!t.tagName&&e.sol()&&(t.indented=e.indentation()),e.eatSpace())return null;T=null;var n=t.tokenize(e,t);return(n||T)&&"comment"!=n&&(M=null,t.state=t.state(T||n,e,t),M&&(n="error"==M?n+" error":M)),n},indent:function(t,n,r){var i=t.context;if(t.tokenize.isInAttribute)return t.tagStart==t.indented?t.stringStartCol+1:t.indented+k;if(i&&i.noIndent)return e.Pass;if(t.tokenize!=a&&t.tokenize!=o)return r?r.match(/^(\s*)/)[0].length:0;if(t.tagName)return S.multilineTagIndentPastTag!==!1?t.tagStart+t.tagName.length+2:t.tagStart+k*(S.multilineTagIndentFactor||1);if(S.alignCDATA&&/$/,blockCommentStart:"",configuration:S.htmlMode?"html":"xml",helperType:S.htmlMode?"html":"xml",skipAttribute:function(e){e.state==b&&(e.state=y)}}}),e.defineMIME("text/xml","xml"),e.defineMIME("application/xml","xml"),e.mimeModes.hasOwnProperty("text/html")||e.defineMIME("text/html",{name:"xml",htmlMode:!0})})},{"../../lib/codemirror":10}],15:[function(e,t,n){n.read=function(e,t,n,r,i){var o,a,l=8*i-r-1,s=(1<>1,u=-7,f=n?i-1:0,h=n?-1:1,d=e[t+f];for(f+=h,o=d&(1<<-u)-1,d>>=-u,u+=l;u>0;o=256*o+e[t+f],f+=h,u-=8);for(a=o&(1<<-u)-1,o>>=-u,u+=r;u>0;a=256*a+e[t+f],f+=h,u-=8);if(0===o)o=1-c;else{if(o===s)return a?NaN:(d?-1:1)*(1/0);a+=Math.pow(2,r),o-=c}return(d?-1:1)*a*Math.pow(2,o-r)},n.write=function(e,t,n,r,i,o){var a,l,s,c=8*o-i-1,u=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,p=r?1:-1,m=0>t||0===t&&0>1/t?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(l=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-a))<1&&(a--,s*=2),t+=a+f>=1?h/s:h*Math.pow(2,1-f),t*s>=2&&(a++,s/=2),a+f>=u?(l=0,a=u):a+f>=1?(l=(t*s-1)*Math.pow(2,i),a+=f):(l=t*Math.pow(2,f-1)*Math.pow(2,i),a=0));i>=8;e[n+d]=255&l,d+=p,l/=256,i-=8);for(a=a<0;e[n+d]=255&a,d+=p,a/=256,c-=8);e[n+d-p]|=128*m}},{}],16:[function(e,t,n){var r={}.toString;t.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},{}],17:[function(t,n,r){(function(t){(function(){function t(e){this.tokens=[],this.tokens.links={},this.options=e||h.defaults,this.rules=d.normal,this.options.gfm&&(this.options.tables?this.rules=d.tables:this.rules=d.gfm)}function i(e,t){if(this.options=t||h.defaults,this.links=e,this.rules=p.normal,this.renderer=this.options.renderer||new o,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.gfm?this.options.breaks?this.rules=p.breaks:this.rules=p.gfm:this.options.pedantic&&(this.rules=p.pedantic)}function o(e){this.options=e||{}}function a(e){this.tokens=[],this.token=null,this.options=e||h.defaults,this.options.renderer=this.options.renderer||new o,this.renderer=this.options.renderer,this.renderer.options=this.options}function l(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function s(e){return e.replace(/&([#\w]+);/g,function(e,t){return t=t.toLowerCase(),"colon"===t?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}function c(e,t){return e=e.source,t=t||"",function n(r,i){return r?(i=i.source||i,i=i.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,i),n):new RegExp(e,t)}}function u(){}function f(e){for(var t,n,r=1;rAn error occured:

    "+l(u.message+"",!0)+"
    ";throw u}}var d={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:u,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:u,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:u,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};d.bullet=/(?:[*+-]|\d+\.)/,d.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,d.item=c(d.item,"gm")(/bull/g,d.bullet)(),d.list=c(d.list)(/bull/g,d.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+d.def.source+")")(),d.blockquote=c(d.blockquote)("def",d.def)(),d._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b",d.html=c(d.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,d._tag)(),d.paragraph=c(d.paragraph)("hr",d.hr)("heading",d.heading)("lheading",d.lheading)("blockquote",d.blockquote)("tag","<"+d._tag)("def",d.def)(),d.normal=f({},d),d.gfm=f({},d.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),d.gfm.paragraph=c(d.paragraph)("(?!","(?!"+d.gfm.fences.source.replace("\\1","\\2")+"|"+d.list.source.replace("\\1","\\3")+"|")(),d.tables=f({},d.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=d,t.lex=function(e,n){var r=new t(n);return r.lex(e)},t.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},t.prototype.token=function(e,t,n){for(var r,i,o,a,l,s,c,u,f,e=e.replace(/^ +$/gm,"");e;)if((o=this.rules.newline.exec(e))&&(e=e.substring(o[0].length),o[0].length>1&&this.tokens.push({type:"space"})),o=this.rules.code.exec(e))e=e.substring(o[0].length),o=o[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?o:o.replace(/\n+$/,"")});else if(o=this.rules.fences.exec(e))e=e.substring(o[0].length),this.tokens.push({type:"code",lang:o[2],text:o[3]||""});else if(o=this.rules.heading.exec(e))e=e.substring(o[0].length),this.tokens.push({type:"heading",depth:o[1].length,text:o[2]});else if(t&&(o=this.rules.nptable.exec(e))){for(e=e.substring(o[0].length),s={type:"table",header:o[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:o[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:o[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),this.token(o,t,!0),this.tokens.push({type:"blockquote_end"});else if(o=this.rules.list.exec(e)){for(e=e.substring(o[0].length),a=o[2],this.tokens.push({type:"list_start",ordered:a.length>1}),o=o[0].match(this.rules.item),r=!1,f=o.length,u=0;f>u;u++)s=o[u],c=s.length,s=s.replace(/^ *([*+-]|\d+\.) +/,""),~s.indexOf("\n ")&&(c-=s.length,s=this.options.pedantic?s.replace(/^ {1,4}/gm,""):s.replace(new RegExp("^ {1,"+c+"}","gm"),"")),this.options.smartLists&&u!==f-1&&(l=d.bullet.exec(o[u+1])[0],a===l||a.length>1&&l.length>1||(e=o.slice(u+1).join("\n")+e,u=f-1)),i=r||/\n\n(?!\s*$)/.test(s),u!==f-1&&(r="\n"===s.charAt(s.length-1),i||(i=r)),this.tokens.push({type:i?"loose_item_start":"list_item_start"}),this.token(s,!1,n),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(o=this.rules.html.exec(e))e=e.substring(o[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===o[1]||"script"===o[1]||"style"===o[1]),text:o[0]});else if(!n&&t&&(o=this.rules.def.exec(e)))e=e.substring(o[0].length),this.tokens.links[o[1].toLowerCase()]={href:o[2],title:o[3]};else if(t&&(o=this.rules.table.exec(e))){for(e=e.substring(o[0].length),s={type:"table", -header:o[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:o[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:o[3].replace(/(?: *\| *)?\n$/,"").split("\n")},u=0;u])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:u,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:u,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/,p.link=c(p.link)("inside",p._inside)("href",p._href)(),p.reflink=c(p.reflink)("inside",p._inside)(),p.normal=f({},p),p.pedantic=f({},p.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),p.gfm=f({},p.normal,{escape:c(p.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:c(p.text)("]|","~]|")("|","|https?://|")()}),p.breaks=f({},p.gfm,{br:c(p.br)("{2,}","*")(),text:c(p.gfm.text)("{2,}","*")()}),i.rules=p,i.output=function(e,t,n){var r=new i(t,n);return r.output(e)},i.prototype.output=function(e){for(var t,n,r,i,o="";e;)if(i=this.rules.escape.exec(e))e=e.substring(i[0].length),o+=i[1];else if(i=this.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=":"===i[1].charAt(6)?this.mangle(i[1].substring(7)):this.mangle(i[1]),r=this.mangle("mailto:")+n):(n=l(i[1]),r=n),o+=this.renderer.link(r,null,n);else if(this.inLink||!(i=this.rules.url.exec(e))){if(i=this.rules.tag.exec(e))!this.inLink&&/^/i.test(i[0])&&(this.inLink=!1),e=e.substring(i[0].length),o+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):l(i[0]):i[0];else if(i=this.rules.link.exec(e))e=e.substring(i[0].length),this.inLink=!0,o+=this.outputLink(i,{href:i[2],title:i[3]}),this.inLink=!1;else if((i=this.rules.reflink.exec(e))||(i=this.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),t=this.links[t.toLowerCase()],!t||!t.href){o+=i[0].charAt(0),e=i[0].substring(1)+e;continue}this.inLink=!0,o+=this.outputLink(i,t),this.inLink=!1}else if(i=this.rules.strong.exec(e))e=e.substring(i[0].length),o+=this.renderer.strong(this.output(i[2]||i[1]));else if(i=this.rules.em.exec(e))e=e.substring(i[0].length),o+=this.renderer.em(this.output(i[2]||i[1]));else if(i=this.rules.code.exec(e))e=e.substring(i[0].length),o+=this.renderer.codespan(l(i[2],!0));else if(i=this.rules.br.exec(e))e=e.substring(i[0].length),o+=this.renderer.br();else if(i=this.rules.del.exec(e))e=e.substring(i[0].length),o+=this.renderer.del(this.output(i[1]));else if(i=this.rules.text.exec(e))e=e.substring(i[0].length),o+=this.renderer.text(l(this.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),n=l(i[1]),r=n,o+=this.renderer.link(r,null,n);return o},i.prototype.outputLink=function(e,t){var n=l(t.href),r=t.title?l(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,l(e[1]))},i.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},i.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,i=0;r>i;i++)t=e.charCodeAt(i),Math.random()>.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},o.prototype.code=function(e,t,n){if(this.options.highlight){var r=this.options.highlight(e,t);null!=r&&r!==e&&(n=!0,e=r)}return t?'
    '+(n?e:l(e,!0))+"\n
    \n":"
    "+(n?e:l(e,!0))+"\n
    "},o.prototype.blockquote=function(e){return"
    \n"+e+"
    \n"},o.prototype.html=function(e){return e},o.prototype.heading=function(e,t,n){return"'+e+"\n"},o.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},o.prototype.list=function(e,t){var n=t?"ol":"ul";return"<"+n+">\n"+e+"\n"},o.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},o.prototype.paragraph=function(e){return"

    "+e+"

    \n"},o.prototype.table=function(e,t){return"
    Bludit EditionPRO - '.$L->g('Thanks for support Bludit').'PRO - '.$L->g('Thanks for support Bludit').' Standard - '.$L->g('Upgrade to Bludit PRO').'
    \n\n"+e+"\n\n"+t+"\n
    \n"},o.prototype.tablerow=function(e){return"\n"+e+"\n"},o.prototype.tablecell=function(e,t){var n=t.header?"th":"td",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+e+"\n"},o.prototype.strong=function(e){return""+e+""},o.prototype.em=function(e){return""+e+""},o.prototype.codespan=function(e){return""+e+""},o.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},o.prototype.del=function(e){return""+e+""},o.prototype.link=function(e,t,n){if(this.options.sanitize){try{var r=decodeURIComponent(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(i){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var o='
    "},o.prototype.image=function(e,t,n){var r=''+n+'":">"},o.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.prototype.parse=function(e){this.inline=new i(e.links,this.options,this.renderer),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},a.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,i,o="",a="";for(n="",e=0;ea;a++)for(var s=this.compoundRules[a],c=0,u=s.length;u>c;c++)this.compoundRuleCodes[s[c]]=[];"ONLYINCOMPOUND"in this.flags&&(this.compoundRuleCodes[this.flags.ONLYINCOMPOUND]=[]),this.dictionaryTable=this._parseDIC(n);for(var a in this.compoundRuleCodes)0==this.compoundRuleCodes[a].length&&delete this.compoundRuleCodes[a];for(var a=0,l=this.compoundRules.length;l>a;a++){for(var f=this.compoundRules[a],h="",c=0,u=f.length;u>c;c++){var d=f[c];h+=d in this.compoundRuleCodes?"("+this.compoundRuleCodes[d].join("|")+")":d}this.compoundRules[a]=new RegExp(h,"i")}}return this};i.prototype={load:function(e){for(var t in e)this[t]=e[t];return this},_readFile:function(t,r){if(r||(r="utf8"),"undefined"!=typeof XMLHttpRequest){var i=new XMLHttpRequest;return i.open("GET",t,!1),i.overrideMimeType&&i.overrideMimeType("text/plain; charset="+r),i.send(null),i.responseText}if("undefined"!=typeof e){var o=e("fs");try{if(o.existsSync(t)){var a=o.statSync(t),l=o.openSync(t,"r"),s=new n(a.size);return o.readSync(l,s,0,s.length,null),s.toString(r,0,s.length)}console.log("Path "+t+" does not exist.")}catch(c){return console.log(c),""}}},_parseAFF:function(e){var t={};e=this._removeAffixComments(e);for(var n=e.split("\n"),r=0,i=n.length;i>r;r++){var o=n[r],a=o.split(/\s+/),l=a[0];if("PFX"==l||"SFX"==l){for(var s=a[1],c=a[2],u=parseInt(a[3],10),f=[],h=r+1,d=r+1+u;d>h;h++){var o=n[h],p=o.split(/\s+/),m=p[2],g=p[3].split("/"),v=g[0];"0"===v&&(v="");var y=this.parseRuleCodes(g[1]),x=p[4],b={};b.add=v,y.length>0&&(b.continuationClasses=y),"."!==x&&("SFX"===l?b.match=new RegExp(x+"$"):b.match=new RegExp("^"+x)),"0"!=m&&("SFX"===l?b.remove=new RegExp(m+"$"):b.remove=m),f.push(b)}t[s]={type:l,combineable:"Y"==c,entries:f},r+=u}else if("COMPOUNDRULE"===l){for(var u=parseInt(a[1],10),h=r+1,d=r+1+u;d>h;h++){var o=n[h],p=o.split(/\s+/);this.compoundRules.push(p[1])}r+=u}else if("REP"===l){var p=o.split(/\s+/);3===p.length&&this.replacementTable.push([p[1],p[2]])}else this.flags[l]=a[1]}return t},_removeAffixComments:function(e){return e=e.replace(/#.*$/gm,""),e=e.replace(/^\s\s*/m,"").replace(/\s\s*$/m,""),e=e.replace(/\n{2,}/g,"\n"),e=e.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},_parseDIC:function(e){function t(e,t){e in r&&"object"==typeof r[e]||(r[e]=[]),r[e].push(t)}e=this._removeDicComments(e);for(var n=e.split("\n"),r={},i=1,o=n.length;o>i;i++){var a=n[i],l=a.split("/",2),s=l[0];if(l.length>1){var c=this.parseRuleCodes(l[1]);"NEEDAFFIX"in this.flags&&-1!=c.indexOf(this.flags.NEEDAFFIX)||t(s,c);for(var u=0,f=c.length;f>u;u++){var h=c[u],d=this.rules[h];if(d)for(var p=this._applyRule(s,d),m=0,g=p.length;g>m;m++){var v=p[m];if(t(v,[]),d.combineable)for(var y=u+1;f>y;y++){var x=c[y],b=this.rules[x];if(b&&b.combineable&&d.type!=b.type)for(var w=this._applyRule(v,b),k=0,S=w.length;S>k;k++){var C=w[k];t(C,[])}}}h in this.compoundRuleCodes&&this.compoundRuleCodes[h].push(s)}}else t(s.trim(),[])}return r},_removeDicComments:function(e){return e=e.replace(/^\t.*$/gm,"")},parseRuleCodes:function(e){if(!e)return[];if(!("FLAG"in this.flags))return e.split("");if("long"===this.flags.FLAG){for(var t=[],n=0,r=e.length;r>n;n+=2)t.push(e.substr(n,2));return t}return"num"===this.flags.FLAG?textCode.split(","):void 0},_applyRule:function(e,t){for(var n=t.entries,r=[],i=0,o=n.length;o>i;i++){var a=n[i];if(!a.match||e.match(a.match)){var l=e;if(a.remove&&(l=l.replace(a.remove,"")),"SFX"===t.type?l+=a.add:l=a.add+l,r.push(l),"continuationClasses"in a)for(var s=0,c=a.continuationClasses.length;c>s;s++){var u=this.rules[a.continuationClasses[s]];u&&(r=r.concat(this._applyRule(l,u)))}}}return r},check:function(e){var t=e.replace(/^\s\s*/,"").replace(/\s\s*$/,"");if(this.checkExact(t))return!0;if(t.toUpperCase()===t){var n=t[0]+t.substring(1).toLowerCase();if(this.hasFlag(n,"KEEPCASE"))return!1;if(this.checkExact(n))return!0}var r=t.toLowerCase();if(r!==t){if(this.hasFlag(r,"KEEPCASE"))return!1;if(this.checkExact(r))return!0}return!1},checkExact:function(e){var t=this.dictionaryTable[e];if("undefined"==typeof t){if("COMPOUNDMIN"in this.flags&&e.length>=this.flags.COMPOUNDMIN)for(var n=0,r=this.compoundRules.length;r>n;n++)if(e.match(this.compoundRules[n]))return!0;return!1}if("object"==typeof t){for(var n=0,r=t.length;r>n;n++)if(!this.hasFlag(e,"ONLYINCOMPOUND",t[n]))return!0;return!1}},hasFlag:function(e,t,n){if(t in this.flags){if("undefined"==typeof n)var n=Array.prototype.concat.apply([],this.dictionaryTable[e]);if(n&&-1!==n.indexOf(this.flags[t]))return!0}return!1},alphabet:"",suggest:function(e,t){function n(e){for(var t=[],n=0,r=e.length;r>n;n++){for(var i=e[n],o=[],a=0,l=i.length+1;l>a;a++)o.push([i.substring(0,a),i.substring(a,i.length)]);for(var s=[],a=0,l=o.length;l>a;a++){var u=o[a];u[1]&&s.push(u[0]+u[1].substring(1))}for(var f=[],a=0,l=o.length;l>a;a++){var u=o[a];u[1].length>1&&f.push(u[0]+u[1][1]+u[1][0]+u[1].substring(2))}for(var h=[],a=0,l=o.length;l>a;a++){var u=o[a];if(u[1])for(var d=0,p=c.alphabet.length;p>d;d++)h.push(u[0]+c.alphabet[d]+u[1].substring(1))}for(var m=[],a=0,l=o.length;l>a;a++){var u=o[a];if(u[1])for(var d=0,p=c.alphabet.length;p>d;d++)h.push(u[0]+c.alphabet[d]+u[1])}t=t.concat(s),t=t.concat(f),t=t.concat(h),t=t.concat(m)}return t}function r(e){for(var t=[],n=0;nu;u++)l[u]in s?s[l[u]]+=1:s[l[u]]=1;var h=[];for(var u in s)h.push([u,s[u]]);h.sort(i).reverse();for(var d=[],u=0,f=Math.min(t,h.length);f>u;u++)c.hasFlag(h[u][0],"NOSUGGEST")||d.push(h[u][0]);return d}if(t||(t=5),this.check(e))return[];for(var o=0,a=this.replacementTable.length;a>o;o++){var l=this.replacementTable[o];if(-1!==e.indexOf(l[0])){var s=e.replace(l[0],l[1]);if(this.check(s))return[s]}}var c=this;return c.alphabet="abcdefghijklmnopqrstuvwxyz",i(e)}},"undefined"!=typeof t&&(t.exports=i)}).call(this,e("buffer").Buffer,"/node_modules/typo-js")},{buffer:3,fs:2}],19:[function(e,t,n){var r=e("codemirror");r.commands.tabAndIndentMarkdownList=function(e){var t=e.listSelections(),n=t[0].head,r=e.getStateAfter(n.line),i=r.list!==!1;if(i)return void e.execCommand("indentMore");if(e.options.indentWithTabs)e.execCommand("insertTab");else{var o=Array(e.options.tabSize+1).join(" ");e.replaceSelection(o)}},r.commands.shiftTabAndUnindentMarkdownList=function(e){var t=e.listSelections(),n=t[0].head,r=e.getStateAfter(n.line),i=r.list!==!1;if(i)return void e.execCommand("indentLess");if(e.options.indentWithTabs)e.execCommand("insertTab");else{var o=Array(e.options.tabSize+1).join(" ");e.replaceSelection(o)}}},{codemirror:10}],20:[function(e,t,n){"use strict";function r(e){return e=U?e.replace("Ctrl","Cmd"):e.replace("Cmd","Ctrl")}function i(e,t,n){e=e||{};var r=document.createElement("a");return t=void 0==t?!0:t,e.title&&t&&(r.title=a(e.title,e.action,n),U&&(r.title=r.title.replace("Ctrl","⌘"),r.title=r.title.replace("Alt","⌥"))),r.tabIndex=-1,r.className=e.className,r}function o(){var e=document.createElement("i");return e.className="separator",e.innerHTML="|",e}function a(e,t,n){var i,o=e;return t&&(i=Y(t),n[i]&&(o+=" ("+r(n[i])+")")),o}function l(e,t){t=t||e.getCursor("start");var n=e.getTokenAt(t);if(!n.type)return{};for(var r,i,o=n.type.split(" "),a={},l=0;l=0&&(d=c.getLineHandle(o),!t(d));o--);var v,y,x,b,w=c.getTokenAt({line:o,ch:1}),k=n(w).fencedChars;t(c.getLineHandle(u.line))?(v="",y=u.line):t(c.getLineHandle(u.line-1))?(v="",y=u.line-1):(v=k+"\n",y=u.line),t(c.getLineHandle(f.line))?(x="",b=f.line,0===f.ch&&(b+=1)):0!==f.ch&&t(c.getLineHandle(f.line+1))?(x="",b=f.line+1):(x=k+"\n",b=f.line+1),0===f.ch&&(b-=1),c.operation(function(){c.replaceRange(x,{line:b,ch:0},{line:b+(x?0:1),ch:0}),c.replaceRange(v,{line:y,ch:0},{line:y+(v?0:1),ch:0})}),c.setSelection({line:y+(v?1:0),ch:0},{line:b+(v?1:-1),ch:0}),c.focus()}else{var S=u.line;if(t(c.getLineHandle(u.line))&&("fenced"===r(c,u.line+1)?(o=u.line,S=u.line+1):(a=u.line,S=u.line-1)),void 0===o)for(o=S;o>=0&&(d=c.getLineHandle(o),!t(d));o--);if(void 0===a)for(l=c.lineCount(),a=S;l>a&&(d=c.getLineHandle(a),!t(d));a++);c.operation(function(){c.replaceRange("",{line:o,ch:0},{line:o+1,ch:0}),c.replaceRange("",{line:a-1,ch:0},{line:a,ch:0})}),c.focus()}else if("indented"===p){if(u.line!==f.line||u.ch!==f.ch)o=u.line,a=f.line,0===f.ch&&a--;else{for(o=u.line;o>=0;o--)if(d=c.getLineHandle(o),!d.text.match(/^\s*$/)&&"indented"!==r(c,o,d)){o+=1;break}for(l=c.lineCount(),a=u.line;l>a;a++)if(d=c.getLineHandle(a),!d.text.match(/^\s*$/)&&"indented"!==r(c,a,d)){a-=1;break}}var C=c.getLineHandle(a+1),L=C&&c.getTokenAt({line:a+1,ch:C.text.length-1}),T=L&&n(L).indentedCode;T&&c.replaceRange("\n",{line:a+1,ch:0});for(var M=o;a>=M;M++)c.indentLine(M,"subtract");c.focus()}else{var N=u.line===f.line&&u.ch===f.ch&&0===u.ch,A=u.line!==f.line;N||A?i(c,u,f,s):E(c,!1,["`","`"])}}function d(e){var t=e.codemirror;I(t,"quote")}function p(e){var t=e.codemirror;O(t,"smaller")}function m(e){var t=e.codemirror;O(t,"bigger")}function g(e){var t=e.codemirror;O(t,void 0,1)}function v(e){var t=e.codemirror;O(t,void 0,2)}function y(e){var t=e.codemirror;O(t,void 0,3)}function x(e){var t=e.codemirror;I(t,"unordered-list")}function b(e){var t=e.codemirror;I(t,"ordered-list")}function w(e){var t=e.codemirror;R(t)}function k(e){var t=e.codemirror,n=l(t),r=e.options,i="https://";return r.promptURLs&&(i=prompt(r.promptTexts.link),!i)?!1:void E(t,n.link,r.insertTexts.link,i)}function S(e){var t=e.codemirror,n=l(t),r=e.options,i="https://";return r.promptURLs&&(i=prompt(r.promptTexts.image),!i)?!1:void E(t,n.image,r.insertTexts.image,i)}function C(e){var t=e.codemirror,n=l(t),r=e.options;E(t,n.table,r.insertTexts.table)}function L(e){var t=e.codemirror,n=l(t),r=e.options;E(t,n.image,r.insertTexts.horizontalRule)}function T(e){var t=e.codemirror;t.undo(),t.focus()}function M(e){var t=e.codemirror;t.redo(),t.focus()}function N(e){var t=e.codemirror,n=t.getWrapperElement(),r=n.nextSibling,i=e.toolbarElements["side-by-side"],o=!1;/editor-preview-active-side/.test(r.className)?(r.className=r.className.replace(/\s*editor-preview-active-side\s*/g,""),i.className=i.className.replace(/\s*active\s*/g,""),n.className=n.className.replace(/\s*CodeMirror-sided\s*/g," ")):(setTimeout(function(){t.getOption("fullScreen")||s(e),r.className+=" editor-preview-active-side"},1),i.className+=" active",n.className+=" CodeMirror-sided",o=!0);var a=n.lastChild;if(/editor-preview-active/.test(a.className)){a.className=a.className.replace(/\s*editor-preview-active\s*/g,"");var l=e.toolbarElements.preview,c=n.previousSibling;l.className=l.className.replace(/\s*active\s*/g,""),c.className=c.className.replace(/\s*disabled-for-preview*/g,"")}var u=function(){r.innerHTML=e.options.previewRender(e.value(),r)};t.sideBySideRenderingFunction||(t.sideBySideRenderingFunction=u),o?(r.innerHTML=e.options.previewRender(e.value(),r),t.on("update",t.sideBySideRenderingFunction)):t.off("update",t.sideBySideRenderingFunction),t.refresh()}function A(e){var t=e.codemirror,n=t.getWrapperElement(),r=n.previousSibling,i=e.options.toolbar?e.toolbarElements.preview:!1,o=n.lastChild;o&&/editor-preview/.test(o.className)||(o=document.createElement("div"),o.className="editor-preview",n.appendChild(o)),/editor-preview-active/.test(o.className)?(o.className=o.className.replace(/\s*editor-preview-active\s*/g,""),i&&(i.className=i.className.replace(/\s*active\s*/g,""),r.className=r.className.replace(/\s*disabled-for-preview*/g,""))):(setTimeout(function(){o.className+=" editor-preview-active"},1),i&&(i.className+=" active",r.className+=" disabled-for-preview")),o.innerHTML=e.options.previewRender(e.value(),o);var a=t.getWrapperElement().nextSibling;/editor-preview-active-side/.test(a.className)&&N(e)}function E(e,t,n,r){if(!/editor-preview-active/.test(e.getWrapperElement().lastChild.className)){var i,o=n[0],a=n[1],l=e.getCursor("start"),s=e.getCursor("end");r&&(a=a.replace("#url#",r)),t?(i=e.getLine(l.line),o=i.slice(0,l.ch),a=i.slice(l.ch),e.replaceRange(o+a,{line:l.line,ch:0})):(i=e.getSelection(),e.replaceSelection(o+i+a),l.ch+=o.length,l!==s&&(s.ch+=o.length)),e.setSelection(l,s),e.focus()}}function O(e,t,n){if(!/editor-preview-active/.test(e.getWrapperElement().lastChild.className)){for(var r=e.getCursor("start"),i=e.getCursor("end"),o=r.line;o<=i.line;o++)!function(r){var i=e.getLine(r),o=i.search(/[^#]/);i=void 0!==t?0>=o?"bigger"==t?"###### "+i:"# "+i:6==o&&"smaller"==t?i.substr(7):1==o&&"bigger"==t?i.substr(2):"bigger"==t?i.substr(1):"#"+i:1==n?0>=o?"# "+i:o==n?i.substr(o+1):"# "+i.substr(o+1):2==n?0>=o?"## "+i:o==n?i.substr(o+1):"## "+i.substr(o+1):0>=o?"### "+i:o==n?i.substr(o+1):"### "+i.substr(o+1),e.replaceRange(i,{line:r,ch:0},{line:r,ch:99999999999999})}(o);e.focus()}}function I(e,t){if(!/editor-preview-active/.test(e.getWrapperElement().lastChild.className)){for(var n=l(e),r=e.getCursor("start"),i=e.getCursor("end"),o={quote:/^(\s*)\>\s+/,"unordered-list":/^(\s*)(\*|\-|\+)\s+/,"ordered-list":/^(\s*)\d+\.\s+/},a={quote:"> ","unordered-list":"* ","ordered-list":"1. "},s=r.line;s<=i.line;s++)!function(r){var i=e.getLine(r);i=n[t]?i.replace(o[t],"$1"):a[t]+i,e.replaceRange(i,{line:r,ch:0},{line:r,ch:99999999999999})}(s);e.focus()}}function P(e,t,n,r){if(!/editor-preview-active/.test(e.codemirror.getWrapperElement().lastChild.className)){r="undefined"==typeof r?n:r;var i,o=e.codemirror,a=l(o),s=n,c=r,u=o.getCursor("start"),f=o.getCursor("end");a[t]?(i=o.getLine(u.line),s=i.slice(0,u.ch),c=i.slice(u.ch),"bold"==t?(s=s.replace(/(\*\*|__)(?![\s\S]*(\*\*|__))/,""),c=c.replace(/(\*\*|__)/,"")):"italic"==t?(s=s.replace(/(\*|_)(?![\s\S]*(\*|_))/,""),c=c.replace(/(\*|_)/,"")):"strikethrough"==t&&(s=s.replace(/(\*\*|~~)(?![\s\S]*(\*\*|~~))/,""),c=c.replace(/(\*\*|~~)/,"")),o.replaceRange(s+c,{line:u.line,ch:0},{line:u.line,ch:99999999999999}),"bold"==t||"strikethrough"==t?(u.ch-=2,u!==f&&(f.ch-=2)):"italic"==t&&(u.ch-=1,u!==f&&(f.ch-=1))):(i=o.getSelection(),"bold"==t?(i=i.split("**").join(""),i=i.split("__").join("")):"italic"==t?(i=i.split("*").join(""),i=i.split("_").join("")):"strikethrough"==t&&(i=i.split("~~").join("")),o.replaceSelection(s+i+c),u.ch+=n.length,f.ch=u.ch+i.length),o.setSelection(u,f),o.focus()}}function R(e){if(!/editor-preview-active/.test(e.getWrapperElement().lastChild.className))for(var t,n=e.getCursor("start"),r=e.getCursor("end"),i=n.line;i<=r.line;i++)t=e.getLine(i),t=t.replace(/^[ ]*([# ]+|\*|\-|[> ]+|[0-9]+(.|\)))[ ]*/,""),e.replaceRange(t,{line:i,ch:0},{line:i,ch:99999999999999})}function D(e,t){for(var n in t)t.hasOwnProperty(n)&&(t[n]instanceof Array?e[n]=t[n].concat(e[n]instanceof Array?e[n]:[]):null!==t[n]&&"object"==typeof t[n]&&t[n].constructor===Object?e[n]=D(e[n]||{},t[n]):e[n]=t[n]);return e}function H(e){for(var t=1;t=19968?n[i].length:1;return r}function B(e){e=e||{},e.parent=this;var t=!0;if(e.autoDownloadFontAwesome===!1&&(t=!1),e.autoDownloadFontAwesome!==!0)for(var n=document.styleSheets,r=0;r-1&&(t=!1);if(t){var i=document.createElement("link");i.rel="stylesheet",i.href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css",document.getElementsByTagName("head")[0].appendChild(i)}if(e.element)this.element=e.element;else if(null===e.element)return void console.log("SimpleMDE: Error. No element was found.");if(void 0===e.toolbar){e.toolbar=[];for(var o in K)K.hasOwnProperty(o)&&(-1!=o.indexOf("separator-")&&e.toolbar.push("|"),(K[o]["default"]===!0||e.showIcons&&e.showIcons.constructor===Array&&-1!=e.showIcons.indexOf(o))&&e.toolbar.push(o))}e.hasOwnProperty("status")||(e.status=["autosave","lines","words","cursor"]),e.previewRender||(e.previewRender=function(e){return this.parent.markdown(e)}),e.parsingConfig=H({highlightFormatting:!0},e.parsingConfig||{}),e.insertTexts=H({},X,e.insertTexts||{}),e.promptTexts=Z,e.blockStyles=H({},J,e.blockStyles||{}),e.shortcuts=H({},G,e.shortcuts||{}),void 0!=e.autosave&&void 0!=e.autosave.unique_id&&""!=e.autosave.unique_id&&(e.autosave.uniqueId=e.autosave.unique_id),this.options=e,this.render(),!e.initialValue||this.options.autosave&&this.options.autosave.foundSavedValue===!0||this.value(e.initialValue)}function _(){if("object"!=typeof localStorage)return!1;try{localStorage.setItem("smde_localStorage",1),localStorage.removeItem("smde_localStorage")}catch(e){return!1}return!0}var F=e("codemirror");e("codemirror/addon/edit/continuelist.js"),e("./codemirror/tablist"),e("codemirror/addon/display/fullscreen.js"),e("codemirror/mode/markdown/markdown.js"),e("codemirror/addon/mode/overlay.js"),e("codemirror/addon/display/placeholder.js"),e("codemirror/addon/selection/mark-selection.js"),e("codemirror/mode/gfm/gfm.js"),e("codemirror/mode/xml/xml.js");var z=e("codemirror-spell-checker"),j=e("marked"),U=/Mac/.test(navigator.platform),q={toggleBold:c,toggleItalic:u,drawLink:k,toggleHeadingSmaller:p,toggleHeadingBigger:m,drawImage:S,toggleBlockquote:d,toggleOrderedList:b,toggleUnorderedList:x,toggleCodeBlock:h,togglePreview:A,toggleStrikethrough:f,toggleHeading1:g,toggleHeading2:v,toggleHeading3:y,cleanBlock:w,drawTable:C,drawHorizontalRule:L,undo:T,redo:M,toggleSideBySide:N,toggleFullScreen:s},G={toggleBold:"Cmd-B",toggleItalic:"Cmd-I",drawLink:"Cmd-K",toggleHeadingSmaller:"Cmd-H",toggleHeadingBigger:"Shift-Cmd-H",cleanBlock:"Cmd-E",drawImage:"Cmd-Alt-I",toggleBlockquote:"Cmd-'",toggleOrderedList:"Cmd-Alt-L",toggleUnorderedList:"Cmd-L",toggleCodeBlock:"Cmd-Alt-C",togglePreview:"Cmd-P",toggleSideBySide:"F9",toggleFullScreen:"F11"},Y=function(e){for(var t in q)if(q[t]===e)return t;return null},$=function(){var e=!1;return function(t){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0); -}(navigator.userAgent||navigator.vendor||window.opera),e},V="",K={bold:{name:"bold",action:c,className:"fa fa-bold",title:"Bold","default":!0},italic:{name:"italic",action:u,className:"fa fa-italic",title:"Italic","default":!0},strikethrough:{name:"strikethrough",action:f,className:"fa fa-strikethrough",title:"Strikethrough"},heading:{name:"heading",action:p,className:"fa fa-header",title:"Heading","default":!0},"heading-smaller":{name:"heading-smaller",action:p,className:"fa fa-header fa-header-x fa-header-smaller",title:"Smaller Heading"},"heading-bigger":{name:"heading-bigger",action:m,className:"fa fa-header fa-header-x fa-header-bigger",title:"Bigger Heading"},"heading-1":{name:"heading-1",action:g,className:"fa fa-header fa-header-x fa-header-1",title:"Big Heading"},"heading-2":{name:"heading-2",action:v,className:"fa fa-header fa-header-x fa-header-2",title:"Medium Heading"},"heading-3":{name:"heading-3",action:y,className:"fa fa-header fa-header-x fa-header-3",title:"Small Heading"},"separator-1":{name:"separator-1"},code:{name:"code",action:h,className:"fa fa-code",title:"Code"},quote:{name:"quote",action:d,className:"fa fa-double-quote-serif-left",title:"Quote","default":!0},"unordered-list":{name:"unordered-list",action:x,className:"fa fa-list",title:"Generic List","default":!0},"ordered-list":{name:"ordered-list",action:b,className:"fa fa-list-ol",title:"Numbered List","default":!0},"clean-block":{name:"clean-block",action:w,className:"fa fa-eraser fa-clean-block",title:"Clean block"},"separator-2":{name:"separator-2"},link:{name:"link",action:k,className:"fa fa-link-intact",title:"Create Link","default":!0},image:{name:"image",action:S,className:"fa fa-image",title:"Insert Image","default":!0},table:{name:"table",action:C,className:"fa fa-table",title:"Insert Table"},"horizontal-rule":{name:"horizontal-rule",action:L,className:"fa fa-minus",title:"Insert Horizontal Line"},"separator-3":{name:"separator-3"},preview:{name:"preview",action:A,className:"fa fa-eye no-disable",title:"Toggle Preview","default":!0},"side-by-side":{name:"side-by-side",action:N,className:"fa fa-browser no-disable no-mobile",title:"Toggle Side by Side","default":!0},fullscreen:{name:"fullscreen",action:s,className:"fa fa-fullscreen-enter no-disable no-mobile",title:"Toggle Fullscreen","default":!0},"separator-4":{name:"separator-4"},guide:{name:"guide",action:"https://simplemde.com/markdown-guide",className:"fa fa-question-circle",title:"Markdown Guide","default":!0},"separator-5":{name:"separator-5"},undo:{name:"undo",action:T,className:"fa fa-undo no-disable",title:"Undo"},redo:{name:"redo",action:M,className:"fa fa-repeat no-disable",title:"Redo"}},X={link:["[","](#url#)"],image:["![](","#url#)"],table:["","\n\n| Column 1 | Column 2 | Column 3 |\n| -------- | -------- | -------- |\n| Text | Text | Text |\n\n"],horizontalRule:["","\n\n-----\n\n"]},Z={link:"URL for the link:",image:"URL of the image:"},J={bold:"**",code:"```",italic:"*"};B.prototype.markdown=function(e){if(j){var t={};return this.options&&this.options.renderingConfig&&this.options.renderingConfig.singleLineBreaks===!1?t.breaks=!1:t.breaks=!0,this.options&&this.options.renderingConfig&&this.options.renderingConfig.codeSyntaxHighlighting===!0&&window.hljs&&(t.highlight=function(e){return window.hljs.highlightAuto(e).value}),j.setOptions(t),j(e)}},B.prototype.render=function(e){if(e||(e=this.element||document.getElementsByTagName("textarea")[0]),!this._rendered||this._rendered!==e){this.element=e;var t=this.options,n=this,i={};for(var o in t.shortcuts)null!==t.shortcuts[o]&&null!==q[o]&&!function(e){i[r(t.shortcuts[e])]=function(){q[e](n)}}(o);i.Enter="newlineAndIndentContinueMarkdownList",i.Tab="tabAndIndentMarkdownList",i["Shift-Tab"]="shiftTabAndUnindentMarkdownList",i.Esc=function(e){e.getOption("fullScreen")&&s(n)},document.addEventListener("keydown",function(e){e=e||window.event,27==e.keyCode&&n.codemirror.getOption("fullScreen")&&s(n)},!1);var a,l;if(t.spellChecker!==!1?(a="spell-checker",l=t.parsingConfig,l.name="gfm",l.gitHubSpice=!1,z({codeMirrorInstance:F})):(a=t.parsingConfig,a.name="gfm",a.gitHubSpice=!1),this.codemirror=F.fromTextArea(e,{mode:a,backdrop:l,theme:"paper",tabSize:void 0!=t.tabSize?t.tabSize:2,indentUnit:void 0!=t.tabSize?t.tabSize:2,indentWithTabs:t.indentWithTabs!==!1,lineNumbers:!1,autofocus:t.autofocus===!0,extraKeys:i,lineWrapping:t.lineWrapping!==!1,allowDropFileTypes:["text/plain"],placeholder:t.placeholder||e.getAttribute("placeholder")||"",styleSelectedText:void 0!=t.styleSelectedText?t.styleSelectedText:!0}),t.forceSync===!0){var c=this.codemirror;c.on("change",function(){c.save()})}this.gui={},t.toolbar!==!1&&(this.gui.toolbar=this.createToolbar()),t.status!==!1&&(this.gui.statusbar=this.createStatusbar()),void 0!=t.autosave&&t.autosave.enabled===!0&&this.autosave(),this.gui.sideBySide=this.createSideBySide(),this._rendered=this.element;var u=this.codemirror;setTimeout(function(){u.refresh()}.bind(u),0)}},B.prototype.autosave=function(){if(_()){var e=this;if(void 0==this.options.autosave.uniqueId||""==this.options.autosave.uniqueId)return void console.log("SimpleMDE: You must set a uniqueId to use the autosave feature");null!=e.element.form&&void 0!=e.element.form&&e.element.form.addEventListener("submit",function(){localStorage.removeItem("smde_"+e.options.autosave.uniqueId)}),this.options.autosave.loaded!==!0&&("string"==typeof localStorage.getItem("smde_"+this.options.autosave.uniqueId)&&""!=localStorage.getItem("smde_"+this.options.autosave.uniqueId)&&(this.codemirror.setValue(localStorage.getItem("smde_"+this.options.autosave.uniqueId)),this.options.autosave.foundSavedValue=!0),this.options.autosave.loaded=!0),localStorage.setItem("smde_"+this.options.autosave.uniqueId,e.value());var t=document.getElementById("autosaved");if(null!=t&&void 0!=t&&""!=t){var n=new Date,r=n.getHours(),i=n.getMinutes(),o="am",a=r;a>=12&&(a=r-12,o="pm"),0==a&&(a=12),i=10>i?"0"+i:i,t.innerHTML="Autosaved: "+a+":"+i+" "+o}this.autosaveTimeoutId=setTimeout(function(){e.autosave()},this.options.autosave.delay||1e4)}else console.log("SimpleMDE: localStorage not available, cannot autosave")},B.prototype.clearAutosavedValue=function(){if(_()){if(void 0==this.options.autosave||void 0==this.options.autosave.uniqueId||""==this.options.autosave.uniqueId)return void console.log("SimpleMDE: You must set a uniqueId to clear the autosave value");localStorage.removeItem("smde_"+this.options.autosave.uniqueId)}else console.log("SimpleMDE: localStorage not available, cannot autosave")},B.prototype.createSideBySide=function(){var e=this.codemirror,t=e.getWrapperElement(),n=t.nextSibling;n&&/editor-preview-side/.test(n.className)||(n=document.createElement("div"),n.className="editor-preview-side",t.parentNode.insertBefore(n,t.nextSibling));var r=!1,i=!1;return e.on("scroll",function(e){if(r)return void(r=!1);i=!0;var t=e.getScrollInfo().height-e.getScrollInfo().clientHeight,o=parseFloat(e.getScrollInfo().top)/t,a=(n.scrollHeight-n.clientHeight)*o;n.scrollTop=a}),n.onscroll=function(){if(i)return void(i=!1);r=!0;var t=n.scrollHeight-n.clientHeight,o=parseFloat(n.scrollTop)/t,a=(e.getScrollInfo().height-e.getScrollInfo().clientHeight)*o;e.scrollTo(0,a)},n},B.prototype.createToolbar=function(e){if(e=e||this.options.toolbar,e&&0!==e.length){var t;for(t=0;tdbFields = array( - 'tabSize'=>'2', - 'toolbar'=>'"bold", "italic", "heading", "|", "quote", "unordered-list", "|", "link", "image", "code", "horizontal-rule", "|", "preview", "side-by-side", "fullscreen"', - 'spellChecker'=>true - ); - } - - public function form() - { - global $L; - - $html = '
    '; - $html .= ''; - $html .= ''; - $html .= '
    '; - - $html .= '
    '; - $html .= ''; - $html .= ''; - $html .= '
    '; - - $html .= '
    '; - $html .= ''; - $html .= ''; - $html .= '
    '; - - return $html; - } - - public function adminHead() - { - if (!in_array($GLOBALS['ADMIN_CONTROLLER'], $this->loadOnController)) { - return false; - } - - // Include plugin's CSS files - $html = $this->includeCSS('simplemde.min.css'); - $html .= $this->includeCSS('bludit.css'); - return $html; - } - - public function adminBodyEnd() - { - global $L; - - if (!in_array($GLOBALS['ADMIN_CONTROLLER'], $this->loadOnController)) { - return false; - } - - // Spell Checker - $spellCheckerEnable = $this->getValue('spellChecker')?'true':'false'; - - // Include plugin's Javascript files - $html = $this->includeJS('simplemde.min.js'); - $html .= ''; - return $html; - } -} From 4e5d8ff5dde8b303079e1b8041bfa7f5a9437232 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20Br=C3=BCckner?= <17685000+MoritzBrueckner@users.noreply.github.com> Date: Sat, 25 May 2019 14:29:21 +0200 Subject: [PATCH 068/122] Update german translations --- bl-languages/de_AT.json | 16 ++++++++-------- bl-languages/de_CH.json | 16 ++++++++-------- bl-languages/de_DE.json | 16 ++++++++-------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/bl-languages/de_AT.json b/bl-languages/de_AT.json index 36557f07..f940a3d5 100644 --- a/bl-languages/de_AT.json +++ b/bl-languages/de_AT.json @@ -381,12 +381,12 @@ "thumbnail-quality-in-percentage": "Qualität der Vorschaubilder in Prozent (%).", "maximum-load-file-size-allowed:": "Maximal erlaubte Dateigröße:", "file-type-is-not-supported": "Dateiformat wird nicht unterstützt. Erlaubte Dateiformate:", - "page-content": "Page content", - "markdown-parser": "Markdown parser", - "site-logo": "Site logo", - "search": "Search", - "search-plugins": "Search plugins", - "enabled-plugins": "Enabled plugins", - "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "page-content": "Seiteninhalt", + "markdown-parser": "Markdown-Parser", + "site-logo": "Webseiten-Logo", + "search": "Suchen", + "search-plugins": "Plug-ins suchen", + "enabled-plugins": "Aktivierte Plug-ins", + "disabled-plugins": "Deaktivierte Plug-ins", + "remove-logo": "Logo entfernen" } \ No newline at end of file diff --git a/bl-languages/de_CH.json b/bl-languages/de_CH.json index 03bd1027..918ea107 100644 --- a/bl-languages/de_CH.json +++ b/bl-languages/de_CH.json @@ -380,12 +380,12 @@ "thumbnail-quality-in-percentage": "Qualität der Vorschaubilder in Prozent (%).", "maximum-load-file-size-allowed:": "Maximal erlaubte Dateigröße:", "file-type-is-not-supported": "Dateiformat wird nicht unterstützt. Erlaubte Dateiformate:", - "page-content": "Page content", - "markdown-parser": "Markdown parser", - "site-logo": "Site logo", - "search": "Search", - "search-plugins": "Search plugins", - "enabled-plugins": "Enabled plugins", - "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "page-content": "Seiteninhalt", + "markdown-parser": "Markdown-Parser", + "site-logo": "Webseiten-Logo", + "search": "Suchen", + "search-plugins": "Plug-ins suchen", + "enabled-plugins": "Aktivierte Plug-ins", + "disabled-plugins": "Deaktivierte Plug-ins", + "remove-logo": "Logo entfernen" } \ No newline at end of file diff --git a/bl-languages/de_DE.json b/bl-languages/de_DE.json index beb299f4..12ca1745 100644 --- a/bl-languages/de_DE.json +++ b/bl-languages/de_DE.json @@ -380,12 +380,12 @@ "thumbnail-quality-in-percentage": "Qualität der Vorschaubilder in Prozent (%).", "maximum-load-file-size-allowed:": "Maximal erlaubte Dateigröße:", "file-type-is-not-supported": "Dateiformat wird nicht unterstützt. Erlaubte Dateiformate:", - "page-content": "Page content", - "markdown-parser": "Markdown parser", - "site-logo": "Site logo", - "search": "Search", - "search-plugins": "Search plugins", - "enabled-plugins": "Enabled plugins", - "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "page-content": "Seiteninhalt", + "markdown-parser": "Markdown-Parser", + "site-logo": "Webseiten-Logo", + "search": "Suchen", + "search-plugins": "Plug-ins suchen", + "enabled-plugins": "Aktivierte Plug-ins", + "disabled-plugins": "Deaktivierte Plug-ins", + "remove-logo": "Logo entfernen" } \ No newline at end of file From c5f895b72fe86a3316b10e696b40ca505064d46e Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Sun, 26 May 2019 23:06:08 +0200 Subject: [PATCH 069/122] Updated search function, include view button, improves for small devices --- bl-kernel/admin/views/content.php | 32 ++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/bl-kernel/admin/views/content.php b/bl-kernel/admin/views/content.php index 48223a72..575dbac7 100644 --- a/bl-kernel/admin/views/content.php +++ b/bl-kernel/admin/views/content.php @@ -61,8 +61,13 @@ function table($type) { '.$L->g('Title').' - '.$L->g('URL').' - '.$L->g('Actions').' + '; + + if ($type=='published' || $type=='static' || $type=='sticky') { + echo ''.$L->g('URL').''; + } + + echo ' '.$L->g('Actions').' @@ -85,11 +90,14 @@ function table($type) {
    '; + if ($type=='published' || $type=='static' || $type=='sticky') { $friendlyURL = Text::isEmpty($url->filters('page')) ? '/'.$page->key() : '/'.$url->filters('page').'/'.$page->key(); echo ''.$friendlyURL.''; + } - echo ''.PHP_EOL; - echo ''.$L->g('Edit').''.PHP_EOL; + echo ''.PHP_EOL; + echo ''.$L->g('View').''.PHP_EOL; + echo ''.$L->g('Edit').''.PHP_EOL; if (count($page->children())==0) { echo ''.$L->g('Delete').''.PHP_EOL; } @@ -111,11 +119,14 @@ function table($type) { '; + if ($type=='published' || $type=='static' || $type=='sticky') { $friendlyURL = Text::isEmpty($url->filters('page')) ? '/'.$child->key() : '/'.$url->filters('page').'/'.$child->key(); echo ''.$friendlyURL.''; + } - echo ''.PHP_EOL; - echo ''.$L->g('Edit').''.PHP_EOL; + echo ''.PHP_EOL; + echo ''.$L->g('View').''.PHP_EOL; + echo ''.$L->g('Edit').''.PHP_EOL; echo ''.$L->g('Delete').''.PHP_EOL; echo ''; @@ -143,11 +154,14 @@ function table($type) { '; + if ($type=='published' || $type=='static' || $type=='sticky') { $friendlyURL = Text::isEmpty($url->filters('page')) ? '/'.$page->key() : '/'.$url->filters('page').'/'.$page->key(); echo ''.$friendlyURL.''; + } - echo ''.PHP_EOL; - echo ''.$L->g('Edit').''.PHP_EOL; + echo ''.PHP_EOL; + echo ''.$L->g('View').''.PHP_EOL; + echo ''.$L->g('Edit').''.PHP_EOL; if (count($page->children())==0) { echo ''.$L->g('Delete').''.PHP_EOL; } @@ -256,7 +270,7 @@ function table($type) { var title = searchArray[item]['title']; html = '
    '; html += '
    '+title+'
    '; - html += ''; + html += ''; html += '
    '; return html; } From 787538e1cab4432e9369b6700031e1b55acdf188 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Sun, 26 May 2019 23:08:01 +0200 Subject: [PATCH 070/122] Search function searches in names and description --- bl-kernel/admin/views/plugins.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bl-kernel/admin/views/plugins.php b/bl-kernel/admin/views/plugins.php index 2dcb56ab..fd89e265 100644 --- a/bl-kernel/admin/views/plugins.php +++ b/bl-kernel/admin/views/plugins.php @@ -20,7 +20,7 @@ $(document).ready(function() { $(".searchItem").each( function() { var item = $(this); item.hide(); - item.children(".searchText").each( function() { + item.find(".searchText").each( function() { var element = $(this).text().toLowerCase(); if (element.indexOf(textToSearch)!=-1) { item.show(); From ff4f1669620804166f30211afc0776c733f61851 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Sun, 26 May 2019 23:08:50 +0200 Subject: [PATCH 071/122] Functions for autosave type --- bl-kernel/pages.class.php | 9 ++++++--- bl-kernel/pagex.class.php | 6 ++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/bl-kernel/pages.class.php b/bl-kernel/pages.class.php index c137855e..1b743654 100644 --- a/bl-kernel/pages.class.php +++ b/bl-kernel/pages.class.php @@ -289,20 +289,23 @@ class Pages extends dbJSON { // Page doesn't exist in database if (!$this->exists($key)) { Log::set(__METHOD__.LOG_SEP.'The page does not exist. Key: '.$key); + return false; } // Delete directory and files if (Filesystem::deleteRecursive(PATH_PAGES.$key) === false) { - Log::set(__METHOD__.LOG_SEP.'Error occurred when trying to delete the directory '.PATH_PAGES.$key); + Log::set(__METHOD__.LOG_SEP.'Error occurred when trying to delete the directory '.PATH_PAGES.$key, LOG_TYPE_ERROR); } // Delete page images directory; The function already check if exists the directory - Filesystem::deleteRecursive(PATH_UPLOADS_PAGES.$key); + if (Filesystem::deleteRecursive(PATH_UPLOADS_PAGES.$key) === false) { + Log::set(__METHOD__.LOG_SEP.'Directory with images not found '.PATH_UPLOADS_PAGES.$key); + } // Remove from database unset($this->db[$key]); - // Save the database. + // Save the database if ($this->save()===false) { Log::set(__METHOD__.LOG_SEP.'Error occurred when trying to save the database file.'); } diff --git a/bl-kernel/pagex.class.php b/bl-kernel/pagex.class.php index 2353f8d7..eec1393d 100644 --- a/bl-kernel/pagex.class.php +++ b/bl-kernel/pagex.class.php @@ -363,6 +363,12 @@ class Page { return ($this->getValue('type')=='draft'); } + // (boolean) Returns TRUE if the page is autosave, FALSE otherwise + public function autosave() + { + return ($this->getValue('type')=='autosave'); + } + // (boolean) Returns TRUE if the page is sticky, FALSE otherwise public function sticky() { From bcff43603a3c4d9ecf3128ae849016d1e4bf7a7b Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Sun, 26 May 2019 23:09:38 +0200 Subject: [PATCH 072/122] Include autosave type --- bl-kernel/functions.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bl-kernel/functions.php b/bl-kernel/functions.php index bc645b94..d6b955ca 100644 --- a/bl-kernel/functions.php +++ b/bl-kernel/functions.php @@ -46,7 +46,7 @@ function buildThePage() { return false; } - if ($page->draft() || $page->scheduled()) { + if ($page->draft() || $page->scheduled() || $page->autosave()) { if ($url->parameter('preview')!==md5($page->uuid())) { $url->setNotFound(); return false; @@ -329,11 +329,11 @@ function editPage($args) { global $pages; global $syslog; - // Check if the autosave page exists for this new page and delete it + // Check if the autosave/preview page exists for this new page and delete it if (isset($args['uuid'])) { $autosaveKey = $pages->getByUUID('autosave-'.$args['uuid']); if ($autosaveKey) { - Log::set('Function editPage()'.LOG_SEP.'Autosave deleted for '.$autosaveKey, LOG_TYPE_INFO); + Log::set('Function editPage()'.LOG_SEP.'Autosave/Preview deleted for '.$autosaveKey, LOG_TYPE_INFO); deletePage($autosaveKey); } } From 3704838436cccf14978a98ba1b50091e765c52ba Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Mon, 27 May 2019 19:07:02 +0200 Subject: [PATCH 073/122] remove button view for draft pages --- bl-kernel/admin/views/content.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bl-kernel/admin/views/content.php b/bl-kernel/admin/views/content.php index 575dbac7..22189c1f 100644 --- a/bl-kernel/admin/views/content.php +++ b/bl-kernel/admin/views/content.php @@ -125,7 +125,9 @@ function table($type) { } echo ''.PHP_EOL; + if ($type=='published' || $type=='static' || $type=='sticky') { echo ''.$L->g('View').''.PHP_EOL; + } echo ''.$L->g('Edit').''.PHP_EOL; echo ''.$L->g('Delete').''.PHP_EOL; echo ''; @@ -160,7 +162,9 @@ function table($type) { } echo ''.PHP_EOL; + if ($type=='published' || $type=='static' || $type=='sticky') { echo ''.$L->g('View').''.PHP_EOL; + } echo ''.$L->g('Edit').''.PHP_EOL; if (count($page->children())==0) { echo ''.$L->g('Delete').''.PHP_EOL; From baa835cb8cea5833e90e9caaa132cd39de86ef8f Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Mon, 27 May 2019 19:07:53 +0200 Subject: [PATCH 074/122] added some logs --- bl-kernel/helpers/filesystem.class.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bl-kernel/helpers/filesystem.class.php b/bl-kernel/helpers/filesystem.class.php index 3af90466..c7c8b186 100644 --- a/bl-kernel/helpers/filesystem.class.php +++ b/bl-kernel/helpers/filesystem.class.php @@ -57,16 +57,19 @@ class Filesystem { public static function rmdir($pathname) { + Log::set('rmdir = '.$pathname, LOG_TYPE_INFO); return rmdir($pathname); } public static function mv($oldname, $newname) { + Log::set('mv '.$oldname.' '.$newname, LOG_TYPE_INFO); return rename($oldname, $newname); } public static function rmfile($filename) { + Log::set('rmfile = '.$filename, LOG_TYPE_INFO); return unlink($filename); } @@ -123,6 +126,8 @@ class Filesystem { // The directory is delete public static function deleteRecursive($source, $deleteDirectory=true) { + Log::set('deleteRecursive = '.$source, LOG_TYPE_INFO); + if (!self::directoryExists($source)) { return false; } @@ -130,7 +135,7 @@ class Filesystem { foreach (new RecursiveIteratorIterator( new RecursiveDirectoryIterator($source, FilesystemIterator::SKIP_DOTS), RecursiveIteratorIterator::CHILD_FIRST) as $item) { - if ($item->isFile()) { + if ($item->isFile() || $item->isLink()) { unlink($item); } else { rmdir($item); From f317d8cff7ecc6ac69d13e140360cca68a643d75 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Mon, 27 May 2019 19:08:20 +0200 Subject: [PATCH 075/122] bigger button --- bl-plugins/backup/plugin.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bl-plugins/backup/plugin.php b/bl-plugins/backup/plugin.php index b03a4891..a7964a1a 100644 --- a/bl-plugins/backup/plugin.php +++ b/bl-plugins/backup/plugin.php @@ -54,7 +54,7 @@ class pluginBackup extends Plugin { } $html .= '
    '; - $html .= ''; + $html .= ''; $html .= '
    '; $html .= '
    '; From 0dc9904d6218ea61357b39e8cc2831b9795112da Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Mon, 27 May 2019 19:24:11 +0200 Subject: [PATCH 076/122] Check file extension, bug fix #1011 --- bl-kernel/ajax/logo-upload.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bl-kernel/ajax/logo-upload.php b/bl-kernel/ajax/logo-upload.php index 91b0bdcf..180fede2 100644 --- a/bl-kernel/ajax/logo-upload.php +++ b/bl-kernel/ajax/logo-upload.php @@ -6,7 +6,11 @@ if (!isset($_FILES['inputFile'])) { } // File extension -$fileExtension = pathinfo($_FILES['inputFile']['name'], PATHINFO_EXTENSION); +$fileExtension = Filesystem::extension($_FILES['inputFile']['name']); +$fileExtension = Text::lowercase($fileExtension); +if (!in_array($fileExtension, ALLOWED_IMG_EXTENSION) ) { + return false; +} // Final filename $filename = 'logo.'.$fileExtension; @@ -21,7 +25,7 @@ if ($oldFilename) { } // Move from temporary directory to uploads -rename($_FILES['inputFile']['tmp_name'], PATH_UPLOADS.$filename); +Filesystem::mv($_FILES['inputFile']['tmp_name'], PATH_UPLOADS.$filename); // Permissions chmod(PATH_UPLOADS.$filename, 0644); From 0d2c962da84d08f511c3b8ee3c7baaef80c1e81e Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Mon, 27 May 2019 19:41:46 +0200 Subject: [PATCH 077/122] added some comments --- bl-kernel/ajax/delete-image.php | 2 +- bl-kernel/ajax/generate-slug.php | 13 ++++++++++++ bl-kernel/ajax/get-parents.php | 8 ++++++++ bl-kernel/ajax/list-images.php | 4 ++-- bl-kernel/ajax/logo-upload.php | 13 +++++++++++- bl-kernel/ajax/profile-picture-upload.php | 8 ++++---- bl-kernel/ajax/user-logged.php | 24 ----------------------- 7 files changed, 40 insertions(+), 32 deletions(-) delete mode 100644 bl-kernel/ajax/user-logged.php diff --git a/bl-kernel/ajax/delete-image.php b/bl-kernel/ajax/delete-image.php index ef152e5e..0135a6ad 100644 --- a/bl-kernel/ajax/delete-image.php +++ b/bl-kernel/ajax/delete-image.php @@ -5,7 +5,7 @@ header('Content-Type: application/json'); | Delete an image from a particular page | | @_POST['filename'] string Name of the file to delete -| @_POST['uuid'] string Page uuid +| @_POST['uuid'] string Page UUID | | @return array */ diff --git a/bl-kernel/ajax/generate-slug.php b/bl-kernel/ajax/generate-slug.php index 4db1b473..df0039b3 100644 --- a/bl-kernel/ajax/generate-slug.php +++ b/bl-kernel/ajax/generate-slug.php @@ -1,9 +1,22 @@ generateKey($text, $parent, $returnSlug=true, $oldKey); diff --git a/bl-kernel/ajax/get-parents.php b/bl-kernel/ajax/get-parents.php index 2064f4da..4bdf5d49 100644 --- a/bl-kernel/ajax/get-parents.php +++ b/bl-kernel/ajax/get-parents.php @@ -1,6 +1,14 @@ isLogged()) { - exit (json_encode(array( - 'status'=>1, - 'message'=>'The user is logged.' - ))); -} - -exit (json_encode(array( - 'status'=>0, - 'message'=>'The user is NOT logged.' -))); - - -?> \ No newline at end of file From 1aed4d0666ea1cfaf216401604490e6fbe70054b Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Mon, 27 May 2019 19:51:57 +0200 Subject: [PATCH 078/122] added version in url to avoid cache problems --- bl-plugins/tinymce/plugin.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bl-plugins/tinymce/plugin.php b/bl-plugins/tinymce/plugin.php index 93a49d0a..f3c1cd9f 100644 --- a/bl-plugins/tinymce/plugin.php +++ b/bl-plugins/tinymce/plugin.php @@ -44,7 +44,7 @@ class pluginTinymce extends Plugin { if (!in_array($GLOBALS['ADMIN_CONTROLLER'], $this->loadOnController)) { return false; } - return ''; + return ''; } public function adminBodyEnd() @@ -58,7 +58,7 @@ class pluginTinymce extends Plugin { $toolbar1 = $this->getValue('toolbar1'); $toolbar2 = $this->getValue('toolbar2'); - $content_css = $this->htmlPath().'css/tinymce.css'; + $content_css = $this->htmlPath().'css/tinymce.css?version='.$this->version(); $plugins = $this->getValue('plugins'); $lang = 'en'; From 37396e8dec5bb9c43bc9793791fdb1e181a15be5 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Mon, 27 May 2019 20:02:42 +0200 Subject: [PATCH 079/122] TinyMCE 5.0.6 --- bl-plugins/tinymce/metadata.json | 4 ++-- bl-plugins/tinymce/tinymce/plugins/advlist/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/anchor/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/autolink/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/autoresize/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/autosave/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/bbcode/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/charmap/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/code/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/codesample/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/colorpicker/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/contextmenu/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/directionality/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/emoticons/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/fullpage/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/fullscreen/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/help/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/hr/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/image/plugin.min.js | 4 ++-- .../tinymce/tinymce/plugins/imagetools/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/importcss/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/insertdatetime/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/legacyoutput/plugin.min.js | 4 ++-- bl-plugins/tinymce/tinymce/plugins/link/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/lists/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/media/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/nonbreaking/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/noneditable/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/pagebreak/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/paste/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/preview/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/print/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/quickbars/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/save/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/searchreplace/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/spellchecker/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/tabfocus/plugin.min.js | 2 +- bl-plugins/tinymce/tinymce/plugins/table/plugin.min.js | 4 ++-- bl-plugins/tinymce/tinymce/plugins/template/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/textcolor/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/textpattern/plugin.min.js | 4 ++-- bl-plugins/tinymce/tinymce/plugins/toc/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/visualblocks/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/visualchars/plugin.min.js | 2 +- .../tinymce/tinymce/plugins/wordcount/plugin.min.js | 4 ++-- .../tinymce/tinymce/skins/content/default/content.min.css | 2 +- .../tinymce/skins/content/document/content.min.css | 2 +- .../tinymce/tinymce/skins/content/writer/content.min.css | 2 +- .../tinymce/skins/ui/oxide-dark/content.inline.min.css | 2 +- .../tinymce/tinymce/skins/ui/oxide-dark/content.min.css | 2 +- .../tinymce/skins/ui/oxide-dark/content.mobile.min.css | 7 +++++++ .../tinymce/tinymce/skins/ui/oxide-dark/skin.min.css | 2 +- .../tinymce/skins/ui/oxide-dark/skin.mobile.min.css | 7 +++++++ .../tinymce/tinymce/skins/ui/oxide/content.inline.min.css | 2 +- bl-plugins/tinymce/tinymce/skins/ui/oxide/content.min.css | 2 +- .../tinymce/tinymce/skins/ui/oxide/content.mobile.min.css | 8 +++++++- bl-plugins/tinymce/tinymce/skins/ui/oxide/skin.min.css | 2 +- .../tinymce/tinymce/skins/ui/oxide/skin.mobile.min.css | 8 +++++++- bl-plugins/tinymce/tinymce/themes/mobile/theme.min.js | 4 ++-- bl-plugins/tinymce/tinymce/themes/silver/theme.min.js | 4 ++-- bl-plugins/tinymce/tinymce/tinymce.min.js | 4 ++-- 61 files changed, 94 insertions(+), 68 deletions(-) create mode 100755 bl-plugins/tinymce/tinymce/skins/ui/oxide-dark/content.mobile.min.css create mode 100755 bl-plugins/tinymce/tinymce/skins/ui/oxide-dark/skin.mobile.min.css diff --git a/bl-plugins/tinymce/metadata.json b/bl-plugins/tinymce/metadata.json index 065e17e4..7deea06d 100644 --- a/bl-plugins/tinymce/metadata.json +++ b/bl-plugins/tinymce/metadata.json @@ -2,8 +2,8 @@ "author": "TinyMCE", "email": "", "website": "https://www.tinymce.com", - "version": "5.0.5", - "releaseDate": "2018-12-17", + "version": "5.0.6", + "releaseDate": "2019-05-22", "license": "LGPL 2.1", "compatible": "3.9.0", "notes": "" diff --git a/bl-plugins/tinymce/tinymce/plugins/advlist/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/advlist/plugin.min.js index dac39a42..152d041c 100755 --- a/bl-plugins/tinymce/tinymce/plugins/advlist/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/advlist/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.5 (2019-05-09) + * Version: 5.0.6 (2019-05-22) */ !function(){"use strict";var n,t,e,r,u=tinymce.util.Tools.resolve("tinymce.PluginManager"),v=tinymce.util.Tools.resolve("tinymce.util.Tools"),O=function(n,t,e){var r="UL"===t?"InsertUnorderedList":"InsertOrderedList";n.execCommand(r,!1,!1===e?null:{"list-style-type":e})},o=function(e){e.addCommand("ApplyUnorderedListStyle",function(n,t){O(e,"UL",t["list-style-type"])}),e.addCommand("ApplyOrderedListStyle",function(n,t){O(e,"OL",t["list-style-type"])})},i=function(n){var t=n.getParam("advlist_number_styles","default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman");return t?t.split(/[ ,]/):[]},l=function(n){var t=n.getParam("advlist_bullet_styles","default,circle,square");return t?t.split(/[ ,]/):[]},c=function(n){return function(){return n}},s=c(!1),f=c(!0),a=s,d=f,g=function(){return p},p=(r={fold:function(n,t){return n()},is:a,isSome:a,isNone:d,getOr:e=function(n){return n},getOrThunk:t=function(n){return n()},getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:e,orThunk:t,map:g,ap:g,each:function(){},bind:g,flatten:g,exists:a,forall:d,filter:g,equals:n=function(n){return n.isNone()},equals_:n,toArray:function(){return[]},toString:c("none()")},Object.freeze&&Object.freeze(r),r),m=function(e){var n=function(){return e},t=function(){return u},r=function(n){return n(e)},u={fold:function(n,t){return t(e)},is:function(n){return e===n},isSome:d,isNone:a,getOr:n,getOrThunk:n,getOrDie:n,getOrNull:n,getOrUndefined:n,or:t,orThunk:t,map:function(n){return m(n(e))},ap:function(n){return n.fold(g,function(n){return m(n(e))})},each:function(n){n(e)},bind:r,flatten:n,exists:r,forall:r,filter:function(n){return n(e)?u:p},equals:function(n){return n.is(e)},equals_:function(n,t){return n.fold(a,function(n){return t(e,n)})},toArray:function(){return[e]},toString:function(){return"some("+e+")"}};return u},y=function(n){return null===n||n===undefined?p:m(n)},h=function(n){return n&&/^(TH|TD)$/.test(n.nodeName)},L=function(r){return function(n){return n&&/^(OL|UL|DL)$/.test(n.nodeName)&&(e=n,(t=r).$.contains(t.getBody(),e));var t,e}},N=function(n){var t=n.dom.getParent(n.selection.getNode(),"ol,ul"),e=n.dom.getStyle(t,"listStyleType");return y(e)},S=function(n,t,e){var r=function(n,t){for(var e=0;eh(e)&&(i=o+l);var m=v(e);m&&m]*>((\xa0| |[ \t]|]*>)+?|)|
    $","i").test(e)},l=function(t){var e=parseInt(i.getItem(f(t)+"time"),10)||0;return!((new Date).getTime()-e>s(t.settings.autosave_retention,"20m")&&(m(t,!1),1))},m=function(t,e){var r=f(t);i.removeItem(r+"draft"),i.removeItem(r+"time"),!1!==e&&t.fire("RemoveDraft")},v=function(t){var e=f(t);!c(t)&&t.isDirty()&&(i.setItem(e+"draft",t.getContent({format:"raw",no_events:!0})),i.setItem(e+"time",(new Date).getTime().toString()),t.fire("StoreDraft"))},d=function(t){var e=f(t);l(t)&&(t.setContent(i.getItem(e+"draft"),{format:"raw"}),t.fire("RestoreDraft"))},g=function(t,e){var r=s(t.settings.autosave_interval,"30s");e.get()||(n.setInterval(function(){t.removed||v(t)},r),e.set(!0))},y=function(t){t.undoManager.transact(function(){d(t),m(t)}),t.focus()};function p(n){for(var o=[],t=1;t(.*?)<\/a>/gi,"[url=$1]$2[/url]"),o(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),o(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),o(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),o(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),o(/(.*?)<\/span>/gi,"[color=$1]$2[/color]"),o(/(.*?)<\/font>/gi,"[color=$1]$2[/color]"),o(/(.*?)<\/span>/gi,"[size=$1]$2[/size]"),o(/(.*?)<\/font>/gi,"$1"),o(//gi,"[img]$1[/img]"),o(/(.*?)<\/span>/gi,"[code]$1[/code]"),o(/(.*?)<\/span>/gi,"[quote]$1[/quote]"),o(/(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]"),o(/(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]"),o(/(.*?)<\/em>/gi,"[code][i]$1[/i][/code]"),o(/(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]"),o(/(.*?)<\/u>/gi,"[code][u]$1[/u][/code]"),o(/(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]"),o(/<\/(strong|b)>/gi,"[/b]"),o(/<(strong|b)>/gi,"[b]"),o(/<\/(em|i)>/gi,"[/i]"),o(/<(em|i)>/gi,"[i]"),o(/<\/u>/gi,"[/u]"),o(/(.*?)<\/span>/gi,"[u]$1[/u]"),o(//gi,"[u]"),o(/]*>/gi,"[quote]"),o(/<\/blockquote>/gi,"[/quote]"),o(/
    /gi,"\n"),o(//gi,"\n"),o(/
    /gi,"\n"),o(/

    /gi,""),o(/<\/p>/gi,"\n"),o(/ |\u00a0/gi," "),o(/"/gi,'"'),o(/</gi,"<"),o(/>/gi,">"),o(/&/gi,"&"),e},i=function(e){e=t.trim(e);var o=function(o,t){e=e.replace(o,t)};return o(/\n/gi,"
    "),o(/\[b\]/gi,""),o(/\[\/b\]/gi,""),o(/\[i\]/gi,""),o(/\[\/i\]/gi,""),o(/\[u\]/gi,""),o(/\[\/u\]/gi,""),o(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'$2'),o(/\[url\](.*?)\[\/url\]/gi,'$1'),o(/\[img\](.*?)\[\/img\]/gi,''),o(/\[color=(.*?)\](.*?)\[\/color\]/gi,'$2'),o(/\[code\](.*?)\[\/code\]/gi,'$1 '),o(/\[quote.*?\](.*?)\[\/quote\]/gi,'$1 '),e};o.add("bbcode",function(){return{init:function(o){o.on("BeforeSetContent",function(o){o.content=i(o.content)}),o.on("PostProcess",function(o){o.set&&(o.content=i(o.content)),o.get&&(o.content=e(o.content))})}}}),function n(){}}(); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/charmap/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/charmap/plugin.min.js index 6f5e1ae1..f3fbb206 100755 --- a/bl-plugins/tinymce/tinymce/plugins/charmap/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/charmap/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.5 (2019-05-09) + * Version: 5.0.6 (2019-05-22) */ !function(l){"use strict";var e,n,r,t,a,i=tinymce.util.Tools.resolve("tinymce.PluginManager"),o=function(e,n){return e.fire("insertCustomChar",{chr:n})},f=function(e,n){var r=o(e,n).chr;e.execCommand("mceInsertContent",!1,r)},c=tinymce.util.Tools.resolve("tinymce.util.Tools"),u=function(e){return e.settings.charmap},s=function(e){return e.settings.charmap_append},g=function(e){return function(){return e}},m=g(!1),h=g(!0),d=m,p=h,y=function(){return w},w=(t={fold:function(e,n){return e()},is:d,isSome:d,isNone:p,getOr:r=function(e){return e},getOrThunk:n=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:r,orThunk:n,map:y,ap:y,each:function(){},bind:y,flatten:y,exists:d,forall:p,filter:y,equals:e=function(e){return e.isNone()},equals_:e,toArray:function(){return[]},toString:g("none()")},Object.freeze&&Object.freeze(t),t),b=function(r){var e=function(){return r},n=function(){return a},t=function(e){return e(r)},a={fold:function(e,n){return n(r)},is:function(e){return r===e},isSome:p,isNone:d,getOr:e,getOrThunk:e,getOrDie:e,getOrNull:e,getOrUndefined:e,or:n,orThunk:n,map:function(e){return b(e(r))},ap:function(e){return e.fold(y,function(e){return b(e(r))})},each:function(e){e(r)},bind:t,flatten:e,exists:t,forall:t,filter:function(e){return e(r)?a:w},equals:function(e){return e.is(r)},equals_:function(e,n){return e.fold(d,function(e){return n(r,e)})},toArray:function(){return[r]},toString:function(){return"some("+r+")"}};return a},v={some:b,none:y,from:function(e){return null===e||e===undefined?w:b(e)}},k=(a="function",function(e){return function(e){if(null===e)return"null";var n=typeof e;return"object"===n&&Array.prototype.isPrototypeOf(e)?"array":"object"===n&&String.prototype.isPrototypeOf(e)?"string":n}(e)===a}),C=function(e,n){for(var r=e.length,t=new Array(r),a=0;ae.length)break e;if(!(h instanceof a)){u.lastIndex=0;var m=u.exec(h);if(m){g&&(d=m[1].length);var b=m.index-1+d,y=b+(m=m[0].slice(d)).length,v=h.slice(0,b+1),k=h.slice(y+1),w=[f,1];v&&w.push(v);var x=new a(o,c?S.tokenize(m,c):m,p);w.push(x),k&&w.push(k),Array.prototype.splice.apply(r,w)}}}}}return r},hooks:{all:{},add:function(e,t){var n=S.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=S.hooks.all[e];if(n&&n.length)for(var a=0,r=void 0;r=n[a++];)r(t)}}},s=S.Token=function(e,t,n){this.type=e,this.content=t,this.alias=n};if(s.stringify=function(t,n,e){if("string"==typeof t)return t;if("Array"===S.util.type(t))return t.map(function(e){return s.stringify(e,n,t)}).join("");var a={type:t.type,content:s.stringify(t.content,n,e),tag:"span",classes:["token",t.type],attributes:{},language:n,parent:e};if("comment"===a.type&&(a.attributes.spellcheck="true"),t.alias){var r="Array"===S.util.type(t.alias)?t.alias:[t.alias];Array.prototype.push.apply(a.classes,r)}S.hooks.run("wrap",a);var i="";for(var o in a.attributes)i+=(i?" ":"")+o+'="'+(a.attributes[o]||"")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'" '+i+">"+a.content+""},!g.document)return g.addEventListener&&g.addEventListener("message",function(e){var t=JSON.parse(e.data),n=t.language,a=t.code,r=t.immediateClose;g.postMessage(S.highlight(a,S.languages[n],n)),r&&g.close()},!1),g.Prism}();void 0!==n&&(n.Prism=i),i.languages.markup={comment://,prolog:/<\?[\w\W]+?\?>/,doctype://,cdata://i,tag:{pattern:/<\/?[^\s>\/=.]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/[=>"']/}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},i.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),i.languages.xml=i.languages.markup,i.languages.html=i.languages.markup,i.languages.mathml=i.languages.markup,i.languages.svg=i.languages.markup,i.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/,string:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,"function":/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},i.languages.css.atrule.inside.rest=i.util.clone(i.languages.css),i.languages.markup&&(i.languages.insertBefore("markup","tag",{style:{pattern:/[\w\W]*?<\/style>/i,inside:{tag:{pattern:/|<\/style>/i,inside:i.languages.markup.tag.inside},rest:i.languages.css},alias:"language-css"}}),i.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|').*?\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:i.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:i.languages.css}},alias:"language-css"}},i.languages.markup.tag)),i.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,"boolean":/\b(true|false)\b/,"function":/[a-z0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},i.languages.javascript=i.languages.extend("clike",{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,"function":/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i}),i.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}}),i.languages.insertBefore("javascript","class-name",{"template-string":{pattern:/`(?:\\`|\\?[^`])*`/,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:i.languages.javascript}},string:/[\s\S]+/}}}),i.languages.markup&&i.languages.insertBefore("markup","tag",{script:{pattern:/[\w\W]*?<\/script>/i,inside:{tag:{pattern:/|<\/script>/i,inside:i.languages.markup.tag.inside},rest:i.languages.javascript},alias:"language-javascript"}}),i.languages.js=i.languages.javascript,i.languages.c=i.languages.extend("clike",{keyword:/\b(asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,operator:/\-[>-]?|\+\+?|!=?|<>?=?|==?|&&?|\|?\||[~^%?*\/]/,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)[ful]*\b/i}),i.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z]+([^\r\n\\]|\\.|\\(?:\r\n?|\n))*/im,lookbehind:!0,alias:"property",inside:{string:{pattern:/(#\s*include\s*)(<.+?>|("|')(\\?.)+?\3)/,lookbehind:!0}}}}),delete i.languages.c["class-name"],delete i.languages.c["boolean"],i.languages.csharp=i.languages.extend("clike",{keyword:/\b(abstract|as|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|do|double|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|goto|if|implicit|in|int|interface|internal|is|lock|long|namespace|new|null|object|operator|out|override|params|private|protected|public|readonly|ref|return|sbyte|sealed|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|virtual|void|volatile|while|add|alias|ascending|async|await|descending|dynamic|from|get|global|group|into|join|let|orderby|partial|remove|select|set|value|var|where|yield)\b/,string:[/@("|')(\1\1|\\\1|\\?(?!\1)[\s\S])*\1/,/("|')(\\?.)*?\1/],number:/\b-?(0x[\da-f]+|\d*\.?\d+)\b/i}),i.languages.insertBefore("csharp","keyword",{preprocessor:{pattern:/(^\s*)#.*/m,lookbehind:!0}}),i.languages.cpp=i.languages.extend("c",{keyword:/\b(alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,"boolean":/\b(true|false)\b/,operator:/[-+]{1,2}|!=?|<{1,2}=?|>{1,2}=?|\->|:{1,2}|={1,2}|\^|~|%|&{1,2}|\|?\||\?|\*|\/|\b(and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/}),i.languages.insertBefore("cpp","keyword",{"class-name":{pattern:/(class\s+)[a-z0-9_]+/i,lookbehind:!0}}),i.languages.java=i.languages.extend("clike",{keyword:/\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/,number:/\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,lookbehind:!0}}),i.languages.php=i.languages.extend("clike",{keyword:/\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i,constant:/\b[A-Z0-9_]{2,}\b/,comment:{pattern:/(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/,lookbehind:!0}}),i.languages.insertBefore("php","class-name",{"shell-comment":{pattern:/(^|[^\\])#.*/,lookbehind:!0,alias:"comment"}}),i.languages.insertBefore("php","keyword",{delimiter:/\?>|<\?(?:php)?/i,variable:/\$\w+\b/i,"package":{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),i.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/,lookbehind:!0}}),i.languages.markup&&(i.hooks.add("before-highlight",function(t){"php"===t.language&&(t.tokenStack=[],t.backupCode=t.code,t.code=t.code.replace(/(?:<\?php|<\?)[\w\W]*?(?:\?>)/gi,function(e){return t.tokenStack.push(e),"{{{PHP"+t.tokenStack.length+"}}}"}))}),i.hooks.add("before-insert",function(e){"php"===e.language&&(e.code=e.backupCode,delete e.backupCode)}),i.hooks.add("after-highlight",function(e){if("php"===e.language){for(var t=0,n=void 0;n=e.tokenStack[t];t++)e.highlightedCode=e.highlightedCode.replace("{{{PHP"+(t+1)+"}}}",i.highlight(n,e.grammar,"php").replace(/\$/g,"$$$$"));e.element.innerHTML=e.highlightedCode}}),i.hooks.add("wrap",function(e){"php"===e.language&&"markup"===e.type&&(e.content=e.content.replace(/(\{\{\{PHP[0-9]+\}\}\})/g,'$1'))}),i.languages.insertBefore("php","comment",{markup:{pattern:/<[^?]\/?(.*?)>/,inside:i.languages.markup},php:/\{\{\{PHP[0-9]+\}\}\}/})),i.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:/"""[\s\S]+?"""|'''[\s\S]+?'''|("|')(?:\\?.)*?\1/,"function":{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_][a-zA-Z0-9_]*(?=\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)[a-z0-9_]+/i,lookbehind:!0},keyword:/\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/,"boolean":/\b(?:True|False)\b/,number:/\b-?(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,punctuation:/[{}[\];(),.:]/},function(e){e.languages.ruby=e.languages.extend("clike",{comment:/#(?!\{[^\r\n]*?\}).*/,keyword:/\b(alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/});var t={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"tag"},rest:e.util.clone(e.languages.ruby)}};e.languages.insertBefore("ruby","keyword",{regex:[{pattern:/%r([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\((?:[^()\\]|\\[\s\S])*\)[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\[(?:[^\[\]\\]|\\[\s\S])*\][gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r<(?:[^<>\\]|\\[\s\S])*>[gim]{0,3}/,inside:{interpolation:t}},{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}],variable:/[@$]+[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/,symbol:/:[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/}),e.languages.insertBefore("ruby","number",{builtin:/\b(Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|File|Fixnum|Fload|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z][a-zA-Z_0-9]*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:/%[qQiIwWxs]?([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\((?:[^()\\]|\\[\s\S])*\)/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\[(?:[^\[\]\\]|\\[\s\S])*\]/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?<(?:[^<>\\]|\\[\s\S])*>/,inside:{interpolation:t}},{pattern:/("|')(#\{[^}]+\}|\\(?:\r?\n|\r)|\\?.)*?\1/,inside:{interpolation:t}}]}(i);var a,o,s,l,u,d={isCodeSample:function B(e){return e&&"PRE"===e.nodeName&&-1!==e.className.indexOf("language-")},trimArg:function M(n){return function(e,t){return n(t)}}},p=function(e){return function(){return e}},f=p(!1),h=p(!0),m=f,b=h,y=function(){return v},v=(l={fold:function(e,t){return e()},is:m,isSome:m,isNone:b,getOr:s=function(e){return e},getOrThunk:o=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:s,orThunk:o,map:y,ap:y,each:function(){},bind:y,flatten:y,exists:m,forall:b,filter:y,equals:a=function(e){return e.isNone()},equals_:a,toArray:function(){return[]},toString:p("none()")},Object.freeze&&Object.freeze(l),l),k=function(n){var e=function(){return n},t=function(){return r},a=function(e){return e(n)},r={fold:function(e,t){return t(n)},is:function(e){return n===e},isSome:b,isNone:m,getOr:e,getOrThunk:e,getOrDie:e,getOrNull:e,getOrUndefined:e,or:t,orThunk:t,map:function(e){return k(e(n))},ap:function(e){return e.fold(y,function(e){return k(e(n))})},each:function(e){e(n)},bind:a,flatten:e,exists:a,forall:a,filter:function(e){return e(n)?r:v},equals:function(e){return e.is(n)},equals_:function(e,t){return e.fold(m,function(e){return t(n,e)})},toArray:function(){return[n]},toString:function(){return"some("+n+")"}};return r},w={some:k,none:y,from:function(e){return null===e||e===undefined?v:k(e)}},x=function(e){var t=e.selection?e.selection.getNode():null;return d.isCodeSample(t)?w.some(t):w.none()},S=x,C=function(t,n,a){t.undoManager.transact(function(){var e=x(t);return a=r.DOM.encode(a),e.fold(function(){t.insertContent('

    '+a+"
    "),t.selection.select(t.$("#__new").removeAttr("id")[0])},function(e){t.dom.setAttrib(e,"class","language-"+n),e.innerHTML=a,i.highlightElement(e),t.selection.select(e)})})},A=function(e){return x(e).fold(function(){return""},function(e){return e.textContent})},_=function(e){return e.settings.codesample_languages},N=function(e){var t=_(e);return t||[{text:"HTML/XML",value:"markup"},{text:"JavaScript",value:"javascript"},{text:"CSS",value:"css"},{text:"PHP",value:"php"},{text:"Ruby",value:"ruby"},{text:"Python",value:"python"},{text:"Java",value:"java"},{text:"C",value:"c"},{text:"C#",value:"csharp"},{text:"C++",value:"cpp"}]},O=function(e,n){return S(e).fold(function(){return n},function(e){var t=e.className.match(/language-(\w+)/);return t?t[1]:n})},z=(u="function",function(e){return function(e){if(null===e)return"null";var t=typeof e;return"object"===t&&Array.prototype.isPrototypeOf(e)?"array":"object"===t&&String.prototype.isPrototypeOf(e)?"string":t}(e)===u}),P=(Array.prototype.slice,z(Array.from)&&Array.from,function(n){var e,t=N(n),a=(e=t,0===e.length?w.none():w.some(e[0])).fold(function(){return""},function(e){return e.value}),r=O(n,a),i=A(n);n.windowManager.open({title:"Insert/Edit Code Sample",size:"large",body:{type:"panel",items:[{type:"selectbox",name:"language",label:"Language",items:t},{type:"textarea",name:"code",label:"Code view"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{language:r,code:i},onSubmit:function(e){var t=e.getData();C(n,t.language,t.code),e.close()}})}),W=function(t){t.addCommand("codesample",function(){var e=t.selection.getNode();t.selection.isCollapsed()||d.isCodeSample(e)?P(t):t.formatter.toggle("code")})},j=function(n){var r=n.$;n.on("PreProcess",function(e){r("pre[contenteditable=false]",e.node).filter(d.trimArg(d.isCodeSample)).each(function(e,t){var n=r(t),a=t.textContent;n.attr("class",r.trim(n.attr("class"))),n.removeAttr("contentEditable"),n.empty().append(r("").each(function(){this.textContent=a}))})}),n.on("SetContent",function(){var e=r("pre").filter(d.trimArg(d.isCodeSample)).filter(function(e,t){return"false"!==t.contentEditable});e.length&&n.undoManager.transact(function(){e.each(function(e,t){r(t).find("br").each(function(e,t){t.parentNode.replaceChild(n.getDoc().createTextNode("\n"),t)}),t.contentEditable="false",t.innerHTML=n.dom.encode(t.textContent),i.highlightElement(t),t.className=r.trim(t.className)})})})},T=function(a){a.ui.registry.addToggleButton("codesample",{icon:"code-sample",tooltip:"Insert/edit code sample",onAction:function(){return P(a)},onSetup:function(n){var e=function(){var e,t;n.setActive((t=(e=a).selection.getStart(),e.dom.is(t,"pre.language-markup")))};return a.on("NodeChange",e),function(){return a.off("NodeChange",e)}}}),a.ui.registry.addMenuItem("codesample",{text:"Code sample...",icon:"code-sample",onAction:function(){return P(a)}})};e.add("codesample",function(t,e){j(t),T(t),W(t),t.on("dblclick",function(e){d.isCodeSample(e.target)&&P(t)})}),function F(){}}(window); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/colorpicker/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/colorpicker/plugin.min.js index a6da4798..8f547692 100755 --- a/bl-plugins/tinymce/tinymce/plugins/colorpicker/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/colorpicker/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.5 (2019-05-09) + * Version: 5.0.6 (2019-05-22) */ !function(o){"use strict";tinymce.util.Tools.resolve("tinymce.PluginManager").add("colorpicker",function(){o.console.warn("Color picker plugin is now built in to the core editor, please remove it from your editor configuration")}),function i(){}}(window); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/contextmenu/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/contextmenu/plugin.min.js index 77ee2b60..5abf27bb 100755 --- a/bl-plugins/tinymce/tinymce/plugins/contextmenu/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/contextmenu/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.5 (2019-05-09) + * Version: 5.0.6 (2019-05-22) */ !function(n){"use strict";tinymce.util.Tools.resolve("tinymce.PluginManager").add("contextmenu",function(){n.console.warn("Context menu plugin is now built in to the core editor, please remove it from your editor configuration")}),function o(){}}(window); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/directionality/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/directionality/plugin.min.js index 8b0a632c..e8475536 100755 --- a/bl-plugins/tinymce/tinymce/plugins/directionality/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/directionality/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.5 (2019-05-09) + * Version: 5.0.6 (2019-05-22) */ !function(c){"use strict";var n,t,e,r,o=tinymce.util.Tools.resolve("tinymce.PluginManager"),u=tinymce.util.Tools.resolve("tinymce.util.Tools"),i=function(n,t){var e,r=n.dom,o=n.selection.getSelectedBlocks();o.length&&(e=r.getAttrib(o[0],"dir"),u.each(o,function(n){r.getParent(n.parentNode,'*[dir="'+t+'"]',r.getRoot())||r.setAttrib(n,"dir",e!==t?t:null)}),n.nodeChanged())},f=function(n){n.addCommand("mceDirectionLTR",function(){i(n,"ltr")}),n.addCommand("mceDirectionRTL",function(){i(n,"rtl")})},d=function(n){return function(){return n}},l=d(!1),a=d(!0),N=l,m=a,s=function(){return T},T=(r={fold:function(n,t){return n()},is:N,isSome:N,isNone:m,getOr:e=function(n){return n},getOrThunk:t=function(n){return n()},getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:e,orThunk:t,map:s,ap:s,each:function(){},bind:s,flatten:s,exists:N,forall:m,filter:s,equals:n=function(n){return n.isNone()},equals_:n,toArray:function(){return[]},toString:d("none()")},Object.freeze&&Object.freeze(r),r),g=function(e){var n=function(){return e},t=function(){return o},r=function(n){return n(e)},o={fold:function(n,t){return t(e)},is:function(n){return e===n},isSome:m,isNone:N,getOr:n,getOrThunk:n,getOrDie:n,getOrNull:n,getOrUndefined:n,or:t,orThunk:t,map:function(n){return g(n(e))},ap:function(n){return n.fold(s,function(n){return g(n(e))})},each:function(n){n(e)},bind:r,flatten:n,exists:r,forall:r,filter:function(n){return n(e)?o:T},equals:function(n){return n.is(e)},equals_:function(n,t){return n.fold(N,function(n){return t(e,n)})},toArray:function(){return[e]},toString:function(){return"some("+e+")"}};return o},O=function(n){return null===n||n===undefined?T:g(n)},E=function(n){if(null===n||n===undefined)throw new Error("Node cannot be null or undefined");return{dom:d(n)}},y={fromHtml:function(n,t){var e=(t||c.document).createElement("div");if(e.innerHTML=n,!e.hasChildNodes()||1Could not load emoticons

    "}]},buttons:[{type:"cancel",text:"Close",primary:!0}],initialData:{pattern:"",results:[]}}),s.focus(J),s.unblock()}))},Q=function(n,t){var e=function(){return K(n,t)};n.ui.registry.addButton("emoticons",{tooltip:"Emoticons",icon:"emoji",onAction:e}),n.ui.registry.addMenuItem("emoticons",{text:"Emoticons...",icon:"emoji",onAction:e})};i.add("emoticons",function(n,t){var r,o,e=I(n,t),i=H(n,e);Q(n,i),o=i,(r=n).ui.registry.addAutocompleter("emoticons",{ch:":",columns:"auto",minChars:2,fetch:function(t,e){return o.waitForLoad().then(function(){var n=o.listAll();return A(n,t,v.some(e))})},onAction:function(n,t,e){r.selection.setRng(t),r.insertContent(e),n.hide()}})}),function W(){}}(window); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/fullpage/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/fullpage/plugin.min.js index a1df4849..5bc50848 100755 --- a/bl-plugins/tinymce/tinymce/plugins/fullpage/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/fullpage/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.5 (2019-05-09) + * Version: 5.0.6 (2019-05-22) */ !function(m){"use strict";var o,i=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return i(n())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),g=tinymce.util.Tools.resolve("tinymce.util.Tools"),t=tinymce.util.Tools.resolve("tinymce.html.DomParser"),f=tinymce.util.Tools.resolve("tinymce.html.Node"),p=tinymce.util.Tools.resolve("tinymce.html.Serializer"),h=function(e){return e.getParam("fullpage_hide_in_source_view")},l=function(e){return e.getParam("fullpage_default_xml_pi")},a=function(e){return e.getParam("fullpage_default_encoding")},c=function(e){return e.getParam("fullpage_default_font_family")},s=function(e){return e.getParam("fullpage_default_font_size")},u=function(e){return e.getParam("fullpage_default_text_color")},d=function(e){return e.getParam("fullpage_default_title")},y=function(e){return e.getParam("fullpage_default_doctype","")},v=function(e){return t({validate:!1,root_name:"#document"}).parse(e)},_=v,n=function(e,t){var n,i,r=v(t),l={};function o(e,t){return e.attr(t)||""}return l.fontface=c(e),l.fontsize=s(e),7===(n=r.firstChild).type&&(l.xml_pi=!0,(i=/encoding="([^"]+)"/.exec(n.value))&&(l.docencoding=i[1])),(n=r.getAll("#doctype")[0])&&(l.doctype=""),(n=r.getAll("title")[0])&&n.firstChild&&(l.title=n.firstChild.value),g.each(r.getAll("meta"),function(e){var t,n=e.attr("name"),i=e.attr("http-equiv");n?l[n.toLowerCase()]=e.attr("content"):"Content-Type"===i&&(t=/charset\s*=\s*(.*)\s*/gi.exec(e.attr("content")))&&(l.docencoding=t[1])}),(n=r.getAll("html")[0])&&(l.langcode=o(n,"lang")||o(n,"xml:lang")),l.stylesheets=[],g.each(r.getAll("link"),function(e){"stylesheet"===e.attr("rel")&&l.stylesheets.push(e.attr("href"))}),(n=r.getAll("body")[0])&&(l.langdir=o(n,"dir"),l.style=o(n,"style"),l.visited_color=o(n,"vlink"),l.link_color=o(n,"link"),l.active_color=o(n,"alink")),l},b=function(e,l,t){var o,n,i,a,r,c=e.dom;function s(e,t,n){e.attr(t,n||undefined)}function u(e){n.firstChild?n.insert(e,n.firstChild):n.append(e)}o=v(t),(n=o.getAll("head")[0])||(a=o.getAll("html")[0],n=new f("head",1),a.firstChild?a.insert(n,a.firstChild,!0):a.append(n)),a=o.firstChild,l.xml_pi?(r='version="1.0"',l.docencoding&&(r+=' encoding="'+l.docencoding+'"'),7!==a.type&&(a=new f("xml",7),o.insert(a,o.firstChild,!0)),a.value=r):a&&7===a.type&&a.remove(),a=o.getAll("#doctype")[0],l.doctype?(a||(a=new f("#doctype",10),l.xml_pi?o.insert(a,o.firstChild):u(a)),a.value=l.doctype.substring(9,l.doctype.length-1)):a&&a.remove(),a=null,g.each(o.getAll("meta"),function(e){"Content-Type"===e.attr("http-equiv")&&(a=e)}),l.docencoding?(a||((a=new f("meta",1)).attr("http-equiv","Content-Type"),a.shortEnded=!0,u(a)),a.attr("content","text/html; charset="+l.docencoding)):a&&a.remove(),a=o.getAll("title")[0],l.title?(a?a.empty():u(a=new f("title",1)),a.append(new f("#text",3)).value=l.title):a&&a.remove(),g.each("keywords,description,author,copyright,robots".split(","),function(e){var t,n,i=o.getAll("meta"),r=l[e];for(t=0;t"))},x=Object.prototype.hasOwnProperty,C=(o=function(e,t){return t},function(){for(var e=new Array(arguments.length),t=0;t/g,function(e,t){return unescape(t)})},P=g.each,T=function(e){return e.replace(/<\/?[A-Z]+/g,function(e){return e.toLowerCase()})},O=function(e){var t,n="",i="";if(l(e)){var r=a(e);n+='\n'}return n+=y(e),n+="\n\n\n",(t=d(e))&&(n+=""+t+"\n"),(t=a(e))&&(n+='\n'),(t=c(e))&&(i+="font-family: "+t+";"),(t=s(e))&&(i+="font-size: "+t+";"),(t=u(e))&&(i+="color: "+t+";"),n+="\n\n"},D=function(l,o,a){l.on("BeforeSetContent",function(e){!function(e,t,n,i){var r,l,o,a,c="",s=e.dom;if(!(i.selection||(o=w(e.settings.protect,i.content),"raw"===i.format&&t.get()||i.source_view&&h(e)))){0!==o.length||i.source_view||(o=g.trim(t.get())+"\n"+g.trim(o)+"\n"+g.trim(n.get())),-1!==(r=(o=o.replace(/<(\/?)BODY/gi,"<$1body")).indexOf("",r),t.set(T(o.substring(0,r+1))),-1===(l=o.indexOf("\n")),a=_(t.get()),P(a.getAll("style"),function(e){e.firstChild&&(c+=e.firstChild.value)});var u=a.getAll("body")[0];u&&s.setAttribs(e.getBody(),{style:u.attr("style")||"",dir:u.attr("dir")||"",vLink:u.attr("vlink")||"",link:u.attr("link")||"",aLink:u.attr("alink")||""}),s.remove("fullpage_styles");var d=e.getDoc().getElementsByTagName("head")[0];c&&s.add(d,"style",{id:"fullpage_styles"}).appendChild(m.document.createTextNode(c));var f={};g.each(d.getElementsByTagName("link"),function(e){"stylesheet"===e.rel&&e.getAttribute("data-mce-fullpage")&&(f[e.href]=e)}),g.each(a.getAll("link"),function(e){var t=e.attr("href");if(!t)return!0;f[t]||"stylesheet"!==e.attr("rel")||s.add(d,"link",{rel:"stylesheet",text:"text/css",href:t,"data-mce-fullpage":"1"}),delete f[t]}),g.each(f,function(e){e.parentNode.removeChild(e)})}}(l,o,a,e)}),l.on("GetContent",function(e){var t,n,i,r;t=l,n=o.get(),i=a.get(),(r=e).selection||r.source_view&&h(t)||(r.content=A(g.trim(n)+"\n"+g.trim(r.content)+"\n"+g.trim(i)))})},E=function(e){e.ui.registry.addButton("fullpage",{tooltip:"Metadata and document properties",icon:"document-properties",onAction:function(){e.execCommand("mceFullPageProperties")}}),e.ui.registry.addMenuItem("fullpage",{text:"Metadata and document properties",icon:"document-properties",onAction:function(){e.execCommand("mceFullPageProperties")}})};e.add("fullpage",function(e){var t=i(""),n=i("");k(e,t),E(e),D(e,t,n)}),function z(){}}(window); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/fullscreen/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/fullscreen/plugin.min.js index 733750de..fed5aaf2 100755 --- a/bl-plugins/tinymce/tinymce/plugins/fullscreen/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/fullscreen/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.5 (2019-05-09) + * Version: 5.0.6 (2019-05-22) */ !function(g){"use strict";var i=function(e){var n=e,t=function(){return n};return{get:t,set:function(e){n=e},clone:function(){return i(t())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(e){return{isFullscreen:function(){return null!==e.get()}}},n=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),m=function(e,n){e.fire("FullscreenStateChanged",{state:n})},w=n.DOM,r=function(e,n){var t,r,o,i,l,c,u=g.document.body,s=g.document.documentElement,d=n.get(),a=function(){var e,n,t,i;w.setStyle(o,"height",(t=g.window,i=g.document.body,i.offsetWidth&&(e=i.offsetWidth,n=i.offsetHeight),t.innerWidth&&t.innerHeight&&(e=t.innerWidth,n=t.innerHeight),{w:e,h:n}).h-(r.clientHeight-o.clientHeight))},f=function(){w.unbind(g.window,"resize",a)};if(t=(r=e.getContainer()).style,i=(o=e.getContentAreaContainer().firstChild).style,d)i.width=d.iframeWidth,i.height=d.iframeHeight,d.containerWidth&&(t.width=d.containerWidth),d.containerHeight&&(t.height=d.containerHeight),w.removeClass(u,"tox-fullscreen"),w.removeClass(s,"tox-fullscreen"),w.removeClass(r,"tox-fullscreen"),l=d.scrollPos,g.window.scrollTo(l.x,l.y),w.unbind(g.window,"resize",d.resizeHandler),e.off("remove",d.removeHandler),n.set(null),m(e,!1);else{var h={scrollPos:(c=w.getViewPort(),{x:c.x,y:c.y}),containerWidth:t.width,containerHeight:t.height,iframeWidth:i.width,iframeHeight:i.height,resizeHandler:a,removeHandler:f};i.width=i.height="100%",t.width=t.height="",w.addClass(u,"tox-fullscreen"),w.addClass(s,"tox-fullscreen"),w.addClass(r,"tox-fullscreen"),w.bind(g.window,"resize",a),e.on("remove",f),a(),n.set(h),m(e,!0)}},o=function(e,n){e.addCommand("mceFullScreen",function(){r(e,n)})},l=function(t,i){return function(n){n.setActive(null!==i.get());var e=function(e){return n.setActive(e.state)};return t.on("FullscreenStateChanged",e),function(){return t.off("FullscreenStateChanged",e)}}},c=function(e,n){e.ui.registry.addToggleMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Meta+Shift+F",onAction:function(){return e.execCommand("mceFullScreen")},onSetup:l(e,n)}),e.ui.registry.addToggleButton("fullscreen",{tooltip:"Fullscreen",icon:"fullscreen",onAction:function(){return e.execCommand("mceFullScreen")},onSetup:l(e,n)})};e.add("fullscreen",function(e){var n=i(null);return e.settings.inline||(o(e,n),c(e,n),e.addShortcut("Meta+Shift+F","","mceFullScreen")),t(n)}),function u(){}}(window); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/help/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/help/plugin.min.js index a988b779..f58b9a07 100755 --- a/bl-plugins/tinymce/tinymce/plugins/help/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/help/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.5 (2019-05-09) + * Version: 5.0.6 (2019-05-22) */ !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(e){return function(){return e}};function d(r){for(var a=[],e=1;e${name}'),f=function(t,n){return function(e,t){for(var n=0,r=e.length;n'+(r=n,i=P((a=r).plugins),c=a.settings.forced_plugins===undefined?i:function(e,t){for(var n=[],r=0,a=e.length;r"+f(r,e)+""}),s=u.length,l=u.join(""),"

    "+x.translate(["Plugins installed ({0}):",s])+"

      "+l+"
    ")+""),(t=b(["Accessibility Checker","Advanced Code Editor","Case Change","Checklist","Tiny Comments","Tiny Drive","Enhanced Media Embed","Format Painter","Link Checker","Mentions","MoxieManager","Page Embed","Permanent Pen","PowerPaste","Spell Checker Pro"],function(e){return"
  • "+x.translate(e)+"
  • "}).join(""),'

    '+x.translate("Premium plugins:")+"

    ")].join("")}]}},E=tinymce.util.Tools.resolve("tinymce.EditorManager"),H=function(){var e,t,n='TinyMCE '+(e=E.majorVersion,t=E.minorVersion,0===e.indexOf("@")?"X.X.X":e+"."+t)+"";return{type:"htmlpanel",html:"

    "+x.translate(["You are using {0}",n])+"

    ",presets:"document"}},j=function(e){return e.getParam("help_version",H,"function")()},D=function(e){return{title:"Version",items:[j(e)]}},I=function(t){return function(){var e={type:"tabpanel",tabs:[w(),F(t),D(t)]};t.windowManager.open({title:"Help",size:"medium",body:e,buttons:[{type:"cancel",name:"close",text:"Close",primary:!0}],initialData:{}})}},L=function(e){e.addCommand("mceHelp",I(e))},B=function(e){e.ui.registry.addButton("help",{icon:"help",tooltip:"Help",onAction:I(e)}),e.ui.registry.addMenuItem("help",{text:"Help",icon:"help",shortcut:"Alt+0",onAction:I(e)})};e.add("help",function(e){B(e),L(e),e.shortcuts.add("Alt+0","Open help dialog","mceHelp")}),function N(){}}(); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/hr/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/hr/plugin.min.js index 96748685..ff6b841d 100755 --- a/bl-plugins/tinymce/tinymce/plugins/hr/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/hr/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.5 (2019-05-09) + * Version: 5.0.6 (2019-05-22) */ !function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager"),o=function(n){n.addCommand("InsertHorizontalRule",function(){n.execCommand("mceInsertContent",!1,"
    ")})},t=function(n){n.ui.registry.addButton("hr",{icon:"horizontal-rule",tooltip:"Horizontal line",onAction:function(){return n.execCommand("InsertHorizontalRule")}}),n.ui.registry.addMenuItem("hr",{icon:"horizontal-rule",text:"Horizontal line",onAction:function(){return n.execCommand("InsertHorizontalRule")}})};n.add("hr",function(n){o(n),t(n)}),function e(){}}(); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/image/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/image/plugin.min.js index b38892a0..57f7d517 100755 --- a/bl-plugins/tinymce/tinymce/plugins/image/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/image/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.5 (2019-05-09) + * Version: 5.0.6 (2019-05-22) */ -!function(s){"use strict";var e,n,t,r,i=tinymce.util.Tools.resolve("tinymce.PluginManager"),o=function(){for(var e=[],n=0;n'+n+"")}else e.insertContent(f(e,t));var i,o,u,c,m},g=f,y=function(e){e.addCommand("mceInsertDate",function(){p(e,t(e))}),e.addCommand("mceInsertTime",function(){p(e,a(e))})},M=tinymce.util.Tools.resolve("tinymce.util.Tools"),S=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return S(n())}}},v=function(n){var t=i(n),r=S(o(n));n.ui.registry.addSplitButton("insertdatetime",{icon:"insert-time",tooltip:"Insert date/time",select:function(e){return e===r.get()},fetch:function(e){e(M.map(t,function(e){return{type:"choiceitem",text:g(n,e),value:e}}))},onAction:function(){for(var e=[],t=0;t'),o.close()}}var i,u},N=function(){for(var n=[],t=0;t]+>[^<]+<\/a>$/.test(n)||-1===n.indexOf("href=")))},an=J,cn=function(n,t){var e=t?t.innerText||t.textContent:n.getContent({format:"text"});return e.replace(/\uFEFF/g,"")},ln=G,fn=function(n,t){for(var e=0;e=e.childNodes.length?t.data.length:0}:t.previousSibling&&h(t.previousSibling)?{container:t.previousSibling,offset:t.previousSibling.data.length}:t.nextSibling&&h(t.nextSibling)?{container:t.nextSibling,offset:0}:{container:e,offset:n}},A=function(e){var n=e.cloneRange(),t=k(e.startContainer,e.startOffset);n.setStart(t.container,t.offset);var r=k(e.endContainer,e.endOffset);return n.setEnd(r.container,r.offset),n},x=m.DOM,R=function(o){var i={},e=function(e){var n,t,r;t=o[e?"startContainer":"endContainer"],r=o[e?"startOffset":"endOffset"],1===t.nodeType&&(n=x.create("span",{"data-mce-type":"bookmark"}),t.hasChildNodes()?(r=Math.min(r,t.childNodes.length-1),e?t.insertBefore(n,t.childNodes[r]):x.insertAfter(n,t.childNodes[r])):t.appendChild(n),t=n,r=0),i[e?"startContainer":"endContainer"]=t,i[e?"startOffset":"endOffset"]=r};return e(!0),o.collapsed||e(),i},I=function(o){function e(e){var n,t,r;n=r=o[e?"startContainer":"endContainer"],t=o[e?"startOffset":"endOffset"],n&&(1===n.nodeType&&(t=function(e){for(var n=e.parentNode.firstChild,t=0;n;){if(n===e)return t;1===n.nodeType&&"bookmark"===n.getAttribute("data-mce-type")||t++,n=n.nextSibling}return-1}(n),n=n.parentNode,x.remove(r),!n.hasChildNodes()&&x.isBlock(n)&&n.appendChild(x.create("br"))),o[e?"startContainer":"endContainer"]=n,o[e?"startOffset":"endOffset"]=t)}e(!0),e();var n=x.createRng();return n.setStart(o.startContainer,o.startOffset),o.endContainer&&n.setEnd(o.endContainer,o.endOffset),A(n)},_=function(e){return function(){return e}},B=function(t){return function(){for(var e=[],n=0;ne.length?On(t,e,n):Sn(t,e,n)},[]),ue(o).map(function(e){return e.list})).toArray();var t,r,o},Un=function(a,e,s){var n,t,r,o,i,u=(n=e,o=a,i=Q(ye.getSelectedListItems(o),Se.fromDom),t=Oe([ee(i,B(bn)),ee(ie(i),B(bn))],function(e,n){return{start:e,end:n}}),r=An(!1),Q(n,function(e){return{sourceList:e,entries:Rn(0,t,r,e)}}));Y(u,function(e){var n,t;n=e.entries,t=s,Y(G(n,Ln),function(e){return function(e,n){switch(e){case"Indent":n.depth++;break;case"Outdent":n.depth--;break;case"Flatten":n.depth=0}}(t,e)});var r,o,i,u=(r=a,o=e.entries,re(J(o,Tn),function(e){return ue(e).map(Tn).getOr(!1)?Mn(r,e):Pn(r,e)}));Y(u,function(e){Bn(a,"Indent"===s?"IndentList":"OutdentList",e.dom())}),i=e.sourceList,Y(u,function(e){cn(i,e)}),ln(e.sourceList)})},Fn=m.DOM,jn=function(e,n,t){var r,o,i,u,a,s;for(i=Fn.select('span[data-mce-type="bookmark"]',n),a=_n(e,t),(r=Fn.createRng()).setStartAfter(t),r.setEndAfter(n),u=(o=r.extractContents()).firstChild;u;u=u.firstChild)if("LI"===u.nodeName&&e.dom.isEmpty(u)){Fn.remove(u);break}e.dom.isEmpty(o)||Fn.insertAfter(o,n),Fn.insertAfter(a,n),E(e.dom,t.parentNode)&&(s=t.parentNode,v.each(i,function(e){s.parentNode.insertBefore(e,t.parentNode)}),Fn.remove(s)),Fn.remove(t),E(e.dom,n)&&Fn.remove(n)},Hn=function(e){tn(e,"DT")&&yn(e,"DD")},$n=function(r,e,n){Y(n,"Indent"===e?Hn:function(e){return n=r,void(tn(t=e,"DD")?yn(t,"DT"):tn(t,"DT")&&rn(t).each(function(e){return jn(n,e.dom(),t.dom())}));var n,t})},qn=function(e,n){var t=Q(ye.getSelectedListRoots(e),Se.fromDom),r=Q(ye.getSelectedDlItems(e),Se.fromDom),o=!1;if(t.length||r.length){var i=e.selection.getBookmark();Un(e,t,n),$n(e,n,r),e.selection.moveToBookmark(i),e.selection.setRng(A(e.selection.getRng())),e.nodeChanged(),o=!0}return o},Wn=function(e){return qn(e,"Indent")},zn=function(e){return qn(e,"Outdent")},Kn=function(e){return qn(e,"Flatten")},Vn=function(e){return/\btox\-/.test(e.className)},Xn=function(e){switch(e){case"UL":return"ToggleUlList";case"OL":return"ToggleOlList";case"DL":return"ToggleDLList"}},Qn=function(t,e){v.each(e,function(e,n){t.setAttribute(n,e)})},Yn=function(e,n,t){var r,o,i,u,a,s,c;r=e,o=n,u=(i=t)["list-style-type"]?i["list-style-type"]:null,r.setStyle(o,"list-style-type",u),a=e,Qn(s=n,(c=t)["list-attributes"]),v.each(a.select("li",s),function(e){Qn(e,c["list-item-attributes"])})},Gn=function(e,n,t,r){var o,i;for(o=n[t?"startContainer":"endContainer"],i=n[t?"startOffset":"endOffset"],1===o.nodeType&&(o=o.childNodes[Math.min(i,o.childNodes.length-1)]||o),!t&&b(o.nextSibling)&&(o=o.nextSibling);o.parentNode!==r;){if(T(e,o))return o;if(/^(TD|TH)$/.test(o.parentNode.nodeName))return o;o=o.parentNode}return o},Jn=function(f,d,l){void 0===l&&(l={});var e,n=f.selection.getRng(!0),m="LI",t=ye.getClosestListRootElm(f,f.selection.getStart(!0)),g=f.dom;"false"!==g.getContentEditable(f.selection.getNode())&&("DL"===(d=d.toUpperCase())&&(m="DT"),e=R(n),v.each(function(t,e,r){for(var o,i=[],u=t.dom,n=Gn(t,e,!0,r),a=Gn(t,e,!1,r),s=[],c=n;c&&(s.push(c),c!==a);c=c.nextSibling);return v.each(s,function(e){if(T(t,e))return i.push(e),void(o=null);if(u.isBlock(e)||b(e))return b(e)&&u.remove(e),void(o=null);var n=e.nextSibling;p.isBookmarkNode(e)&&(T(t,n)||!n&&e.parentNode===r)?o=null:(o||(o=u.create("p"),e.parentNode.insertBefore(o,e),i.push(o)),o.appendChild(e))}),i}(f,n,t),function(e){var n,t,r,o,i,u,a,s,c;(t=e.previousSibling)&&y(t)&&t.nodeName===d&&(r=t,o=l,i=g.getStyle(r,"list-style-type"),u=o?o["list-style-type"]:"",i===(u=null===u?"":u))?(n=t,e=g.rename(e,m),t.appendChild(e)):(n=g.create(d),e.parentNode.insertBefore(n,e),n.appendChild(e),e=g.rename(e,m)),a=g,s=e,c=["margin","margin-right","margin-bottom","margin-left","margin-top","padding","padding-right","padding-bottom","padding-left","padding-top"],v.each(c,function(e){var n;return a.setStyle(s,((n={})[e]="",n))}),Yn(g,n,l),et(f.dom,n)}),f.selection.setRng(I(e)))},Zn=function(e,n,t){return s=t,(a=n)&&s&&y(a)&&a.nodeName===s.nodeName&&(i=n,u=t,(o=e).getStyle(i,"list-style-type",!0)===o.getStyle(u,"list-style-type",!0))&&(r=t,n.className===r.className);var r,o,i,u,a,s},et=function(e,n){var t,r;if(t=n.nextSibling,Zn(e,n,t)){for(;r=t.firstChild;)n.appendChild(r);e.remove(t)}if(t=n.previousSibling,Zn(e,n,t)){for(;r=t.lastChild;)n.insertBefore(r,n.firstChild);e.remove(t)}},nt=function(n,e,t,r,o){if(e.nodeName!==r||tt(o)){var i=R(n.selection.getRng(!0));v.each([e].concat(t),function(e){!function(e,n,t,r){if(n.nodeName!==t){var o=e.dom.rename(n,t);Yn(e.dom,o,r),Bn(e,Xn(t),o)}else Yn(e.dom,n,r),Bn(e,Xn(t),n)}(n,e,r,o)}),n.selection.setRng(I(i))}else Kn(n)},tt=function(e){return"list-style-type"in e},rt={toggleList:function(e,n,t){var r=ye.getParentList(e),o=ye.getSelectedSubLists(e);t=t||{},r&&0"):"application/x-shockwave-flash"===n.source1mime?(d='',m.poster&&(d+=''),d+=""):-1!==n.source1mime.indexOf("audio")?(s=n,(l=p)?l(s):'"):"script"===n.type?' From a1bb333153fa8ba29a88cfba423d810f509a2b37 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Tue, 28 May 2019 20:49:29 +0200 Subject: [PATCH 085/122] Prevent non-administrators to change the password from other users --- bl-kernel/admin/controllers/user-password.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/bl-kernel/admin/controllers/user-password.php b/bl-kernel/admin/controllers/user-password.php index 0f86abb7..8a7e8c9d 100644 --- a/bl-kernel/admin/controllers/user-password.php +++ b/bl-kernel/admin/controllers/user-password.php @@ -13,8 +13,14 @@ // ============================================================================ if ($_SERVER['REQUEST_METHOD'] == 'POST') { + // Prevent non-administrators to change other users + $username = $_POST['username']; + if ($login->role()!=='admin') { + $username = $login->username(); + } + if (changeUserPassword(array( - 'username'=>$_POST['username'], + 'username'=>$username, 'newPassword'=>$_POST['newPassword'], 'confirmPassword'=>$_POST['confirmPassword'] ))) { From 237d28d39695176346c87c35111d1fee174872b4 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Tue, 28 May 2019 21:04:15 +0200 Subject: [PATCH 086/122] Prevent show Disqus in page not found --- bl-plugins/disqus/plugin.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bl-plugins/disqus/plugin.php b/bl-plugins/disqus/plugin.php index 4ae5e506..a718bec8 100644 --- a/bl-plugins/disqus/plugin.php +++ b/bl-plugins/disqus/plugin.php @@ -55,8 +55,14 @@ class pluginDisqus extends Plugin { public function pageEnd() { + global $url; global $WHERE_AM_I; + // Do not shows + if ($url->notFound()) { + return false; + } + if ($WHERE_AM_I==='page') { global $page; if ($page->published() && $this->getValue('enablePages')) { From 6ae0f06ca91620b8c871ce2676524dd54b64f3f6 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Wed, 29 May 2019 16:20:45 +0200 Subject: [PATCH 087/122] Include preview word --- bl-languages/ar_MA.json | 3 +- bl-languages/bg_BG.json | 3 +- bl-languages/cs_CZ.json | 3 +- bl-languages/de_AT.json | 698 ++++++++++++++++++++-------------------- bl-languages/de_CH.json | 5 +- bl-languages/de_DE.json | 5 +- bl-languages/en.json | 3 +- bl-languages/es.json | 3 +- bl-languages/fa_IR.json | 3 +- bl-languages/fi_FI.json | 3 +- bl-languages/fr_FR.json | 3 +- bl-languages/gr.json | 3 +- bl-languages/he_IL.json | 3 +- bl-languages/hu_HU.json | 3 +- bl-languages/it_IT.json | 3 +- bl-languages/ja_JP.json | 3 +- bl-languages/ms_MY.json | 3 +- bl-languages/nl_NL.json | 3 +- bl-languages/pl_PL.json | 3 +- bl-languages/pt_BR.json | 3 +- bl-languages/pt_PT.json | 3 +- bl-languages/ro_RO.json | 3 +- bl-languages/ru_RU.json | 3 +- bl-languages/tr_TR.json | 3 +- bl-languages/uk_UA.json | 3 +- bl-languages/vi_VN.json | 3 +- bl-languages/zh_CN.json | 3 +- bl-languages/zh_TW.json | 3 +- 28 files changed, 404 insertions(+), 379 deletions(-) diff --git a/bl-languages/ar_MA.json b/bl-languages/ar_MA.json index bd302018..d79a557c 100644 --- a/bl-languages/ar_MA.json +++ b/bl-languages/ar_MA.json @@ -385,5 +385,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/bg_BG.json b/bl-languages/bg_BG.json index 63825910..9fabcede 100644 --- a/bl-languages/bg_BG.json +++ b/bl-languages/bg_BG.json @@ -385,5 +385,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/cs_CZ.json b/bl-languages/cs_CZ.json index da8b8f90..7868b000 100644 --- a/bl-languages/cs_CZ.json +++ b/bl-languages/cs_CZ.json @@ -386,5 +386,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/de_AT.json b/bl-languages/de_AT.json index c66759ec..d39509a9 100644 --- a/bl-languages/de_AT.json +++ b/bl-languages/de_AT.json @@ -1,393 +1,391 @@ { "language-data": { - "native": "Deutsch (Österreich)", - "english-name": "German (Austria)", - "locale": "de, de_AT", - "last-update": "2019-05-28", + "native": "English", + "english-name": "English", + "locale": "en, en_US, en_AU, en_CA, en_GB, en_IE, en_NZ", + "last-update": "2018-08-09", "authors": [ + "Diego @dignajar", "Clickwork https:\/\/clickwork.ch", - "blog2read https:\/\/github.com\/blog2read", - "cblte https:\/\/github.com\/cblte", - "MoritzBrueckner https:\/\/github.com\/MoritzBrueckner", - "SamBrishes https:\/\/www.pytes.net", + "xm74", "" ] }, "dates": { - "Mon": "Mo", - "Tue": "Di", - "Wed": "Mi", - "Thu": "Do", - "Fri": "Fr", - "Sat": "Sa", - "Sun": "So", - "Monday": "Montag", - "Tuesday": "Dienstag", - "Wednesday": "Mittwoch", - "Thursday": "Donnerstag", - "Friday": "Freitag", - "Saturday": "Samstag", - "Sunday": "Sonntag", + "Mon": "Mon", + "Tue": "Tue", + "Wed": "Wed", + "Thu": "Thu", + "Fri": "Fri", + "Sat": "Sat", + "Sun": "Sun", + "Monday": "Monday", + "Tuesday": "Tuesday", + "Wednesday": "Wednesday", + "Thursday": "Thursday", + "Friday": "Friday", + "Saturday": "Saturday", + "Sunday": "Sunday", "Jan": "Jan", "Feb": "Feb", - "Mar": "Mär", + "Mar": "Mar", "Apr": "Apr", "Jun": "Jun", "Jul": "Jul", "Aug": "Aug", "Sep": "Sep", - "Oct": "Okt", + "Oct": "Oct", "Nov": "Nov", - "Dec": "Dez", - "January": "Jänner", - "February": "Februar", - "March": "März", + "Dec": "Dec", + "January": "January", + "February": "February", + "March": "March", "April": "April", - "May": "Mai", - "June": "Juni", - "July": "Juli", + "May": "May", + "June": "June", + "July": "July", "August": "August", "September": "September", - "October": "Oktober", + "October": "October", "November": "November", - "December": "Dezember" + "December": "December" }, "dashboard": "Dashboard", - "manage-users": "Benutzer verwalten", - "manage-categories": "Kategorien verwalten", - "general-settings": "Allgemeine Einstellungen", - "advanced-settings": "Erweiterte Einstellungen", - "thanks-for-support-bludit": "Vielen Dank für die Unterstützung von Bludit!", - "upgrade-to-bludit-pro": "Upgrade auf Bludit PRO", - "language": "Sprache\/Zeitzone", + "manage-users": "Manage users", + "manage-categories": "Manage categories", + "general-settings": "General settings", + "advanced-settings": "Advanced settings", + "thanks-for-support-bludit": "Thanks for support Bludit", + "upgrade-to-bludit-pro": "Upgrade to Bludit PRO", + "language": "Language", "plugin": "Plugin", "plugins": "Plugins", - "developers": "Entwickler", + "developers": "Developers", "themes": "Themes", - "about": "Über", + "about": "About", "url": "URL", - "welcome": "Willkommen", - "logout": "Abmelden", + "welcome": "Welcome", + "logout": "Log out", "website": "Website", - "publish": "Veröffentlichen", - "manage": "Verwalten", - "content": "Inhalte", - "category": "Kategorie", - "categories": "Kategorien", - "users": "Benutzer", - "settings": "Einstellungen", - "general": "Allgemein", - "advanced": "Erweitert", - "new-content": "Neuer Inhalt", - "manage-content": "Inhalte verwalten", - "add-new-content": "Neuen Inhalt erstellen", - "new-category": "Neue Kategorie", - "you-do-not-have-sufficient-permissions": "Keine Berechtigung, diese Seite aufzurufen.", - "add-a-new-user": "Neuer Benutzer", - "url-associated-with-the-content": "Der URL kann selbst angepasst werden.", - "language-and-timezone": "Sprache und Zeitzone", - "change-your-language-and-region-settings": "Sprache ändern und Lokalisierung einstellen.", - "notifications": "Aktivitäten", - "plugin-activated": "Plugin aktiviert", - "plugin-deactivated": "Plugin deaktiviert", - "new-theme-configured": "Theme aktiviert", - "changes-on-settings": "Änderung der Einstellungen", - "plugin-configured": "Plugin konfiguriert", - "welcome-to-bludit": "Willkommen bei Bludit", - "statistics": "Statistiken", - "drafts": "Entwürfe", - "title": "Titel", - "save": "Speichern", - "save-as-draft": "Als Entwurf speichern", - "cancel": "Abbrechen", - "description": "Beschreibung", - "this-field-can-help-describe-the-content": "Kurze Inhaltsbeschreibung. Möglich sind bis zu 150 Zeichen.", - "images": "Bilder", - "error": "Fehler", - "supported-image-file-types": "Unterstützte Dateiformate", - "cover-image": "Hauptbild", - "drag-and-drop-or-click-here": "Drag and Drop oder hier klicken", - "there-are-no-images": "Keine Bilder vorhanden", - "upload-and-more-images": "Upload und weitere Bilder", - "click-on-the-image-for-options": "Für die Bildoptionen auf das Bild klicken.", - "click-here-to-cancel": "Schließen", - "insert-image": "Bild einfügen", - "set-as-cover-image": "Als Hauptbild verwenden", - "delete-image": "Bild löschen", - "tags": "Schlagwörter", - "add": "Hinzufügen", + "publish": "Publish", + "manage": "Manage", + "content": "Content", + "category": "Category", + "categories": "Categories", + "users": "Users", + "settings": "Settings", + "general": "General", + "advanced": "Advanced", + "new-content": "New content", + "manage-content": "Manage content", + "add-new-content": "Add new content", + "new-category": "New category", + "you-do-not-have-sufficient-permissions": "You do not have sufficient permissions", + "add-a-new-user": "Add a new user", + "url-associated-with-the-content": "URL associated with the content.", + "language-and-timezone": "Language and timezone", + "change-your-language-and-region-settings": "Change your language and region settings.", + "notifications": "Notifications", + "plugin-activated": "Plugin activated", + "plugin-deactivated": "Plugin deactivated", + "new-theme-configured": "New theme configured", + "changes-on-settings": "Changes on settings", + "plugin-configured": "Plugin configured", + "welcome-to-bludit": "Welcome to Bludit", + "statistics": "Statistics", + "drafts": "Drafts", + "title": "Title", + "save": "Save", + "save-as-draft": "Save as draft", + "cancel": "Cancel", + "description": "Description", + "this-field-can-help-describe-the-content": "This field can help describe the content in a few words.", + "images": "Images", + "error": "Error", + "supported-image-file-types": "Supported image file types", + "cover-image": "Cover image", + "drag-and-drop-or-click-here": "Drag and drop or click here", + "there-are-no-images": "There are no images", + "upload-and-more-images": "Upload and more images", + "click-on-the-image-for-options": "Click on the image for options.", + "click-here-to-cancel": "Click here to cancel.", + "insert-image": "Insert image", + "set-as-cover-image": "Set as cover image", + "delete-image": "Delete image", + "tags": "Tags", + "add": "Add", "status": "Status", - "published": "Veröffentlicht", - "draft": "Entwürfe", - "empty-title": "Kein Titel", - "empty": "Kein Inhalt", - "date": "Datum", - "external-cover-image": "Externes Hauptbild", - "parent": "Übergeordneter Inhalt", - "full-image-url": "Link zum verwendeten Bild.", - "this-field-is-used-when-you-order-the-content-by-position": "Dieses Feld wird verwendet, wenn der Inhalt nach Position angezeigt wird.", + "published": "Published", + "draft": "Draft", + "empty-title": "Empty title", + "empty": "empty", + "date": "Date", + "external-cover-image": "External cover image", + "parent": "Parent", + "full-image-url": "Full image URL.", + "this-field-is-used-when-you-order-the-content-by-position": "This field is used when you order the content by position.", "position": "Position", - "friendly-url": "URL", - "image-description": "Bildbeschreibung", - "add-a-new-category": "Neue Kategorie hinzufügen", + "friendly-url": "Friendly URL", + "image-description": "Image description", + "add-a-new-category": "Add a new category", "name": "Name", - "username": "Benutzername", - "first-name": "Vorname", - "last-name": "Nachname", - "to-schedule-the-content-select-the-date-and-time": "Um einen Inhalt zu einem späteren Zeitpunkt zu veröffentlichen, Datum und Zeit wählen. Sein Status muss \"Veröffentlicht\" sein.", - "email": "E-Mail-Adresse", - "role": "Rolle", - "registered": "Hinzugefügt", - "site-information": "Angaben zur Website", - "site-title": "Titel der Website", - "use-this-field-to-name-your-site": "Name der Website, wie er auf jeder Seite angezeigt wird.", - "site-slogan": "Untertitel", - "use-this-field-to-add-a-catchy-phrase": "Untertitel oder Slogan der Website.", - "site-description": "Informationen", - "you-can-add-a-site-description-to-provide": "Kurze Beschreibung der Website (wird von Suchmaschinen verwendet).", - "footer-text": "Footer-Text", - "you-can-add-a-small-text-on-the-bottom": "Text im Fussbereich jeder Seite. Beispielsweise: Copyright-Hinweis, Eigentümer der Website usw.", - "social-networks-links": "Links zu sozialen Netzwerken", - "site-url": "Adresse der Website", - "email-account-settings": "E-Mail", - "sender-email": "Absender", - "emails-will-be-sent-from-this-address": "E-Mails werden mit dieser E-Mail-Adresse als Absender verschickt.", - "url-filters": "URL-Filter", - "select-your-sites-language": "Sprache der Website.", - "timezone": "Zeitzone", - "select-a-timezone-for-a-correct": "Zeitzone für die richtige Anzeige des Datums und der Zeit auf der Website.", - "locale": "Lokalisierung", - "date-and-time-formats": "Datum und Zeit", - "date-format": "Datumsformat", - "current-format": "Aktuelles Datumsformat", + "username": "Username", + "first-name": "First name", + "last-name": "Last name", + "to-schedule-the-content-select-the-date-and-time": "To schedule the content select the date and time, the status has to be set to \"Published\".", + "email": "Email", + "role": "Role", + "registered": "Registered", + "site-information": "Site information", + "site-title": "Site title", + "use-this-field-to-name-your-site": "Use this field to name your site.", + "site-slogan": "Site slogan", + "use-this-field-to-add-a-catchy-phrase": "Use this field to add a catchy phrase on your site.", + "site-description": "Site description", + "you-can-add-a-site-description-to-provide": "You can add a site description to provide a short bio or description of your site.", + "footer-text": "Footer text", + "you-can-add-a-small-text-on-the-bottom": "You can add a small text on the bottom of every page. eg: copyright, owner, dates, etc.", + "social-networks-links": "Social networks links", + "site-url": "Site URL", + "email-account-settings": "Email account settings", + "sender-email": "Sender email", + "emails-will-be-sent-from-this-address": "Emails will be sent from this address.", + "url-filters": "URL filters", + "select-your-sites-language": "Select your site's language.", + "timezone": "Timezone", + "select-a-timezone-for-a-correct": "Select a timezone for a correct date\/time display on your site.", + "locale": "Locale", + "date-and-time-formats": "Date and time formats", + "date-format": "Date format", + "current-format": "Current format", "version": "Version", - "author": "Autor", - "activate": "Aktivieren", - "deactivate": "Deaktivieren", - "edit-category": "Kategorie bearbeiten", - "delete": "Löschen", - "password": "Passwort", - "confirm-password": "Passwort wiederholen", + "author": "Author", + "activate": "Activate", + "deactivate": "Deactivate", + "edit-category": "Edit category", + "delete": "Delete", + "password": "Password", + "confirm-password": "Confirm Password", "editor": "Editor", "administrator": "Administrator", - "edit-user": "Benutzer bearbeiten", - "edit-content": "Inhalt bearbeiten", - "profile": "Profil", - "change-password": "Passwort ändern", - "enabled": "Aktiviert", - "disable-the-user": "Benutzer deaktivieren", - "profile-picture": "Profil-Bild", - "edit-or-delete-your-categories": "Kategorien bearbeiten oder löschen.", - "create-a-new-category-to-organize-your-content": "Eine neue Kategorie hinzufügen.", - "confirm-delete-this-action-cannot-be-undone": "Bestätigung der Löschung. Diese kann nicht rückgängig gemacht werden.", - "do-you-want-to-disable-the-user": "Soll der Benutzer deaktiviert werden?", - "new-password": "Neues Passwort", + "edit-user": "Edit user", + "edit-content": "Edit content", + "profile": "Profile", + "change-password": "Change password", + "enabled": "Enabled", + "disable-the-user": "Disable the user", + "profile-picture": "Profile picture", + "edit-or-delete-your-categories": "Edit or delete your categories", + "create-a-new-category-to-organize-your-content": "Create a new category to organize your content", + "confirm-delete-this-action-cannot-be-undone": "Confirm delete, this action cannot be undone.", + "do-you-want-to-disable-the-user": "Do you want to disable the user ?", + "new-password": "New password", "you-can-change-this-field-when-save-the-current-changes": "You can change this field when save the current changes.", - "items-per-page": "Inhalte pro Seite", - "invite-a-friend-to-collaborate-on-your-site": "Einen neuen Benutzer hinzufügen.", - "number-of-items-to-show-per-page": "Anzahl Inhalte pro Seite.", - "website-or-blog": "Website oder Blog", - "order-content-by": "Inhalte anzeigen nach", - "edit-or-delete-content-from-your-site": "Inhalte bearbeiten oder löschen.", - "order-the-content-by-date-to-build-a-blog": "Für einen Blog Inhalte nach Datum anzeigen, für eine Website nach Position.", - "page-not-found-content": "Es sieht so aus, als würde es diese Seite nicht geben!", - "page-not-found": "Seite nicht gefunden", - "predefined-pages": "Zugewiesene Seiten", - "returning-page-when-the-page-doesnt-exist": "Inhalt, wenn eine Seite nicht vorhanden ist. Wird nichts gewählt, wird die Standardmeldung verwendet.", - "returning-page-for-the-main-page": "Zur Hauptseite zugeordneter Inhalt. Standardmässig werden die neuesten Inhalte geordnet nach Datum (Blog) oder Position (Website) angezeigt.", - "full-url-of-your-site": "Vollständiger URL der Website mit http:\/\/ oder https:\/\/ (wenn ein Zertifikat aktiviert ist).", - "with-the-locales-you-can-set-the-regional-user-interface": "Die Lokalisierung erlaubt die Anzeige von Zeit und Datum im Format der gewählten Sprachregion. Dafür muss das System entsprechend konfiguriert sein.", + "items-per-page": "Items per page", + "invite-a-friend-to-collaborate-on-your-site": "Invite a friend to collaborate on your site", + "number-of-items-to-show-per-page": "Number of items to show per page.", + "website-or-blog": "Website or Blog", + "order-content-by": "Order content by", + "edit-or-delete-content-from-your-site": "Edit or delete content from your site", + "order-the-content-by-date-to-build-a-blog": "Order the content by date to build a Blog or order the content by position to build a Website.", + "page-not-found-content": "Hey! looks like the page doesn't exist.", + "page-not-found": "Page not found", + "predefined-pages": "Predefined pages", + "returning-page-when-the-page-doesnt-exist": "Returning page when the page doesn't exist, by default returns a default message.", + "returning-page-for-the-main-page": "Returning page for the main page, by default, shows the latest content order by date or position.", + "full-url-of-your-site": "Full URL of your site. Complete with the protocol HTTP or HTTPS (only if you have enabled SSL on your server).", + "with-the-locales-you-can-set-the-regional-user-interface": "With the locales, you can set the regional user interface, such as the dates in your language. The locales need to be installed on your system.", "bludit-installer": "Bludit Installer", - "choose-your-language": "Eine Sprache wählen", - "next": "Weiter", - "complete-the-form-choose-a-password-for-the-username-admin": "Bitte ein Passwort für den Benutzer \"admin\"
    und eine E-Mail-Adresse eingeben.", - "show-password": "Passwort im Klartext zeigen", - "install": "Installieren", - "login": "Anmelden", - "back-to-login-form": "Zurück zur Anmeldeseite", - "get-login-access-code": "Zugangscode schicken", - "email-access-code": "Zugangscode zuschicken", - "whats-next": "Und so geht es weiter:", - "username-or-password-incorrect": "Falscher Benutzername und\/oder falsches Passwort", - "follow-bludit-on": "Den [deutschsprachigen Newsletter](http:\/\/eepurl.com\/b6mpKf) abonnieren und Bludit folgen bei", - "this-is-a-brief-description-of-yourself-our-your-site": "Hier kann beispielsweise eine kurze Beschreibung der Person, die den Blog oder die Website betreibt, oder der Website stehen. Der Text kann im Administrationsbereich in den Einstellungen des Plugins \"Über\" geändert werden.", - "new-version-available": "Eine neue Version ist verfügbar", - "new-category-created": "Kategorie hinzugefügt", - "category-deleted": "Kategorie gelöscht", - "category-edited": "Kategorie bearbeitet", - "new-user-created": "Benutzer hinzugefügt", - "user-edited": "Benutzer bearbeitet", - "user-deleted": "Benutzer gelöscht", - "recommended-for-recovery-password-and-notifications": "E-Mail-Adresse für die Passwort-Wiederherstellung und Mitteilungen.", - "authentication-token": "Authentifizierungs-Token", + "choose-your-language": "Choose your language", + "next": "Next", + "complete-the-form-choose-a-password-for-the-username-admin": "Complete the form choose a password for the username < admin ><\/b>", + "show-password": "Show password", + "install": "Install", + "login": "Login", + "back-to-login-form": "Back to login form", + "get-login-access-code": "Get login access code", + "email-access-code": "Email access code", + "whats-next": "What's Next", + "username-or-password-incorrect": "Username or password incorrect", + "follow-bludit-on": "Follow Bludit on", + "this-is-a-brief-description-of-yourself-our-your-site": "This is a brief description of yourself or your site, to change this text go to the admin panel, settings, plugins, and configure the plugin about.", + "new-version-available": "New version available", + "new-category-created": "New category created", + "category-deleted": "Category deleted", + "category-edited": "Category edited", + "new-user-created": "New user created", + "user-edited": "User edited", + "user-deleted": "User deleted", + "recommended-for-recovery-password-and-notifications": "Recommended for recovery password and notifications.", + "authentication-token": "Authentication Token", "token": "Token", - "current-status": "Aktueller Status", - "upload-image": "Bild hochladen", - "the-changes-have-been-saved": "Die Änderung wurde gespeichert.", - "label": "Bezeichnung", + "current-status": "Current status", + "upload-image": "Upload image", + "the-changes-have-been-saved": "The changes have been saved", + "label": "Label", "links": "Links", - "this-title-is-almost-always-used-in-the-sidebar-of-the-site": "Abhängig vom Theme wird die Bezeichnung als Titel des Plugin-Bereichs verwendet.", - "password-must-be-at-least-6-characters-long": "Das Passwort muss mindestens 6 Zeichen lang sein.", - "ip-address-has-been-blocked": "Die IP-Adresse wurde gesperrt.", - "try-again-in-a-few-minutes": "Bitte, es in einigen Minuten noch einmal versuchen.", - "content-published-from-scheduler": "Geplanter Inhalt veröffentlicht", + "this-title-is-almost-always-used-in-the-sidebar-of-the-site": "This title is almost always used in the sidebar of the site.", + "password-must-be-at-least-6-characters-long": "Password must be at least 6 characters long", + "ip-address-has-been-blocked": "IP address has been blocked", + "try-again-in-a-few-minutes": "Try again in a few minutes", + "content-published-from-scheduler": "Content published from scheduler", "blog": "Blog", - "complete-all-fields": "Bitte alle Felder ausfüllen", - "static": "Statisch", - "about-your-site-or-yourself": "Über den Betreiber der Website.", - "homepage": "Hauptseite", - "disabled": "Deaktiviert", - "to-enable-the-user-you-must-set-a-new-password": "Um den Benutzer zu aktivieren, muss ein neues Passwort vergeben werden.", - "delete-the-user-and-associate-his-content-to-admin-user": "Benutzer löschen und seine Inhalte dem Benutzer admin übertragen.", - "delete-the-user-and-all-his-content": "Benutzer und alle seine Inhalte löschen.", - "user-disabled": "Benutzer deaktiviert", - "user-password-changed": "Passwort geändert", - "the-password-and-confirmation-password-do-not-match": "Das Passwort und die Bestätigung des Passworts stimmen nicht überein", - "scheduled-content": "Geplant", - "there-are-no-scheduled-content": "Es sind keine Veröffentlichungen geplant.", - "new-content-created": "Inhalt erstellt", - "content-edited": "Inhalt bearbeitet", - "content-deleted": "Inhalt gelöscht", - "undefined": "Nicht definiert", - "create-new-content-for-your-site": "Einen neuen Inhalt erstellen.", - "there-are-no-draft-content": "Es gibt keine Entwürfe.", - "order-items-by": "Inhalte sortieren nach", - "all-content": "Alle Inhalte", - "dynamic": "Dynamisch", - "type": "Art", - "draft-content": "Entwürfe", + "complete-all-fields": "Complete all fields", + "static": "Static", + "about-your-site-or-yourself": "About your site or yourself", + "homepage": "Homepage", + "disabled": "Disabled", + "to-enable-the-user-you-must-set-a-new-password": "To enable the user you must set a new password.", + "delete-the-user-and-associate-his-content-to-admin-user": "Delete the user and associate his content to admin user", + "delete-the-user-and-all-his-content": "Delete the user and all his content", + "user-disabled": "User disabled", + "user-password-changed": "User password changed", + "the-password-and-confirmation-password-do-not-match": "The password and confirmation password do not match", + "scheduled-content": "Scheduled content", + "there-are-no-scheduled-content": "There are no scheduled content.", + "new-content-created": "New content created", + "content-edited": "Content edited", + "content-deleted": "Content deleted", + "undefined": "Undefined", + "create-new-content-for-your-site": "Create new content for your site", + "there-are-no-draft-content": "There are no draft content.", + "order-items-by": "Order items by", + "all-content": "All content", + "dynamic": "Dynamic", + "type": "Type", + "draft-content": "Draft content", "post": "Post", - "default": "Standardvorgabe", - "latest-content": "Neueste Inhalte", - "default-message": "Standardmeldung", - "no-parent": "Kein übergeordneter Inhalt", - "have-you-seen-my-ball": "Hast Du meinen Ball gesehen?", - "pagebreak": "Seitenumbruch", - "pages": "Seiten", - "this-plugin-may-not-be-supported-by-this-version-of-bludit": "Dieses Plugin wird möglicherweise von der installierten Version von Bludit nicht unterstützt.", - "previous": "Zurück", - "previous-page": "Vorhergehende Seite", - "next-page": "Nächste Seite", - "scheduled": "Geplant", - "this-token-is-similar-to-a-password-it-should-not-be-shared": "Dieser Token ist genauso wichtig wie ein Passwort und sollte nicht weitergegeben werden.", - "congratulations-you-have-successfully-installed-your-bludit": "Gratulation, Bludit wurde erfolgreich installiert!", - "this-theme-may-not-be-supported-by-this-version-of-bludit": "Dieses Theme wird möglicherweise von der installierten Version von Bludit nicht unterstützt.", - "read-more": "Weiterlesen", - "remember-me": "Angemeldet bleiben", - "plugins-position": "Reihenfolge der Plugins", - "plugins-sorted": "Reihenfolge der Plugins geändert", - "plugins-position-changed": "Die Reihenfolge der Plugins wurde geändert.", - "drag-and-drop-to-set-the-position-of-the-plugin": "Die Reihenfolge der Plugins kann per \"Drag and Drop\" geändert werden", - "change-the-position-of-the-plugins": "Reihenfolge der Plugins bearbeiten", - "reading-time": "Lesezeit", - "minutes": "Minuten", - "minute": "Minute", - "example-page-1-slug": "veroeffentliche-deine-inhalte", - "example-page-1-title": "Veröffentliche deine Inhalte", - "example-page-1-content": "Veröffentliche deine eigenen Inhalte oder passe die vorhandenen deinen Bedürfnissen an. Um Inhalte zu veröffentlichen, zu bearbeiten oder zu löschen, musst du dich im [Administrationsbereich](.\/admin) anmelden (mit dem Benutzernamen `admin` und dem Passwort, das Du bei der Installation eingegeben hast).", - "example-page-2-slug": "richte-deine-website-ein", - "example-page-2-title": "Richte deine Website ein", - "example-page-2-content": "Passe die Einstellungen deiner Website im [Administrationsbereich](.\/admin) an. Unter [Einstellungen > Allgemein](.\/admin\/settings-general) kannst Du beispielsweise den Titel und die Beschreibung der Website ändern oder Links zu sozialen Netzwerken eingeben.", - "example-page-3-slug": "folge-bludit", - "example-page-3-title": "Folge Bludit", - "example-page-3-content": "Halte dich auf dem Laufenden über neue Versionen, Themes und Plugins in den sozialen Netzwerken Facebook<\/a>, Twitter<\/a> und YouTube<\/a>, über den Blog<\/a> oder indem du den deutschsprachigen Newsletter<\/a> abonnierst.", - "example-page-4-slug": "ueber", - "example-page-4-title": "Über", - "example-page-4-content": "Die Seite \"Über\" ist eine viel beachtete Seite. Denn viele wollen wissen, wer einen Blog oder eine Website betreibt, welche Idee dahinter steht, wie du erreichbar bist usw.", - "the-extension-zip-is-not-installed": "Die ZIP-Erweiterung ist auf deinem Server nicht installiert. Um dieses Plugin zu verwenden, muss sie installiert werden.", - "there-are-no-sticky-pages-at-this-moment": "Es gibt keine fixierten Inhalte.", - "there-are-no-scheduled-pages-at-this-moment": "Es gibt keine zur Veröffentlichung geplanten Inhalte.", - "update": "Aktualisierung", + "default": "Default", + "latest-content": "Latest content", + "default-message": "Default message", + "no-parent": "No parent", + "have-you-seen-my-ball": "Have you seen my ball?", + "pagebreak": "Page break", + "pages": "Pages", + "this-plugin-may-not-be-supported-by-this-version-of-bludit": "This plugin may not be supported by this version of Bludit", + "previous": "Previous", + "previous-page": "Previous page", + "next-page": "Next page", + "scheduled": "Scheduled", + "this-token-is-similar-to-a-password-it-should-not-be-shared": "This token is similar to a password, it should not be shared.", + "congratulations-you-have-successfully-installed-your-bludit": "Congratulations you have successfully installed your Bludit.", + "this-theme-may-not-be-supported-by-this-version-of-bludit": "This theme may not be supported by this version of Bludit", + "read-more": "Read more", + "remember-me": "Remember me", + "plugins-position": "Plugin position", + "plugins-sorted": "Plugins sorted", + "plugins-position-changed": "Plugin position changed", + "drag-and-drop-to-set-the-position-of-the-plugin": "Drag and Drop to set the position of the plugins", + "change-the-position-of-the-plugins": "Change the position of the plugins", + "reading-time": "Reading time", + "minutes": "minutes", + "minute": "minute", + "example-page-1-slug": "create-your-own-content", + "example-page-1-title": "Create your own content", + "example-page-1-content": "Start writing your own content or edit the current to fit your needs. To create, edit or remove content you need to login to the admin panel<\/a> with the username `admin` and the password you set in the installation process.", + "example-page-2-slug": "set-up-your-new-site", + "example-page-2-title": "Set up your new site", + "example-page-2-content": "Update the settings of your site from the admin panel<\/a>, you can change the title, description and the social networks from Settings > General<\/a>.", + "example-page-3-slug": "follow-bludit", + "example-page-3-title": "Follow Bludit", + "example-page-3-content": "Get information about news, new releases, new themes or new plugins on our social networks Facebook<\/a>, Twitter<\/a> and YouTube<\/a> or visit our Blog<\/a>.", + "example-page-4-slug": "about", + "example-page-4-title": "About", + "example-page-4-content": "Your About page is typically one of the most visited pages on your site, need to be simple with a few key things, such as your name, who are you, how can contact you, a small story, etc.", + "the-extension-zip-is-not-installed": "The extension zip is not installed, to use this plugin you need to install the extension.", + "there-are-no-sticky-pages-at-this-moment": "There are no sticky pages at this moment.", + "there-are-no-scheduled-pages-at-this-moment": "There are no scheduled pages at this moment.", + "update": "Update", "template": "Template", "nickname": "Nickname", - "disable-user": "Benutzer deaktivieren", - "delete-user-and-keep-content": "Benutzer löschen und Inhalte behalten", - "delete-user-and-delete-content": "Benutzer und Inhalte löschen (Vorsicht!)", - "social-networks": "Soziale Netzwerke", - "interval": "Abstände", - "number-in-minutes-for-every-execution-of-autosave": "Anzahl Minuten zwischen automatischen Speicherungen.", - "extreme-friendly-url": "Besonders benutzerfreundlicher URL", - "title-formats": "Titelformate", - "delete-content": "Inhalt löschen", - "are-you-sure-you-want-to-delete-this-page": "Bist Du sicher, dass Du diesen Inhalt löschen möchtest?", - "sticky": "Fixiert", - "actions": "Aktionen", - "edit": "Bearbeiten", - "options": "Einstellungen", - "enter-title": "Titel hier eingegeben", - "media-manager": "Medien-Manager", - "set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images": "Hauptbild mit einem externen URL, beispielsweise von einem Content Delivery Network (CDN).", - "user": "Benutzer", - "date-format-format": "Datumsformat: YYYY-MM-DD Stunden:Minuten:Sekunden<\/code>", - "start-typing-a-page-title-to-see-a-list-of-suggestions": "Die automatische Vervollständigung zeigt entsprechende Vorschläge an.", - "field-used-when-ordering-content-by-position": "Dieses Feld wird verwendet, wenn die Inhalte nach Position angezeigt werden (Website).", - "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Name des Templates, wenn das Theme es erlaubt, verschiedene Templates einzelnen Inhalten zuzuordnen.", - "write-the-tags-separated-by-comma": "Schlagwörter durch Kommas getrennt eingeben.", - "apply-code-noindex-code-to-this-page": "Die Anweisung noindex<\/code> für diese Seite verwenden.", - "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "Anweisung an Suchmaschinen, die Seite in Suchergebnissen nicht zu zeigen.", - "apply-code-nofollow-code-to-this-page": "Die Anweisung nofollow<\/code> für dieses Seite verwenden.", - "this-tells-search-engines-not-to-follow-links-on-this-page": "Anweisung an Suchmaschinen, Links auf der Seite nicht zu folgen.", - "apply-code-noarchive-code-to-this-page": "Die Anweisung noarchive<\/code> für diese Seite anwenden.", - "this-tells-search-engines-not-to-save-a-cached-copy-of-this-page": "Anweisung an Suchmaschinen, keine Kopie der Seite im Cache zu speichern.", - "uncategorized": "Nicht kategorisiert", - "done": "Bestätigen", - "delete-category": "Kategorie löschen", - "are-you-sure-you-want-to-delete-this-category?": "Bist du sicher, dass Du diese Kategorie löschen möchtest?", - "confirm-new-password": "Bestätige das neue Passwort", - "the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content": "Der Nickname wird als Name des Autors von Beiträgen angezeigt.", - "allow-unicode": "Unicode", - "allow-unicode-characters-in-the-url-and-some-part-of-the-system": "Unicode-Zeichen mit Umlauten usw. im URL und bei einigen Teilen des Systems verwenden.", - "variables-allowed": "Mögliche Platzhalter:", + "disable-user": "Disable user", + "delete-user-and-keep-content": "Delete user and keep content", + "delete-user-and-delete-content": "Delete user and delete content (Warning)", + "social-networks": "Social Networks", + "interval": "Interval", + "number-in-minutes-for-every-execution-of-autosave": "Number in minutes for every execution of autosave.", + "extreme-friendly-url": "Extreme friendly URL", + "title-formats": "Title formats", + "delete-content": "Delete content", + "are-you-sure-you-want-to-delete-this-page": "Are you sure you want to delete this page?", + "sticky": "Sticky", + "actions": "Actions", + "edit": "Edit", + "options": "Options", + "enter-title": "Enter title", + "media-manager": "Media Manager", + "set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images": "Set a cover image from an external URL, such as a CDN or some server dedicated for images.", + "user": "User", + "date-format-format": "Date format: YYYY-MM-DD Hours:Minutes:Seconds<\/code>", + "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", + "field-used-when-ordering-content-by-position": "Field used when ordering content by position.", + "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", + "write-the-tags-separated-by-comma": "Write the tags separated by comma.", + "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", + "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", + "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", + "this-tells-search-engines-not-to-follow-links-on-this-page": "This tells search engines not to follow links on this page.", + "apply-code-noarchive-code-to-this-page": "Apply noarchive<\/code> to this page.", + "this-tells-search-engines-not-to-save-a-cached-copy-of-this-page": "This tells search engines not to save a cached copy of this page.", + "uncategorized": "Uncategorized", + "done": "Done", + "delete-category": "Delete category", + "are-you-sure-you-want-to-delete-this-category?": "Are you sure you want to delete this category?", + "confirm-new-password": "Confirm new password", + "the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content": "The nickname is almost used in the themes to display the author of the content", + "allow-unicode": "Allow Unicode", + "allow-unicode-characters-in-the-url-and-some-part-of-the-system": "Allow Unicode characters in the URL and some part of the system.", + "variables-allowed": "Variables allowed", "tag": "Tag", - "drag-and-drop-to-sort-the-plugins": "Die Reihenfolge der Plugins kann mit Drag and Drop geändert werden.", + "drag-and-drop-to-sort-the-plugins": "Drag and Drop to sort the plugins.", "seo": "SEO", - "documentation": "Dokumentation", - "forum-support": "Support-Forum", - "chat-support": "Support-Chat", - "quick-links": "Quicklinks", - "leave-empty-for-autocomplete-by-bludit": "Ohne Eingabe wird der URL von Bludit erstellt.", - "choose-a-password-for-the-user-admin": "Gib ein Passwort für den Benutzer admin<\/code> ein", - "access-denied": "Zugriff verweigert", - "choose-images-to-upload": "Bilder auswählen und auf den Server laden", - "insert": "Einfügen", - "upload": "Hochladen", - "autosave": "Automatische Speicherung", - "the-content-is-saved-as-a-draft-to-publish-it": "Der Inhalt ist als Entwurf gespeichert. Um ihn zu veröffentlichen, klicke Veröffentlichen<\/b>, wenn du ihn weiter bearbeiten möchtest, klicke Als Entwurf speichern<\/b>.", - "site": "Seite", - "first": "Erste", - "last": "Letzte", - "there-are-no-pages-at-this-moment": "Es gibt noch keine Seiten.", - "there-are-no-static-pages-at-this-moment": "Es gibt noch keine statischen Inhalte.", - "there-are-no-draft-pages-at-this-moment": "Es gibt noch keine Entwürfe.", - "good-morning": "Guten Morgen", - "good-afternoon": "Guten Nachmittag", - "good-evening": "Guten Abend", - "good-night": "Gute Nacht", - "hello": "Hallo", - "there-are-no-images-for-the-page": "Für diesen Inhalt sind keine Bilder vorhanden.", - "select-cover-image": "Wähle ein Hauptbild", - "this-plugin-depends-on-the-following-plugins": "Dieses Plugin benötigt die folgenden Plugins:", - "no-pages-found": "Es wurden keine Seiten gefunden", - "system-updated": "Das System wurde aktualisiert", - "security": "Sicherheit", - "remove-cover-image": "Hauptbild entfernen", - "width": "Breite", - "height": "Höhe", - "quality": "Qualität", - "thumbnails": "Vorschaubilder", - "thumbnail": "Vorschaubild", - "thumbnail-width-in-pixels": "Breite der Vorschaubilder in Pixel (px).", - "thumbnail-height-in-pixels": "Höhe der Vorschaubilder in Pixel (px).", - "thumbnail-quality-in-percentage": "Qualität der Vorschaubilder in Prozent (%).", - "maximum-load-file-size-allowed:": "Maximal erlaubte Dateigröße:", - "file-type-is-not-supported": "Dateiformat wird nicht unterstützt. Erlaubte Dateiformate:", - "page-content": "Seiteninhalt", - "markdown-parser": "Markdown-Parser", - "site-logo": "Website-Logo", - "search": "Suche", - "search-plugins": "Plugins suchen", - "enabled-plugins": "Aktivierte Plugins", - "disabled-plugins": "Deaktivierte Plugins", - "remove-logo": "Logo entfernen" -} -} + "documentation": "Documentation", + "forum-support": "Forum support", + "chat-support": "Chat support", + "quick-links": "Quick links", + "leave-empty-for-autocomplete-by-bludit": "Leave empty for autocomplete by Bludit.", + "choose-a-password-for-the-user-admin": "Choose a password for the user admin<\/code>", + "access-denied": "Access denied", + "choose-images-to-upload": "Choose images to upload", + "insert": "Insert", + "upload": "Upload", + "autosave": "Autosave", + "the-content-is-saved-as-a-draft-to-publish-it": "The content is saved as a draft. To publish it click on the button Publish<\/b> or if you still working on it click on Save as draft<\/b>.", + "site": "Site", + "first": "First", + "last": "Last", + "there-are-no-pages-at-this-moment": "There are no pages at this moment.", + "there-are-no-static-pages-at-this-moment": "There are no static pages at this moment.", + "there-are-no-draft-pages-at-this-moment": "There are no draft pages at this moment.", + "good-morning": "Good morning", + "good-afternoon": "Good afternoon", + "good-evening": "Good evening", + "good-night": "Good night", + "hello": "Hello", + "there-are-no-images-for-the-page": "There are no images for the page.", + "select-cover-image": "Select cover image", + "this-plugin-depends-on-the-following-plugins": "This plugin depends on the following plugins.", + "no-pages-found": "No pages found.", + "system-updated": "System updated.", + "security": "Security", + "remove-cover-image": "Remove cover image", + "width": "Width", + "height": "Height", + "quality": "Quality", + "thumbnails": "Thumbnails", + "thumbnail": "Thumbnail", + "thumbnail-width-in-pixels": "Thumbnail width in pixels (px).", + "thumbnail-height-in-pixels": "Thumbnail height in pixels (px).", + "thumbnail-quality-in-percentage": "Thumbnail quality in percentage (%).", + "maximum-load-file-size-allowed:": "Maximum load file size allowed:", + "file-type-is-not-supported": "File type is not supported. Allowed types:", + "page-content": "Page content", + "markdown-parser": "Markdown parser", + "site-logo": "Site logo", + "search": "Search", + "search-plugins": "Search plugins", + "enabled-plugins": "Enabled plugins", + "disabled-plugins": "Disabled plugins", + "remove-logo": "Remove logo", + "preview": "Preview" +} \ No newline at end of file diff --git a/bl-languages/de_CH.json b/bl-languages/de_CH.json index 2b295106..8e33d1ed 100644 --- a/bl-languages/de_CH.json +++ b/bl-languages/de_CH.json @@ -387,5 +387,6 @@ "search-plugins": "Plugins suchen", "enabled-plugins": "Aktivierte Plugins", "disabled-plugins": "Deaktivierte Plugins", - "remove-logo": "Logo entfernen" -} + "remove-logo": "Logo entfernen", + "preview": "Preview" +} \ No newline at end of file diff --git a/bl-languages/de_DE.json b/bl-languages/de_DE.json index bf77f2e3..e5bc6472 100644 --- a/bl-languages/de_DE.json +++ b/bl-languages/de_DE.json @@ -387,5 +387,6 @@ "search-plugins": "Plugins suchen", "enabled-plugins": "Aktivierte Plugins", "disabled-plugins": "Deaktivierte Plugins", - "remove-logo": "Logo entfernen" -} + "remove-logo": "Logo entfernen", + "preview": "Preview" +} \ No newline at end of file diff --git a/bl-languages/en.json b/bl-languages/en.json index dc027baf..d39509a9 100644 --- a/bl-languages/en.json +++ b/bl-languages/en.json @@ -386,5 +386,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/es.json b/bl-languages/es.json index f2f5a0be..037ca239 100644 --- a/bl-languages/es.json +++ b/bl-languages/es.json @@ -383,5 +383,6 @@ "search-plugins": "Buscar plugins", "enabled-plugins": "Plugins activados", "disabled-plugins": "Plugins descativados", - "remove-logo": "Remover logo" + "remove-logo": "Remover logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/fa_IR.json b/bl-languages/fa_IR.json index a19b9d2d..36365cf1 100644 --- a/bl-languages/fa_IR.json +++ b/bl-languages/fa_IR.json @@ -385,5 +385,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/fi_FI.json b/bl-languages/fi_FI.json index 1a9e370a..3d65ce24 100644 --- a/bl-languages/fi_FI.json +++ b/bl-languages/fi_FI.json @@ -385,5 +385,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/fr_FR.json b/bl-languages/fr_FR.json index 832c6da3..878fa474 100755 --- a/bl-languages/fr_FR.json +++ b/bl-languages/fr_FR.json @@ -386,5 +386,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/gr.json b/bl-languages/gr.json index 2c11eed6..5bf3a09b 100644 --- a/bl-languages/gr.json +++ b/bl-languages/gr.json @@ -386,5 +386,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/he_IL.json b/bl-languages/he_IL.json index 652d3bf6..807753c4 100644 --- a/bl-languages/he_IL.json +++ b/bl-languages/he_IL.json @@ -386,5 +386,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/hu_HU.json b/bl-languages/hu_HU.json index b2c1188d..eba3b01c 100644 --- a/bl-languages/hu_HU.json +++ b/bl-languages/hu_HU.json @@ -385,5 +385,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/it_IT.json b/bl-languages/it_IT.json index cb7d9277..3caeca36 100644 --- a/bl-languages/it_IT.json +++ b/bl-languages/it_IT.json @@ -385,5 +385,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/ja_JP.json b/bl-languages/ja_JP.json index d942fc9f..a2418543 100644 --- a/bl-languages/ja_JP.json +++ b/bl-languages/ja_JP.json @@ -386,5 +386,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/ms_MY.json b/bl-languages/ms_MY.json index 6c517cd0..bfdaa783 100644 --- a/bl-languages/ms_MY.json +++ b/bl-languages/ms_MY.json @@ -385,5 +385,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/nl_NL.json b/bl-languages/nl_NL.json index 6f7ea38c..41333d5e 100644 --- a/bl-languages/nl_NL.json +++ b/bl-languages/nl_NL.json @@ -383,5 +383,6 @@ "search-plugins": "Plugins zoeken", "enabled-plugins": "Ingeschakelde plugins", "disabled-plugins": "Uitgeschakelde plugins", - "remove-logo": "Logo verwijderen" + "remove-logo": "Logo verwijderen", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/pl_PL.json b/bl-languages/pl_PL.json index c3220bbf..ce90ecb6 100644 --- a/bl-languages/pl_PL.json +++ b/bl-languages/pl_PL.json @@ -386,5 +386,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/pt_BR.json b/bl-languages/pt_BR.json index 63d2aafd..cb190a71 100644 --- a/bl-languages/pt_BR.json +++ b/bl-languages/pt_BR.json @@ -386,5 +386,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/pt_PT.json b/bl-languages/pt_PT.json index 985b87ba..21ccea27 100644 --- a/bl-languages/pt_PT.json +++ b/bl-languages/pt_PT.json @@ -386,5 +386,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/ro_RO.json b/bl-languages/ro_RO.json index 15a5c8b2..09d1058a 100644 --- a/bl-languages/ro_RO.json +++ b/bl-languages/ro_RO.json @@ -385,5 +385,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/ru_RU.json b/bl-languages/ru_RU.json index b021c366..fce120f6 100644 --- a/bl-languages/ru_RU.json +++ b/bl-languages/ru_RU.json @@ -386,5 +386,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/tr_TR.json b/bl-languages/tr_TR.json index 7b522cee..8414ca23 100644 --- a/bl-languages/tr_TR.json +++ b/bl-languages/tr_TR.json @@ -386,5 +386,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/uk_UA.json b/bl-languages/uk_UA.json index 09f054cd..ad5acc74 100644 --- a/bl-languages/uk_UA.json +++ b/bl-languages/uk_UA.json @@ -386,5 +386,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/vi_VN.json b/bl-languages/vi_VN.json index 94294401..0061ef2f 100644 --- a/bl-languages/vi_VN.json +++ b/bl-languages/vi_VN.json @@ -385,5 +385,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/zh_CN.json b/bl-languages/zh_CN.json index 66ba2670..b15c8053 100644 --- a/bl-languages/zh_CN.json +++ b/bl-languages/zh_CN.json @@ -385,5 +385,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file diff --git a/bl-languages/zh_TW.json b/bl-languages/zh_TW.json index 5891f244..96187f65 100644 --- a/bl-languages/zh_TW.json +++ b/bl-languages/zh_TW.json @@ -385,5 +385,6 @@ "search-plugins": "Search plugins", "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo" + "remove-logo": "Remove logo", + "preview": "Preview" } \ No newline at end of file From 2c773ac1a4234151dc845ab2da637218e7a53256 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Wed, 29 May 2019 16:21:25 +0200 Subject: [PATCH 088/122] Include SVG format --- bl-kernel/admin/themes/booty/html/media.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bl-kernel/admin/themes/booty/html/media.php b/bl-kernel/admin/themes/booty/html/media.php index f40dcd63..665902bf 100644 --- a/bl-kernel/admin/themes/booty/html/media.php +++ b/bl-kernel/admin/themes/booty/html/media.php @@ -176,7 +176,7 @@ function uploadImages() { var images = $("#jsimages")[0].files; for (var i=0; i < images.length; i++) { // Check file type/extension - const validImageTypes = ['image/gif', 'image/jpeg', 'image/png']; + const validImageTypes = ['image/gif', 'image/jpeg', 'image/png', 'image/svg+xml']; if (!validImageTypes.includes(images[i].type)) { showMediaAlert("g('File type is not supported. Allowed types:').' '.implode(', ',ALLOWED_IMG_EXTENSION) ?>"); return false; From febd7256e410cf011bf581b9b4cb1dbdd92d6af9 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Wed, 29 May 2019 16:53:45 +0200 Subject: [PATCH 089/122] Spanish updated --- bl-languages/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bl-languages/es.json b/bl-languages/es.json index 037ca239..d82af0c2 100644 --- a/bl-languages/es.json +++ b/bl-languages/es.json @@ -384,5 +384,5 @@ "enabled-plugins": "Plugins activados", "disabled-plugins": "Plugins descativados", "remove-logo": "Remover logo", - "preview": "Preview" + "preview": "Vista previa" } \ No newline at end of file From 600345ee57d382ca0b575f9c0b99b3af7d4a2a6d Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Wed, 29 May 2019 19:28:11 +0200 Subject: [PATCH 090/122] Bug fix for PHP 5.6 when upload images --- bl-kernel/admin/themes/booty/html/media.php | 2 +- bl-kernel/ajax/logo-upload.php | 4 ++-- bl-kernel/ajax/profile-picture-upload.php | 18 +++++++++--------- bl-kernel/ajax/upload-images.php | 2 +- bl-kernel/boot/variables.php | 13 +++++++------ bl-kernel/functions.php | 2 +- bl-kernel/tags.class.php | 2 +- bl-plugins/disqus/plugin.php | 2 +- 8 files changed, 23 insertions(+), 22 deletions(-) diff --git a/bl-kernel/admin/themes/booty/html/media.php b/bl-kernel/admin/themes/booty/html/media.php index 665902bf..25c3897c 100644 --- a/bl-kernel/admin/themes/booty/html/media.php +++ b/bl-kernel/admin/themes/booty/html/media.php @@ -178,7 +178,7 @@ function uploadImages() { // Check file type/extension const validImageTypes = ['image/gif', 'image/jpeg', 'image/png', 'image/svg+xml']; if (!validImageTypes.includes(images[i].type)) { - showMediaAlert("g('File type is not supported. Allowed types:').' '.implode(', ',ALLOWED_IMG_EXTENSION) ?>"); + showMediaAlert("g('File type is not supported. Allowed types:').' '.implode(', ',$GLOBALS['ALLOWED_IMG_EXTENSION']) ?>"); return false; } diff --git a/bl-kernel/ajax/logo-upload.php b/bl-kernel/ajax/logo-upload.php index 7853d1c4..33c87a0a 100644 --- a/bl-kernel/ajax/logo-upload.php +++ b/bl-kernel/ajax/logo-upload.php @@ -17,8 +17,8 @@ if (!isset($_FILES['inputFile'])) { // File extension $fileExtension = Filesystem::extension($_FILES['inputFile']['name']); $fileExtension = Text::lowercase($fileExtension); -if (!in_array($fileExtension, ALLOWED_IMG_EXTENSION) ) { - $message = 'File type is not supported. Allowed types: '.implode(', ',ALLOWED_IMG_EXTENSION); +if (!in_array($fileExtension, $GLOBALS['ALLOWED_IMG_EXTENSION']) ) { + $message = 'File type is not supported. Allowed types: '.implode(', ',$GLOBALS['ALLOWED_IMG_EXTENSION']); Log::set($message, LOG_TYPE_ERROR); ajaxResponse(1, $message); } diff --git a/bl-kernel/ajax/profile-picture-upload.php b/bl-kernel/ajax/profile-picture-upload.php index c0e4fcdb..806a4199 100644 --- a/bl-kernel/ajax/profile-picture-upload.php +++ b/bl-kernel/ajax/profile-picture-upload.php @@ -15,21 +15,15 @@ if (!isset($_FILES['profilePictureInputFile'])) { ajaxResponse(1, 'Error trying to upload the profile picture.'); } -// File extension +// Check file extension $fileExtension = Filesystem::extension($_FILES['profilePictureInputFile']['name']); $fileExtension = Text::lowercase($fileExtension); -if (!in_array($fileExtension, ALLOWED_IMG_EXTENSION) ) { - $message = 'File type is not supported. Allowed types: '.implode(', ',ALLOWED_IMG_EXTENSION); +if (!in_array($fileExtension, $GLOBALS['ALLOWED_IMG_EXTENSION']) ) { + $message = 'File type is not supported. Allowed types: '.implode(', ',$GLOBALS['ALLOWED_IMG_EXTENSION']); Log::set($message, LOG_TYPE_ERROR); ajaxResponse(1, $message); } -// Tmp filename -$tmpFilename = $username.'.'.$fileExtension; - -// Final filename -$filename = $username.'.png'; - // Check path traversal if (Text::stringContains($username, DS, false)) { $message = 'Path traversal detected.'; @@ -37,6 +31,9 @@ if (Text::stringContains($username, DS, false)) { ajaxResponse(1, $message); } +// Tmp filename +$tmpFilename = $username.'.'.$fileExtension; + // Move from temporary directory to uploads folder rename($_FILES['profilePictureInputFile']['tmp_name'], PATH_TMP.$tmpFilename); @@ -48,6 +45,9 @@ $image->saveImage(PATH_UPLOADS_PROFILES.$filename, PROFILE_IMG_QUALITY, false, t // Remove the tmp file unlink(PATH_TMP.$tmpFilename); +// Final filename +$filename = $username.'.png'; + // Permissions chmod(PATH_UPLOADS_PROFILES.$filename, 0644); diff --git a/bl-kernel/ajax/upload-images.php b/bl-kernel/ajax/upload-images.php index 295c24e5..4c24ce1b 100644 --- a/bl-kernel/ajax/upload-images.php +++ b/bl-kernel/ajax/upload-images.php @@ -47,7 +47,7 @@ foreach ($_FILES['images']['name'] as $uuid=>$filename) { $filename = Filesystem::filename($image); array_push($images, $filename); } else { - $message = $L->g('File type is not supported. Allowed types:').' '.implode(', ',ALLOWED_IMG_EXTENSION); + $message = $L->g('File type is not supported. Allowed types:').' '.implode(', ',$GLOBALS['ALLOWED_IMG_EXTENSION']); Log::set($message, LOG_TYPE_ERROR); ajaxResponse(1, $message); } diff --git a/bl-kernel/boot/variables.php b/bl-kernel/boot/variables.php index c50276e6..ea2b0e49 100644 --- a/bl-kernel/boot/variables.php +++ b/bl-kernel/boot/variables.php @@ -92,12 +92,6 @@ define('SESSION_GC_MAXLIFETIME', 3600); // The value 0 means until the browser is closed define('SESSION_COOKIE_LIFE_TIME', 0); -// Tags, type of pages included in the tag database -define('DB_TAGS_TYPES', array('published','static','sticky')); - -// Allowed image extensions -define('ALLOWED_IMG_EXTENSION', array('gif', 'png', 'jpg', 'jpeg', 'svg')); - // Alert notification dissappear in X seconds define('ALERT_DISSAPEAR_IN', 3); @@ -107,3 +101,10 @@ define('MEDIA_MANAGER_NUMBER_OF_FILES', 5); // Sort the image by date define('MEDIA_MANAGER_SORT_BY_DATE', true); +// Constant arrays using define are not allowed in PHP 5.6 or earlier + +// Type of pages included in the tag database +$GLOBALS['DB_TAGS_TYPES'] = array('published','static','sticky'); + +// Allowed image extensions +$GLOBALS['ALLOWED_IMG_EXTENSION'] = array('gif', 'png', 'jpg', 'jpeg', 'svg'); diff --git a/bl-kernel/functions.php b/bl-kernel/functions.php index d6b955ca..d360c088 100644 --- a/bl-kernel/functions.php +++ b/bl-kernel/functions.php @@ -827,7 +827,7 @@ function transformImage($file, $imageDir, $thumbnailDir=false) { // Check image extension $fileExtension = Filesystem::extension($file); $fileExtension = Text::lowercase($fileExtension); - if (!in_array($fileExtension, ALLOWED_IMG_EXTENSION) ) { + if (!in_array($fileExtension, $GLOBALS['ALLOWED_IMG_EXTENSION']) ) { return false; } diff --git a/bl-kernel/tags.class.php b/bl-kernel/tags.class.php index cb5fc21a..50179b62 100644 --- a/bl-kernel/tags.class.php +++ b/bl-kernel/tags.class.php @@ -18,7 +18,7 @@ class Tags extends dbList { $db = $pages->getDB($onlyKeys=false); $tagsIndex = array(); foreach ($db as $pageKey=>$pageFields) { - if (in_array($pageFields['type'], DB_TAGS_TYPES)) { + if (in_array($pageFields['type'], $GLOBALS['DB_TAGS_TYPES'])) { $tags = $pageFields['tags']; foreach ($tags as $tagKey=>$tagName) { if (isset($tagsIndex[$tagKey])) { diff --git a/bl-plugins/disqus/plugin.php b/bl-plugins/disqus/plugin.php index a718bec8..6fb4deab 100644 --- a/bl-plugins/disqus/plugin.php +++ b/bl-plugins/disqus/plugin.php @@ -58,7 +58,7 @@ class pluginDisqus extends Plugin { global $url; global $WHERE_AM_I; - // Do not shows + // Do not shows disqus on page not found if ($url->notFound()) { return false; } From 987cbd3be80b3b3622c477865a932d44d46004b4 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Wed, 29 May 2019 20:40:11 +0200 Subject: [PATCH 091/122] Issue template --- .github/issue_template.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/issue_template.md b/.github/issue_template.md index 62ecd03f..4c13e5e9 100644 --- a/.github/issue_template.md +++ b/.github/issue_template.md @@ -1,9 +1,11 @@ ### Describe your problem -### Expected behavior - -### Actual behavior - ### Steps to reproduce the problem +### PHP version +If you don't know delete this line. + +### PHP logs +If you have access to the logs could be really helpful for troubleshoot, if you don't have access delete this line. + ### Bludit version From 284ecc4256e05a5f64eb6661d4b731874e779be0 Mon Sep 17 00:00:00 2001 From: Guillaume Date: Thu, 30 May 2019 01:14:16 +0200 Subject: [PATCH 092/122] Dutch --- bl-languages/nl_NL.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bl-languages/nl_NL.json b/bl-languages/nl_NL.json index 41333d5e..46d88d18 100644 --- a/bl-languages/nl_NL.json +++ b/bl-languages/nl_NL.json @@ -384,5 +384,5 @@ "enabled-plugins": "Ingeschakelde plugins", "disabled-plugins": "Uitgeschakelde plugins", "remove-logo": "Logo verwijderen", - "preview": "Preview" -} \ No newline at end of file + "preview": "Voorbeeld" +} From 29b96802d794e730770213861c330b89e24a36f9 Mon Sep 17 00:00:00 2001 From: SamBrishes Date: Thu, 30 May 2019 09:56:45 +0200 Subject: [PATCH 093/122] Re-Implement de_AT language --- bl-languages/de_AT.json | 699 ++++++++++++++++++++-------------------- 1 file changed, 350 insertions(+), 349 deletions(-) diff --git a/bl-languages/de_AT.json b/bl-languages/de_AT.json index d39509a9..7118c960 100644 --- a/bl-languages/de_AT.json +++ b/bl-languages/de_AT.json @@ -1,391 +1,392 @@ { "language-data": { - "native": "English", - "english-name": "English", - "locale": "en, en_US, en_AU, en_CA, en_GB, en_IE, en_NZ", - "last-update": "2018-08-09", + "native": "Deutsch (Österreich)", + "english-name": "German (Austria)", + "locale": "de, de_AT", + "last-update": "2019-05-28", "authors": [ - "Diego @dignajar", "Clickwork https:\/\/clickwork.ch", - "xm74", - "" + "blog2read https:\/\/github.com\/blog2read", + "cblte https:\/\/github.com\/cblte", + "MoritzBrueckner https:\/\/github.com\/MoritzBrueckner", + "SamBrishes https:\/\/www.pytes.net" ] }, "dates": { - "Mon": "Mon", - "Tue": "Tue", - "Wed": "Wed", - "Thu": "Thu", - "Fri": "Fri", - "Sat": "Sat", - "Sun": "Sun", - "Monday": "Monday", - "Tuesday": "Tuesday", - "Wednesday": "Wednesday", - "Thursday": "Thursday", - "Friday": "Friday", - "Saturday": "Saturday", - "Sunday": "Sunday", + "Mon": "Mo", + "Tue": "Di", + "Wed": "Mi", + "Thu": "Do", + "Fri": "Fr", + "Sat": "Sa", + "Sun": "So", + "Monday": "Montag", + "Tuesday": "Dienstag", + "Wednesday": "Mittwoch", + "Thursday": "Donnerstag", + "Friday": "Freitag", + "Saturday": "Samstag", + "Sunday": "Sonntag", "Jan": "Jan", "Feb": "Feb", - "Mar": "Mar", + "Mar": "Mär", "Apr": "Apr", "Jun": "Jun", "Jul": "Jul", "Aug": "Aug", "Sep": "Sep", - "Oct": "Oct", + "Oct": "Okt", "Nov": "Nov", - "Dec": "Dec", - "January": "January", - "February": "February", - "March": "March", + "Dec": "Dez", + "January": "Jänner", + "February": "Februar", + "March": "März", "April": "April", - "May": "May", - "June": "June", - "July": "July", + "May": "Mai", + "June": "Juni", + "July": "Juli", "August": "August", "September": "September", - "October": "October", + "October": "Oktober", "November": "November", - "December": "December" + "December": "Dezember" }, "dashboard": "Dashboard", - "manage-users": "Manage users", - "manage-categories": "Manage categories", - "general-settings": "General settings", - "advanced-settings": "Advanced settings", - "thanks-for-support-bludit": "Thanks for support Bludit", - "upgrade-to-bludit-pro": "Upgrade to Bludit PRO", - "language": "Language", + "manage-users": "Benutzer verwalten", + "manage-categories": "Kategorien verwalten", + "general-settings": "Allgemeine Einstellungen", + "advanced-settings": "Erweiterte Einstellungen", + "thanks-for-support-bludit": "Vielen Dank für die Unterstützung von Bludit!", + "upgrade-to-bludit-pro": "Upgrade auf Bludit PRO", + "language": "Sprache\/Zeitzone", "plugin": "Plugin", "plugins": "Plugins", - "developers": "Developers", + "developers": "Entwickler", "themes": "Themes", - "about": "About", + "about": "Über", "url": "URL", - "welcome": "Welcome", - "logout": "Log out", + "welcome": "Willkommen", + "logout": "Abmelden", "website": "Website", - "publish": "Publish", - "manage": "Manage", - "content": "Content", - "category": "Category", - "categories": "Categories", - "users": "Users", - "settings": "Settings", - "general": "General", - "advanced": "Advanced", - "new-content": "New content", - "manage-content": "Manage content", - "add-new-content": "Add new content", - "new-category": "New category", - "you-do-not-have-sufficient-permissions": "You do not have sufficient permissions", - "add-a-new-user": "Add a new user", - "url-associated-with-the-content": "URL associated with the content.", - "language-and-timezone": "Language and timezone", - "change-your-language-and-region-settings": "Change your language and region settings.", - "notifications": "Notifications", - "plugin-activated": "Plugin activated", - "plugin-deactivated": "Plugin deactivated", - "new-theme-configured": "New theme configured", - "changes-on-settings": "Changes on settings", - "plugin-configured": "Plugin configured", - "welcome-to-bludit": "Welcome to Bludit", - "statistics": "Statistics", - "drafts": "Drafts", - "title": "Title", - "save": "Save", - "save-as-draft": "Save as draft", - "cancel": "Cancel", - "description": "Description", - "this-field-can-help-describe-the-content": "This field can help describe the content in a few words.", - "images": "Images", - "error": "Error", - "supported-image-file-types": "Supported image file types", - "cover-image": "Cover image", - "drag-and-drop-or-click-here": "Drag and drop or click here", - "there-are-no-images": "There are no images", - "upload-and-more-images": "Upload and more images", - "click-on-the-image-for-options": "Click on the image for options.", - "click-here-to-cancel": "Click here to cancel.", - "insert-image": "Insert image", - "set-as-cover-image": "Set as cover image", - "delete-image": "Delete image", - "tags": "Tags", - "add": "Add", + "publish": "Veröffentlichen", + "manage": "Verwalten", + "content": "Inhalte", + "category": "Kategorie", + "categories": "Kategorien", + "users": "Benutzer", + "settings": "Einstellungen", + "general": "Allgemein", + "advanced": "Erweitert", + "new-content": "Neuer Inhalt", + "manage-content": "Inhalte verwalten", + "add-new-content": "Neuen Inhalt erstellen", + "new-category": "Neue Kategorie", + "you-do-not-have-sufficient-permissions": "Keine Berechtigung, diese Seite aufzurufen.", + "add-a-new-user": "Neuer Benutzer", + "url-associated-with-the-content": "Der URL kann selbst angepasst werden.", + "language-and-timezone": "Sprache und Zeitzone", + "change-your-language-and-region-settings": "Sprache ändern und Lokalisierung einstellen.", + "notifications": "Aktivitäten", + "plugin-activated": "Plugin aktiviert", + "plugin-deactivated": "Plugin deaktiviert", + "new-theme-configured": "Theme aktiviert", + "changes-on-settings": "Änderung der Einstellungen", + "plugin-configured": "Plugin konfiguriert", + "welcome-to-bludit": "Willkommen bei Bludit", + "statistics": "Statistiken", + "drafts": "Entwürfe", + "title": "Titel", + "save": "Speichern", + "save-as-draft": "Als Entwurf speichern", + "cancel": "Abbrechen", + "description": "Beschreibung", + "this-field-can-help-describe-the-content": "Kurze Inhaltsbeschreibung. Möglich sind bis zu 150 Zeichen.", + "images": "Bilder", + "error": "Fehler", + "supported-image-file-types": "Unterstützte Dateiformate", + "cover-image": "Hauptbild", + "drag-and-drop-or-click-here": "Drag and Drop oder hier klicken", + "there-are-no-images": "Keine Bilder vorhanden", + "upload-and-more-images": "Upload und weitere Bilder", + "click-on-the-image-for-options": "Für die Bildoptionen auf das Bild klicken.", + "click-here-to-cancel": "Schließen", + "insert-image": "Bild einfügen", + "set-as-cover-image": "Als Hauptbild verwenden", + "delete-image": "Bild löschen", + "tags": "Schlagwörter", + "add": "Hinzufügen", "status": "Status", - "published": "Published", - "draft": "Draft", - "empty-title": "Empty title", - "empty": "empty", - "date": "Date", - "external-cover-image": "External cover image", - "parent": "Parent", - "full-image-url": "Full image URL.", - "this-field-is-used-when-you-order-the-content-by-position": "This field is used when you order the content by position.", + "published": "Veröffentlicht", + "draft": "Entwürfe", + "empty-title": "Kein Titel", + "empty": "Kein Inhalt", + "date": "Datum", + "external-cover-image": "Externes Hauptbild", + "parent": "Übergeordneter Inhalt", + "full-image-url": "Link zum verwendeten Bild.", + "this-field-is-used-when-you-order-the-content-by-position": "Dieses Feld wird verwendet, wenn der Inhalt nach Position angezeigt wird.", "position": "Position", - "friendly-url": "Friendly URL", - "image-description": "Image description", - "add-a-new-category": "Add a new category", + "friendly-url": "URL", + "image-description": "Bildbeschreibung", + "add-a-new-category": "Neue Kategorie hinzufügen", "name": "Name", - "username": "Username", - "first-name": "First name", - "last-name": "Last name", - "to-schedule-the-content-select-the-date-and-time": "To schedule the content select the date and time, the status has to be set to \"Published\".", - "email": "Email", - "role": "Role", - "registered": "Registered", - "site-information": "Site information", - "site-title": "Site title", - "use-this-field-to-name-your-site": "Use this field to name your site.", - "site-slogan": "Site slogan", - "use-this-field-to-add-a-catchy-phrase": "Use this field to add a catchy phrase on your site.", - "site-description": "Site description", - "you-can-add-a-site-description-to-provide": "You can add a site description to provide a short bio or description of your site.", - "footer-text": "Footer text", - "you-can-add-a-small-text-on-the-bottom": "You can add a small text on the bottom of every page. eg: copyright, owner, dates, etc.", - "social-networks-links": "Social networks links", - "site-url": "Site URL", - "email-account-settings": "Email account settings", - "sender-email": "Sender email", - "emails-will-be-sent-from-this-address": "Emails will be sent from this address.", - "url-filters": "URL filters", - "select-your-sites-language": "Select your site's language.", - "timezone": "Timezone", - "select-a-timezone-for-a-correct": "Select a timezone for a correct date\/time display on your site.", - "locale": "Locale", - "date-and-time-formats": "Date and time formats", - "date-format": "Date format", - "current-format": "Current format", + "username": "Benutzername", + "first-name": "Vorname", + "last-name": "Nachname", + "to-schedule-the-content-select-the-date-and-time": "Um einen Inhalt zu einem späteren Zeitpunkt zu veröffentlichen, Datum und Zeit wählen. Sein Status muss \"Veröffentlicht\" sein.", + "email": "E-Mail-Adresse", + "role": "Rolle", + "registered": "Hinzugefügt", + "site-information": "Angaben zur Website", + "site-title": "Titel der Website", + "use-this-field-to-name-your-site": "Name der Website, wie er auf jeder Seite angezeigt wird.", + "site-slogan": "Untertitel", + "use-this-field-to-add-a-catchy-phrase": "Untertitel oder Slogan der Website.", + "site-description": "Informationen", + "you-can-add-a-site-description-to-provide": "Kurze Beschreibung der Website (wird von Suchmaschinen verwendet).", + "footer-text": "Footer-Text", + "you-can-add-a-small-text-on-the-bottom": "Text im Fussbereich jeder Seite. Beispielsweise: Copyright-Hinweis, Eigentümer der Website usw.", + "social-networks-links": "Links zu sozialen Netzwerken", + "site-url": "Adresse der Website", + "email-account-settings": "E-Mail", + "sender-email": "Absender", + "emails-will-be-sent-from-this-address": "E-Mails werden mit dieser E-Mail-Adresse als Absender verschickt.", + "url-filters": "URL-Filter", + "select-your-sites-language": "Sprache der Website.", + "timezone": "Zeitzone", + "select-a-timezone-for-a-correct": "Zeitzone für die richtige Anzeige des Datums und der Zeit auf der Website.", + "locale": "Lokalisierung", + "date-and-time-formats": "Datum und Zeit", + "date-format": "Datumsformat", + "current-format": "Aktuelles Datumsformat", "version": "Version", - "author": "Author", - "activate": "Activate", - "deactivate": "Deactivate", - "edit-category": "Edit category", - "delete": "Delete", - "password": "Password", - "confirm-password": "Confirm Password", + "author": "Autor", + "activate": "Aktivieren", + "deactivate": "Deaktivieren", + "edit-category": "Kategorie bearbeiten", + "delete": "Löschen", + "password": "Passwort", + "confirm-password": "Passwort wiederholen", "editor": "Editor", "administrator": "Administrator", - "edit-user": "Edit user", - "edit-content": "Edit content", - "profile": "Profile", - "change-password": "Change password", - "enabled": "Enabled", - "disable-the-user": "Disable the user", - "profile-picture": "Profile picture", - "edit-or-delete-your-categories": "Edit or delete your categories", - "create-a-new-category-to-organize-your-content": "Create a new category to organize your content", - "confirm-delete-this-action-cannot-be-undone": "Confirm delete, this action cannot be undone.", - "do-you-want-to-disable-the-user": "Do you want to disable the user ?", - "new-password": "New password", + "edit-user": "Benutzer bearbeiten", + "edit-content": "Inhalt bearbeiten", + "profile": "Profil", + "change-password": "Passwort ändern", + "enabled": "Aktiviert", + "disable-the-user": "Benutzer deaktivieren", + "profile-picture": "Profil-Bild", + "edit-or-delete-your-categories": "Kategorien bearbeiten oder löschen.", + "create-a-new-category-to-organize-your-content": "Eine neue Kategorie hinzufügen.", + "confirm-delete-this-action-cannot-be-undone": "Bestätigung der Löschung. Diese kann nicht rückgängig gemacht werden.", + "do-you-want-to-disable-the-user": "Soll der Benutzer deaktiviert werden?", + "new-password": "Neues Passwort", "you-can-change-this-field-when-save-the-current-changes": "You can change this field when save the current changes.", - "items-per-page": "Items per page", - "invite-a-friend-to-collaborate-on-your-site": "Invite a friend to collaborate on your site", - "number-of-items-to-show-per-page": "Number of items to show per page.", - "website-or-blog": "Website or Blog", - "order-content-by": "Order content by", - "edit-or-delete-content-from-your-site": "Edit or delete content from your site", - "order-the-content-by-date-to-build-a-blog": "Order the content by date to build a Blog or order the content by position to build a Website.", - "page-not-found-content": "Hey! looks like the page doesn't exist.", - "page-not-found": "Page not found", - "predefined-pages": "Predefined pages", - "returning-page-when-the-page-doesnt-exist": "Returning page when the page doesn't exist, by default returns a default message.", - "returning-page-for-the-main-page": "Returning page for the main page, by default, shows the latest content order by date or position.", - "full-url-of-your-site": "Full URL of your site. Complete with the protocol HTTP or HTTPS (only if you have enabled SSL on your server).", - "with-the-locales-you-can-set-the-regional-user-interface": "With the locales, you can set the regional user interface, such as the dates in your language. The locales need to be installed on your system.", + "items-per-page": "Inhalte pro Seite", + "invite-a-friend-to-collaborate-on-your-site": "Einen neuen Benutzer hinzufügen.", + "number-of-items-to-show-per-page": "Anzahl Inhalte pro Seite.", + "website-or-blog": "Website oder Blog", + "order-content-by": "Inhalte anzeigen nach", + "edit-or-delete-content-from-your-site": "Inhalte bearbeiten oder löschen.", + "order-the-content-by-date-to-build-a-blog": "Für einen Blog Inhalte nach Datum anzeigen, für eine Website nach Position.", + "page-not-found-content": "Es sieht so aus, als würde es diese Seite nicht geben!", + "page-not-found": "Seite nicht gefunden", + "predefined-pages": "Zugewiesene Seiten", + "returning-page-when-the-page-doesnt-exist": "Inhalt, wenn eine Seite nicht vorhanden ist. Wird nichts gewählt, wird die Standardmeldung verwendet.", + "returning-page-for-the-main-page": "Zur Hauptseite zugeordneter Inhalt. Standardmässig werden die neuesten Inhalte geordnet nach Datum (Blog) oder Position (Website) angezeigt.", + "full-url-of-your-site": "Vollständiger URL der Website mit http:\/\/ oder https:\/\/ (wenn ein Zertifikat aktiviert ist).", + "with-the-locales-you-can-set-the-regional-user-interface": "Die Lokalisierung erlaubt die Anzeige von Zeit und Datum im Format der gewählten Sprachregion. Dafür muss das System entsprechend konfiguriert sein.", "bludit-installer": "Bludit Installer", - "choose-your-language": "Choose your language", - "next": "Next", - "complete-the-form-choose-a-password-for-the-username-admin": "Complete the form choose a password for the username < admin ><\/b>", - "show-password": "Show password", - "install": "Install", - "login": "Login", - "back-to-login-form": "Back to login form", - "get-login-access-code": "Get login access code", - "email-access-code": "Email access code", - "whats-next": "What's Next", - "username-or-password-incorrect": "Username or password incorrect", - "follow-bludit-on": "Follow Bludit on", - "this-is-a-brief-description-of-yourself-our-your-site": "This is a brief description of yourself or your site, to change this text go to the admin panel, settings, plugins, and configure the plugin about.", - "new-version-available": "New version available", - "new-category-created": "New category created", - "category-deleted": "Category deleted", - "category-edited": "Category edited", - "new-user-created": "New user created", - "user-edited": "User edited", - "user-deleted": "User deleted", - "recommended-for-recovery-password-and-notifications": "Recommended for recovery password and notifications.", - "authentication-token": "Authentication Token", + "choose-your-language": "Eine Sprache wählen", + "next": "Weiter", + "complete-the-form-choose-a-password-for-the-username-admin": "Bitte ein Passwort für den Benutzer \"admin\"
    und eine E-Mail-Adresse eingeben.", + "show-password": "Passwort im Klartext zeigen", + "install": "Installieren", + "login": "Anmelden", + "back-to-login-form": "Zurück zur Anmeldeseite", + "get-login-access-code": "Zugangscode schicken", + "email-access-code": "Zugangscode zuschicken", + "whats-next": "Und so geht es weiter:", + "username-or-password-incorrect": "Falscher Benutzername und\/oder falsches Passwort", + "follow-bludit-on": "Den [deutschsprachigen Newsletter](http:\/\/eepurl.com\/b6mpKf) abonnieren und Bludit folgen bei", + "this-is-a-brief-description-of-yourself-our-your-site": "Hier kann beispielsweise eine kurze Beschreibung der Person, die den Blog oder die Website betreibt, oder der Website stehen. Der Text kann im Administrationsbereich in den Einstellungen des Plugins \"Über\" geändert werden.", + "new-version-available": "Eine neue Version ist verfügbar", + "new-category-created": "Kategorie hinzugefügt", + "category-deleted": "Kategorie gelöscht", + "category-edited": "Kategorie bearbeitet", + "new-user-created": "Benutzer hinzugefügt", + "user-edited": "Benutzer bearbeitet", + "user-deleted": "Benutzer gelöscht", + "recommended-for-recovery-password-and-notifications": "E-Mail-Adresse für die Passwort-Wiederherstellung und Mitteilungen.", + "authentication-token": "Authentifizierungs-Token", "token": "Token", - "current-status": "Current status", - "upload-image": "Upload image", - "the-changes-have-been-saved": "The changes have been saved", - "label": "Label", + "current-status": "Aktueller Status", + "upload-image": "Bild hochladen", + "the-changes-have-been-saved": "Die Änderung wurde gespeichert.", + "label": "Bezeichnung", "links": "Links", - "this-title-is-almost-always-used-in-the-sidebar-of-the-site": "This title is almost always used in the sidebar of the site.", - "password-must-be-at-least-6-characters-long": "Password must be at least 6 characters long", - "ip-address-has-been-blocked": "IP address has been blocked", - "try-again-in-a-few-minutes": "Try again in a few minutes", - "content-published-from-scheduler": "Content published from scheduler", + "this-title-is-almost-always-used-in-the-sidebar-of-the-site": "Abhängig vom Theme wird die Bezeichnung als Titel des Plugin-Bereichs verwendet.", + "password-must-be-at-least-6-characters-long": "Das Passwort muss mindestens 6 Zeichen lang sein.", + "ip-address-has-been-blocked": "Die IP-Adresse wurde gesperrt.", + "try-again-in-a-few-minutes": "Bitte, es in einigen Minuten noch einmal versuchen.", + "content-published-from-scheduler": "Geplanter Inhalt veröffentlicht", "blog": "Blog", - "complete-all-fields": "Complete all fields", - "static": "Static", - "about-your-site-or-yourself": "About your site or yourself", - "homepage": "Homepage", - "disabled": "Disabled", - "to-enable-the-user-you-must-set-a-new-password": "To enable the user you must set a new password.", - "delete-the-user-and-associate-his-content-to-admin-user": "Delete the user and associate his content to admin user", - "delete-the-user-and-all-his-content": "Delete the user and all his content", - "user-disabled": "User disabled", - "user-password-changed": "User password changed", - "the-password-and-confirmation-password-do-not-match": "The password and confirmation password do not match", - "scheduled-content": "Scheduled content", - "there-are-no-scheduled-content": "There are no scheduled content.", - "new-content-created": "New content created", - "content-edited": "Content edited", - "content-deleted": "Content deleted", - "undefined": "Undefined", - "create-new-content-for-your-site": "Create new content for your site", - "there-are-no-draft-content": "There are no draft content.", - "order-items-by": "Order items by", - "all-content": "All content", - "dynamic": "Dynamic", - "type": "Type", - "draft-content": "Draft content", + "complete-all-fields": "Bitte alle Felder ausfüllen", + "static": "Statisch", + "about-your-site-or-yourself": "Über den Betreiber der Website.", + "homepage": "Hauptseite", + "disabled": "Deaktiviert", + "to-enable-the-user-you-must-set-a-new-password": "Um den Benutzer zu aktivieren, muss ein neues Passwort vergeben werden.", + "delete-the-user-and-associate-his-content-to-admin-user": "Benutzer löschen und seine Inhalte dem Benutzer admin übertragen.", + "delete-the-user-and-all-his-content": "Benutzer und alle seine Inhalte löschen.", + "user-disabled": "Benutzer deaktiviert", + "user-password-changed": "Passwort geändert", + "the-password-and-confirmation-password-do-not-match": "Das Passwort und die Bestätigung des Passworts stimmen nicht überein", + "scheduled-content": "Geplant", + "there-are-no-scheduled-content": "Es sind keine Veröffentlichungen geplant.", + "new-content-created": "Inhalt erstellt", + "content-edited": "Inhalt bearbeitet", + "content-deleted": "Inhalt gelöscht", + "undefined": "Nicht definiert", + "create-new-content-for-your-site": "Einen neuen Inhalt erstellen.", + "there-are-no-draft-content": "Es gibt keine Entwürfe.", + "order-items-by": "Inhalte sortieren nach", + "all-content": "Alle Inhalte", + "dynamic": "Dynamisch", + "type": "Art", + "draft-content": "Entwürfe", "post": "Post", - "default": "Default", - "latest-content": "Latest content", - "default-message": "Default message", - "no-parent": "No parent", - "have-you-seen-my-ball": "Have you seen my ball?", - "pagebreak": "Page break", - "pages": "Pages", - "this-plugin-may-not-be-supported-by-this-version-of-bludit": "This plugin may not be supported by this version of Bludit", - "previous": "Previous", - "previous-page": "Previous page", - "next-page": "Next page", - "scheduled": "Scheduled", - "this-token-is-similar-to-a-password-it-should-not-be-shared": "This token is similar to a password, it should not be shared.", - "congratulations-you-have-successfully-installed-your-bludit": "Congratulations you have successfully installed your Bludit.", - "this-theme-may-not-be-supported-by-this-version-of-bludit": "This theme may not be supported by this version of Bludit", - "read-more": "Read more", - "remember-me": "Remember me", - "plugins-position": "Plugin position", - "plugins-sorted": "Plugins sorted", - "plugins-position-changed": "Plugin position changed", - "drag-and-drop-to-set-the-position-of-the-plugin": "Drag and Drop to set the position of the plugins", - "change-the-position-of-the-plugins": "Change the position of the plugins", - "reading-time": "Reading time", - "minutes": "minutes", - "minute": "minute", - "example-page-1-slug": "create-your-own-content", - "example-page-1-title": "Create your own content", - "example-page-1-content": "Start writing your own content or edit the current to fit your needs. To create, edit or remove content you need to login to the
    admin panel<\/a> with the username `admin` and the password you set in the installation process.", - "example-page-2-slug": "set-up-your-new-site", - "example-page-2-title": "Set up your new site", - "example-page-2-content": "Update the settings of your site from the admin panel<\/a>, you can change the title, description and the social networks from Settings > General<\/a>.", - "example-page-3-slug": "follow-bludit", - "example-page-3-title": "Follow Bludit", - "example-page-3-content": "Get information about news, new releases, new themes or new plugins on our social networks Facebook<\/a>, Twitter<\/a> and YouTube<\/a> or visit our Blog<\/a>.", - "example-page-4-slug": "about", - "example-page-4-title": "About", - "example-page-4-content": "Your About page is typically one of the most visited pages on your site, need to be simple with a few key things, such as your name, who are you, how can contact you, a small story, etc.", - "the-extension-zip-is-not-installed": "The extension zip is not installed, to use this plugin you need to install the extension.", - "there-are-no-sticky-pages-at-this-moment": "There are no sticky pages at this moment.", - "there-are-no-scheduled-pages-at-this-moment": "There are no scheduled pages at this moment.", - "update": "Update", + "default": "Standardvorgabe", + "latest-content": "Neueste Inhalte", + "default-message": "Standardmeldung", + "no-parent": "Kein übergeordneter Inhalt", + "have-you-seen-my-ball": "Hast Du meinen Ball gesehen?", + "pagebreak": "Seitenumbruch", + "pages": "Seiten", + "this-plugin-may-not-be-supported-by-this-version-of-bludit": "Dieses Plugin wird möglicherweise von der installierten Version von Bludit nicht unterstützt.", + "previous": "Zurück", + "previous-page": "Vorhergehende Seite", + "next-page": "Nächste Seite", + "scheduled": "Geplant", + "this-token-is-similar-to-a-password-it-should-not-be-shared": "Dieser Token ist genauso wichtig wie ein Passwort und sollte nicht weitergegeben werden.", + "congratulations-you-have-successfully-installed-your-bludit": "Gratulation, Bludit wurde erfolgreich installiert!", + "this-theme-may-not-be-supported-by-this-version-of-bludit": "Dieses Theme wird möglicherweise von der installierten Version von Bludit nicht unterstützt.", + "read-more": "Weiterlesen", + "remember-me": "Angemeldet bleiben", + "plugins-position": "Reihenfolge der Plugins", + "plugins-sorted": "Reihenfolge der Plugins geändert", + "plugins-position-changed": "Die Reihenfolge der Plugins wurde geändert.", + "drag-and-drop-to-set-the-position-of-the-plugin": "Die Reihenfolge der Plugins kann per \"Drag and Drop\" geändert werden", + "change-the-position-of-the-plugins": "Reihenfolge der Plugins bearbeiten", + "reading-time": "Lesezeit", + "minutes": "Minuten", + "minute": "Minute", + "example-page-1-slug": "veroeffentliche-deine-inhalte", + "example-page-1-title": "Veröffentliche deine Inhalte", + "example-page-1-content": "Veröffentliche deine eigenen Inhalte oder passe die vorhandenen deinen Bedürfnissen an. Um Inhalte zu veröffentlichen, zu bearbeiten oder zu löschen, musst du dich im [Administrationsbereich](.\/admin) anmelden (mit dem Benutzernamen `admin` und dem Passwort, das Du bei der Installation eingegeben hast).", + "example-page-2-slug": "richte-deine-website-ein", + "example-page-2-title": "Richte deine Website ein", + "example-page-2-content": "Passe die Einstellungen deiner Website im [Administrationsbereich](.\/admin) an. Unter [Einstellungen > Allgemein](.\/admin\/settings-general) kannst Du beispielsweise den Titel und die Beschreibung der Website ändern oder Links zu sozialen Netzwerken eingeben.", + "example-page-3-slug": "folge-bludit", + "example-page-3-title": "Folge Bludit", + "example-page-3-content": "Halte dich auf dem Laufenden über neue Versionen, Themes und Plugins in den sozialen Netzwerken Facebook<\/a>, Twitter<\/a> und YouTube<\/a>, über den Blog<\/a> oder indem du den deutschsprachigen Newsletter<\/a> abonnierst.", + "example-page-4-slug": "ueber", + "example-page-4-title": "Über", + "example-page-4-content": "Die Seite \"Über\" ist eine viel beachtete Seite. Denn viele wollen wissen, wer einen Blog oder eine Website betreibt, welche Idee dahinter steht, wie du erreichbar bist usw.", + "the-extension-zip-is-not-installed": "Die ZIP-Erweiterung ist auf deinem Server nicht installiert. Um dieses Plugin zu verwenden, muss sie installiert werden.", + "there-are-no-sticky-pages-at-this-moment": "Es gibt keine fixierten Inhalte.", + "there-are-no-scheduled-pages-at-this-moment": "Es gibt keine zur Veröffentlichung geplanten Inhalte.", + "update": "Aktualisierung", "template": "Template", "nickname": "Nickname", - "disable-user": "Disable user", - "delete-user-and-keep-content": "Delete user and keep content", - "delete-user-and-delete-content": "Delete user and delete content (Warning)", - "social-networks": "Social Networks", - "interval": "Interval", - "number-in-minutes-for-every-execution-of-autosave": "Number in minutes for every execution of autosave.", - "extreme-friendly-url": "Extreme friendly URL", - "title-formats": "Title formats", - "delete-content": "Delete content", - "are-you-sure-you-want-to-delete-this-page": "Are you sure you want to delete this page?", - "sticky": "Sticky", - "actions": "Actions", - "edit": "Edit", - "options": "Options", - "enter-title": "Enter title", - "media-manager": "Media Manager", - "set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images": "Set a cover image from an external URL, such as a CDN or some server dedicated for images.", - "user": "User", - "date-format-format": "Date format: YYYY-MM-DD Hours:Minutes:Seconds<\/code>", - "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", - "field-used-when-ordering-content-by-position": "Field used when ordering content by position.", - "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", - "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", - "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", - "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", - "this-tells-search-engines-not-to-follow-links-on-this-page": "This tells search engines not to follow links on this page.", - "apply-code-noarchive-code-to-this-page": "Apply noarchive<\/code> to this page.", - "this-tells-search-engines-not-to-save-a-cached-copy-of-this-page": "This tells search engines not to save a cached copy of this page.", - "uncategorized": "Uncategorized", - "done": "Done", - "delete-category": "Delete category", - "are-you-sure-you-want-to-delete-this-category?": "Are you sure you want to delete this category?", - "confirm-new-password": "Confirm new password", - "the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content": "The nickname is almost used in the themes to display the author of the content", - "allow-unicode": "Allow Unicode", - "allow-unicode-characters-in-the-url-and-some-part-of-the-system": "Allow Unicode characters in the URL and some part of the system.", - "variables-allowed": "Variables allowed", + "disable-user": "Benutzer deaktivieren", + "delete-user-and-keep-content": "Benutzer löschen und Inhalte behalten", + "delete-user-and-delete-content": "Benutzer und Inhalte löschen (Vorsicht!)", + "social-networks": "Soziale Netzwerke", + "interval": "Abstände", + "number-in-minutes-for-every-execution-of-autosave": "Anzahl Minuten zwischen automatischen Speicherungen.", + "extreme-friendly-url": "Besonders benutzerfreundlicher URL", + "title-formats": "Titelformate", + "delete-content": "Inhalt löschen", + "are-you-sure-you-want-to-delete-this-page": "Bist Du sicher, dass Du diesen Inhalt löschen möchtest?", + "sticky": "Fixiert", + "actions": "Aktionen", + "edit": "Bearbeiten", + "options": "Einstellungen", + "enter-title": "Titel hier eingegeben", + "media-manager": "Medien-Manager", + "set-a-cover-image-from-external-url,-such-as-a-cdn-or-some-server-dedicated-for-images": "Hauptbild mit einem externen URL, beispielsweise von einem Content Delivery Network (CDN).", + "user": "Benutzer", + "date-format-format": "Datumsformat: YYYY-MM-DD Stunden:Minuten:Sekunden<\/code>", + "start-typing-a-page-title-to-see-a-list-of-suggestions": "Die automatische Vervollständigung zeigt entsprechende Vorschläge an.", + "field-used-when-ordering-content-by-position": "Dieses Feld wird verwendet, wenn die Inhalte nach Position angezeigt werden (Website).", + "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Name des Templates, wenn das Theme es erlaubt, verschiedene Templates einzelnen Inhalten zuzuordnen.", + "write-the-tags-separated-by-comma": "Schlagwörter durch Kommas getrennt eingeben.", + "apply-code-noindex-code-to-this-page": "Die Anweisung noindex<\/code> für diese Seite verwenden.", + "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "Anweisung an Suchmaschinen, die Seite in Suchergebnissen nicht zu zeigen.", + "apply-code-nofollow-code-to-this-page": "Die Anweisung nofollow<\/code> für dieses Seite verwenden.", + "this-tells-search-engines-not-to-follow-links-on-this-page": "Anweisung an Suchmaschinen, Links auf der Seite nicht zu folgen.", + "apply-code-noarchive-code-to-this-page": "Die Anweisung noarchive<\/code> für diese Seite anwenden.", + "this-tells-search-engines-not-to-save-a-cached-copy-of-this-page": "Anweisung an Suchmaschinen, keine Kopie der Seite im Cache zu speichern.", + "uncategorized": "Nicht kategorisiert", + "done": "Bestätigen", + "delete-category": "Kategorie löschen", + "are-you-sure-you-want-to-delete-this-category?": "Bist du sicher, dass Du diese Kategorie löschen möchtest?", + "confirm-new-password": "Bestätige das neue Passwort", + "the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content": "Der Nickname wird als Name des Autors von Beiträgen angezeigt.", + "allow-unicode": "Unicode", + "allow-unicode-characters-in-the-url-and-some-part-of-the-system": "Unicode-Zeichen mit Umlauten usw. im URL und bei einigen Teilen des Systems verwenden.", + "variables-allowed": "Mögliche Platzhalter:", "tag": "Tag", - "drag-and-drop-to-sort-the-plugins": "Drag and Drop to sort the plugins.", + "drag-and-drop-to-sort-the-plugins": "Die Reihenfolge der Plugins kann mit Drag and Drop geändert werden.", "seo": "SEO", - "documentation": "Documentation", - "forum-support": "Forum support", - "chat-support": "Chat support", - "quick-links": "Quick links", - "leave-empty-for-autocomplete-by-bludit": "Leave empty for autocomplete by Bludit.", - "choose-a-password-for-the-user-admin": "Choose a password for the user admin<\/code>", - "access-denied": "Access denied", - "choose-images-to-upload": "Choose images to upload", - "insert": "Insert", - "upload": "Upload", - "autosave": "Autosave", - "the-content-is-saved-as-a-draft-to-publish-it": "The content is saved as a draft. To publish it click on the button Publish<\/b> or if you still working on it click on Save as draft<\/b>.", - "site": "Site", - "first": "First", - "last": "Last", - "there-are-no-pages-at-this-moment": "There are no pages at this moment.", - "there-are-no-static-pages-at-this-moment": "There are no static pages at this moment.", - "there-are-no-draft-pages-at-this-moment": "There are no draft pages at this moment.", - "good-morning": "Good morning", - "good-afternoon": "Good afternoon", - "good-evening": "Good evening", - "good-night": "Good night", - "hello": "Hello", - "there-are-no-images-for-the-page": "There are no images for the page.", - "select-cover-image": "Select cover image", - "this-plugin-depends-on-the-following-plugins": "This plugin depends on the following plugins.", - "no-pages-found": "No pages found.", - "system-updated": "System updated.", - "security": "Security", - "remove-cover-image": "Remove cover image", - "width": "Width", - "height": "Height", - "quality": "Quality", - "thumbnails": "Thumbnails", - "thumbnail": "Thumbnail", - "thumbnail-width-in-pixels": "Thumbnail width in pixels (px).", - "thumbnail-height-in-pixels": "Thumbnail height in pixels (px).", - "thumbnail-quality-in-percentage": "Thumbnail quality in percentage (%).", - "maximum-load-file-size-allowed:": "Maximum load file size allowed:", - "file-type-is-not-supported": "File type is not supported. Allowed types:", - "page-content": "Page content", - "markdown-parser": "Markdown parser", - "site-logo": "Site logo", - "search": "Search", - "search-plugins": "Search plugins", - "enabled-plugins": "Enabled plugins", - "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo", - "preview": "Preview" -} \ No newline at end of file + "documentation": "Dokumentation", + "forum-support": "Support-Forum", + "chat-support": "Support-Chat", + "quick-links": "Quicklinks", + "leave-empty-for-autocomplete-by-bludit": "Ohne Eingabe wird der URL von Bludit erstellt.", + "choose-a-password-for-the-user-admin": "Gib ein Passwort für den Benutzer admin<\/code> ein", + "access-denied": "Zugriff verweigert", + "choose-images-to-upload": "Bilder auswählen und auf den Server laden", + "insert": "Einfügen", + "upload": "Hochladen", + "autosave": "Automatische Speicherung", + "the-content-is-saved-as-a-draft-to-publish-it": "Der Inhalt ist als Entwurf gespeichert. Um ihn zu veröffentlichen, klicke Veröffentlichen<\/b>, wenn du ihn weiter bearbeiten möchtest, klicke Als Entwurf speichern<\/b>.", + "site": "Seite", + "first": "Erste", + "last": "Letzte", + "there-are-no-pages-at-this-moment": "Es gibt noch keine Seiten.", + "there-are-no-static-pages-at-this-moment": "Es gibt noch keine statischen Inhalte.", + "there-are-no-draft-pages-at-this-moment": "Es gibt noch keine Entwürfe.", + "good-morning": "Guten Morgen", + "good-afternoon": "Guten Nachmittag", + "good-evening": "Guten Abend", + "good-night": "Gute Nacht", + "hello": "Hallo", + "there-are-no-images-for-the-page": "Für diesen Inhalt sind keine Bilder vorhanden.", + "select-cover-image": "Wähle ein Hauptbild", + "this-plugin-depends-on-the-following-plugins": "Dieses Plugin benötigt die folgenden Plugins:", + "no-pages-found": "Es wurden keine Seiten gefunden", + "system-updated": "Das System wurde aktualisiert", + "security": "Sicherheit", + "remove-cover-image": "Hauptbild entfernen", + "width": "Breite", + "height": "Höhe", + "quality": "Qualität", + "thumbnails": "Vorschaubilder", + "thumbnail": "Vorschaubild", + "thumbnail-width-in-pixels": "Breite der Vorschaubilder in Pixel (px).", + "thumbnail-height-in-pixels": "Höhe der Vorschaubilder in Pixel (px).", + "thumbnail-quality-in-percentage": "Qualität der Vorschaubilder in Prozent (%).", + "maximum-load-file-size-allowed:": "Maximal erlaubte Dateigröße:", + "file-type-is-not-supported": "Dateiformat wird nicht unterstützt. Erlaubte Dateiformate:", + "page-content": "Seiteninhalt", + "markdown-parser": "Markdown-Parser", + "site-logo": "Website-Logo", + "search": "Suche", + "search-plugins": "Plugins suchen", + "enabled-plugins": "Aktivierte Plugins", + "disabled-plugins": "Deaktivierte Plugins", + "remove-logo": "Logo entfernen", + "preview": "Vorschau" +} From d0b286ee0e10bc449e8026a6626a90293609db35 Mon Sep 17 00:00:00 2001 From: SamBrishes Date: Thu, 30 May 2019 09:57:15 +0200 Subject: [PATCH 094/122] Translate Preview in de_CH --- bl-languages/de_CH.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bl-languages/de_CH.json b/bl-languages/de_CH.json index 8e33d1ed..ba9adaff 100644 --- a/bl-languages/de_CH.json +++ b/bl-languages/de_CH.json @@ -388,5 +388,5 @@ "enabled-plugins": "Aktivierte Plugins", "disabled-plugins": "Deaktivierte Plugins", "remove-logo": "Logo entfernen", - "preview": "Preview" + "preview": "Vorschau" } \ No newline at end of file From 8b4ea87bf45e68ca5b50d4b542483d3b86c5bb78 Mon Sep 17 00:00:00 2001 From: Edi Date: Thu, 30 May 2019 15:42:49 +0200 Subject: [PATCH 095/122] Update de_DE.json --- bl-languages/de_DE.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bl-languages/de_DE.json b/bl-languages/de_DE.json index e5bc6472..44cab7e2 100644 --- a/bl-languages/de_DE.json +++ b/bl-languages/de_DE.json @@ -3,7 +3,7 @@ "native": "Deutsch (Deutschland)", "english-name": "German", "locale": "de, de_DE", - "last-update": "2018-05-28", + "last-update": "2018-05-30", "authors": [ "Clickwork https:\/\/clickwork.ch", "blog2read https:\/\/github.com\/blog2read", @@ -388,5 +388,5 @@ "enabled-plugins": "Aktivierte Plugins", "disabled-plugins": "Deaktivierte Plugins", "remove-logo": "Logo entfernen", - "preview": "Preview" -} \ No newline at end of file + "preview": "Vorschau +} From 51cdedbdb414ae3013aed737d47d203a89e1dc87 Mon Sep 17 00:00:00 2001 From: Edi Date: Thu, 30 May 2019 15:43:18 +0200 Subject: [PATCH 096/122] Update de_AT.json --- bl-languages/de_AT.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bl-languages/de_AT.json b/bl-languages/de_AT.json index 7118c960..f4c295bb 100644 --- a/bl-languages/de_AT.json +++ b/bl-languages/de_AT.json @@ -3,7 +3,7 @@ "native": "Deutsch (Österreich)", "english-name": "German (Austria)", "locale": "de, de_AT", - "last-update": "2019-05-28", + "last-update": "2019-05-30", "authors": [ "Clickwork https:\/\/clickwork.ch", "blog2read https:\/\/github.com\/blog2read", From fe2d640969bc2a4ef0f6b0a45250b584319f6513 Mon Sep 17 00:00:00 2001 From: Edi Date: Thu, 30 May 2019 15:43:50 +0200 Subject: [PATCH 097/122] Update de_CH.json --- bl-languages/de_CH.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bl-languages/de_CH.json b/bl-languages/de_CH.json index ba9adaff..4bf97239 100644 --- a/bl-languages/de_CH.json +++ b/bl-languages/de_CH.json @@ -3,7 +3,7 @@ "native": "Deutsch (Schweiz)", "english-name": "German", "locale": "de, de_CH", - "last-update": "2019-05-28", + "last-update": "2019-05-30", "authors": [ "Clickwork https:\/\/clickwork.ch", "blog2read https:\/\/github.com\/blog2read", @@ -389,4 +389,4 @@ "disabled-plugins": "Deaktivierte Plugins", "remove-logo": "Logo entfernen", "preview": "Vorschau" -} \ No newline at end of file +} From e226468036b072f1962a85fdc2f75b8eb5fedefe Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Thu, 30 May 2019 19:24:37 +0200 Subject: [PATCH 098/122] Change metadata for Bludit v3.9.1 --- bl-kernel/boot/init.php | 6 +++--- bl-plugins/about/metadata.json | 6 +++--- bl-plugins/api/metadata.json | 6 +++--- bl-plugins/backup/metadata.json | 6 +++--- bl-plugins/canonical/metadata.json | 6 +++--- bl-plugins/categories/metadata.json | 6 +++--- bl-plugins/disqus/metadata.json | 6 +++--- bl-plugins/easymde/metadata.json | 2 +- bl-plugins/hit-counter/metadata.json | 6 +++--- bl-plugins/html-code/metadata.json | 6 +++--- bl-plugins/links/metadata.json | 6 +++--- bl-plugins/maintenance-mode/metadata.json | 6 +++--- bl-plugins/navigation/metadata.json | 6 +++--- bl-plugins/opengraph/metadata.json | 6 +++--- bl-plugins/remote-content/metadata.json | 6 +++--- bl-plugins/robots/metadata.json | 6 +++--- bl-plugins/rss/metadata.json | 6 +++--- bl-plugins/search/metadata.json | 6 +++--- bl-plugins/simple-stats/metadata.json | 6 +++--- bl-plugins/sitemap/metadata.json | 6 +++--- bl-plugins/static-pages/metadata.json | 6 +++--- bl-plugins/tags/metadata.json | 6 +++--- bl-plugins/tinymce/metadata.json | 2 +- bl-plugins/twitter-cards/metadata.json | 6 +++--- bl-plugins/version/metadata.json | 6 +++--- bl-themes/alternative/metadata.json | 6 +++--- bl-themes/blogx/metadata.json | 6 +++--- 27 files changed, 77 insertions(+), 77 deletions(-) diff --git a/bl-kernel/boot/init.php b/bl-kernel/boot/init.php index 57af3d1c..b9710d7c 100644 --- a/bl-kernel/boot/init.php +++ b/bl-kernel/boot/init.php @@ -1,10 +1,10 @@ Date: Fri, 31 May 2019 09:29:44 +0200 Subject: [PATCH 099/122] Fix language --- bl-languages/de_DE.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bl-languages/de_DE.json b/bl-languages/de_DE.json index 44cab7e2..2bd4f646 100644 --- a/bl-languages/de_DE.json +++ b/bl-languages/de_DE.json @@ -388,5 +388,5 @@ "enabled-plugins": "Aktivierte Plugins", "disabled-plugins": "Deaktivierte Plugins", "remove-logo": "Logo entfernen", - "preview": "Vorschau -} + "preview": "Vorschau" +} \ No newline at end of file From 2fd6d1722918f432a0203147f11010a49bc65cc1 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Fri, 31 May 2019 13:06:49 +0200 Subject: [PATCH 100/122] Update readme --- README.md | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 787f5403..e1dc3259 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [Bludit](https://www.bludit.com/) ================================ -**Simple**, **Fast** and **Flexible** CMS +**Simple**, **Fast** and **Flexible** CMS. Bludit is a web application to build your own **website** or **blog** in seconds, it's completely **free and open source**. Bludit uses files in JSON format to store the content, you don't need to install or configure a database. You only need a web server with PHP support. @@ -13,14 +13,13 @@ Bludit supports **Markdown** and **HTML code** for the content. - [Documentation](https://docs.bludit.com) - Help and Support [Forum](https://forum.bludit.org) and [Chat](https://gitter.im/bludit/support) -[![Bludit PRO](https://img.shields.io/badge/Bludit-PRO-blue.svg)](https://pro.bludit.com/) - -Social Networks +Follow Bludit --------------- +- [Blog](https://blog.bludit.com) - [Twitter](https://twitter.com/bludit) - [Facebook](https://www.facebook.com/bluditcms) -- [Youtube](https://www.youtube.com/channel/UCuLu0Z_CHBsTiYTDz129x9Q?view_as=subscriber) +- [Youtube](https://www.youtube.com/c/Bluditcms) Requirements ------------ @@ -47,25 +46,24 @@ Installation Guide Docker Image ------------ -Bludit provides an official Docker image. +Official Docker image on Docker Hub. - https://hub.docker.com/r/bludit/docker/ -Backers +Also we provide Kubernetes deployments yaml files. +- https://github.com/bludit/docker/tree/master/kubernetes + +Support Bludit! ------- -Become a **Backer** and support Bludit with a monthly contribution to help us continue development. -- [Become a Backer](https://www.patreon.com/bePatron?c=921115&rid=2458859) +Bludit is open soruce and free, but if you really like the project and is useful for your you can contribute in [Patreon](https://www.patreon.com/bePatron?c=921115&rid=2458860), also for the supporters we provide Bludit PRO. -Sponsors --------- -Become a **Sponsor** and support Bludit with a monthly contribution to help us continue development. +[![Bludit PRO](https://img.shields.io/badge/Bludit-PRO-blue.svg)](https://pro.bludit.com/) -[![Become a Sponsor](https://img.shields.io/badge/Become%20a%20Sponsor--green.svg)](https://www.patreon.com/bePatron?c=921115&rid=2458860) +### Golden sponsors in Patreon! - Clickwork - KreativMind - Martin Cajzer - Jan Rippl -- Wesleigh Walker License ------- From 239b868cc49eb47c1ee18eb0efe6cfc2bcce077a Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Sun, 2 Jun 2019 20:10:55 +0200 Subject: [PATCH 101/122] Added description --- bl-themes/alternative/css/style.css | 5 ++++ bl-themes/alternative/img/googleplus.svg | 5 ---- bl-themes/alternative/img/rss.svg | 1 + bl-themes/alternative/index.php | 33 ++++++++++++++++++------ bl-themes/alternative/php/head.php | 21 --------------- bl-themes/alternative/php/home.php | 5 ++++ bl-themes/alternative/php/page.php | 3 +-- 7 files changed, 37 insertions(+), 36 deletions(-) delete mode 100644 bl-themes/alternative/img/googleplus.svg create mode 100644 bl-themes/alternative/img/rss.svg delete mode 100644 bl-themes/alternative/php/head.php diff --git a/bl-themes/alternative/css/style.css b/bl-themes/alternative/css/style.css index f0e9c698..8bcbbe47 100755 --- a/bl-themes/alternative/css/style.css +++ b/bl-themes/alternative/css/style.css @@ -120,6 +120,11 @@ section.home-page:nth-child(even) { /* Alternate the background color */ background-position: center; } +.page-description { + color: #b5b5b5; + font-style: italic; +} + /* VIDEO EMBED RESPONSIVE */ .video-embed { overflow:hidden; diff --git a/bl-themes/alternative/img/googleplus.svg b/bl-themes/alternative/img/googleplus.svg deleted file mode 100644 index 3b221b4c..00000000 --- a/bl-themes/alternative/img/googleplus.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - Google+ icon - - \ No newline at end of file diff --git a/bl-themes/alternative/img/rss.svg b/bl-themes/alternative/img/rss.svg new file mode 100644 index 00000000..c47a1157 --- /dev/null +++ b/bl-themes/alternative/img/rss.svg @@ -0,0 +1 @@ +RSS icon \ No newline at end of file diff --git a/bl-themes/alternative/index.php b/bl-themes/alternative/index.php index 6bafd69f..86cfb118 100755 --- a/bl-themes/alternative/index.php +++ b/bl-themes/alternative/index.php @@ -1,7 +1,27 @@ - + + + + + + + + + + + + + + + + + + + + + @@ -26,14 +46,11 @@ - - + - // Include javascript Bootstrap file from Bludit Core - echo Theme::jsBootstrap(); - ?> + + diff --git a/bl-themes/alternative/php/head.php b/bl-themes/alternative/php/head.php deleted file mode 100644 index db3b4db4..00000000 --- a/bl-themes/alternative/php/head.php +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/bl-themes/alternative/php/home.php b/bl-themes/alternative/php/home.php index 88368cc0..13a8cfd5 100644 --- a/bl-themes/alternative/php/home.php +++ b/bl-themes/alternative/php/home.php @@ -45,6 +45,11 @@

    title(); ?>

    + + description()): ?> +

    description(); ?>

    + +
    contentBreak(); ?> diff --git a/bl-themes/alternative/php/page.php b/bl-themes/alternative/php/page.php index 354a0e99..a879cc84 100644 --- a/bl-themes/alternative/php/page.php +++ b/bl-themes/alternative/php/page.php @@ -8,11 +8,10 @@

    title(); ?>

    - description()): ?>

    description(); ?>

    - --> coverImage()): ?> From 1ea94a4f0b51824ea7d477aa2f80d3503d8e5085 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Sun, 2 Jun 2019 20:37:45 +0200 Subject: [PATCH 102/122] Include RSS link --- bl-themes/alternative/img/rss.svg | 6 +++++- bl-themes/alternative/php/home.php | 12 ++++++++++-- bl-themes/alternative/php/navbar.php | 10 ++++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/bl-themes/alternative/img/rss.svg b/bl-themes/alternative/img/rss.svg index c47a1157..74d9c553 100644 --- a/bl-themes/alternative/img/rss.svg +++ b/bl-themes/alternative/img/rss.svg @@ -1 +1,5 @@ -RSS icon \ No newline at end of file + + + RSS icon + + \ No newline at end of file diff --git a/bl-themes/alternative/php/home.php b/bl-themes/alternative/php/home.php index 13a8cfd5..9407be84 100644 --- a/bl-themes/alternative/php/home.php +++ b/bl-themes/alternative/php/home.php @@ -12,13 +12,21 @@
    - - + +
    diff --git a/bl-themes/alternative/php/navbar.php b/bl-themes/alternative/php/navbar.php index c5ebc715..6a87592f 100644 --- a/bl-themes/alternative/php/navbar.php +++ b/bl-themes/alternative/php/navbar.php @@ -27,6 +27,16 @@ + + + + +
    From 125d1f01fd913699dd94ce81bdd42ff3d92d062c Mon Sep 17 00:00:00 2001 From: Fred89 Date: Wed, 5 Jun 2019 01:19:34 +0200 Subject: [PATCH 103/122] Update fr_FR.json --- bl-languages/fr_FR.json | 47 +++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 23 deletions(-) mode change 100755 => 100644 bl-languages/fr_FR.json diff --git a/bl-languages/fr_FR.json b/bl-languages/fr_FR.json old mode 100755 new mode 100644 index 878fa474..9739fb35 --- a/bl-languages/fr_FR.json +++ b/bl-languages/fr_FR.json @@ -3,7 +3,7 @@ "native": "Français (France)", "english-name": "French", "locale": "fr, fr_FR", - "last-update": "2018-10-24", + "last-update": "2019-06-05", "authors": [ "Frédéric K. http:\/\/flatboard.free.fr", "Clickwork https:\/\/clickwork.ch", @@ -366,26 +366,27 @@ "select-cover-image": "Sélectionnez une image d’accroche.", "this-plugin-depends-on-the-following-plugins": "Ce plugin dépend des plugins suivants.", "no-pages-found": "Aucune page trouvée", - "system-updated": "System updated", - "security": "Security", - "remove-cover-image": "Remove cover image", - "width": "Width", - "height": "Height", - "quality": "Quality", - "thumbnails": "Thumbnails", - "thumbnail": "Thumbnail", - "thumbnail-width-in-pixels": "Thumbnail width in pixels (px).", - "thumbnail-height-in-pixels": "Thumbnail height in pixels (px).", - "thumbnail-quality-in-percentage": "Thumbnail quality in percentage (%).", - "maximum-load-file-size-allowed:": "Maximum load file size allowed:", - "file-type-is-not-supported": "File type is not supported. Allowed types:", - "page-content": "Page content", - "markdown-parser": "Markdown parser", - "site-logo": "Site logo", - "search": "Search", - "search-plugins": "Search plugins", - "enabled-plugins": "Enabled plugins", - "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo", - "preview": "Preview" + "system-updated": "Système mis à jour", + "security": "Sécurité", + "remove-cover-image": "Supprimer l’image d’accroche", + "width": "Largeur", + "height": "Hauteur", + "quality": "Qualité", + "thumbnails": "Miniatures", + "thumbnail": "Miniature", + "thumbnail-width-in-pixels": "Largeur de la miniature en pixels (px).", + "thumbnail-height-in-pixels": "Hauteur de la miniature en pixels (px).", + "thumbnail-quality-in-percentage": "Qualité des miniatures en pourcentage (%).", + "maximum-load-file-size-allowed:": "Taille maximale des fichiers autorisée :", + "file-type-is-not-supported": "Le type de fichier n’est pas supporté. Liste des extensions autorisées :", + "page-content": "Contenu de la page", + "markdown-parser": "Parseur au format Markdown", + "site-logo": "Logo du site", + "search": "Rechercher", + "search-plugins": "Recherche dans les plugins", + "enabled-plugins": "Plugins activés", + "disabled-plugins": "Plugins désactivés", + "remove-logo": "Supprimer le logo", + "preview": "Aperçu", + "view": "Voir" } \ No newline at end of file From 42a2d1e144c1970bb6109ad2737ff7c838675b70 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Thu, 6 Jun 2019 19:08:17 +0200 Subject: [PATCH 104/122] Fixes on english language and sync other dictionaries --- bl-languages/ar_MA.json | 10 +++++----- bl-languages/bg_BG.json | 10 +++++----- bl-languages/cs_CZ.json | 10 +++++----- bl-languages/de_AT.json | 12 ++++++------ bl-languages/de_CH.json | 12 ++++++------ bl-languages/de_DE.json | 10 +++++----- bl-languages/en.json | 24 ++++++++++++------------ bl-languages/es.json | 10 +++++----- bl-languages/fa_IR.json | 10 +++++----- bl-languages/fi_FI.json | 10 +++++----- bl-languages/fr_FR.json | 10 +++++----- bl-languages/gr.json | 10 +++++----- bl-languages/he_IL.json | 10 +++++----- bl-languages/hu_HU.json | 10 +++++----- bl-languages/it_IT.json | 10 +++++----- bl-languages/ja_JP.json | 10 +++++----- bl-languages/ms_MY.json | 10 +++++----- bl-languages/nl_NL.json | 12 ++++++------ bl-languages/pl_PL.json | 10 +++++----- bl-languages/pt_BR.json | 10 +++++----- bl-languages/pt_PT.json | 10 +++++----- bl-languages/ro_RO.json | 10 +++++----- bl-languages/ru_RU.json | 10 +++++----- bl-languages/tr_TR.json | 10 +++++----- bl-languages/uk_UA.json | 10 +++++----- bl-languages/vi_VN.json | 10 +++++----- bl-languages/zh_CN.json | 10 +++++----- bl-languages/zh_TW.json | 10 +++++----- 28 files changed, 150 insertions(+), 150 deletions(-) diff --git a/bl-languages/ar_MA.json b/bl-languages/ar_MA.json index d79a557c..a003c9b7 100644 --- a/bl-languages/ar_MA.json +++ b/bl-languages/ar_MA.json @@ -54,7 +54,7 @@ "manage-categories": "إدارة التصنيفات", "general-settings": "الإعدادات العامة", "advanced-settings": "إعدادات متقدمة", - "thanks-for-support-bludit": "شكراً لدعمك Bludit", + "thanks-for-supporting-bludit": "شكراً لدعمك Bludit", "upgrade-to-bludit-pro": "Upgrade to Bludit PRO", "language": "اللغة", "plugin": "Plugin", @@ -88,7 +88,7 @@ "plugin-activated": "الاضافة مفعلة", "plugin-deactivated": "الاضافة معطلة", "new-theme-configured": "New theme configured", - "changes-on-settings": "Changes on settings", + "settings-changes": "Changes on settings", "plugin-configured": "Plugin configured", "welcome-to-bludit": "مرحبا بك في Bludit", "statistics": "الإحصائيات", @@ -247,7 +247,6 @@ "content-deleted": "Contente deleted", "undefined": "Undefined", "create-new-content-for-your-site": "إنشاء محتوى جديد لموقعك", - "there-are-no-draft-content": "There are no draft content.", "order-items-by": "Order items by", "all-content": "All content", "dynamic": "Dynamic", @@ -319,7 +318,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", "field-used-when-ordering-content-by-position": "Field used when ordering content by position", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", + "write-the-tags-separated-by-commas": "Write the tags separated by comma.", "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", @@ -386,5 +385,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/bg_BG.json b/bl-languages/bg_BG.json index 9fabcede..c1420ff5 100644 --- a/bl-languages/bg_BG.json +++ b/bl-languages/bg_BG.json @@ -54,7 +54,7 @@ "manage-categories": "Управление на категории", "general-settings": "Основни настройки", "advanced-settings": "Разширени настройки", - "thanks-for-support-bludit": "Благодаря за подкрепата на Bludit", + "thanks-for-supporting-bludit": "Благодаря за подкрепата на Bludit", "upgrade-to-bludit-pro": "Надстройте до Bludit PRO", "language": "Език", "plugin": "Компонент", @@ -88,7 +88,7 @@ "plugin-activated": "Компонента е активиран", "plugin-deactivated": "Компонента е деактивиран", "new-theme-configured": "New theme configured", - "changes-on-settings": "Changes on settings", + "settings-changes": "Changes on settings", "plugin-configured": "Компонента е конфигуринан", "welcome-to-bludit": "Добре дошли в Bludit", "statistics": "Статистика:", @@ -247,7 +247,6 @@ "content-deleted": "Съдържанието е изтрито", "undefined": "Undefined", "create-new-content-for-your-site": "Създайте ново съдържание за сайта", - "there-are-no-draft-content": "Няма създаени чернови.", "order-items-by": "Подреди по", "all-content": "Цялото съдържание", "dynamic": "Динамика", @@ -319,7 +318,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", "field-used-when-ordering-content-by-position": "Field used when ordering content by position", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", + "write-the-tags-separated-by-commas": "Write the tags separated by comma.", "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", @@ -386,5 +385,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/cs_CZ.json b/bl-languages/cs_CZ.json index 7868b000..bd4542b1 100644 --- a/bl-languages/cs_CZ.json +++ b/bl-languages/cs_CZ.json @@ -55,7 +55,7 @@ "manage-categories": "Spravovat kategorie", "general-settings": "Obecné nastavení", "advanced-settings": "Pokročilé nastavení", - "thanks-for-support-bludit": "Díky za podporu Bludit", + "thanks-for-supporting-bludit": "Díky za podporu Bludit", "upgrade-to-bludit-pro": "Upgrade na Bludit PRO", "language": "Jazyk", "plugin": "Plugin", @@ -89,7 +89,7 @@ "plugin-activated": "Plugin aktivován", "plugin-deactivated": "Plugin deaktivován", "new-theme-configured": "Nová šablona nakonfigurována", - "changes-on-settings": "Změny v nastavení", + "settings-changes": "Změny v nastavení", "plugin-configured": "Plugin nakonfigurován", "welcome-to-bludit": "Vítejte v Bludit", "statistics": "Statistiky", @@ -248,7 +248,6 @@ "content-deleted": "Obsah smazán", "undefined": "Není nadefinováno", "create-new-content-for-your-site": "Vytvořte nový obsah pro váš web", - "there-are-no-draft-content": "Nemáte žádné koncepty obsahu.", "order-items-by": "Řadit položky dle", "all-content": "Veškerý obsah", "dynamic": "Dynamický", @@ -320,7 +319,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", "field-used-when-ordering-content-by-position": "Field used when ordering content by position", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", + "write-the-tags-separated-by-commas": "Write the tags separated by comma.", "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", @@ -387,5 +386,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/de_AT.json b/bl-languages/de_AT.json index f4c295bb..65f161e3 100644 --- a/bl-languages/de_AT.json +++ b/bl-languages/de_AT.json @@ -56,7 +56,7 @@ "manage-categories": "Kategorien verwalten", "general-settings": "Allgemeine Einstellungen", "advanced-settings": "Erweiterte Einstellungen", - "thanks-for-support-bludit": "Vielen Dank für die Unterstützung von Bludit!", + "thanks-for-supporting-bludit": "Vielen Dank für die Unterstützung von Bludit!", "upgrade-to-bludit-pro": "Upgrade auf Bludit PRO", "language": "Sprache\/Zeitzone", "plugin": "Plugin", @@ -90,7 +90,7 @@ "plugin-activated": "Plugin aktiviert", "plugin-deactivated": "Plugin deaktiviert", "new-theme-configured": "Theme aktiviert", - "changes-on-settings": "Änderung der Einstellungen", + "settings-changes": "Änderung der Einstellungen", "plugin-configured": "Plugin konfiguriert", "welcome-to-bludit": "Willkommen bei Bludit", "statistics": "Statistiken", @@ -249,7 +249,6 @@ "content-deleted": "Inhalt gelöscht", "undefined": "Nicht definiert", "create-new-content-for-your-site": "Einen neuen Inhalt erstellen.", - "there-are-no-draft-content": "Es gibt keine Entwürfe.", "order-items-by": "Inhalte sortieren nach", "all-content": "Alle Inhalte", "dynamic": "Dynamisch", @@ -321,7 +320,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Die automatische Vervollständigung zeigt entsprechende Vorschläge an.", "field-used-when-ordering-content-by-position": "Dieses Feld wird verwendet, wenn die Inhalte nach Position angezeigt werden (Website).", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Name des Templates, wenn das Theme es erlaubt, verschiedene Templates einzelnen Inhalten zuzuordnen.", - "write-the-tags-separated-by-comma": "Schlagwörter durch Kommas getrennt eingeben.", + "write-the-tags-separated-by-commas": "Schlagwörter durch Kommas getrennt eingeben.", "apply-code-noindex-code-to-this-page": "Die Anweisung noindex<\/code> für diese Seite verwenden.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "Anweisung an Suchmaschinen, die Seite in Suchergebnissen nicht zu zeigen.", "apply-code-nofollow-code-to-this-page": "Die Anweisung nofollow<\/code> für dieses Seite verwenden.", @@ -388,5 +387,6 @@ "enabled-plugins": "Aktivierte Plugins", "disabled-plugins": "Deaktivierte Plugins", "remove-logo": "Logo entfernen", - "preview": "Vorschau" -} + "preview": "Vorschau", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." +} \ No newline at end of file diff --git a/bl-languages/de_CH.json b/bl-languages/de_CH.json index 4bf97239..d9a5c641 100644 --- a/bl-languages/de_CH.json +++ b/bl-languages/de_CH.json @@ -56,7 +56,7 @@ "manage-categories": "Kategorien verwalten", "general-settings": "Allgemeine Einstellungen", "advanced-settings": "Erweiterte Einstellungen", - "thanks-for-support-bludit": "Vielen Dank für die Unterstützung von Bludit!", + "thanks-for-supporting-bludit": "Vielen Dank für die Unterstützung von Bludit!", "upgrade-to-bludit-pro": "Upgrade auf Bludit PRO", "language": "Sprache\/Zeitzone", "plugin": "Plugin", @@ -90,7 +90,7 @@ "plugin-activated": "Plugin aktiviert", "plugin-deactivated": "Plugin deaktiviert", "new-theme-configured": "Theme aktiviert", - "changes-on-settings": "Änderung der Einstellungen", + "settings-changes": "Änderung der Einstellungen", "plugin-configured": "Plugin konfiguriert", "welcome-to-bludit": "Willkommen bei Bludit", "statistics": "Statistiken", @@ -249,7 +249,6 @@ "content-deleted": "Inhalt gelöscht", "undefined": "Nicht definiert", "create-new-content-for-your-site": "Einen neuen Inhalt erstellen.", - "there-are-no-draft-content": "Es gibt keine Entwürfe.", "order-items-by": "Inhalte sortieren nach", "all-content": "Alle Inhalte", "dynamic": "Dynamisch", @@ -321,7 +320,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Die automatische Vervollständigung zeigt entsprechende Vorschläge an.", "field-used-when-ordering-content-by-position": "Dieses Feld wird verwendet, wenn die Inhalte nach Position angezeigt werden (Website).", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Name des Templates, wenn das Theme es erlaubt, verschiedene Templates einzelnen Inhalten zuzuordnen.", - "write-the-tags-separated-by-comma": "Schlagwörter durch Kommas getrennt eingeben.", + "write-the-tags-separated-by-commas": "Schlagwörter durch Kommas getrennt eingeben.", "apply-code-noindex-code-to-this-page": "Die Anweisung noindex<\/code> für diese Seite verwenden.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "Anweisung an Suchmaschinen, die Seite in Suchergebnissen nicht zu zeigen.", "apply-code-nofollow-code-to-this-page": "Die Anweisung nofollow<\/code> für dieses Seite verwenden.", @@ -388,5 +387,6 @@ "enabled-plugins": "Aktivierte Plugins", "disabled-plugins": "Deaktivierte Plugins", "remove-logo": "Logo entfernen", - "preview": "Vorschau" -} + "preview": "Vorschau", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." +} \ No newline at end of file diff --git a/bl-languages/de_DE.json b/bl-languages/de_DE.json index 2bd4f646..405c6cd9 100644 --- a/bl-languages/de_DE.json +++ b/bl-languages/de_DE.json @@ -56,7 +56,7 @@ "manage-categories": "Kategorien verwalten", "general-settings": "Allgemeine Einstellungen", "advanced-settings": "Erweiterte Einstellungen", - "thanks-for-support-bludit": "Vielen Dank für die Unterstützung von Bludit!", + "thanks-for-supporting-bludit": "Vielen Dank für die Unterstützung von Bludit!", "upgrade-to-bludit-pro": "Upgrade auf Bludit PRO", "language": "Sprache\/Zeitzone", "plugin": "Plugin", @@ -90,7 +90,7 @@ "plugin-activated": "Plugin aktiviert", "plugin-deactivated": "Plugin deaktiviert", "new-theme-configured": "Theme aktiviert", - "changes-on-settings": "Änderung der Einstellungen", + "settings-changes": "Änderung der Einstellungen", "plugin-configured": "Plugin konfiguriert", "welcome-to-bludit": "Willkommen bei Bludit", "statistics": "Statistiken", @@ -249,7 +249,6 @@ "content-deleted": "Inhalt gelöscht", "undefined": "Nicht definiert", "create-new-content-for-your-site": "Einen neuen Inhalt erstellen.", - "there-are-no-draft-content": "Es gibt keine Entwürfe.", "order-items-by": "Inhalte sortieren nach", "all-content": "Alle Inhalte", "dynamic": "Dynamisch", @@ -321,7 +320,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Die automatische Vervollständigung zeigt entsprechende Vorschläge an.", "field-used-when-ordering-content-by-position": "Dieses Feld wird verwendet, wenn die Inhalte nach Position angezeigt werden (Website).", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Name des Templates, wenn das Theme es erlaubt, verschiedene Templates einzelnen Inhalten zuzuordnen.", - "write-the-tags-separated-by-comma": "Schlagwörter durch Kommas getrennt eingeben.", + "write-the-tags-separated-by-commas": "Schlagwörter durch Kommas getrennt eingeben.", "apply-code-noindex-code-to-this-page": "Die Anweisung noindex<\/code> für diese Seite verwenden.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "Anweisung an Suchmaschinen, die Seite in Suchergebnissen nicht zu zeigen.", "apply-code-nofollow-code-to-this-page": "Die Anweisung nofollow<\/code> für dieses Seite verwenden.", @@ -388,5 +387,6 @@ "enabled-plugins": "Aktivierte Plugins", "disabled-plugins": "Deaktivierte Plugins", "remove-logo": "Logo entfernen", - "preview": "Vorschau" + "preview": "Vorschau", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/en.json b/bl-languages/en.json index d39509a9..41a56239 100644 --- a/bl-languages/en.json +++ b/bl-languages/en.json @@ -55,7 +55,7 @@ "manage-categories": "Manage categories", "general-settings": "General settings", "advanced-settings": "Advanced settings", - "thanks-for-support-bludit": "Thanks for support Bludit", + "thanks-for-supporting-bludit": "Thanks for supporting Bludit", "upgrade-to-bludit-pro": "Upgrade to Bludit PRO", "language": "Language", "plugin": "Plugin", @@ -89,7 +89,7 @@ "plugin-activated": "Plugin activated", "plugin-deactivated": "Plugin deactivated", "new-theme-configured": "New theme configured", - "changes-on-settings": "Changes on settings", + "settings-changes": "Settings changes", "plugin-configured": "Plugin configured", "welcome-to-bludit": "Welcome to Bludit", "statistics": "Statistics", @@ -144,7 +144,7 @@ "site-description": "Site description", "you-can-add-a-site-description-to-provide": "You can add a site description to provide a short bio or description of your site.", "footer-text": "Footer text", - "you-can-add-a-small-text-on-the-bottom": "You can add a small text on the bottom of every page. eg: copyright, owner, dates, etc.", + "you-can-add-a-small-text-on-the-bottom": "You can add some small text to the bottom of every page. eg: copyright, owner, dates, etc.", "social-networks-links": "Social networks links", "site-url": "Site URL", "email-account-settings": "Email account settings", @@ -180,7 +180,7 @@ "confirm-delete-this-action-cannot-be-undone": "Confirm delete, this action cannot be undone.", "do-you-want-to-disable-the-user": "Do you want to disable the user ?", "new-password": "New password", - "you-can-change-this-field-when-save-the-current-changes": "You can change this field when save the current changes.", + "you-can-change-this-field-when-save-the-current-changes": "You can change this field when you save the current changes.", "items-per-page": "Items per page", "invite-a-friend-to-collaborate-on-your-site": "Invite a friend to collaborate on your site", "number-of-items-to-show-per-page": "Number of items to show per page.", @@ -188,7 +188,7 @@ "order-content-by": "Order content by", "edit-or-delete-content-from-your-site": "Edit or delete content from your site", "order-the-content-by-date-to-build-a-blog": "Order the content by date to build a Blog or order the content by position to build a Website.", - "page-not-found-content": "Hey! looks like the page doesn't exist.", + "page-not-found-content": "Hey! It looks like this page doesn't exist.", "page-not-found": "Page not found", "predefined-pages": "Predefined pages", "returning-page-when-the-page-doesnt-exist": "Returning page when the page doesn't exist, by default returns a default message.", @@ -208,7 +208,7 @@ "whats-next": "What's Next", "username-or-password-incorrect": "Username or password incorrect", "follow-bludit-on": "Follow Bludit on", - "this-is-a-brief-description-of-yourself-our-your-site": "This is a brief description of yourself or your site, to change this text go to the admin panel, settings, plugins, and configure the plugin about.", + "this-is-a-brief-description-of-yourself-our-your-site": "This is a brief description of yourself or your site, to change this text go to the admin panel, settings, plugins, and configure the plugin \"about\".", "new-version-available": "New version available", "new-category-created": "New category created", "category-deleted": "Category deleted", @@ -236,8 +236,8 @@ "homepage": "Homepage", "disabled": "Disabled", "to-enable-the-user-you-must-set-a-new-password": "To enable the user you must set a new password.", - "delete-the-user-and-associate-his-content-to-admin-user": "Delete the user and associate his content to admin user", - "delete-the-user-and-all-his-content": "Delete the user and all his content", + "delete-the-user-and-associate-his-content-to-admin-user": "Delete the user and associate their content to the admin user", + "delete-the-user-and-all-his-content": "Delete the user and all of their content", "user-disabled": "User disabled", "user-password-changed": "User password changed", "the-password-and-confirmation-password-do-not-match": "The password and confirmation password do not match", @@ -248,7 +248,6 @@ "content-deleted": "Content deleted", "undefined": "Undefined", "create-new-content-for-your-site": "Create new content for your site", - "there-are-no-draft-content": "There are no draft content.", "order-items-by": "Order items by", "all-content": "All content", "dynamic": "Dynamic", @@ -320,7 +319,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", "field-used-when-ordering-content-by-position": "Field used when ordering content by position.", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", + "write-the-tags-separated-by-commas": "Write the tags separated by commas.", "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", @@ -334,7 +333,7 @@ "confirm-new-password": "Confirm new password", "the-nickname-is-almost-used-in-the-themes-to-display-the-author-of-the-content": "The nickname is almost used in the themes to display the author of the content", "allow-unicode": "Allow Unicode", - "allow-unicode-characters-in-the-url-and-some-part-of-the-system": "Allow Unicode characters in the URL and some part of the system.", + "allow-unicode-characters-in-the-url-and-some-part-of-the-system": "Allow Unicode characters in the URL and some parts of the system.", "variables-allowed": "Variables allowed", "tag": "Tag", "drag-and-drop-to-sort-the-plugins": "Drag and Drop to sort the plugins.", @@ -387,5 +386,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/es.json b/bl-languages/es.json index d82af0c2..8e7504d4 100644 --- a/bl-languages/es.json +++ b/bl-languages/es.json @@ -52,7 +52,7 @@ "manage-categories": "Administrar categorías", "general-settings": "Ajustes generales", "advanced-settings": "Ajustes avanzados", - "thanks-for-support-bludit": "Gracias por colaborar con Bludit.", + "thanks-for-supporting-bludit": "Gracias por colaborar con Bludit.", "upgrade-to-bludit-pro": "Actualizar a Bludit PRO", "language": "Idioma", "plugin": "Plugin", @@ -86,7 +86,7 @@ "plugin-activated": "Plugin activado", "plugin-deactivated": "Plugin desactivado", "new-theme-configured": "Nuevo tema configurado", - "changes-on-settings": "Cambios en la configuración", + "settings-changes": "Cambios en la configuración", "plugin-configured": "Plugin configurado", "welcome-to-bludit": "Bienvenido a Bludit", "statistics": "Estadísticas", @@ -245,7 +245,6 @@ "content-deleted": "Contenido eliminado", "undefined": "Undefined", "create-new-content-for-your-site": "Crear nuevo contenido para su sitio", - "there-are-no-draft-content": "No hay contenido de borrador.", "order-items-by": "Ordenar artículos por", "all-content": "Todo el contenido", "dynamic": "Dynamic", @@ -317,7 +316,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Escriba un título de página para ver una lista de sugerencias.", "field-used-when-ordering-content-by-position": "Este campo es utilizado al ordenar el contenido por posición.", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Escriba un nombre de plantilla para cambiar el estilo de la página.", - "write-the-tags-separated-by-comma": "Escribe las etiquetas separadas por coma.", + "write-the-tags-separated-by-commas": "Escribe las etiquetas separadas por coma.", "apply-code-noindex-code-to-this-page": "Aplicar noindex<\/code> a esta pagina.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "Indica a los motores de búsqueda que no muestren esta página en sus resultados de búsqueda.", "apply-code-nofollow-code-to-this-page": "Aplicar nofollow<\/code> a esta pagina.", @@ -384,5 +383,6 @@ "enabled-plugins": "Plugins activados", "disabled-plugins": "Plugins descativados", "remove-logo": "Remover logo", - "preview": "Vista previa" + "preview": "Vista previa", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/fa_IR.json b/bl-languages/fa_IR.json index 36365cf1..ed439314 100644 --- a/bl-languages/fa_IR.json +++ b/bl-languages/fa_IR.json @@ -54,7 +54,7 @@ "manage-categories": "مدیریت مجموعه ها", "general-settings": "تنظیمات عمومی", "advanced-settings": "تنظیمات پیشرفته", - "thanks-for-support-bludit": "از اینکه از بلودیت پشتیبانی می کنید سپاسگذاریم", + "thanks-for-supporting-bludit": "از اینکه از بلودیت پشتیبانی می کنید سپاسگذاریم", "upgrade-to-bludit-pro": "بروزرسانی به نسخه تجاری بلودیت", "language": "زبان", "plugin": "پلاگین", @@ -88,7 +88,7 @@ "plugin-activated": "پلاگین فعال شد", "plugin-deactivated": "پلاگین غیرفعال شد", "new-theme-configured": "قالب جدید پیکربندی شد", - "changes-on-settings": "تغییرات بر روی تنظیمات", + "settings-changes": "تغییرات بر روی تنظیمات", "plugin-configured": "پلاگین پیکربندی شد", "welcome-to-bludit": "به بلودیت خوش آمدید", "statistics": "آمار", @@ -247,7 +247,6 @@ "content-deleted": "محتوا حذف شد", "undefined": "تعریف نشده", "create-new-content-for-your-site": "محتوای جدیدی را برای وبسایت خود بسازید", - "there-are-no-draft-content": "محتوای پیش نویسی وجود ندارد.", "order-items-by": "ترتیب مطالب براساس", "all-content": "تمام محتوا", "dynamic": "داینامیک", @@ -319,7 +318,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "شروع کنید به تایپ عنوان یک صفحه تا لیستی از پیشنهادها را مشاهده کنید.", "field-used-when-ordering-content-by-position": "کادر مورد استفاده در هنگام ترتیب مطالب براساس موقعیت.", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "برای فیلترکردن صفحه در تم و تغییر استایل صفحه، نام قالب را بنویسید.", - "write-the-tags-separated-by-comma": "برچسب ها را نوشته و با کامای لاتین آنها را از هم جدا کنید.", + "write-the-tags-separated-by-commas": "برچسب ها را نوشته و با کامای لاتین آنها را از هم جدا کنید.", "apply-code-noindex-code-to-this-page": "بکارگیری noindex<\/code> در این صفحه.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "این گزینه به موتورهای جستجو می‌گوید که این صفحه را در نتایج جستجوی خود نمایش ندهند.", "apply-code-nofollow-code-to-this-page": "بکارگیری nofollow<\/code> در این صفحه.", @@ -386,5 +385,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/fi_FI.json b/bl-languages/fi_FI.json index 3d65ce24..77dca31b 100644 --- a/bl-languages/fi_FI.json +++ b/bl-languages/fi_FI.json @@ -54,7 +54,7 @@ "manage-categories": "Manage categories", "general-settings": "Yleiset asetukset", "advanced-settings": "Lisäasetukset", - "thanks-for-support-bludit": "Thanks for support Bludit", + "thanks-for-supporting-bludit": "Thanks for support Bludit", "upgrade-to-bludit-pro": "Upgrade to Bludit PRO", "language": "Kieli", "plugin": "Plugin", @@ -88,7 +88,7 @@ "plugin-activated": "Plugin activated", "plugin-deactivated": "Plugin deactivated", "new-theme-configured": "New theme configured", - "changes-on-settings": "Changes on settings", + "settings-changes": "Changes on settings", "plugin-configured": "Plugin configured", "welcome-to-bludit": "Bludit toivottaa sinut tervetulleeksi!", "statistics": "Tilastot", @@ -247,7 +247,6 @@ "content-deleted": "Contente deleted", "undefined": "Undefined", "create-new-content-for-your-site": "Create new content for your site", - "there-are-no-draft-content": "There are no draft content.", "order-items-by": "Order items by", "all-content": "All content", "dynamic": "Dynamic", @@ -319,7 +318,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", "field-used-when-ordering-content-by-position": "Field used when ordering content by position", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", + "write-the-tags-separated-by-commas": "Write the tags separated by comma.", "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", @@ -386,5 +385,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/fr_FR.json b/bl-languages/fr_FR.json index 878fa474..787e3717 100755 --- a/bl-languages/fr_FR.json +++ b/bl-languages/fr_FR.json @@ -55,7 +55,7 @@ "manage-categories": "Gestion des catégories", "general-settings": "Paramètres généraux", "advanced-settings": "Paramètres avancés", - "thanks-for-support-bludit": "Merci de supporter Bludit", + "thanks-for-supporting-bludit": "Merci de supporter Bludit", "upgrade-to-bludit-pro": "Mettre à niveau vers Bludit PRO", "language": "Langue", "plugin": "Plugin", @@ -89,7 +89,7 @@ "plugin-activated": "Plugin activé", "plugin-deactivated": "Plugin desactivé", "new-theme-configured": "Nouveau thème configuré", - "changes-on-settings": "Enregistrement des paramètres effectué avec succès", + "settings-changes": "Enregistrement des paramètres effectué avec succès", "plugin-configured": "Plugin configuré", "welcome-to-bludit": "Bienvenue sur Bludit", "statistics": "Statistiques", @@ -248,7 +248,6 @@ "content-deleted": "Contenu supprimé", "undefined": "Indéfini", "create-new-content-for-your-site": "Créer un nouveau contenu pour votre site.", - "there-are-no-draft-content": "Il n’y a pas de contenu enregistré en tant que brouillon.", "order-items-by": "Trier les articles par", "all-content": "Tout le contenu", "dynamic": "Dynamique", @@ -320,7 +319,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Commencez à taper le titre d’une page, pour voir s’afficher une liste de suggestions.", "field-used-when-ordering-content-by-position": "Champ utilisé lorsque le paramètre «contenu par position» est sélectionné.", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Écrivez un nom de modèle pour filtrer la page dans le thème et changer le style de la page.", - "write-the-tags-separated-by-comma": "Écrivez les balises séparées par des virgules.", + "write-the-tags-separated-by-commas": "Écrivez les balises séparées par des virgules.", "apply-code-noindex-code-to-this-page": "Bloquer l’indexation à cette page noindex<\/code>.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "Cela indique aux moteurs de recherche de ne pas afficher cette page dans leurs résultats de recherche.", "apply-code-nofollow-code-to-this-page": "Bloquer le suivi des liens à cette page nofollow<\/code>.", @@ -387,5 +386,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/gr.json b/bl-languages/gr.json index 5bf3a09b..d7c7e6d7 100644 --- a/bl-languages/gr.json +++ b/bl-languages/gr.json @@ -55,7 +55,7 @@ "manage-categories": "Manage categories", "general-settings": "Γενικές Ρυθμίσεις", "advanced-settings": "Προχωρημένες Ρυθμίσεις", - "thanks-for-support-bludit": "Thanks for support Bludit", + "thanks-for-supporting-bludit": "Thanks for support Bludit", "upgrade-to-bludit-pro": "Upgrade to Bludit PRO", "language": "Γλώσσα", "plugin": "Plugin", @@ -89,7 +89,7 @@ "plugin-activated": "Plugin activated", "plugin-deactivated": "Plugin deactivated", "new-theme-configured": "New theme configured", - "changes-on-settings": "Changes on settings", + "settings-changes": "Changes on settings", "plugin-configured": "Plugin configured", "welcome-to-bludit": "Καλώς Ορίσατε στο Βludit", "statistics": "Στατιστικά", @@ -248,7 +248,6 @@ "content-deleted": "Contente deleted", "undefined": "Undefined", "create-new-content-for-your-site": "Create new content for your site", - "there-are-no-draft-content": "There are no draft content.", "order-items-by": "Order items by", "all-content": "All content", "dynamic": "Dynamic", @@ -320,7 +319,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", "field-used-when-ordering-content-by-position": "Field used when ordering content by position", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", + "write-the-tags-separated-by-commas": "Write the tags separated by comma.", "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", @@ -387,5 +386,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/he_IL.json b/bl-languages/he_IL.json index 807753c4..1c0dc209 100644 --- a/bl-languages/he_IL.json +++ b/bl-languages/he_IL.json @@ -55,7 +55,7 @@ "manage-categories": "Manage categories", "general-settings": "הגדרות כלליות", "advanced-settings": "הגדרות מתקדמות", - "thanks-for-support-bludit": "Thanks for support Bludit", + "thanks-for-supporting-bludit": "Thanks for support Bludit", "upgrade-to-bludit-pro": "Upgrade to Bludit PRO", "language": "שפה", "plugin": "Plugin", @@ -89,7 +89,7 @@ "plugin-activated": "Plugin activated", "plugin-deactivated": "Plugin deactivated", "new-theme-configured": "New theme configured", - "changes-on-settings": "Changes on settings", + "settings-changes": "Changes on settings", "plugin-configured": "Plugin configured", "welcome-to-bludit": "ברוכים הבאים ל-Bludit", "statistics": "סטטיסטיקה", @@ -248,7 +248,6 @@ "content-deleted": "Contente deleted", "undefined": "Undefined", "create-new-content-for-your-site": "Create new content for your site", - "there-are-no-draft-content": "There are no draft content.", "order-items-by": "Order items by", "all-content": "All content", "dynamic": "Dynamic", @@ -320,7 +319,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", "field-used-when-ordering-content-by-position": "Field used when ordering content by position", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", + "write-the-tags-separated-by-commas": "Write the tags separated by comma.", "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", @@ -387,5 +386,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/hu_HU.json b/bl-languages/hu_HU.json index eba3b01c..8e0e30bb 100644 --- a/bl-languages/hu_HU.json +++ b/bl-languages/hu_HU.json @@ -54,7 +54,7 @@ "manage-categories": "Manage categories", "general-settings": "Általános beállítások", "advanced-settings": "Haladó beállítások", - "thanks-for-support-bludit": "Thanks for support Bludit", + "thanks-for-supporting-bludit": "Thanks for support Bludit", "upgrade-to-bludit-pro": "Upgrade to Bludit PRO", "language": "Nyelv", "plugin": "Plugin", @@ -88,7 +88,7 @@ "plugin-activated": "Plugin activated", "plugin-deactivated": "Plugin deactivated", "new-theme-configured": "New theme configured", - "changes-on-settings": "Changes on settings", + "settings-changes": "Changes on settings", "plugin-configured": "Plugin configured", "welcome-to-bludit": "Üdvözöljük a Bluditban!", "statistics": "Statisztika", @@ -247,7 +247,6 @@ "content-deleted": "Contente deleted", "undefined": "Undefined", "create-new-content-for-your-site": "Create new content for your site", - "there-are-no-draft-content": "There are no draft content.", "order-items-by": "Order items by", "all-content": "All content", "dynamic": "Dynamic", @@ -319,7 +318,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", "field-used-when-ordering-content-by-position": "Field used when ordering content by position", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", + "write-the-tags-separated-by-commas": "Write the tags separated by comma.", "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", @@ -386,5 +385,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/it_IT.json b/bl-languages/it_IT.json index 3caeca36..87dd5489 100644 --- a/bl-languages/it_IT.json +++ b/bl-languages/it_IT.json @@ -54,7 +54,7 @@ "manage-categories": "Gestisci categorie", "general-settings": "Impostazioni generali", "advanced-settings": "Impostazioni avanzate", - "thanks-for-support-bludit": "Grazie di supportare Bludit", + "thanks-for-supporting-bludit": "Grazie di supportare Bludit", "upgrade-to-bludit-pro": "Aggiorna a Bludit PRO", "language": "Lingua", "plugin": "Plugin", @@ -88,7 +88,7 @@ "plugin-activated": "Plugin attivato", "plugin-deactivated": "Plugin disattivato", "new-theme-configured": "Nuovo tema configurato", - "changes-on-settings": "Cambiamenti su impostazioni", + "settings-changes": "Cambiamenti su impostazioni", "plugin-configured": "Plugin configurato", "welcome-to-bludit": "Benvenuti su Bludit", "statistics": "Statistiche", @@ -247,7 +247,6 @@ "content-deleted": "Contenuto eliminato", "undefined": "Non definito", "create-new-content-for-your-site": "Crea nuovo contenuto per il tuo sito", - "there-are-no-draft-content": "Non c'è nessuna bozza.", "order-items-by": "Ordina oggetti per", "all-content": "Tutto il contenuto", "dynamic": "Dinamico", @@ -319,7 +318,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Inizia a digitare il titolo di una pagina per vedere un elenco di suggerimenti.", "field-used-when-ordering-content-by-position": "Campi utilizzati quando si ordina il contenuto per posizione", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Scrivi il nome di un template per filtrare la pagina nel tema e cambiare lo stile della pagina.", - "write-the-tags-separated-by-comma": "Scrivi i tag separati da una virgola.", + "write-the-tags-separated-by-commas": "Scrivi i tag separati da una virgola.", "apply-code-noindex-code-to-this-page": "Applica noindex<\/code> a questa pagina.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "Questo dice ai motori di ricerca di non visualizzare questa pagina nei risultati di ricerca.", "apply-code-nofollow-code-to-this-page": "Applica nofollow<\/code> a questa pagina.", @@ -386,5 +385,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/ja_JP.json b/bl-languages/ja_JP.json index a2418543..a90a4ea2 100644 --- a/bl-languages/ja_JP.json +++ b/bl-languages/ja_JP.json @@ -55,7 +55,7 @@ "manage-categories": "カテゴリー管理", "general-settings": "全般設定", "advanced-settings": "詳細設定", - "thanks-for-support-bludit": "Bluditの支援をありがとうございます", + "thanks-for-supporting-bludit": "Bluditの支援をありがとうございます", "upgrade-to-bludit-pro": "Bludit PROへアップグレード", "language": "言語", "plugin": "プラグイン", @@ -89,7 +89,7 @@ "plugin-activated": "プラグインを有効化", "plugin-deactivated": "プラグインを無効化", "new-theme-configured": "新しいテーマを設定", - "changes-on-settings": "設定を変更", + "settings-changes": "設定を変更", "plugin-configured": "プラグインを設定", "welcome-to-bludit": "Bluditへようこそ", "statistics": "統計", @@ -248,7 +248,6 @@ "content-deleted": "コンテンツを削除", "undefined": "未定義", "create-new-content-for-your-site": "コンテンツを作成します", - "there-are-no-draft-content": "下書きコンテンツはありません。", "order-items-by": "Order items by", "all-content": "すべてのコンテンツ", "dynamic": "動的", @@ -320,7 +319,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", "field-used-when-ordering-content-by-position": "Field used when ordering content by position", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", + "write-the-tags-separated-by-commas": "Write the tags separated by comma.", "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", @@ -387,5 +386,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/ms_MY.json b/bl-languages/ms_MY.json index bfdaa783..d9a5f836 100644 --- a/bl-languages/ms_MY.json +++ b/bl-languages/ms_MY.json @@ -54,7 +54,7 @@ "manage-categories": "Manage categories", "general-settings": "Tetapan umum", "advanced-settings": "Tetapan lanjutan", - "thanks-for-support-bludit": "Thanks for support Bludit", + "thanks-for-supporting-bludit": "Thanks for support Bludit", "upgrade-to-bludit-pro": "Upgrade to Bludit PRO", "language": "Bahasa", "plugin": "Plugin", @@ -88,7 +88,7 @@ "plugin-activated": "Plugin activated", "plugin-deactivated": "Plugin deactivated", "new-theme-configured": "New theme configured", - "changes-on-settings": "Changes on settings", + "settings-changes": "Changes on settings", "plugin-configured": "Plugin configured", "welcome-to-bludit": "Selamat datang ke Bludit", "statistics": "Statistik", @@ -247,7 +247,6 @@ "content-deleted": "Contente deleted", "undefined": "Undefined", "create-new-content-for-your-site": "Create new content for your site", - "there-are-no-draft-content": "There are no draft content.", "order-items-by": "Order items by", "all-content": "All content", "dynamic": "Dynamic", @@ -319,7 +318,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", "field-used-when-ordering-content-by-position": "Field used when ordering content by position", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", + "write-the-tags-separated-by-commas": "Write the tags separated by comma.", "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", @@ -386,5 +385,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/nl_NL.json b/bl-languages/nl_NL.json index 46d88d18..aebafd7e 100644 --- a/bl-languages/nl_NL.json +++ b/bl-languages/nl_NL.json @@ -52,7 +52,7 @@ "manage-categories": "Categorieën beheren", "general-settings": "Algemene instellingen", "advanced-settings": "Geavanceerde instellingen", - "thanks-for-support-bludit": "Bedankt voor de ondersteuning van Bludit", + "thanks-for-supporting-bludit": "Bedankt voor de ondersteuning van Bludit", "upgrade-to-bludit-pro": "Upgraden naar Bludit PRO", "language": "Taal", "plugin": "Plugin", @@ -86,7 +86,7 @@ "plugin-activated": "Plugin ingeschakeld", "plugin-deactivated": "Plugin uitgeschakeld", "new-theme-configured": "Nieuw thema geconfigureerd", - "changes-on-settings": "Instellingen aangepast", + "settings-changes": "Instellingen aangepast", "plugin-configured": "Plugin geconfigureerd", "welcome-to-bludit": "Welkom bij Bludit", "statistics": "Statistieken", @@ -245,7 +245,6 @@ "content-deleted": "Inhoud verwijderd", "undefined": "Niet opgegeven", "create-new-content-for-your-site": "Maak nieuwe inhoud voor de site", - "there-are-no-draft-content": "Er zijn geen concepten.", "order-items-by": "Items sorteren op", "all-content": "Alle inhoud", "dynamic": "Dynamisch", @@ -317,7 +316,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Voer de beginletters van een paginatitel in om een lijst met suggesties op te roepen.", "field-used-when-ordering-content-by-position": "Gebruikt wanneer de inhoud op positie is gesorteerd", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Voer de naam van een sjabloon in indien het thema toestaat dat verschillende sjablonen worden toegewezen aan individuele pagina's.", - "write-the-tags-separated-by-comma": "Voer tags in, gescheiden door een komma.", + "write-the-tags-separated-by-commas": "Voer tags in, gescheiden door een komma.", "apply-code-noindex-code-to-this-page": "noindex<\/code> op deze pagina toepassen.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "Dit geeft aan voor zoekmachines dat deze pagina niet mag worden opgenomen in hun zoekresultaten.", "apply-code-nofollow-code-to-this-page": "nofollow<\/code> op deze pagina toepassen.", @@ -384,5 +383,6 @@ "enabled-plugins": "Ingeschakelde plugins", "disabled-plugins": "Uitgeschakelde plugins", "remove-logo": "Logo verwijderen", - "preview": "Voorbeeld" -} + "preview": "Voorbeeld", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." +} \ No newline at end of file diff --git a/bl-languages/pl_PL.json b/bl-languages/pl_PL.json index ce90ecb6..46c99e15 100644 --- a/bl-languages/pl_PL.json +++ b/bl-languages/pl_PL.json @@ -55,7 +55,7 @@ "manage-categories": "Zarządzanie kategoriami", "general-settings": "Ustawienia", "advanced-settings": "Zaawansowane", - "thanks-for-support-bludit": "Dzięki za wspieranie Bludit", + "thanks-for-supporting-bludit": "Dzięki za wspieranie Bludit", "upgrade-to-bludit-pro": "Zaktualizuj do wersji Bludit PRO", "language": "Język", "plugin": "Plugin", @@ -89,7 +89,7 @@ "plugin-activated": "Wtyczka została włączona", "plugin-deactivated": "Wtyczka została wyłączona", "new-theme-configured": "Nowy motyw został skonfigurowany", - "changes-on-settings": "Dokonano zmian w ustawieniach", + "settings-changes": "Dokonano zmian w ustawieniach", "plugin-configured": "Ustawienia wtyczki zostały zapisane", "welcome-to-bludit": "Witamy w Bludit", "statistics": "Statystyki", @@ -248,7 +248,6 @@ "content-deleted": "Usuniętyo zawartość", "undefined": "Niezdefiniowany", "create-new-content-for-your-site": "Utwórz nową zawartość swojej strony", - "there-are-no-draft-content": "Brak szkiców.", "order-items-by": "Sortuj wg.", "all-content": "Cała zawartość", "dynamic": "Dynamiczny", @@ -320,7 +319,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Wprowadź początkowe znaki, aby otrzymać listę sugerowanych stron.", "field-used-when-ordering-content-by-position": "Field used when ordering content by position", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Wprowadź nazwę szablonu, aby przefiltrować motyw i nadać stronie inny wygląd. ", - "write-the-tags-separated-by-comma": "Wprowadź słowa kluczowe oddzielone przecinkiem.", + "write-the-tags-separated-by-commas": "Wprowadź słowa kluczowe oddzielone przecinkiem.", "apply-code-noindex-code-to-this-page": "Zastosuj noindex<\/code> dla tej strony.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "To ustawienie zabrania wyszukiwarkom wyświetlać tej strony w wynikach wyszukiwania.", "apply-code-nofollow-code-to-this-page": "Zastosuj nofollow<\/code> dla tej strony.", @@ -387,5 +386,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/pt_BR.json b/bl-languages/pt_BR.json index cb190a71..dc003072 100644 --- a/bl-languages/pt_BR.json +++ b/bl-languages/pt_BR.json @@ -55,7 +55,7 @@ "manage-categories": "Administrar categorias", "general-settings": "Ajustes gerais", "advanced-settings": "Ajustes avançados", - "thanks-for-support-bludit": "Agradecemos por apoiar o Bludit", + "thanks-for-supporting-bludit": "Agradecemos por apoiar o Bludit", "upgrade-to-bludit-pro": "Fazer upgrade para o Bludit PRO", "language": "Idioma", "plugin": "Plugin", @@ -89,7 +89,7 @@ "plugin-activated": "Plugin ativado", "plugin-deactivated": "Plugin desativado", "new-theme-configured": "Novo tema configurado", - "changes-on-settings": "Alterações nos ajustes", + "settings-changes": "Alterações nos ajustes", "plugin-configured": "Plugin configurado", "welcome-to-bludit": "Bem-vindo ao Bludit", "statistics": "Estatísticas", @@ -248,7 +248,6 @@ "content-deleted": "Conteúdo deletado", "undefined": "Indefinido", "create-new-content-for-your-site": "Criar novo conteúdo para o seu site", - "there-are-no-draft-content": "Não há conteúdo como rascunho.", "order-items-by": "Ordenar itens por", "all-content": "Todo conteúdo", "dynamic": "Dinâmico", @@ -320,7 +319,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", "field-used-when-ordering-content-by-position": "Field used when ordering content by position", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", + "write-the-tags-separated-by-commas": "Write the tags separated by comma.", "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", @@ -387,5 +386,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/pt_PT.json b/bl-languages/pt_PT.json index 21ccea27..59593098 100644 --- a/bl-languages/pt_PT.json +++ b/bl-languages/pt_PT.json @@ -55,7 +55,7 @@ "manage-categories": "Gerir categorias", "general-settings": "Ajustes gerais", "advanced-settings": "Ajustes avançados", - "thanks-for-support-bludit": "Agradecemos por apoiar o Bludit", + "thanks-for-supporting-bludit": "Agradecemos por apoiar o Bludit", "upgrade-to-bludit-pro": "Adquirir Bludit PRO", "language": "Idioma", "plugin": "Plugin", @@ -89,7 +89,7 @@ "plugin-activated": "Plugin activado", "plugin-deactivated": "Plugin desactivado", "new-theme-configured": "Novo tema configurado", - "changes-on-settings": "Alterações nos ajustes", + "settings-changes": "Alterações nos ajustes", "plugin-configured": "Plugin configurado", "welcome-to-bludit": "Bem-vindo ao Bludit", "statistics": "Estatísticas", @@ -248,7 +248,6 @@ "content-deleted": "Conteúdo apagado", "undefined": "Indefinido", "create-new-content-for-your-site": "Criar novo conteúdo para o teu site", - "there-are-no-draft-content": "Não há conteúdo como rascunho.", "order-items-by": "Ordenar itens por", "all-content": "Todo conteúdo", "dynamic": "Dinâmico", @@ -320,7 +319,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", "field-used-when-ordering-content-by-position": "Field used when ordering content by position", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", + "write-the-tags-separated-by-commas": "Write the tags separated by comma.", "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", @@ -387,5 +386,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/ro_RO.json b/bl-languages/ro_RO.json index 09d1058a..98811cf2 100644 --- a/bl-languages/ro_RO.json +++ b/bl-languages/ro_RO.json @@ -54,7 +54,7 @@ "manage-categories": "Administrează categorii", "general-settings": "Setări generale", "advanced-settings": "Setări avansate", - "thanks-for-support-bludit": "Mulțumim că susții Bludit", + "thanks-for-supporting-bludit": "Mulțumim că susții Bludit", "upgrade-to-bludit-pro": "Upgrade la Bludit PRO", "language": "Limbă", "plugin": "Plugin", @@ -88,7 +88,7 @@ "plugin-activated": "Plugin activat", "plugin-deactivated": "Plugin dezactivat", "new-theme-configured": "Temă nouă configurată", - "changes-on-settings": "Schimbări setări", + "settings-changes": "Schimbări setări", "plugin-configured": "Plugin configurat", "welcome-to-bludit": "Bine ați venit la Bludit", "statistics": "Statistici", @@ -247,7 +247,6 @@ "content-deleted": "Conținut șters", "undefined": "Nedefinit", "create-new-content-for-your-site": "Creează conținut nou pentru sit-ul tău", - "there-are-no-draft-content": "Nu există conținut ciornă.", "order-items-by": "Sortează după", "all-content": "Tot conținutul", "dynamic": "Dinamic", @@ -319,7 +318,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Începe a scrie un titlu de pagină pentru a vedea o listă de sugestii.", "field-used-when-ordering-content-by-position": "Câmp folosit atunci când conținutul se sortează după poziție", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Scrie un nume de temă pentru a filtra pagina din temă și schimba stilul paginii.", - "write-the-tags-separated-by-comma": "Scrie etichetele separate prin virgulă.", + "write-the-tags-separated-by-commas": "Scrie etichetele separate prin virgulă.", "apply-code-noindex-code-to-this-page": "Aplică noindex<\/code> pentru această pagină.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "Asta va spune motoarelor de căutare să nu includă această pagină în rezultate.", "apply-code-nofollow-code-to-this-page": "Aplică nofollow<\/code> pentru această pagină.", @@ -386,5 +385,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/ru_RU.json b/bl-languages/ru_RU.json index fce120f6..2c480461 100644 --- a/bl-languages/ru_RU.json +++ b/bl-languages/ru_RU.json @@ -55,7 +55,7 @@ "manage-categories": "Управление категориями", "general-settings": "Общие настройки", "advanced-settings": "Расширенные настройки", - "thanks-for-support-bludit": "Спасибо за поддержку Bludit", + "thanks-for-supporting-bludit": "Спасибо за поддержку Bludit", "upgrade-to-bludit-pro": "Обновить до Bludit PRO", "language": "Язык", "plugin": "Плагин", @@ -89,7 +89,7 @@ "plugin-activated": "Плагин активирован", "plugin-deactivated": "Плагин отключен", "new-theme-configured": "Новая тема настроена", - "changes-on-settings": "Изменения в настройках", + "settings-changes": "Изменения в настройках", "plugin-configured": "Плагин настроен", "welcome-to-bludit": "Добро пожаловать в Bludit", "statistics": "Статистика", @@ -248,7 +248,6 @@ "content-deleted": "Запись удалена", "undefined": "Неопределено", "create-new-content-for-your-site": "Создать новую запись для сайта", - "there-are-no-draft-content": "Черновиков нет", "order-items-by": "Упорядочить по", "all-content": "Всё содержимое", "dynamic": "Динамический", @@ -320,7 +319,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Начните вводить заголовок чтобы увидеть список предложений.", "field-used-when-ordering-content-by-position": "Поле используется для сортировки содержимого по порядку", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Напишите имя шаблона, чтобы отфильтровать страницу в теме и изменить её стиль.", - "write-the-tags-separated-by-comma": "Введите разделённый запятыми список тегов.", + "write-the-tags-separated-by-commas": "Введите разделённый запятыми список тегов.", "apply-code-noindex-code-to-this-page": "Применить noindex<\/code> для этой страницы.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "Это не позволит странице появится в поисковых системах.", "apply-code-nofollow-code-to-this-page": "Применить nofollow<\/code> для этой страницы.", @@ -387,5 +386,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/tr_TR.json b/bl-languages/tr_TR.json index 8414ca23..7fd917b4 100644 --- a/bl-languages/tr_TR.json +++ b/bl-languages/tr_TR.json @@ -55,7 +55,7 @@ "manage-categories": "Kategorileri yönet", "general-settings": "Genel ayarlar", "advanced-settings": "Gelişmiş ayarlar", - "thanks-for-support-bludit": "Bludit desteğiniz için teşekkürler", + "thanks-for-supporting-bludit": "Bludit desteğiniz için teşekkürler", "upgrade-to-bludit-pro": "Bludit PRO'ya yükseltin", "language": "Dil", "plugin": "Eklenti", @@ -89,7 +89,7 @@ "plugin-activated": "Eklenti etkinleştirildi", "plugin-deactivated": "Eklenti devre dışı bırakıldı", "new-theme-configured": "Yeni tema yapılandırıldı", - "changes-on-settings": "Ayarlarda yapılan değişiklikler", + "settings-changes": "Ayarlarda yapılan değişiklikler", "plugin-configured": "Eklenti ayarlandı", "welcome-to-bludit": "Bludit'e Hoşgeldiniz", "statistics": "İstatistikler", @@ -248,7 +248,6 @@ "content-deleted": "İçerik silindi", "undefined": "Tanımsız", "create-new-content-for-your-site": "Siteniz için yeni içerik oluşturun", - "there-are-no-draft-content": "Taslak içerik yok.", "order-items-by": "Öğe sıralaması:", "all-content": "Tüm içerik", "dynamic": "Dinamik", @@ -320,7 +319,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Önerilerin listesini görmek için bir sayfa başlığı yazmaya başlayın.", "field-used-when-ordering-content-by-position": "İçeriği konuma göre sıralarken kullanılan alan", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Sayfayı temaya göre filtrelemek ve sayfanın stilini değiştirmek için bir şablon adı yazın.", - "write-the-tags-separated-by-comma": "Etiketleri virgülle ayırın.", + "write-the-tags-separated-by-commas": "Etiketleri virgülle ayırın.", "apply-code-noindex-code-to-this-page": "Bu sayfaya noindex<\/code> uygula.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "Bu, arama motorlarına bu sayfayı arama sonuçlarında göstermemesini söyler.", "apply-code-nofollow-code-to-this-page": "Bu sayfaya nofollow<\/code> uygula.", @@ -387,5 +386,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/uk_UA.json b/bl-languages/uk_UA.json index ad5acc74..102567c2 100644 --- a/bl-languages/uk_UA.json +++ b/bl-languages/uk_UA.json @@ -55,7 +55,7 @@ "manage-categories": "Управління категоріями", "general-settings": "Загальні налаштування", "advanced-settings": "Додаткові налаштування", - "thanks-for-support-bludit": "Дякуємо за підтримку Bludit", + "thanks-for-supporting-bludit": "Дякуємо за підтримку Bludit", "upgrade-to-bludit-pro": "Оновити до Bludit PRO", "language": "Мова", "plugin": "Плагін", @@ -89,7 +89,7 @@ "plugin-activated": "Плагін активований", "plugin-deactivated": "Плагін вимкнено", "new-theme-configured": "Нову тему налаштовано", - "changes-on-settings": "Зміни в налаштуваннях", + "settings-changes": "Зміни в налаштуваннях", "plugin-configured": "Плагін налаштовано", "welcome-to-bludit": "Ласкаво просимо до Bludit", "statistics": "Статистика", @@ -248,7 +248,6 @@ "content-deleted": "Контент видалено", "undefined": "Невизначено", "create-new-content-for-your-site": "Створіть новий контент для свого сайту", - "there-are-no-draft-content": "Немає чорнового контенту.", "order-items-by": "Сортувати елементи за", "all-content": "Весь контент", "dynamic": "Динамічний", @@ -320,7 +319,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Почніть вводити заголовок сторінки, щоб переглянути список пропозицій.", "field-used-when-ordering-content-by-position": "Поле використовується при сортуванні контенту за місцем розташування", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Напишіть ім'я шаблону, щоб відфільтрувати сторінку в темі та змінити стиль сторінки.", - "write-the-tags-separated-by-comma": "Напишіть теги, розділені комою.", + "write-the-tags-separated-by-commas": "Напишіть теги, розділені комою.", "apply-code-noindex-code-to-this-page": "Застосувати noindex<\/code> для цієї сторінки.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "Ця опція вказує пошуковим системам не показувати дану сторінку в результатах пошуку.", "apply-code-nofollow-code-to-this-page": "Застосувати nofollow<\/code> для цієї сторінки.", @@ -387,5 +386,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/vi_VN.json b/bl-languages/vi_VN.json index 0061ef2f..44cfc02f 100644 --- a/bl-languages/vi_VN.json +++ b/bl-languages/vi_VN.json @@ -54,7 +54,7 @@ "manage-categories": "Manage categories", "general-settings": "General settings", "advanced-settings": "Advanced settings", - "thanks-for-support-bludit": "Thanks for support Bludit", + "thanks-for-supporting-bludit": "Thanks for support Bludit", "upgrade-to-bludit-pro": "Upgrade to Bludit PRO", "language": "Language", "plugin": "Plugin", @@ -88,7 +88,7 @@ "plugin-activated": "Plugin activated", "plugin-deactivated": "Plugin deactivated", "new-theme-configured": "New theme configured", - "changes-on-settings": "Changes on settings", + "settings-changes": "Changes on settings", "plugin-configured": "Plugin configured", "welcome-to-bludit": "Welcome to Bludit", "statistics": "Statistics", @@ -247,7 +247,6 @@ "content-deleted": "Contente deleted", "undefined": "Undefined", "create-new-content-for-your-site": "Create new content for your site", - "there-are-no-draft-content": "There are no draft content.", "order-items-by": "Order items by", "all-content": "All content", "dynamic": "Dynamic", @@ -319,7 +318,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", "field-used-when-ordering-content-by-position": "Field used when ordering content by position", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", + "write-the-tags-separated-by-commas": "Write the tags separated by comma.", "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", @@ -386,5 +385,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/zh_CN.json b/bl-languages/zh_CN.json index b15c8053..f5b8f015 100644 --- a/bl-languages/zh_CN.json +++ b/bl-languages/zh_CN.json @@ -54,7 +54,7 @@ "manage-categories": "管理分类", "general-settings": "一般设定", "advanced-settings": "高级设定", - "thanks-for-support-bludit": "Thanks for support Bludit", + "thanks-for-supporting-bludit": "Thanks for support Bludit", "upgrade-to-bludit-pro": "Upgrade to Bludit PRO", "language": "语言", "plugin": "Plugin", @@ -88,7 +88,7 @@ "plugin-activated": "激活插件", "plugin-deactivated": "禁用插件", "new-theme-configured": "配置新主题", - "changes-on-settings": "设置变更", + "settings-changes": "设置变更", "plugin-configured": "插件已配置", "welcome-to-bludit": "欢迎使用Bludit", "statistics": "统计", @@ -247,7 +247,6 @@ "content-deleted": "删除文章", "undefined": "未定义", "create-new-content-for-your-site": "为您的网站撰写新文章", - "there-are-no-draft-content": "没有草稿.", "order-items-by": "Order items by", "all-content": "所有文章", "dynamic": "Dynamic", @@ -319,7 +318,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", "field-used-when-ordering-content-by-position": "Field used when ordering content by position", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", + "write-the-tags-separated-by-commas": "Write the tags separated by comma.", "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", @@ -386,5 +385,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file diff --git a/bl-languages/zh_TW.json b/bl-languages/zh_TW.json index 96187f65..4c2a528c 100644 --- a/bl-languages/zh_TW.json +++ b/bl-languages/zh_TW.json @@ -54,7 +54,7 @@ "manage-categories": "Manage categories", "general-settings": "一般設定", "advanced-settings": "進階設定", - "thanks-for-support-bludit": "Thanks for support Bludit", + "thanks-for-supporting-bludit": "Thanks for support Bludit", "upgrade-to-bludit-pro": "Upgrade to Bludit PRO", "language": "語言", "plugin": "Plugin", @@ -88,7 +88,7 @@ "plugin-activated": "Plugin activated", "plugin-deactivated": "Plugin deactivated", "new-theme-configured": "New theme configured", - "changes-on-settings": "Changes on settings", + "settings-changes": "Changes on settings", "plugin-configured": "Plugin configured", "welcome-to-bludit": "歡迎使用Bludit", "statistics": "統計", @@ -247,7 +247,6 @@ "content-deleted": "Contente deleted", "undefined": "Undefined", "create-new-content-for-your-site": "Create new content for your site", - "there-are-no-draft-content": "There are no draft content.", "order-items-by": "Order items by", "all-content": "All content", "dynamic": "Dynamic", @@ -319,7 +318,7 @@ "start-typing-a-page-title-to-see-a-list-of-suggestions": "Start typing a page title to see a list of suggestions.", "field-used-when-ordering-content-by-position": "Field used when ordering content by position", "write-a-template-name-to-filter-the-page-in-the-theme-and-change-the-style-of-the-page": "Write a template name to filter the page in the theme and change the style of the page.", - "write-the-tags-separated-by-comma": "Write the tags separated by comma.", + "write-the-tags-separated-by-commas": "Write the tags separated by comma.", "apply-code-noindex-code-to-this-page": "Apply noindex<\/code> to this page.", "this-tells-search-engines-not-to-show-this-page-in-their-search-results": "This tells search engines not to show this page in their search results.", "apply-code-nofollow-code-to-this-page": "Apply nofollow<\/code> to this page.", @@ -386,5 +385,6 @@ "enabled-plugins": "Enabled plugins", "disabled-plugins": "Disabled plugins", "remove-logo": "Remove logo", - "preview": "Preview" + "preview": "Preview", + "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." } \ No newline at end of file From 87c487bdcb2d1f7c36a48f851c96a1824256f784 Mon Sep 17 00:00:00 2001 From: Guillaume Date: Thu, 6 Jun 2019 22:24:00 +0200 Subject: [PATCH 105/122] Dutch --- bl-languages/nl_NL.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bl-languages/nl_NL.json b/bl-languages/nl_NL.json index aebafd7e..b6a58d6f 100644 --- a/bl-languages/nl_NL.json +++ b/bl-languages/nl_NL.json @@ -2,7 +2,7 @@ "language-data": { "native": "Nederlands", "english-name": "Dutch", - "last-update": "2019-05-24", + "last-update": "2019-06-06", "authors": [ "Ray", "ltGuillaume" @@ -384,5 +384,5 @@ "disabled-plugins": "Uitgeschakelde plugins", "remove-logo": "Logo verwijderen", "preview": "Voorbeeld", - "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." -} \ No newline at end of file + "author-can-write-and-edit-their-own-content": "Auteur: Kan eigen inhoud creëren en bewerken. Editor: Kan ook de inhoud van andere gebruikers bewerken." +} From 10c263b507da230b0a21ae4b58ad94cc4b5b4aa9 Mon Sep 17 00:00:00 2001 From: GamerN131 <33786595+GamerN131@users.noreply.github.com> Date: Mon, 10 Jun 2019 14:44:07 +0200 Subject: [PATCH 106/122] Updated de_DE.json Translation of "author-can-write-and-edit-their-own-content" --- bl-languages/de_DE.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bl-languages/de_DE.json b/bl-languages/de_DE.json index 405c6cd9..9ce55e77 100644 --- a/bl-languages/de_DE.json +++ b/bl-languages/de_DE.json @@ -388,5 +388,5 @@ "disabled-plugins": "Deaktivierte Plugins", "remove-logo": "Logo entfernen", "preview": "Vorschau", - "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." -} \ No newline at end of file + "author-can-write-and-edit-their-own-content": "Autor: Kann Inhalte erstellen und bearbeiten. Editor: Kann Inhalte erstellen und eigene sowie fremde Inhalte bearbeiten." +} From 289a2bb16720be9b5bde71c37755c20990f3bd7b Mon Sep 17 00:00:00 2001 From: hide-me <45032974+hide-me@users.noreply.github.com> Date: Wed, 12 Jun 2019 11:04:53 +0300 Subject: [PATCH 107/122] Translations for new strings --- bl-languages/ru_RU.json | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/bl-languages/ru_RU.json b/bl-languages/ru_RU.json index 2c480461..d6723050 100644 --- a/bl-languages/ru_RU.json +++ b/bl-languages/ru_RU.json @@ -378,14 +378,14 @@ "thumbnail-quality-in-percentage": "Качество миниатюры изображения в процентах (%).", "maximum-load-file-size-allowed:": "Максимально допустимый размер загружаемого файла:", "file-type-is-not-supported": "Тип файла не поддерживается. Разрешенные типы:", - "page-content": "Page content", - "markdown-parser": "Markdown parser", - "site-logo": "Site logo", - "search": "Search", - "search-plugins": "Search plugins", - "enabled-plugins": "Enabled plugins", - "disabled-plugins": "Disabled plugins", - "remove-logo": "Remove logo", - "preview": "Preview", - "author-can-write-and-edit-their-own-content": "Author: Can write and edit their own content. Editor: Can write and edit the content of others." -} \ No newline at end of file + "page-content": "Содержимое страницы", + "markdown-parser": "Парсер Markdown разметки", + "site-logo": "Логотип сайта", + "search": "Поиск", + "search-plugins": "Поиск плагинов", + "enabled-plugins": "Подключенные плагины", + "disabled-plugins": "Отключенные плагины", + "remove-logo": "Удалить логотип", + "preview": "Предпросмотр", + "author-can-write-and-edit-their-own-content": "Автор: Может писать и редактировать собственные записи. Редактор: может писать и редактировать как свои записи, так и других пользователей." +} From 7a6d13de2626f398037b097470f1af5acfff8322 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Sun, 16 Jun 2019 22:31:09 +0200 Subject: [PATCH 108/122] Social network theme, still working on it --- bl-themes/social-network/css/style.css | 155 ++++++++++++++++++ bl-themes/social-network/img/codepen.svg | 5 + bl-themes/social-network/img/facebook.svg | 5 + bl-themes/social-network/img/favicon.png | Bin 0 -> 1025 bytes bl-themes/social-network/img/github.svg | 5 + bl-themes/social-network/img/gitlab.svg | 1 + bl-themes/social-network/img/googleplus.svg | 5 + bl-themes/social-network/img/instagram.svg | 1 + bl-themes/social-network/img/linkedin.svg | 5 + bl-themes/social-network/img/mastodon.svg | 1 + bl-themes/social-network/img/rss.svg | 1 + bl-themes/social-network/img/twitter.svg | 5 + bl-themes/social-network/index.php | 53 ++++++ bl-themes/social-network/init.php | 19 +++ bl-themes/social-network/install.php | 7 + bl-themes/social-network/languages/de_CH.json | 7 + bl-themes/social-network/languages/de_DE.json | 7 + bl-themes/social-network/languages/en.json | 7 + bl-themes/social-network/languages/es.json | 7 + bl-themes/social-network/languages/fa_IR.json | 7 + bl-themes/social-network/languages/it.json | 7 + bl-themes/social-network/languages/nl_NL.json | 7 + bl-themes/social-network/languages/ru_RU.json | 7 + bl-themes/social-network/languages/tr_TR.json | 7 + bl-themes/social-network/metadata.json | 10 ++ bl-themes/social-network/php/footer.php | 5 + bl-themes/social-network/php/head.php | 24 +++ bl-themes/social-network/php/home.php | 132 +++++++++++++++ bl-themes/social-network/php/navbar.php | 22 +++ bl-themes/social-network/php/page.php | 31 ++++ bl-themes/social-network/php/sidebar.php | 1 + 31 files changed, 556 insertions(+) create mode 100755 bl-themes/social-network/css/style.css create mode 100644 bl-themes/social-network/img/codepen.svg create mode 100644 bl-themes/social-network/img/facebook.svg create mode 100644 bl-themes/social-network/img/favicon.png create mode 100644 bl-themes/social-network/img/github.svg create mode 100644 bl-themes/social-network/img/gitlab.svg create mode 100644 bl-themes/social-network/img/googleplus.svg create mode 100644 bl-themes/social-network/img/instagram.svg create mode 100644 bl-themes/social-network/img/linkedin.svg create mode 100644 bl-themes/social-network/img/mastodon.svg create mode 100644 bl-themes/social-network/img/rss.svg create mode 100644 bl-themes/social-network/img/twitter.svg create mode 100755 bl-themes/social-network/index.php create mode 100644 bl-themes/social-network/init.php create mode 100644 bl-themes/social-network/install.php create mode 100644 bl-themes/social-network/languages/de_CH.json create mode 100644 bl-themes/social-network/languages/de_DE.json create mode 100644 bl-themes/social-network/languages/en.json create mode 100644 bl-themes/social-network/languages/es.json create mode 100644 bl-themes/social-network/languages/fa_IR.json create mode 100644 bl-themes/social-network/languages/it.json create mode 100644 bl-themes/social-network/languages/nl_NL.json create mode 100644 bl-themes/social-network/languages/ru_RU.json create mode 100644 bl-themes/social-network/languages/tr_TR.json create mode 100644 bl-themes/social-network/metadata.json create mode 100644 bl-themes/social-network/php/footer.php create mode 100644 bl-themes/social-network/php/head.php create mode 100644 bl-themes/social-network/php/home.php create mode 100644 bl-themes/social-network/php/navbar.php create mode 100644 bl-themes/social-network/php/page.php create mode 100644 bl-themes/social-network/php/sidebar.php diff --git a/bl-themes/social-network/css/style.css b/bl-themes/social-network/css/style.css new file mode 100755 index 00000000..cf313e69 --- /dev/null +++ b/bl-themes/social-network/css/style.css @@ -0,0 +1,155 @@ +html { + position: relative; + min-height: 100%; +} + +body { + /* Padding top for navbar */ + padding-top: 56px; + /* Margin bottom for footer height */ + margin-bottom: 60px; + + font-size: 0.9em; + background-color: #E6ECEF; +} + +section { + padding: 150px 0; +} + +img { + max-width: 100%; +} + + +pre, code { + background: #f8f8f8; + color: #333; +} + +pre { + border-left: 2px solid #ccc; + padding: 10px; +} + +code { + display: inline-block; + padding: 0 0.5em; + line-height: 1.4em; + border-radius: 3px; +} + +table { + empty-cells: show; + border: 1px solid #cbcbcb; + width: 100%; + font-size: 0.9em; + margin-bottom: 1rem; +} + +thead { + background-color: #e0e0e0; + color: #000; + text-align: left; + vertical-align: bottom; +} + +tr { + display: table-row; + vertical-align: inherit; + border-color: inherit; +} + +th, td { + padding: 0.5em 1em; +} + +h1.title, +h2.title { + font-size: 2.3rem; +} + +blockquote { + padding: 10px 20px; + margin: 0 0 20px 20px; + border-left: 5px solid #eee; + font-style: italic; +} + +.bg-light-blue { + background: #EAF4FB; +} + +/* Navbar */ +img.nav-svg-icon { + width: 1rem; + height: 1rem; + padding-bottom: 2px; +} + +.nav-link { + font-size: 0.8em; +} + +/* Footer */ +footer { + position: absolute; + bottom: 0; + width: 100%; + height: 60px; + line-height: 60px; + font-size: 0.8em; +} + +.mini-logo { + height: 22px; + padding-bottom: 5px; +} + +/* Plugins */ +.plugin { + padding: 1rem!important; + margin-top: .5rem!important; + margin-bottom: .5rem!important; + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0,0,0,.125); + border-radius: .25rem; +} + +.plugin-label { + font-size: 1em; + text-transform: uppercase; +} + +.plugin ul { + list-style: none; + padding: 0 0 0 10px; +} + +.share { + font-size: 1.4em; +} + +.share a { + text-decoration: none; + margin: 0 2px; +} +.share .twitter { + color: #1BA1F2; +} + +.share .facebook { + color: #3B5A97; +} + +.share .reddit { + color: #FF4500; +} \ No newline at end of file diff --git a/bl-themes/social-network/img/codepen.svg b/bl-themes/social-network/img/codepen.svg new file mode 100644 index 00000000..a2e9dd0f --- /dev/null +++ b/bl-themes/social-network/img/codepen.svg @@ -0,0 +1,5 @@ + + + CodePen icon + + \ No newline at end of file diff --git a/bl-themes/social-network/img/facebook.svg b/bl-themes/social-network/img/facebook.svg new file mode 100644 index 00000000..aec3d78f --- /dev/null +++ b/bl-themes/social-network/img/facebook.svg @@ -0,0 +1,5 @@ + + + Facebook icon + + \ No newline at end of file diff --git a/bl-themes/social-network/img/favicon.png b/bl-themes/social-network/img/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..60349a2b41b19b00ec222b8e0e1994cb8ebd7d3f GIT binary patch literal 1025 zcmV+c1pfPpP)2CR?pZ05dPVI7AJ_cwKcwze@ZqB zldgHa-j=TG-vN-u0)V91Gj;&@z~RNk1)|X?8jS`P78dx9Jpe3X6{ScdqUpNct=H>5 zLy~Fd>;O=58S<~f!yaX38`QKm!ow|C*+Si^U?2j*if5HWhWIof`#!;|yw= zCX@+U2kPtqqygkAl?s-Zm*r)of-4IKgQ!-k@^Y>)91hDp{*tP6IxTq&{%&p2M9pW% z4gjlG)DSu@+aiJTJw87E+3j{enkm6ihM`dC^WEK@cT@m@K%m!ZwZ4v`0@f57Zf|d; zy=-TpP!I}IsnmcPD{!P~Wo3o8zW_LLD?{ds6gdavnm#}!@S2*MLakO4V3vA(89)xf z-=TODP81a9=H_A#4-dY@#YNoQ+(5~aAY!o?&d<*+0TA@;Eafjw$Zom=;Pd&~J3Bkm z)N|hhkjv#{)&0pH0OIs-Y-~t@>+9=5A*$o@^769p74854=qVLUOiZBD>EQ8Ec4xIR zD5vCnY;SK%j#0XlAyshHV)&I8SBlp*9p#hICz_|wzVNLI{l z&Ck#4tyb&Xs8%da$W>4cZ-Y~Rc6KJVyt&DP&r7hlrfJ<;t;R!%P@O98L82!VmmBM# v+ARRpaRQ-4d2XZ~vKW1y%m2r2?F{S>=?JMX!0RGF00000NkvXXu0mjfYZ>#^ literal 0 HcmV?d00001 diff --git a/bl-themes/social-network/img/github.svg b/bl-themes/social-network/img/github.svg new file mode 100644 index 00000000..e5c51731 --- /dev/null +++ b/bl-themes/social-network/img/github.svg @@ -0,0 +1,5 @@ + + + GitHub icon + + \ No newline at end of file diff --git a/bl-themes/social-network/img/gitlab.svg b/bl-themes/social-network/img/gitlab.svg new file mode 100644 index 00000000..befb8db2 --- /dev/null +++ b/bl-themes/social-network/img/gitlab.svg @@ -0,0 +1 @@ +GitLab icon \ No newline at end of file diff --git a/bl-themes/social-network/img/googleplus.svg b/bl-themes/social-network/img/googleplus.svg new file mode 100644 index 00000000..3b221b4c --- /dev/null +++ b/bl-themes/social-network/img/googleplus.svg @@ -0,0 +1,5 @@ + + + Google+ icon + + \ No newline at end of file diff --git a/bl-themes/social-network/img/instagram.svg b/bl-themes/social-network/img/instagram.svg new file mode 100644 index 00000000..10b83fe9 --- /dev/null +++ b/bl-themes/social-network/img/instagram.svg @@ -0,0 +1 @@ +Instagram icon diff --git a/bl-themes/social-network/img/linkedin.svg b/bl-themes/social-network/img/linkedin.svg new file mode 100644 index 00000000..144f8a8a --- /dev/null +++ b/bl-themes/social-network/img/linkedin.svg @@ -0,0 +1,5 @@ + + + LinkedIn icon + + \ No newline at end of file diff --git a/bl-themes/social-network/img/mastodon.svg b/bl-themes/social-network/img/mastodon.svg new file mode 100644 index 00000000..c3d117ae --- /dev/null +++ b/bl-themes/social-network/img/mastodon.svg @@ -0,0 +1 @@ +Mastodon icon \ No newline at end of file diff --git a/bl-themes/social-network/img/rss.svg b/bl-themes/social-network/img/rss.svg new file mode 100644 index 00000000..c47a1157 --- /dev/null +++ b/bl-themes/social-network/img/rss.svg @@ -0,0 +1 @@ +RSS icon \ No newline at end of file diff --git a/bl-themes/social-network/img/twitter.svg b/bl-themes/social-network/img/twitter.svg new file mode 100644 index 00000000..e0476a28 --- /dev/null +++ b/bl-themes/social-network/img/twitter.svg @@ -0,0 +1,5 @@ + + + Twitter icon + + \ No newline at end of file diff --git a/bl-themes/social-network/index.php b/bl-themes/social-network/index.php new file mode 100755 index 00000000..519fb2fc --- /dev/null +++ b/bl-themes/social-network/index.php @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +
    + +
    + +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/bl-themes/social-network/init.php b/bl-themes/social-network/init.php new file mode 100644 index 00000000..ac9fed10 --- /dev/null +++ b/bl-themes/social-network/init.php @@ -0,0 +1,19 @@ +isLogged()) { + try { + $user = new User($login->username()); + } catch (Exception $e) { + $user = false; + } + } +} + +$api = getPlugin('pluginAPI'); +$apiToken = $api->getToken(); + +?> \ No newline at end of file diff --git a/bl-themes/social-network/install.php b/bl-themes/social-network/install.php new file mode 100644 index 00000000..70419400 --- /dev/null +++ b/bl-themes/social-network/install.php @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/bl-themes/social-network/languages/de_CH.json b/bl-themes/social-network/languages/de_CH.json new file mode 100644 index 00000000..44c515a2 --- /dev/null +++ b/bl-themes/social-network/languages/de_CH.json @@ -0,0 +1,7 @@ +{ + "theme-data": + { + "name": "Blog X", + "description": "Theme für Blogs mit Navigatiationsleiste mit statischen Seiten und Social Media Icons, rechter Seitenleiste und Angabe der Lesezeit." + } +} diff --git a/bl-themes/social-network/languages/de_DE.json b/bl-themes/social-network/languages/de_DE.json new file mode 100644 index 00000000..44c515a2 --- /dev/null +++ b/bl-themes/social-network/languages/de_DE.json @@ -0,0 +1,7 @@ +{ + "theme-data": + { + "name": "Blog X", + "description": "Theme für Blogs mit Navigatiationsleiste mit statischen Seiten und Social Media Icons, rechter Seitenleiste und Angabe der Lesezeit." + } +} diff --git a/bl-themes/social-network/languages/en.json b/bl-themes/social-network/languages/en.json new file mode 100644 index 00000000..675b6ed6 --- /dev/null +++ b/bl-themes/social-network/languages/en.json @@ -0,0 +1,7 @@ +{ + "theme-data": + { + "name": "Social Network", + "description": "" + } +} \ No newline at end of file diff --git a/bl-themes/social-network/languages/es.json b/bl-themes/social-network/languages/es.json new file mode 100644 index 00000000..e71bd43a --- /dev/null +++ b/bl-themes/social-network/languages/es.json @@ -0,0 +1,7 @@ +{ + "theme-data": + { + "name": "Blog X", + "description": "Tema para bloggers, soporte para tiempo de lectura y barra de navegación con iconos sociales y páginas estáticas." + } +} \ No newline at end of file diff --git a/bl-themes/social-network/languages/fa_IR.json b/bl-themes/social-network/languages/fa_IR.json new file mode 100644 index 00000000..1ae3df3f --- /dev/null +++ b/bl-themes/social-network/languages/fa_IR.json @@ -0,0 +1,7 @@ +{ + "theme-data": + { + "name": "Blog X", + "description": "قالبی برای وبلاگ نویس ها، به همراه نوار کناری، زمان مطالعه و نوار ناوبری به همراه آیکن های شبکه مجازی و صفحات استاتیک." + } +} diff --git a/bl-themes/social-network/languages/it.json b/bl-themes/social-network/languages/it.json new file mode 100644 index 00000000..4215130c --- /dev/null +++ b/bl-themes/social-network/languages/it.json @@ -0,0 +1,7 @@ +{ + "theme-data": + { + "name": "Blog X", + "description": "Tema per blogger, con barra laterale a destra, tempo di lettura e barra di navigazione con icone social e pagine statiche." + } +} diff --git a/bl-themes/social-network/languages/nl_NL.json b/bl-themes/social-network/languages/nl_NL.json new file mode 100644 index 00000000..1b5fb278 --- /dev/null +++ b/bl-themes/social-network/languages/nl_NL.json @@ -0,0 +1,7 @@ +{ + "theme-data": + { + "name": "Blog X", + "description": "Thema voor bloggers, met zijbalk rechts, leestijdindicatie en navigatiebalk met social media en statische pagina's." + } +} \ No newline at end of file diff --git a/bl-themes/social-network/languages/ru_RU.json b/bl-themes/social-network/languages/ru_RU.json new file mode 100644 index 00000000..8995c0a2 --- /dev/null +++ b/bl-themes/social-network/languages/ru_RU.json @@ -0,0 +1,7 @@ +{ + "theme-data": + { + "name": "Blog X", + "description": "Тема для блоггеров, с боковой панелью справа, примерным временем чтения материала и блоком навигации со значками социальных сетей и статическими страницами." + } +} \ No newline at end of file diff --git a/bl-themes/social-network/languages/tr_TR.json b/bl-themes/social-network/languages/tr_TR.json new file mode 100644 index 00000000..860e3a8d --- /dev/null +++ b/bl-themes/social-network/languages/tr_TR.json @@ -0,0 +1,7 @@ +{ + "theme-data": + { + "name": "Blog X", + "description": "Blog yazarları için tema, sağ kenar çubuğu ile birlikte. Okuma süresi, kenar çubuğunda sosyal simgeler ve sabit sayfalar." + } +} diff --git a/bl-themes/social-network/metadata.json b/bl-themes/social-network/metadata.json new file mode 100644 index 00000000..fb9d8f1b --- /dev/null +++ b/bl-themes/social-network/metadata.json @@ -0,0 +1,10 @@ +{ + "author": "Bludit", + "email": "", + "website": "https://themes.bludit.com", + "version": "3.9.1", + "releaseDate": "2019-05-30", + "license": "MIT", + "compatible": "3.9.1", + "notes": "" +} \ No newline at end of file diff --git a/bl-themes/social-network/php/footer.php b/bl-themes/social-network/php/footer.php new file mode 100644 index 00000000..e6d9bcc8 --- /dev/null +++ b/bl-themes/social-network/php/footer.php @@ -0,0 +1,5 @@ +
    +
    +

    footer(); ?>Powered byBludit

    +
    +
    \ No newline at end of file diff --git a/bl-themes/social-network/php/head.php b/bl-themes/social-network/php/head.php new file mode 100644 index 00000000..ed1a19f0 --- /dev/null +++ b/bl-themes/social-network/php/head.php @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bl-themes/social-network/php/home.php b/bl-themes/social-network/php/home.php new file mode 100644 index 00000000..9444af59 --- /dev/null +++ b/bl-themes/social-network/php/home.php @@ -0,0 +1,132 @@ + +
    + p('No pages found') ?> +
    + + + +
    +
    +
    + +
    +
    + +
    +
    +
    + + + +
    + + +
    + + + + +
    + + + +
    + +

    + @user('nickname') ?> - + date() ?> +

    + + + contentBreak() ?> + + +
    +
    + + + + +
    + +
    diff --git a/bl-themes/social-network/php/navbar.php b/bl-themes/social-network/php/navbar.php new file mode 100644 index 00000000..f3605284 --- /dev/null +++ b/bl-themes/social-network/php/navbar.php @@ -0,0 +1,22 @@ + diff --git a/bl-themes/social-network/php/page.php b/bl-themes/social-network/php/page.php new file mode 100644 index 00000000..7b60f3d1 --- /dev/null +++ b/bl-themes/social-network/php/page.php @@ -0,0 +1,31 @@ + +
    + + + + + + coverImage()): ?> + Cover Image + + +
    + + +

    title(); ?>

    +
    + + isStatic() && !$url->notFound()): ?> + +
    date(); ?> - get('Reading time') . ': ' . $page->readingTime() ?>
    + + + + content(); ?> + +
    + + + + +
    diff --git a/bl-themes/social-network/php/sidebar.php b/bl-themes/social-network/php/sidebar.php new file mode 100644 index 00000000..3407d6f0 --- /dev/null +++ b/bl-themes/social-network/php/sidebar.php @@ -0,0 +1 @@ + \ No newline at end of file From 016754b67c2cd762cccfc3f5cd30e6dc8ee58599 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Sun, 16 Jun 2019 22:31:48 +0200 Subject: [PATCH 109/122] Fix some english phrases --- bl-kernel/admin/views/about.php | 2 +- bl-kernel/admin/views/edit-user.php | 2 +- bl-kernel/admin/views/new-user.php | 2 +- bl-kernel/functions.php | 6 +++++- bl-kernel/pagex.class.php | 4 +++- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/bl-kernel/admin/views/about.php b/bl-kernel/admin/views/about.php index 8da2783b..734b70d0 100644 --- a/bl-kernel/admin/views/about.php +++ b/bl-kernel/admin/views/about.php @@ -10,7 +10,7 @@ echo ' echo ''; echo 'Bludit Edition'; if (defined('BLUDIT_PRO')) { - echo 'PRO - '.$L->g('Thanks for support Bludit').' '; + echo 'PRO - '.$L->g('Thanks for supporting Bludit').' '; } else { echo 'Standard - '.$L->g('Upgrade to Bludit PRO').''; } diff --git a/bl-kernel/admin/views/edit-user.php b/bl-kernel/admin/views/edit-user.php index 9226917d..8f0060cf 100644 --- a/bl-kernel/admin/views/edit-user.php +++ b/bl-kernel/admin/views/edit-user.php @@ -56,7 +56,7 @@ 'options'=>array('author'=>$L->g('Author'), 'editor'=>$L->g('Editor'), 'admin'=>$L->g('Administrator')), 'selected'=>$user->role(), 'class'=>'', - 'tip'=>'Author: Can write and edit his own content. Editor: Can write and edit the content of others.' + 'tip'=>$L->g('author-can-write-and-edit-their-own-content') )); } diff --git a/bl-kernel/admin/views/new-user.php b/bl-kernel/admin/views/new-user.php index 53eb7d38..4ca3e2ef 100644 --- a/bl-kernel/admin/views/new-user.php +++ b/bl-kernel/admin/views/new-user.php @@ -51,7 +51,7 @@ 'options'=>array('author'=>$L->g('Author'), 'editor'=>$L->g('Editor'), 'admin'=>$L->g('Administrator')), 'selected'=>'Author', 'class'=>'', - 'tip'=>'Author: Can write and edit his own content. Editor: Can write and edit the content of others.' + 'tip'=>$L->g('author-can-write-and-edit-their-own-content') )); echo Bootstrap::formInputText(array( diff --git a/bl-kernel/functions.php b/bl-kernel/functions.php index d360c088..79ed77d8 100644 --- a/bl-kernel/functions.php +++ b/bl-kernel/functions.php @@ -588,7 +588,7 @@ function editSettings($args) { // Add syslog $syslog->add(array( - 'dictionaryKey'=>'changes-on-settings', + 'dictionaryKey'=>'settings-changes', 'notes'=>'' )); @@ -790,6 +790,10 @@ function activateTheme($themeDirectory) { global $L, $language; if (Sanitize::pathFile(PATH_THEMES.$themeDirectory)) { + if (Sanitize::pathFile(PATH_THEMES.$themeDirectory, 'install.php')) { + include_once(PATH_THEMES.$themeDirectory.'install.php'); + } + $site->set(array('theme'=>$themeDirectory)); $syslog->add(array( diff --git a/bl-kernel/pagex.class.php b/bl-kernel/pagex.class.php index eec1393d..f55066db 100644 --- a/bl-kernel/pagex.class.php +++ b/bl-kernel/pagex.class.php @@ -269,8 +269,10 @@ class Page { $tmp['description'] = $this->description(); $tmp['type'] = $this->type(); $tmp['slug'] = $this->slug(); - $tmp['date'] = $this->dateRaw(); + $tmp['date'] = $this->date(); + $tmp['dateRaw'] = $this->dateRaw(); $tmp['tags'] = $this->tags(false); + $tmp['username'] = $this->username(); $tmp['dateUTC'] = Date::convertToUTC($this->dateRaw(), DB_DATE_FORMAT, DB_DATE_FORMAT); $tmp['permalink'] = $this->permalink(true); $tmp['coverImage'] = $this->coverImage(true); From b69f7950383b822bd314d71e34fae5a1aefefe5d Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Mon, 17 Jun 2019 22:05:17 +0200 Subject: [PATCH 110/122] Remove button next and previous when there are no more pages. #1052 --- bl-themes/blogx/php/home.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bl-themes/blogx/php/home.php b/bl-themes/blogx/php/home.php index c626b358..cb9c615e 100644 --- a/bl-themes/blogx/php/home.php +++ b/bl-themes/blogx/php/home.php @@ -48,9 +48,11 @@ From d6f0073446b6870f003a1a8dac8d70f3b0f3b272 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Mon, 17 Jun 2019 22:07:01 +0200 Subject: [PATCH 111/122] removed google plus --- bl-kernel/pages.class.php | 4 ++-- bl-kernel/user.class.php | 6 ------ 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/bl-kernel/pages.class.php b/bl-kernel/pages.class.php index 1b743654..ace3b77d 100644 --- a/bl-kernel/pages.class.php +++ b/bl-kernel/pages.class.php @@ -544,8 +544,8 @@ class Pages extends dbJSON { } // Returns the amount of pages - // (boolean) $total, TRUE returns the total of pages - // (boolean) $total, FALSE returns the total of published pages (without draft and scheduled) + // (boolean) $onlyPublished, TRUE returns the total of published pages (without draft and scheduled) + // (boolean) $onlyPublished, FALSE returns the total of pages public function count($onlyPublished=true) { if ($onlyPublished) { diff --git a/bl-kernel/user.class.php b/bl-kernel/user.class.php index 61c6c83c..275abab7 100644 --- a/bl-kernel/user.class.php +++ b/bl-kernel/user.class.php @@ -115,12 +115,6 @@ class User { return $this->getValue('codepen'); } - // DEPRECATED since v3.5 - public function googlePlus() - { - return $this->getValue('googlePlus'); - } - public function instagram() { return $this->getValue('instagram'); From 5779635bd48c31a35d7ce17e205ba255bbb189e6 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Fri, 21 Jun 2019 10:24:37 +0200 Subject: [PATCH 112/122] Remove buttons from paginator when are not need it --- bl-themes/alternative/php/home.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/bl-themes/alternative/php/home.php b/bl-themes/alternative/php/home.php index 9407be84..c33a272e 100644 --- a/bl-themes/alternative/php/home.php +++ b/bl-themes/alternative/php/home.php @@ -84,22 +84,23 @@ From 0cfb161e53658761ea1ebad9f72b523bdf099e66 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Fri, 21 Jun 2019 10:26:38 +0200 Subject: [PATCH 113/122] Remove page from Sitemap when are setted as noindex #1054 --- bl-plugins/sitemap/plugin.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/bl-plugins/sitemap/plugin.php b/bl-plugins/sitemap/plugin.php index 3ea996b2..8119323d 100644 --- a/bl-plugins/sitemap/plugin.php +++ b/bl-plugins/sitemap/plugin.php @@ -62,11 +62,13 @@ class pluginSitemap extends Plugin { try { // Create the page object from the page key $page = new Page($pageKey); - $xml .= ''; - $xml .= ''.$page->permalink().''; - $xml .= ''.$page->date(SITEMAP_DATE_FORMAT).''; - $xml .= 'daily'; - $xml .= ''; + if (!$page->noindex() && !$page->noarchive()) { + $xml .= ''; + $xml .= ''.$page->permalink().''; + $xml .= ''.$page->date(SITEMAP_DATE_FORMAT).''; + $xml .= 'daily'; + $xml .= ''; + } } catch (Exception $e) { // Continue } From 3cd7fa77200caa7d73279117bf0b8efdae183a9b Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Fri, 21 Jun 2019 10:27:26 +0200 Subject: [PATCH 114/122] Remove page from Sitemap when are setted as noindex #1054 --- bl-plugins/sitemap/plugin.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bl-plugins/sitemap/plugin.php b/bl-plugins/sitemap/plugin.php index 8119323d..ba2cf8d3 100644 --- a/bl-plugins/sitemap/plugin.php +++ b/bl-plugins/sitemap/plugin.php @@ -62,7 +62,7 @@ class pluginSitemap extends Plugin { try { // Create the page object from the page key $page = new Page($pageKey); - if (!$page->noindex() && !$page->noarchive()) { + if (!$page->noindex()) { $xml .= ''; $xml .= ''.$page->permalink().''; $xml .= ''.$page->date(SITEMAP_DATE_FORMAT).''; From 44f8c77abe7d6dde75ea2622b3a3daa36ed892e0 Mon Sep 17 00:00:00 2001 From: Diego Najar Date: Fri, 21 Jun 2019 11:01:21 +0200 Subject: [PATCH 115/122] Tinymce 5.0.8 --- .../css/{tinymce.css => tinymce_content.css} | 2 +- bl-plugins/tinymce/css/tinymce_toolbar.css | 3 + bl-plugins/tinymce/metadata.json | 6 +- bl-plugins/tinymce/plugin.php | 7 +- .../tinymce/plugins/advlist/plugin.min.js | 4 +- .../tinymce/plugins/anchor/plugin.min.js | 4 +- .../tinymce/plugins/autolink/plugin.min.js | 4 +- .../tinymce/plugins/autoresize/plugin.min.js | 4 +- .../tinymce/plugins/autosave/plugin.min.js | 4 +- .../tinymce/plugins/bbcode/plugin.min.js | 4 +- .../tinymce/plugins/charmap/plugin.min.js | 4 +- .../tinymce/plugins/code/plugin.min.js | 4 +- .../tinymce/plugins/codesample/plugin.min.js | 4 +- .../tinymce/plugins/colorpicker/plugin.min.js | 4 +- .../tinymce/plugins/contextmenu/plugin.min.js | 4 +- .../plugins/directionality/plugin.min.js | 4 +- .../tinymce/plugins/emoticons/js/emojis.js | 9015 ----------------- .../plugins/emoticons/js/emojis.min.js | 2 - .../tinymce/plugins/emoticons/plugin.min.js | 9 - .../tinymce/plugins/fullpage/plugin.min.js | 4 +- .../tinymce/plugins/fullscreen/plugin.min.js | 4 +- .../tinymce/plugins/help/plugin.min.js | 4 +- .../tinymce/tinymce/plugins/hr/plugin.min.js | 4 +- .../tinymce/plugins/image/plugin.min.js | 4 +- .../tinymce/plugins/imagetools/plugin.min.js | 4 +- .../tinymce/plugins/importcss/plugin.min.js | 4 +- .../plugins/insertdatetime/plugin.min.js | 4 +- .../plugins/legacyoutput/plugin.min.js | 4 +- .../tinymce/plugins/link/plugin.min.js | 4 +- .../tinymce/plugins/lists/plugin.min.js | 4 +- .../tinymce/plugins/media/plugin.min.js | 4 +- .../tinymce/plugins/nonbreaking/plugin.min.js | 4 +- .../tinymce/plugins/noneditable/plugin.min.js | 4 +- .../tinymce/plugins/pagebreak/plugin.min.js | 4 +- .../tinymce/plugins/paste/plugin.min.js | 4 +- .../tinymce/plugins/preview/plugin.min.js | 4 +- .../tinymce/plugins/print/plugin.min.js | 4 +- .../tinymce/plugins/quickbars/plugin.min.js | 4 +- .../tinymce/plugins/save/plugin.min.js | 4 +- .../plugins/searchreplace/plugin.min.js | 4 +- .../plugins/spellchecker/plugin.min.js | 4 +- .../tinymce/plugins/tabfocus/plugin.min.js | 4 +- .../tinymce/plugins/table/plugin.min.js | 4 +- .../tinymce/plugins/template/plugin.min.js | 4 +- .../tinymce/plugins/textcolor/plugin.min.js | 4 +- .../tinymce/plugins/textpattern/plugin.min.js | 4 +- .../tinymce/tinymce/plugins/toc/plugin.min.js | 4 +- .../plugins/visualblocks/plugin.min.js | 4 +- .../tinymce/plugins/visualchars/plugin.min.js | 4 +- .../tinymce/plugins/wordcount/plugin.min.js | 4 +- .../ui/oxide-dark/content.inline.min.css | 7 - .../skins/ui/oxide-dark/content.min.css | 7 - .../ui/oxide-dark/content.mobile.min.css | 7 - .../tinymce/skins/ui/oxide-dark/skin.min.css | 7 - .../skins/ui/oxide-dark/skin.mobile.min.css | 7 - .../tinymce/skins/ui/oxide/skin.min.css | 2 +- .../skins/ui/oxide/tinymce-mobile.woff | Bin 0 -> 4624 bytes .../tinymce/themes/mobile/theme.min.js | 4 +- .../tinymce/themes/silver/theme.min.js | 4 +- bl-plugins/tinymce/tinymce/tinymce.min.js | 4 +- 60 files changed, 105 insertions(+), 9160 deletions(-) rename bl-plugins/tinymce/css/{tinymce.css => tinymce_content.css} (99%) create mode 100644 bl-plugins/tinymce/css/tinymce_toolbar.css delete mode 100755 bl-plugins/tinymce/tinymce/plugins/emoticons/js/emojis.js delete mode 100755 bl-plugins/tinymce/tinymce/plugins/emoticons/js/emojis.min.js delete mode 100755 bl-plugins/tinymce/tinymce/plugins/emoticons/plugin.min.js delete mode 100755 bl-plugins/tinymce/tinymce/skins/ui/oxide-dark/content.inline.min.css delete mode 100755 bl-plugins/tinymce/tinymce/skins/ui/oxide-dark/content.min.css delete mode 100755 bl-plugins/tinymce/tinymce/skins/ui/oxide-dark/content.mobile.min.css delete mode 100755 bl-plugins/tinymce/tinymce/skins/ui/oxide-dark/skin.min.css delete mode 100755 bl-plugins/tinymce/tinymce/skins/ui/oxide-dark/skin.mobile.min.css create mode 100755 bl-plugins/tinymce/tinymce/skins/ui/oxide/tinymce-mobile.woff diff --git a/bl-plugins/tinymce/css/tinymce.css b/bl-plugins/tinymce/css/tinymce_content.css similarity index 99% rename from bl-plugins/tinymce/css/tinymce.css rename to bl-plugins/tinymce/css/tinymce_content.css index 95ef092e..4a90fc6f 100644 --- a/bl-plugins/tinymce/css/tinymce.css +++ b/bl-plugins/tinymce/css/tinymce_content.css @@ -34,4 +34,4 @@ body.mce-content-body { margin: 0 0 20px 20px; border-left: 5px solid #eee; font-style: italic; -} \ No newline at end of file +} diff --git a/bl-plugins/tinymce/css/tinymce_toolbar.css b/bl-plugins/tinymce/css/tinymce_toolbar.css new file mode 100644 index 00000000..48d42be6 --- /dev/null +++ b/bl-plugins/tinymce/css/tinymce_toolbar.css @@ -0,0 +1,3 @@ +.tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary { + border-top: none !important; +} \ No newline at end of file diff --git a/bl-plugins/tinymce/metadata.json b/bl-plugins/tinymce/metadata.json index 34893dc7..bb00d814 100644 --- a/bl-plugins/tinymce/metadata.json +++ b/bl-plugins/tinymce/metadata.json @@ -2,9 +2,9 @@ "author": "TinyMCE", "email": "", "website": "https://www.tinymce.com", - "version": "5.0.6", - "releaseDate": "2019-05-22", + "version": "5.0.8", + "releaseDate": "2019-06-10", "license": "LGPL 2.1", - "compatible": "3.9.1", + "compatible": "3.9.2", "notes": "" } \ No newline at end of file diff --git a/bl-plugins/tinymce/plugin.php b/bl-plugins/tinymce/plugin.php index 75e85050..003e64e3 100644 --- a/bl-plugins/tinymce/plugin.php +++ b/bl-plugins/tinymce/plugin.php @@ -44,7 +44,9 @@ class pluginTinymce extends Plugin { if (!in_array($GLOBALS['ADMIN_CONTROLLER'], $this->loadOnController)) { return false; } - return ''; + $html = ''.PHP_EOL; + $html .= ''; + return $html; } public function adminBodyEnd() @@ -58,7 +60,7 @@ class pluginTinymce extends Plugin { $toolbar1 = $this->getValue('toolbar1'); $toolbar2 = $this->getValue('toolbar2'); - $content_css = $this->htmlPath().'css/tinymce.css'; + $content_css = $this->htmlPath().'css/tinymce_content.css'; $plugins = $this->getValue('plugins'); $version = $this->version(); @@ -95,6 +97,7 @@ $html = <<h(e)&&(i=o+l);var m=v(e);m&&mv(e)&&(i=o+l);var m=y(e);m&&m]*>((\xa0| |[ \t]|]*>)+?|)|
    $","i").test(e)},l=function(t){var e=parseInt(i.getItem(f(t)+"time"),10)||0;return!((new Date).getTime()-e>s(t.settings.autosave_retention,"20m")&&(m(t,!1),1))},m=function(t,e){var r=f(t);i.removeItem(r+"draft"),i.removeItem(r+"time"),!1!==e&&t.fire("RemoveDraft")},v=function(t){var e=f(t);!c(t)&&t.isDirty()&&(i.setItem(e+"draft",t.getContent({format:"raw",no_events:!0})),i.setItem(e+"time",(new Date).getTime().toString()),t.fire("StoreDraft"))},d=function(t){var e=f(t);l(t)&&(t.setContent(i.getItem(e+"draft"),{format:"raw"}),t.fire("RestoreDraft"))},g=function(t,e){var r=s(t.settings.autosave_interval,"30s");e.get()||(n.setInterval(function(){t.removed||v(t)},r),e.set(!0))},y=function(t){t.undoManager.transact(function(){d(t),m(t)}),t.focus()};function p(n){for(var o=[],t=1;t]*>((\xa0| |[ \t]|]*>)+?|)|
    $","i").test(e)},f=function(t){var e=parseInt(a.getItem(s(t)+"time"),10)||0;return!((new Date).getTime()-e>u(t.settings.autosave_retention,"20m"))||(l(t,!1),!1)},l=function(t,e){var r=s(t);a.removeItem(r+"draft"),a.removeItem(r+"time"),!1!==e&&t.fire("RemoveDraft")},m=function(t){var e=s(t);!c(t)&&t.isDirty()&&(a.setItem(e+"draft",t.getContent({format:"raw",no_events:!0})),a.setItem(e+"time",(new Date).getTime().toString()),t.fire("StoreDraft"))},v=function(t){var e=s(t);f(t)&&(t.setContent(a.getItem(e+"draft"),{format:"raw"}),t.fire("RestoreDraft"))},d=function(t,e){var r=u(t.settings.autosave_interval,"30s");e.get()||(n.setInterval(function(){t.removed||m(t)},r),e.set(!0))},g=function(t){t.undoManager.transact(function(){v(t),l(t)}),t.focus()};function y(n){for(var o=[],t=1;t(.*?)<\/a>/gi,"[url=$1]$2[/url]"),o(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),o(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),o(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),o(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),o(/(.*?)<\/span>/gi,"[color=$1]$2[/color]"),o(/(.*?)<\/font>/gi,"[color=$1]$2[/color]"),o(/(.*?)<\/span>/gi,"[size=$1]$2[/size]"),o(/(.*?)<\/font>/gi,"$1"),o(//gi,"[img]$1[/img]"),o(/(.*?)<\/span>/gi,"[code]$1[/code]"),o(/(.*?)<\/span>/gi,"[quote]$1[/quote]"),o(/(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]"),o(/(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]"),o(/(.*?)<\/em>/gi,"[code][i]$1[/i][/code]"),o(/(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]"),o(/(.*?)<\/u>/gi,"[code][u]$1[/u][/code]"),o(/(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]"),o(/<\/(strong|b)>/gi,"[/b]"),o(/<(strong|b)>/gi,"[b]"),o(/<\/(em|i)>/gi,"[/i]"),o(/<(em|i)>/gi,"[i]"),o(/<\/u>/gi,"[/u]"),o(/(.*?)<\/span>/gi,"[u]$1[/u]"),o(//gi,"[u]"),o(/]*>/gi,"[quote]"),o(/<\/blockquote>/gi,"[/quote]"),o(/
    /gi,"\n"),o(//gi,"\n"),o(/
    /gi,"\n"),o(/

    /gi,""),o(/<\/p>/gi,"\n"),o(/ |\u00a0/gi," "),o(/"/gi,'"'),o(/</gi,"<"),o(/>/gi,">"),o(/&/gi,"&"),e},i=function(e){e=t.trim(e);var o=function(o,t){e=e.replace(o,t)};return o(/\n/gi,"
    "),o(/\[b\]/gi,""),o(/\[\/b\]/gi,""),o(/\[i\]/gi,""),o(/\[\/i\]/gi,""),o(/\[u\]/gi,""),o(/\[\/u\]/gi,""),o(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'$2'),o(/\[url\](.*?)\[\/url\]/gi,'$1'),o(/\[img\](.*?)\[\/img\]/gi,''),o(/\[color=(.*?)\](.*?)\[\/color\]/gi,'$2'),o(/\[code\](.*?)\[\/code\]/gi,'$1 '),o(/\[quote.*?\](.*?)\[\/quote\]/gi,'$1 '),e};o.add("bbcode",function(){return{init:function(o){o.on("BeforeSetContent",function(o){o.content=i(o.content)}),o.on("PostProcess",function(o){o.set&&(o.content=i(o.content)),o.get&&(o.content=e(o.content))})}}}),function n(){}}(); \ No newline at end of file +!function(){"use strict";var o=tinymce.util.Tools.resolve("tinymce.PluginManager"),e=tinymce.util.Tools.resolve("tinymce.util.Tools"),t=function(t){t=e.trim(t);var o=function(o,e){t=t.replace(o,e)};return o(/(.*?)<\/a>/gi,"[url=$1]$2[/url]"),o(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),o(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),o(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),o(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),o(/(.*?)<\/span>/gi,"[color=$1]$2[/color]"),o(/(.*?)<\/font>/gi,"[color=$1]$2[/color]"),o(/(.*?)<\/span>/gi,"[size=$1]$2[/size]"),o(/(.*?)<\/font>/gi,"$1"),o(//gi,"[img]$1[/img]"),o(/(.*?)<\/span>/gi,"[code]$1[/code]"),o(/(.*?)<\/span>/gi,"[quote]$1[/quote]"),o(/(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]"),o(/(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]"),o(/(.*?)<\/em>/gi,"[code][i]$1[/i][/code]"),o(/(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]"),o(/(.*?)<\/u>/gi,"[code][u]$1[/u][/code]"),o(/(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]"),o(/<\/(strong|b)>/gi,"[/b]"),o(/<(strong|b)>/gi,"[b]"),o(/<\/(em|i)>/gi,"[/i]"),o(/<(em|i)>/gi,"[i]"),o(/<\/u>/gi,"[/u]"),o(/(.*?)<\/span>/gi,"[u]$1[/u]"),o(//gi,"[u]"),o(/]*>/gi,"[quote]"),o(/<\/blockquote>/gi,"[/quote]"),o(/
    /gi,"\n"),o(//gi,"\n"),o(/
    /gi,"\n"),o(/

    /gi,""),o(/<\/p>/gi,"\n"),o(/ |\u00a0/gi," "),o(/"/gi,'"'),o(/</gi,"<"),o(/>/gi,">"),o(/&/gi,"&"),t},i=function(t){t=e.trim(t);var o=function(o,e){t=t.replace(o,e)};return o(/\n/gi,"
    "),o(/\[b\]/gi,""),o(/\[\/b\]/gi,""),o(/\[i\]/gi,""),o(/\[\/i\]/gi,""),o(/\[u\]/gi,""),o(/\[\/u\]/gi,""),o(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'$2'),o(/\[url\](.*?)\[\/url\]/gi,'$1'),o(/\[img\](.*?)\[\/img\]/gi,''),o(/\[color=(.*?)\](.*?)\[\/color\]/gi,'$2'),o(/\[code\](.*?)\[\/code\]/gi,'$1 '),o(/\[quote.*?\](.*?)\[\/quote\]/gi,'$1 '),t};!function n(){o.add("bbcode",function(o){o.on("BeforeSetContent",function(o){o.content=i(o.content)}),o.on("PostProcess",function(o){o.set&&(o.content=i(o.content)),o.get&&(o.content=t(o.content))})})}()}(); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/charmap/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/charmap/plugin.min.js index f3fbb206..480560de 100755 --- a/bl-plugins/tinymce/tinymce/plugins/charmap/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/charmap/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.6 (2019-05-22) + * Version: 5.0.8 (2019-06-18) */ -!function(l){"use strict";var e,n,r,t,a,i=tinymce.util.Tools.resolve("tinymce.PluginManager"),o=function(e,n){return e.fire("insertCustomChar",{chr:n})},f=function(e,n){var r=o(e,n).chr;e.execCommand("mceInsertContent",!1,r)},c=tinymce.util.Tools.resolve("tinymce.util.Tools"),u=function(e){return e.settings.charmap},s=function(e){return e.settings.charmap_append},g=function(e){return function(){return e}},m=g(!1),h=g(!0),d=m,p=h,y=function(){return w},w=(t={fold:function(e,n){return e()},is:d,isSome:d,isNone:p,getOr:r=function(e){return e},getOrThunk:n=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:r,orThunk:n,map:y,ap:y,each:function(){},bind:y,flatten:y,exists:d,forall:p,filter:y,equals:e=function(e){return e.isNone()},equals_:e,toArray:function(){return[]},toString:g("none()")},Object.freeze&&Object.freeze(t),t),b=function(r){var e=function(){return r},n=function(){return a},t=function(e){return e(r)},a={fold:function(e,n){return n(r)},is:function(e){return r===e},isSome:p,isNone:d,getOr:e,getOrThunk:e,getOrDie:e,getOrNull:e,getOrUndefined:e,or:n,orThunk:n,map:function(e){return b(e(r))},ap:function(e){return e.fold(y,function(e){return b(e(r))})},each:function(e){e(r)},bind:t,flatten:e,exists:t,forall:t,filter:function(e){return e(r)?a:w},equals:function(e){return e.is(r)},equals_:function(e,n){return e.fold(d,function(e){return n(r,e)})},toArray:function(){return[r]},toString:function(){return"some("+r+")"}};return a},v={some:b,none:y,from:function(e){return null===e||e===undefined?w:b(e)}},k=(a="function",function(e){return function(e){if(null===e)return"null";var n=typeof e;return"object"===n&&Array.prototype.isPrototypeOf(e)?"array":"object"===n&&String.prototype.isPrototypeOf(e)?"string":n}(e)===a}),C=function(e,n){for(var r=e.length,t=new Array(r),a=0;ae.length)break e;if(!(h instanceof a)){u.lastIndex=0;var m=u.exec(h);if(m){g&&(d=m[1].length);var b=m.index-1+d,y=b+(m=m[0].slice(d)).length,v=h.slice(0,b+1),k=h.slice(y+1),w=[f,1];v&&w.push(v);var x=new a(o,c?S.tokenize(m,c):m,p);w.push(x),k&&w.push(k),Array.prototype.splice.apply(r,w)}}}}}return r},hooks:{all:{},add:function(e,t){var n=S.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=S.hooks.all[e];if(n&&n.length)for(var a=0,r=void 0;r=n[a++];)r(t)}}},s=S.Token=function(e,t,n){this.type=e,this.content=t,this.alias=n};if(s.stringify=function(t,n,e){if("string"==typeof t)return t;if("Array"===S.util.type(t))return t.map(function(e){return s.stringify(e,n,t)}).join("");var a={type:t.type,content:s.stringify(t.content,n,e),tag:"span",classes:["token",t.type],attributes:{},language:n,parent:e};if("comment"===a.type&&(a.attributes.spellcheck="true"),t.alias){var r="Array"===S.util.type(t.alias)?t.alias:[t.alias];Array.prototype.push.apply(a.classes,r)}S.hooks.run("wrap",a);var i="";for(var o in a.attributes)i+=(i?" ":"")+o+'="'+(a.attributes[o]||"")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'" '+i+">"+a.content+""},!g.document)return g.addEventListener&&g.addEventListener("message",function(e){var t=JSON.parse(e.data),n=t.language,a=t.code,r=t.immediateClose;g.postMessage(S.highlight(a,S.languages[n],n)),r&&g.close()},!1),g.Prism}();void 0!==n&&(n.Prism=i),i.languages.markup={comment://,prolog:/<\?[\w\W]+?\?>/,doctype://,cdata://i,tag:{pattern:/<\/?[^\s>\/=.]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/[=>"']/}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},i.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),i.languages.xml=i.languages.markup,i.languages.html=i.languages.markup,i.languages.mathml=i.languages.markup,i.languages.svg=i.languages.markup,i.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/,string:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,"function":/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},i.languages.css.atrule.inside.rest=i.util.clone(i.languages.css),i.languages.markup&&(i.languages.insertBefore("markup","tag",{style:{pattern:/[\w\W]*?<\/style>/i,inside:{tag:{pattern:/|<\/style>/i,inside:i.languages.markup.tag.inside},rest:i.languages.css},alias:"language-css"}}),i.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|').*?\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:i.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:i.languages.css}},alias:"language-css"}},i.languages.markup.tag)),i.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,"boolean":/\b(true|false)\b/,"function":/[a-z0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},i.languages.javascript=i.languages.extend("clike",{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,"function":/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i}),i.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}}),i.languages.insertBefore("javascript","class-name",{"template-string":{pattern:/`(?:\\`|\\?[^`])*`/,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:i.languages.javascript}},string:/[\s\S]+/}}}),i.languages.markup&&i.languages.insertBefore("markup","tag",{script:{pattern:/[\w\W]*?<\/script>/i,inside:{tag:{pattern:/|<\/script>/i,inside:i.languages.markup.tag.inside},rest:i.languages.javascript},alias:"language-javascript"}}),i.languages.js=i.languages.javascript,i.languages.c=i.languages.extend("clike",{keyword:/\b(asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,operator:/\-[>-]?|\+\+?|!=?|<>?=?|==?|&&?|\|?\||[~^%?*\/]/,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)[ful]*\b/i}),i.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z]+([^\r\n\\]|\\.|\\(?:\r\n?|\n))*/im,lookbehind:!0,alias:"property",inside:{string:{pattern:/(#\s*include\s*)(<.+?>|("|')(\\?.)+?\3)/,lookbehind:!0}}}}),delete i.languages.c["class-name"],delete i.languages.c["boolean"],i.languages.csharp=i.languages.extend("clike",{keyword:/\b(abstract|as|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|do|double|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|goto|if|implicit|in|int|interface|internal|is|lock|long|namespace|new|null|object|operator|out|override|params|private|protected|public|readonly|ref|return|sbyte|sealed|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|virtual|void|volatile|while|add|alias|ascending|async|await|descending|dynamic|from|get|global|group|into|join|let|orderby|partial|remove|select|set|value|var|where|yield)\b/,string:[/@("|')(\1\1|\\\1|\\?(?!\1)[\s\S])*\1/,/("|')(\\?.)*?\1/],number:/\b-?(0x[\da-f]+|\d*\.?\d+)\b/i}),i.languages.insertBefore("csharp","keyword",{preprocessor:{pattern:/(^\s*)#.*/m,lookbehind:!0}}),i.languages.cpp=i.languages.extend("c",{keyword:/\b(alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,"boolean":/\b(true|false)\b/,operator:/[-+]{1,2}|!=?|<{1,2}=?|>{1,2}=?|\->|:{1,2}|={1,2}|\^|~|%|&{1,2}|\|?\||\?|\*|\/|\b(and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/}),i.languages.insertBefore("cpp","keyword",{"class-name":{pattern:/(class\s+)[a-z0-9_]+/i,lookbehind:!0}}),i.languages.java=i.languages.extend("clike",{keyword:/\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/,number:/\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,lookbehind:!0}}),i.languages.php=i.languages.extend("clike",{keyword:/\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i,constant:/\b[A-Z0-9_]{2,}\b/,comment:{pattern:/(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/,lookbehind:!0}}),i.languages.insertBefore("php","class-name",{"shell-comment":{pattern:/(^|[^\\])#.*/,lookbehind:!0,alias:"comment"}}),i.languages.insertBefore("php","keyword",{delimiter:/\?>|<\?(?:php)?/i,variable:/\$\w+\b/i,"package":{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),i.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/,lookbehind:!0}}),i.languages.markup&&(i.hooks.add("before-highlight",function(t){"php"===t.language&&(t.tokenStack=[],t.backupCode=t.code,t.code=t.code.replace(/(?:<\?php|<\?)[\w\W]*?(?:\?>)/gi,function(e){return t.tokenStack.push(e),"{{{PHP"+t.tokenStack.length+"}}}"}))}),i.hooks.add("before-insert",function(e){"php"===e.language&&(e.code=e.backupCode,delete e.backupCode)}),i.hooks.add("after-highlight",function(e){if("php"===e.language){for(var t=0,n=void 0;n=e.tokenStack[t];t++)e.highlightedCode=e.highlightedCode.replace("{{{PHP"+(t+1)+"}}}",i.highlight(n,e.grammar,"php").replace(/\$/g,"$$$$"));e.element.innerHTML=e.highlightedCode}}),i.hooks.add("wrap",function(e){"php"===e.language&&"markup"===e.type&&(e.content=e.content.replace(/(\{\{\{PHP[0-9]+\}\}\})/g,'$1'))}),i.languages.insertBefore("php","comment",{markup:{pattern:/<[^?]\/?(.*?)>/,inside:i.languages.markup},php:/\{\{\{PHP[0-9]+\}\}\}/})),i.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:/"""[\s\S]+?"""|'''[\s\S]+?'''|("|')(?:\\?.)*?\1/,"function":{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_][a-zA-Z0-9_]*(?=\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)[a-z0-9_]+/i,lookbehind:!0},keyword:/\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/,"boolean":/\b(?:True|False)\b/,number:/\b-?(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,punctuation:/[{}[\];(),.:]/},function(e){e.languages.ruby=e.languages.extend("clike",{comment:/#(?!\{[^\r\n]*?\}).*/,keyword:/\b(alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/});var t={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"tag"},rest:e.util.clone(e.languages.ruby)}};e.languages.insertBefore("ruby","keyword",{regex:[{pattern:/%r([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\((?:[^()\\]|\\[\s\S])*\)[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\[(?:[^\[\]\\]|\\[\s\S])*\][gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r<(?:[^<>\\]|\\[\s\S])*>[gim]{0,3}/,inside:{interpolation:t}},{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}],variable:/[@$]+[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/,symbol:/:[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/}),e.languages.insertBefore("ruby","number",{builtin:/\b(Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|File|Fixnum|Fload|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z][a-zA-Z_0-9]*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:/%[qQiIwWxs]?([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\((?:[^()\\]|\\[\s\S])*\)/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\[(?:[^\[\]\\]|\\[\s\S])*\]/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?<(?:[^<>\\]|\\[\s\S])*>/,inside:{interpolation:t}},{pattern:/("|')(#\{[^}]+\}|\\(?:\r?\n|\r)|\\?.)*?\1/,inside:{interpolation:t}}]}(i);var a,o,s,l,u,d={isCodeSample:function B(e){return e&&"PRE"===e.nodeName&&-1!==e.className.indexOf("language-")},trimArg:function M(n){return function(e,t){return n(t)}}},p=function(e){return function(){return e}},f=p(!1),h=p(!0),m=f,b=h,y=function(){return v},v=(l={fold:function(e,t){return e()},is:m,isSome:m,isNone:b,getOr:s=function(e){return e},getOrThunk:o=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:s,orThunk:o,map:y,ap:y,each:function(){},bind:y,flatten:y,exists:m,forall:b,filter:y,equals:a=function(e){return e.isNone()},equals_:a,toArray:function(){return[]},toString:p("none()")},Object.freeze&&Object.freeze(l),l),k=function(n){var e=function(){return n},t=function(){return r},a=function(e){return e(n)},r={fold:function(e,t){return t(n)},is:function(e){return n===e},isSome:b,isNone:m,getOr:e,getOrThunk:e,getOrDie:e,getOrNull:e,getOrUndefined:e,or:t,orThunk:t,map:function(e){return k(e(n))},ap:function(e){return e.fold(y,function(e){return k(e(n))})},each:function(e){e(n)},bind:a,flatten:e,exists:a,forall:a,filter:function(e){return e(n)?r:v},equals:function(e){return e.is(n)},equals_:function(e,t){return e.fold(m,function(e){return t(n,e)})},toArray:function(){return[n]},toString:function(){return"some("+n+")"}};return r},w={some:k,none:y,from:function(e){return null===e||e===undefined?v:k(e)}},x=function(e){var t=e.selection?e.selection.getNode():null;return d.isCodeSample(t)?w.some(t):w.none()},S=x,C=function(t,n,a){t.undoManager.transact(function(){var e=x(t);return a=r.DOM.encode(a),e.fold(function(){t.insertContent('

    '+a+"
    "),t.selection.select(t.$("#__new").removeAttr("id")[0])},function(e){t.dom.setAttrib(e,"class","language-"+n),e.innerHTML=a,i.highlightElement(e),t.selection.select(e)})})},A=function(e){return x(e).fold(function(){return""},function(e){return e.textContent})},_=function(e){return e.settings.codesample_languages},N=function(e){var t=_(e);return t||[{text:"HTML/XML",value:"markup"},{text:"JavaScript",value:"javascript"},{text:"CSS",value:"css"},{text:"PHP",value:"php"},{text:"Ruby",value:"ruby"},{text:"Python",value:"python"},{text:"Java",value:"java"},{text:"C",value:"c"},{text:"C#",value:"csharp"},{text:"C++",value:"cpp"}]},O=function(e,n){return S(e).fold(function(){return n},function(e){var t=e.className.match(/language-(\w+)/);return t?t[1]:n})},z=(u="function",function(e){return function(e){if(null===e)return"null";var t=typeof e;return"object"===t&&Array.prototype.isPrototypeOf(e)?"array":"object"===t&&String.prototype.isPrototypeOf(e)?"string":t}(e)===u}),P=(Array.prototype.slice,z(Array.from)&&Array.from,function(n){var e,t=N(n),a=(e=t,0===e.length?w.none():w.some(e[0])).fold(function(){return""},function(e){return e.value}),r=O(n,a),i=A(n);n.windowManager.open({title:"Insert/Edit Code Sample",size:"large",body:{type:"panel",items:[{type:"selectbox",name:"language",label:"Language",items:t},{type:"textarea",name:"code",label:"Code view"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{language:r,code:i},onSubmit:function(e){var t=e.getData();C(n,t.language,t.code),e.close()}})}),W=function(t){t.addCommand("codesample",function(){var e=t.selection.getNode();t.selection.isCollapsed()||d.isCodeSample(e)?P(t):t.formatter.toggle("code")})},j=function(n){var r=n.$;n.on("PreProcess",function(e){r("pre[contenteditable=false]",e.node).filter(d.trimArg(d.isCodeSample)).each(function(e,t){var n=r(t),a=t.textContent;n.attr("class",r.trim(n.attr("class"))),n.removeAttr("contentEditable"),n.empty().append(r("").each(function(){this.textContent=a}))})}),n.on("SetContent",function(){var e=r("pre").filter(d.trimArg(d.isCodeSample)).filter(function(e,t){return"false"!==t.contentEditable});e.length&&n.undoManager.transact(function(){e.each(function(e,t){r(t).find("br").each(function(e,t){t.parentNode.replaceChild(n.getDoc().createTextNode("\n"),t)}),t.contentEditable="false",t.innerHTML=n.dom.encode(t.textContent),i.highlightElement(t),t.className=r.trim(t.className)})})})},T=function(a){a.ui.registry.addToggleButton("codesample",{icon:"code-sample",tooltip:"Insert/edit code sample",onAction:function(){return P(a)},onSetup:function(n){var e=function(){var e,t;n.setActive((t=(e=a).selection.getStart(),e.dom.is(t,"pre.language-markup")))};return a.on("NodeChange",e),function(){return a.off("NodeChange",e)}}}),a.ui.registry.addMenuItem("codesample",{text:"Code sample...",icon:"code-sample",onAction:function(){return P(a)}})};e.add("codesample",function(t,e){j(t),T(t),W(t),t.on("dblclick",function(e){d.isCodeSample(e.target)&&P(t)})}),function F(){}}(window); \ No newline at end of file +!function(c){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),r=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),t={},n=t,g=void 0!==t?t:"undefined"!=typeof WorkerGlobalScope&&c.self instanceof WorkerGlobalScope?c.self:{},i=function(){var u=/\blang(?:uage)?-(?!\*)(\w+)\b/i,S=g.Prism={util:{encode:function(e){return e instanceof s?new s(e.type,S.util.encode(e.content),e.alias):"Array"===S.util.type(e)?e.map(S.util.encode):e.replace(/&/g,"&").replace(/e.length)break e;if(!(h instanceof a)){u.lastIndex=0;var m=u.exec(h);if(m){g&&(d=m[1].length);var b=m.index-1+d,y=b+(m=m[0].slice(d)).length,v=h.slice(0,b+1),k=h.slice(y+1),w=[f,1];v&&w.push(v);var x=new a(o,c?S.tokenize(m,c):m,p);w.push(x),k&&w.push(k),Array.prototype.splice.apply(r,w)}}}}}return r},hooks:{all:{},add:function(e,t){var n=S.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=S.hooks.all[e];if(n&&n.length)for(var a=0,r=void 0;r=n[a++];)r(t)}}},s=S.Token=function(e,t,n){this.type=e,this.content=t,this.alias=n};if(s.stringify=function(t,n,e){if("string"==typeof t)return t;if("Array"===S.util.type(t))return t.map(function(e){return s.stringify(e,n,t)}).join("");var a={type:t.type,content:s.stringify(t.content,n,e),tag:"span",classes:["token",t.type],attributes:{},language:n,parent:e};if("comment"===a.type&&(a.attributes.spellcheck="true"),t.alias){var r="Array"===S.util.type(t.alias)?t.alias:[t.alias];Array.prototype.push.apply(a.classes,r)}S.hooks.run("wrap",a);var i="";for(var o in a.attributes)i+=(i?" ":"")+o+'="'+(a.attributes[o]||"")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'" '+i+">"+a.content+""},!g.document)return g.addEventListener&&g.addEventListener("message",function(e){var t=JSON.parse(e.data),n=t.language,a=t.code,r=t.immediateClose;g.postMessage(S.highlight(a,S.languages[n],n)),r&&g.close()},!1),g.Prism}();void 0!==n&&(n.Prism=i),i.languages.markup={comment://,prolog:/<\?[\w\W]+?\?>/,doctype://,cdata://i,tag:{pattern:/<\/?[^\s>\/=.]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/[=>"']/}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},i.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),i.languages.xml=i.languages.markup,i.languages.html=i.languages.markup,i.languages.mathml=i.languages.markup,i.languages.svg=i.languages.markup,i.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/,string:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,"function":/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},i.languages.css.atrule.inside.rest=i.util.clone(i.languages.css),i.languages.markup&&(i.languages.insertBefore("markup","tag",{style:{pattern:/[\w\W]*?<\/style>/i,inside:{tag:{pattern:/|<\/style>/i,inside:i.languages.markup.tag.inside},rest:i.languages.css},alias:"language-css"}}),i.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|').*?\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:i.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:i.languages.css}},alias:"language-css"}},i.languages.markup.tag)),i.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,"boolean":/\b(true|false)\b/,"function":/[a-z0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},i.languages.javascript=i.languages.extend("clike",{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,"function":/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i}),i.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}}),i.languages.insertBefore("javascript","class-name",{"template-string":{pattern:/`(?:\\`|\\?[^`])*`/,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:i.languages.javascript}},string:/[\s\S]+/}}}),i.languages.markup&&i.languages.insertBefore("markup","tag",{script:{pattern:/[\w\W]*?<\/script>/i,inside:{tag:{pattern:/|<\/script>/i,inside:i.languages.markup.tag.inside},rest:i.languages.javascript},alias:"language-javascript"}}),i.languages.js=i.languages.javascript,i.languages.c=i.languages.extend("clike",{keyword:/\b(asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,operator:/\-[>-]?|\+\+?|!=?|<>?=?|==?|&&?|\|?\||[~^%?*\/]/,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)[ful]*\b/i}),i.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z]+([^\r\n\\]|\\.|\\(?:\r\n?|\n))*/im,lookbehind:!0,alias:"property",inside:{string:{pattern:/(#\s*include\s*)(<.+?>|("|')(\\?.)+?\3)/,lookbehind:!0}}}}),delete i.languages.c["class-name"],delete i.languages.c["boolean"],i.languages.csharp=i.languages.extend("clike",{keyword:/\b(abstract|as|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|do|double|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|goto|if|implicit|in|int|interface|internal|is|lock|long|namespace|new|null|object|operator|out|override|params|private|protected|public|readonly|ref|return|sbyte|sealed|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|virtual|void|volatile|while|add|alias|ascending|async|await|descending|dynamic|from|get|global|group|into|join|let|orderby|partial|remove|select|set|value|var|where|yield)\b/,string:[/@("|')(\1\1|\\\1|\\?(?!\1)[\s\S])*\1/,/("|')(\\?.)*?\1/],number:/\b-?(0x[\da-f]+|\d*\.?\d+)\b/i}),i.languages.insertBefore("csharp","keyword",{preprocessor:{pattern:/(^\s*)#.*/m,lookbehind:!0}}),i.languages.cpp=i.languages.extend("c",{keyword:/\b(alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,"boolean":/\b(true|false)\b/,operator:/[-+]{1,2}|!=?|<{1,2}=?|>{1,2}=?|\->|:{1,2}|={1,2}|\^|~|%|&{1,2}|\|?\||\?|\*|\/|\b(and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/}),i.languages.insertBefore("cpp","keyword",{"class-name":{pattern:/(class\s+)[a-z0-9_]+/i,lookbehind:!0}}),i.languages.java=i.languages.extend("clike",{keyword:/\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/,number:/\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,lookbehind:!0}}),i.languages.php=i.languages.extend("clike",{keyword:/\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i,constant:/\b[A-Z0-9_]{2,}\b/,comment:{pattern:/(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/,lookbehind:!0}}),i.languages.insertBefore("php","class-name",{"shell-comment":{pattern:/(^|[^\\])#.*/,lookbehind:!0,alias:"comment"}}),i.languages.insertBefore("php","keyword",{delimiter:/\?>|<\?(?:php)?/i,variable:/\$\w+\b/i,"package":{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),i.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/,lookbehind:!0}}),i.languages.markup&&(i.hooks.add("before-highlight",function(t){"php"===t.language&&(t.tokenStack=[],t.backupCode=t.code,t.code=t.code.replace(/(?:<\?php|<\?)[\w\W]*?(?:\?>)/gi,function(e){return t.tokenStack.push(e),"{{{PHP"+t.tokenStack.length+"}}}"}))}),i.hooks.add("before-insert",function(e){"php"===e.language&&(e.code=e.backupCode,delete e.backupCode)}),i.hooks.add("after-highlight",function(e){if("php"===e.language){for(var t=0,n=void 0;n=e.tokenStack[t];t++)e.highlightedCode=e.highlightedCode.replace("{{{PHP"+(t+1)+"}}}",i.highlight(n,e.grammar,"php").replace(/\$/g,"$$$$"));e.element.innerHTML=e.highlightedCode}}),i.hooks.add("wrap",function(e){"php"===e.language&&"markup"===e.type&&(e.content=e.content.replace(/(\{\{\{PHP[0-9]+\}\}\})/g,'$1'))}),i.languages.insertBefore("php","comment",{markup:{pattern:/<[^?]\/?(.*?)>/,inside:i.languages.markup},php:/\{\{\{PHP[0-9]+\}\}\}/})),i.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:/"""[\s\S]+?"""|'''[\s\S]+?'''|("|')(?:\\?.)*?\1/,"function":{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_][a-zA-Z0-9_]*(?=\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)[a-z0-9_]+/i,lookbehind:!0},keyword:/\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/,"boolean":/\b(?:True|False)\b/,number:/\b-?(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,punctuation:/[{}[\];(),.:]/},function(e){e.languages.ruby=e.languages.extend("clike",{comment:/#(?!\{[^\r\n]*?\}).*/,keyword:/\b(alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/});var t={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"tag"},rest:e.util.clone(e.languages.ruby)}};e.languages.insertBefore("ruby","keyword",{regex:[{pattern:/%r([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\((?:[^()\\]|\\[\s\S])*\)[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\[(?:[^\[\]\\]|\\[\s\S])*\][gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r<(?:[^<>\\]|\\[\s\S])*>[gim]{0,3}/,inside:{interpolation:t}},{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}],variable:/[@$]+[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/,symbol:/:[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/}),e.languages.insertBefore("ruby","number",{builtin:/\b(Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|File|Fixnum|Fload|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z][a-zA-Z_0-9]*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:/%[qQiIwWxs]?([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\((?:[^()\\]|\\[\s\S])*\)/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\[(?:[^\[\]\\]|\\[\s\S])*\]/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?<(?:[^<>\\]|\\[\s\S])*>/,inside:{interpolation:t}},{pattern:/("|')(#\{[^}]+\}|\\(?:\r?\n|\r)|\\?.)*?\1/,inside:{interpolation:t}}]}(i);var a,o,s,l,u,d={isCodeSample:function M(e){return e&&"PRE"===e.nodeName&&-1!==e.className.indexOf("language-")},trimArg:function F(n){return function(e,t){return n(t)}}},p=function(e){return function(){return e}},f=p(!1),h=p(!0),m=f,b=h,y=function(){return v},v=(l={fold:function(e,t){return e()},is:m,isSome:m,isNone:b,getOr:s=function(e){return e},getOrThunk:o=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:s,orThunk:o,map:y,ap:y,each:function(){},bind:y,flatten:y,exists:m,forall:b,filter:y,equals:a=function(e){return e.isNone()},equals_:a,toArray:function(){return[]},toString:p("none()")},Object.freeze&&Object.freeze(l),l),k=function(n){var e=function(){return n},t=function(){return r},a=function(e){return e(n)},r={fold:function(e,t){return t(n)},is:function(e){return n===e},isSome:b,isNone:m,getOr:e,getOrThunk:e,getOrDie:e,getOrNull:e,getOrUndefined:e,or:t,orThunk:t,map:function(e){return k(e(n))},ap:function(e){return e.fold(y,function(e){return k(e(n))})},each:function(e){e(n)},bind:a,flatten:e,exists:a,forall:a,filter:function(e){return e(n)?r:v},equals:function(e){return e.is(n)},equals_:function(e,t){return e.fold(m,function(e){return t(n,e)})},toArray:function(){return[n]},toString:function(){return"some("+n+")"}};return r},w={some:k,none:y,from:function(e){return null===e||e===undefined?v:k(e)}},x=function(e){var t=e.selection?e.selection.getNode():null;return d.isCodeSample(t)?w.some(t):w.none()},S=x,C=function(t,n,a){t.undoManager.transact(function(){var e=x(t);return a=r.DOM.encode(a),e.fold(function(){t.insertContent('
    '+a+"
    "),t.selection.select(t.$("#__new").removeAttr("id")[0])},function(e){t.dom.setAttrib(e,"class","language-"+n),e.innerHTML=a,i.highlightElement(e),t.selection.select(e)})})},A=function(e){return x(e).fold(function(){return""},function(e){return e.textContent})},_=function(e){return e.settings.codesample_languages},N=function(e){var t=_(e);return t||[{text:"HTML/XML",value:"markup"},{text:"JavaScript",value:"javascript"},{text:"CSS",value:"css"},{text:"PHP",value:"php"},{text:"Ruby",value:"ruby"},{text:"Python",value:"python"},{text:"Java",value:"java"},{text:"C",value:"c"},{text:"C#",value:"csharp"},{text:"C++",value:"cpp"}]},O=function(e,n){return S(e).fold(function(){return n},function(e){var t=e.className.match(/language-(\w+)/);return t?t[1]:n})},z=(u="function",function(e){return function(e){if(null===e)return"null";var t=typeof e;return"object"===t&&Array.prototype.isPrototypeOf(e)?"array":"object"===t&&String.prototype.isPrototypeOf(e)?"string":t}(e)===u}),P=Array.prototype.slice,W=(z(Array.from)&&Array.from,function(n){var e,t=N(n),a=(e=t,0===e.length?w.none():w.some(e[0])).fold(function(){return""},function(e){return e.value}),r=O(n,a),i=A(n);n.windowManager.open({title:"Insert/Edit Code Sample",size:"large",body:{type:"panel",items:[{type:"selectbox",name:"language",label:"Language",items:t},{type:"textarea",name:"code",label:"Code view"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{language:r,code:i},onSubmit:function(e){var t=e.getData();C(n,t.language,t.code),e.close()}})}),j=function(t){t.addCommand("codesample",function(){var e=t.selection.getNode();t.selection.isCollapsed()||d.isCodeSample(e)?W(t):t.formatter.toggle("code")})},T=function(n){var r=n.$;n.on("PreProcess",function(e){r("pre[contenteditable=false]",e.node).filter(d.trimArg(d.isCodeSample)).each(function(e,t){var n=r(t),a=t.textContent;n.attr("class",r.trim(n.attr("class"))),n.removeAttr("contentEditable"),n.empty().append(r("").each(function(){this.textContent=a}))})}),n.on("SetContent",function(){var e=r("pre").filter(d.trimArg(d.isCodeSample)).filter(function(e,t){return"false"!==t.contentEditable});e.length&&n.undoManager.transact(function(){e.each(function(e,t){r(t).find("br").each(function(e,t){t.parentNode.replaceChild(n.getDoc().createTextNode("\n"),t)}),t.contentEditable="false",t.innerHTML=n.dom.encode(t.textContent),i.highlightElement(t),t.className=r.trim(t.className)})})})},B=function(a){a.ui.registry.addToggleButton("codesample",{icon:"code-sample",tooltip:"Insert/edit code sample",onAction:function(){return W(a)},onSetup:function(n){var e=function(){var e,t;n.setActive((t=(e=a).selection.getStart(),e.dom.is(t,"pre.language-markup")))};return a.on("NodeChange",e),function(){return a.off("NodeChange",e)}}}),a.ui.registry.addMenuItem("codesample",{text:"Code sample...",icon:"code-sample",onAction:function(){return W(a)}})};!function $(){e.add("codesample",function(t){T(t),B(t),j(t),t.on("dblclick",function(e){d.isCodeSample(e.target)&&W(t)})})}()}(window); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/colorpicker/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/colorpicker/plugin.min.js index 8f547692..6afdc88d 100755 --- a/bl-plugins/tinymce/tinymce/plugins/colorpicker/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/colorpicker/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.6 (2019-05-22) + * Version: 5.0.8 (2019-06-18) */ -!function(o){"use strict";tinymce.util.Tools.resolve("tinymce.PluginManager").add("colorpicker",function(){o.console.warn("Color picker plugin is now built in to the core editor, please remove it from your editor configuration")}),function i(){}}(window); \ No newline at end of file +!function(o){"use strict";var i=tinymce.util.Tools.resolve("tinymce.PluginManager");!function n(){i.add("colorpicker",function(){o.console.warn("Color picker plugin is now built in to the core editor, please remove it from your editor configuration")})}()}(window); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/contextmenu/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/contextmenu/plugin.min.js index 5abf27bb..0ca831b5 100755 --- a/bl-plugins/tinymce/tinymce/plugins/contextmenu/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/contextmenu/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.6 (2019-05-22) + * Version: 5.0.8 (2019-06-18) */ -!function(n){"use strict";tinymce.util.Tools.resolve("tinymce.PluginManager").add("contextmenu",function(){n.console.warn("Context menu plugin is now built in to the core editor, please remove it from your editor configuration")}),function o(){}}(window); \ No newline at end of file +!function(n){"use strict";var o=tinymce.util.Tools.resolve("tinymce.PluginManager");!function e(){o.add("contextmenu",function(){n.console.warn("Context menu plugin is now built in to the core editor, please remove it from your editor configuration")})}()}(window); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/directionality/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/directionality/plugin.min.js index e8475536..f77788a9 100755 --- a/bl-plugins/tinymce/tinymce/plugins/directionality/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/directionality/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.6 (2019-05-22) + * Version: 5.0.8 (2019-06-18) */ -!function(c){"use strict";var n,t,e,r,o=tinymce.util.Tools.resolve("tinymce.PluginManager"),u=tinymce.util.Tools.resolve("tinymce.util.Tools"),i=function(n,t){var e,r=n.dom,o=n.selection.getSelectedBlocks();o.length&&(e=r.getAttrib(o[0],"dir"),u.each(o,function(n){r.getParent(n.parentNode,'*[dir="'+t+'"]',r.getRoot())||r.setAttrib(n,"dir",e!==t?t:null)}),n.nodeChanged())},f=function(n){n.addCommand("mceDirectionLTR",function(){i(n,"ltr")}),n.addCommand("mceDirectionRTL",function(){i(n,"rtl")})},d=function(n){return function(){return n}},l=d(!1),a=d(!0),N=l,m=a,s=function(){return T},T=(r={fold:function(n,t){return n()},is:N,isSome:N,isNone:m,getOr:e=function(n){return n},getOrThunk:t=function(n){return n()},getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:e,orThunk:t,map:s,ap:s,each:function(){},bind:s,flatten:s,exists:N,forall:m,filter:s,equals:n=function(n){return n.isNone()},equals_:n,toArray:function(){return[]},toString:d("none()")},Object.freeze&&Object.freeze(r),r),g=function(e){var n=function(){return e},t=function(){return o},r=function(n){return n(e)},o={fold:function(n,t){return t(e)},is:function(n){return e===n},isSome:m,isNone:N,getOr:n,getOrThunk:n,getOrDie:n,getOrNull:n,getOrUndefined:n,or:t,orThunk:t,map:function(n){return g(n(e))},ap:function(n){return n.fold(s,function(n){return g(n(e))})},each:function(n){n(e)},bind:r,flatten:n,exists:r,forall:r,filter:function(n){return n(e)?o:T},equals:function(n){return n.is(e)},equals_:function(n,t){return n.fold(N,function(n){return t(e,n)})},toArray:function(){return[e]},toString:function(){return"some("+e+")"}};return o},O=function(n){return null===n||n===undefined?T:g(n)},E=function(n){if(null===n||n===undefined)throw new Error("Node cannot be null or undefined");return{dom:d(n)}},y={fromHtml:function(n,t){var e=(t||c.document).createElement("div");if(e.innerHTML=n,!e.hasChildNodes()||1Could not load emoticons

    "}]},buttons:[{type:"cancel",text:"Close",primary:!0}],initialData:{pattern:"",results:[]}}),s.focus(J),s.unblock()}))},Q=function(n,t){var e=function(){return K(n,t)};n.ui.registry.addButton("emoticons",{tooltip:"Emoticons",icon:"emoji",onAction:e}),n.ui.registry.addMenuItem("emoticons",{text:"Emoticons...",icon:"emoji",onAction:e})};i.add("emoticons",function(n,t){var r,o,e=I(n,t),i=H(n,e);Q(n,i),o=i,(r=n).ui.registry.addAutocompleter("emoticons",{ch:":",columns:"auto",minChars:2,fetch:function(t,e){return o.waitForLoad().then(function(){var n=o.listAll();return A(n,t,v.some(e))})},onAction:function(n,t,e){r.selection.setRng(t),r.insertContent(e),n.hide()}})}),function W(){}}(window); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/fullpage/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/fullpage/plugin.min.js index 5bc50848..9849463b 100755 --- a/bl-plugins/tinymce/tinymce/plugins/fullpage/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/fullpage/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.6 (2019-05-22) + * Version: 5.0.8 (2019-06-18) */ -!function(m){"use strict";var o,i=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return i(n())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),g=tinymce.util.Tools.resolve("tinymce.util.Tools"),t=tinymce.util.Tools.resolve("tinymce.html.DomParser"),f=tinymce.util.Tools.resolve("tinymce.html.Node"),p=tinymce.util.Tools.resolve("tinymce.html.Serializer"),h=function(e){return e.getParam("fullpage_hide_in_source_view")},l=function(e){return e.getParam("fullpage_default_xml_pi")},a=function(e){return e.getParam("fullpage_default_encoding")},c=function(e){return e.getParam("fullpage_default_font_family")},s=function(e){return e.getParam("fullpage_default_font_size")},u=function(e){return e.getParam("fullpage_default_text_color")},d=function(e){return e.getParam("fullpage_default_title")},y=function(e){return e.getParam("fullpage_default_doctype","")},v=function(e){return t({validate:!1,root_name:"#document"}).parse(e)},_=v,n=function(e,t){var n,i,r=v(t),l={};function o(e,t){return e.attr(t)||""}return l.fontface=c(e),l.fontsize=s(e),7===(n=r.firstChild).type&&(l.xml_pi=!0,(i=/encoding="([^"]+)"/.exec(n.value))&&(l.docencoding=i[1])),(n=r.getAll("#doctype")[0])&&(l.doctype=""),(n=r.getAll("title")[0])&&n.firstChild&&(l.title=n.firstChild.value),g.each(r.getAll("meta"),function(e){var t,n=e.attr("name"),i=e.attr("http-equiv");n?l[n.toLowerCase()]=e.attr("content"):"Content-Type"===i&&(t=/charset\s*=\s*(.*)\s*/gi.exec(e.attr("content")))&&(l.docencoding=t[1])}),(n=r.getAll("html")[0])&&(l.langcode=o(n,"lang")||o(n,"xml:lang")),l.stylesheets=[],g.each(r.getAll("link"),function(e){"stylesheet"===e.attr("rel")&&l.stylesheets.push(e.attr("href"))}),(n=r.getAll("body")[0])&&(l.langdir=o(n,"dir"),l.style=o(n,"style"),l.visited_color=o(n,"vlink"),l.link_color=o(n,"link"),l.active_color=o(n,"alink")),l},b=function(e,l,t){var o,n,i,a,r,c=e.dom;function s(e,t,n){e.attr(t,n||undefined)}function u(e){n.firstChild?n.insert(e,n.firstChild):n.append(e)}o=v(t),(n=o.getAll("head")[0])||(a=o.getAll("html")[0],n=new f("head",1),a.firstChild?a.insert(n,a.firstChild,!0):a.append(n)),a=o.firstChild,l.xml_pi?(r='version="1.0"',l.docencoding&&(r+=' encoding="'+l.docencoding+'"'),7!==a.type&&(a=new f("xml",7),o.insert(a,o.firstChild,!0)),a.value=r):a&&7===a.type&&a.remove(),a=o.getAll("#doctype")[0],l.doctype?(a||(a=new f("#doctype",10),l.xml_pi?o.insert(a,o.firstChild):u(a)),a.value=l.doctype.substring(9,l.doctype.length-1)):a&&a.remove(),a=null,g.each(o.getAll("meta"),function(e){"Content-Type"===e.attr("http-equiv")&&(a=e)}),l.docencoding?(a||((a=new f("meta",1)).attr("http-equiv","Content-Type"),a.shortEnded=!0,u(a)),a.attr("content","text/html; charset="+l.docencoding)):a&&a.remove(),a=o.getAll("title")[0],l.title?(a?a.empty():u(a=new f("title",1)),a.append(new f("#text",3)).value=l.title):a&&a.remove(),g.each("keywords,description,author,copyright,robots".split(","),function(e){var t,n,i=o.getAll("meta"),r=l[e];for(t=0;t"))},x=Object.prototype.hasOwnProperty,C=(o=function(e,t){return t},function(){for(var e=new Array(arguments.length),t=0;t/g,function(e,t){return unescape(t)})},P=g.each,T=function(e){return e.replace(/<\/?[A-Z]+/g,function(e){return e.toLowerCase()})},O=function(e){var t,n="",i="";if(l(e)){var r=a(e);n+='\n'}return n+=y(e),n+="\n\n\n",(t=d(e))&&(n+=""+t+"\n"),(t=a(e))&&(n+='\n'),(t=c(e))&&(i+="font-family: "+t+";"),(t=s(e))&&(i+="font-size: "+t+";"),(t=u(e))&&(i+="color: "+t+";"),n+="\n\n"},D=function(l,o,a){l.on("BeforeSetContent",function(e){!function(e,t,n,i){var r,l,o,a,c="",s=e.dom;if(!(i.selection||(o=w(e.settings.protect,i.content),"raw"===i.format&&t.get()||i.source_view&&h(e)))){0!==o.length||i.source_view||(o=g.trim(t.get())+"\n"+g.trim(o)+"\n"+g.trim(n.get())),-1!==(r=(o=o.replace(/<(\/?)BODY/gi,"<$1body")).indexOf("",r),t.set(T(o.substring(0,r+1))),-1===(l=o.indexOf("\n")),a=_(t.get()),P(a.getAll("style"),function(e){e.firstChild&&(c+=e.firstChild.value)});var u=a.getAll("body")[0];u&&s.setAttribs(e.getBody(),{style:u.attr("style")||"",dir:u.attr("dir")||"",vLink:u.attr("vlink")||"",link:u.attr("link")||"",aLink:u.attr("alink")||""}),s.remove("fullpage_styles");var d=e.getDoc().getElementsByTagName("head")[0];c&&s.add(d,"style",{id:"fullpage_styles"}).appendChild(m.document.createTextNode(c));var f={};g.each(d.getElementsByTagName("link"),function(e){"stylesheet"===e.rel&&e.getAttribute("data-mce-fullpage")&&(f[e.href]=e)}),g.each(a.getAll("link"),function(e){var t=e.attr("href");if(!t)return!0;f[t]||"stylesheet"!==e.attr("rel")||s.add(d,"link",{rel:"stylesheet",text:"text/css",href:t,"data-mce-fullpage":"1"}),delete f[t]}),g.each(f,function(e){e.parentNode.removeChild(e)})}}(l,o,a,e)}),l.on("GetContent",function(e){var t,n,i,r;t=l,n=o.get(),i=a.get(),(r=e).selection||r.source_view&&h(t)||(r.content=A(g.trim(n)+"\n"+g.trim(r.content)+"\n"+g.trim(i)))})},E=function(e){e.ui.registry.addButton("fullpage",{tooltip:"Metadata and document properties",icon:"document-properties",onAction:function(){e.execCommand("mceFullPageProperties")}}),e.ui.registry.addMenuItem("fullpage",{text:"Metadata and document properties",icon:"document-properties",onAction:function(){e.execCommand("mceFullPageProperties")}})};e.add("fullpage",function(e){var t=i(""),n=i("");k(e,t),E(e),D(e,t,n)}),function z(){}}(window); \ No newline at end of file +!function(m){"use strict";var o,i=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return i(n())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),g=tinymce.util.Tools.resolve("tinymce.util.Tools"),t=tinymce.util.Tools.resolve("tinymce.html.DomParser"),f=tinymce.util.Tools.resolve("tinymce.html.Node"),p=tinymce.util.Tools.resolve("tinymce.html.Serializer"),h=function(e){return e.getParam("fullpage_hide_in_source_view")},l=function(e){return e.getParam("fullpage_default_xml_pi")},a=function(e){return e.getParam("fullpage_default_encoding")},c=function(e){return e.getParam("fullpage_default_font_family")},s=function(e){return e.getParam("fullpage_default_font_size")},u=function(e){return e.getParam("fullpage_default_text_color")},d=function(e){return e.getParam("fullpage_default_title")},y=function(e){return e.getParam("fullpage_default_doctype","")},v=function(e){return t({validate:!1,root_name:"#document"}).parse(e)},_=v,n=function(e,t){var n,i,r=v(t),l={};function o(e,t){return e.attr(t)||""}return l.fontface=c(e),l.fontsize=s(e),7===(n=r.firstChild).type&&(l.xml_pi=!0,(i=/encoding="([^"]+)"/.exec(n.value))&&(l.docencoding=i[1])),(n=r.getAll("#doctype")[0])&&(l.doctype=""),(n=r.getAll("title")[0])&&n.firstChild&&(l.title=n.firstChild.value),g.each(r.getAll("meta"),function(e){var t,n=e.attr("name"),i=e.attr("http-equiv");n?l[n.toLowerCase()]=e.attr("content"):"Content-Type"===i&&(t=/charset\s*=\s*(.*)\s*/gi.exec(e.attr("content")))&&(l.docencoding=t[1])}),(n=r.getAll("html")[0])&&(l.langcode=o(n,"lang")||o(n,"xml:lang")),l.stylesheets=[],g.each(r.getAll("link"),function(e){"stylesheet"===e.attr("rel")&&l.stylesheets.push(e.attr("href"))}),(n=r.getAll("body")[0])&&(l.langdir=o(n,"dir"),l.style=o(n,"style"),l.visited_color=o(n,"vlink"),l.link_color=o(n,"link"),l.active_color=o(n,"alink")),l},b=function(e,l,t){var o,n,i,a,r,c=e.dom;function s(e,t,n){e.attr(t,n||undefined)}function u(e){n.firstChild?n.insert(e,n.firstChild):n.append(e)}o=v(t),(n=o.getAll("head")[0])||(a=o.getAll("html")[0],n=new f("head",1),a.firstChild?a.insert(n,a.firstChild,!0):a.append(n)),a=o.firstChild,l.xml_pi?(r='version="1.0"',l.docencoding&&(r+=' encoding="'+l.docencoding+'"'),7!==a.type&&(a=new f("xml",7),o.insert(a,o.firstChild,!0)),a.value=r):a&&7===a.type&&a.remove(),a=o.getAll("#doctype")[0],l.doctype?(a||(a=new f("#doctype",10),l.xml_pi?o.insert(a,o.firstChild):u(a)),a.value=l.doctype.substring(9,l.doctype.length-1)):a&&a.remove(),a=null,g.each(o.getAll("meta"),function(e){"Content-Type"===e.attr("http-equiv")&&(a=e)}),l.docencoding?(a||((a=new f("meta",1)).attr("http-equiv","Content-Type"),a.shortEnded=!0,u(a)),a.attr("content","text/html; charset="+l.docencoding)):a&&a.remove(),a=o.getAll("title")[0],l.title?(a?a.empty():u(a=new f("title",1)),a.append(new f("#text",3)).value=l.title):a&&a.remove(),g.each("keywords,description,author,copyright,robots".split(","),function(e){var t,n,i=o.getAll("meta"),r=l[e];for(t=0;t"))},x=Object.prototype.hasOwnProperty,C=(o=function(e,t){return t},function(){for(var e=new Array(arguments.length),t=0;t/g,function(e,t){return unescape(t)})},P=g.each,T=function(e){return e.replace(/<\/?[A-Z]+/g,function(e){return e.toLowerCase()})},O=function(e){var t,n="",i="";if(l(e)){var r=a(e);n+='\n'}return n+=y(e),n+="\n\n\n",(t=d(e))&&(n+=""+t+"\n"),(t=a(e))&&(n+='\n'),(t=c(e))&&(i+="font-family: "+t+";"),(t=s(e))&&(i+="font-size: "+t+";"),(t=u(e))&&(i+="color: "+t+";"),n+="\n\n"},D=function(l,o,a){l.on("BeforeSetContent",function(e){!function(e,t,n,i){var r,l,o,a,c="",s=e.dom;if(!(i.selection||(o=w(e.settings.protect,i.content),"raw"===i.format&&t.get()||i.source_view&&h(e)))){0!==o.length||i.source_view||(o=g.trim(t.get())+"\n"+g.trim(o)+"\n"+g.trim(n.get())),-1!==(r=(o=o.replace(/<(\/?)BODY/gi,"<$1body")).indexOf("",r),t.set(T(o.substring(0,r+1))),-1===(l=o.indexOf("\n")),a=_(t.get()),P(a.getAll("style"),function(e){e.firstChild&&(c+=e.firstChild.value)});var u=a.getAll("body")[0];u&&s.setAttribs(e.getBody(),{style:u.attr("style")||"",dir:u.attr("dir")||"",vLink:u.attr("vlink")||"",link:u.attr("link")||"",aLink:u.attr("alink")||""}),s.remove("fullpage_styles");var d=e.getDoc().getElementsByTagName("head")[0];c&&s.add(d,"style",{id:"fullpage_styles"}).appendChild(m.document.createTextNode(c));var f={};g.each(d.getElementsByTagName("link"),function(e){"stylesheet"===e.rel&&e.getAttribute("data-mce-fullpage")&&(f[e.href]=e)}),g.each(a.getAll("link"),function(e){var t=e.attr("href");if(!t)return!0;f[t]||"stylesheet"!==e.attr("rel")||s.add(d,"link",{rel:"stylesheet",text:"text/css",href:t,"data-mce-fullpage":"1"}),delete f[t]}),g.each(f,function(e){e.parentNode.removeChild(e)})}}(l,o,a,e)}),l.on("GetContent",function(e){var t,n,i,r;t=l,n=o.get(),i=a.get(),(r=e).selection||r.source_view&&h(t)||(r.content=A(g.trim(n)+"\n"+g.trim(r.content)+"\n"+g.trim(i)))})},E=function(e){e.ui.registry.addButton("fullpage",{tooltip:"Metadata and document properties",icon:"document-properties",onAction:function(){e.execCommand("mceFullPageProperties")}}),e.ui.registry.addMenuItem("fullpage",{text:"Metadata and document properties",icon:"document-properties",onAction:function(){e.execCommand("mceFullPageProperties")}})};!function z(){e.add("fullpage",function(e){var t=i(""),n=i("");k(e,t),E(e),D(e,t,n)})}()}(window); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/fullscreen/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/fullscreen/plugin.min.js index fed5aaf2..26fae2b2 100755 --- a/bl-plugins/tinymce/tinymce/plugins/fullscreen/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/fullscreen/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.6 (2019-05-22) + * Version: 5.0.8 (2019-06-18) */ -!function(g){"use strict";var i=function(e){var n=e,t=function(){return n};return{get:t,set:function(e){n=e},clone:function(){return i(t())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(e){return{isFullscreen:function(){return null!==e.get()}}},n=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),m=function(e,n){e.fire("FullscreenStateChanged",{state:n})},w=n.DOM,r=function(e,n){var t,r,o,i,l,c,u=g.document.body,s=g.document.documentElement,d=n.get(),a=function(){var e,n,t,i;w.setStyle(o,"height",(t=g.window,i=g.document.body,i.offsetWidth&&(e=i.offsetWidth,n=i.offsetHeight),t.innerWidth&&t.innerHeight&&(e=t.innerWidth,n=t.innerHeight),{w:e,h:n}).h-(r.clientHeight-o.clientHeight))},f=function(){w.unbind(g.window,"resize",a)};if(t=(r=e.getContainer()).style,i=(o=e.getContentAreaContainer().firstChild).style,d)i.width=d.iframeWidth,i.height=d.iframeHeight,d.containerWidth&&(t.width=d.containerWidth),d.containerHeight&&(t.height=d.containerHeight),w.removeClass(u,"tox-fullscreen"),w.removeClass(s,"tox-fullscreen"),w.removeClass(r,"tox-fullscreen"),l=d.scrollPos,g.window.scrollTo(l.x,l.y),w.unbind(g.window,"resize",d.resizeHandler),e.off("remove",d.removeHandler),n.set(null),m(e,!1);else{var h={scrollPos:(c=w.getViewPort(),{x:c.x,y:c.y}),containerWidth:t.width,containerHeight:t.height,iframeWidth:i.width,iframeHeight:i.height,resizeHandler:a,removeHandler:f};i.width=i.height="100%",t.width=t.height="",w.addClass(u,"tox-fullscreen"),w.addClass(s,"tox-fullscreen"),w.addClass(r,"tox-fullscreen"),w.bind(g.window,"resize",a),e.on("remove",f),a(),n.set(h),m(e,!0)}},o=function(e,n){e.addCommand("mceFullScreen",function(){r(e,n)})},l=function(t,i){return function(n){n.setActive(null!==i.get());var e=function(e){return n.setActive(e.state)};return t.on("FullscreenStateChanged",e),function(){return t.off("FullscreenStateChanged",e)}}},c=function(e,n){e.ui.registry.addToggleMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Meta+Shift+F",onAction:function(){return e.execCommand("mceFullScreen")},onSetup:l(e,n)}),e.ui.registry.addToggleButton("fullscreen",{tooltip:"Fullscreen",icon:"fullscreen",onAction:function(){return e.execCommand("mceFullScreen")},onSetup:l(e,n)})};e.add("fullscreen",function(e){var n=i(null);return e.settings.inline||(o(e,n),c(e,n),e.addShortcut("Meta+Shift+F","","mceFullScreen")),t(n)}),function u(){}}(window); \ No newline at end of file +!function(d){"use strict";var i=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return i(n())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=function(e){return{isFullscreen:function(){return null!==e.get()}}},t=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),f=function(e,t){e.fire("FullscreenStateChanged",{state:t})},h=t.DOM,r=function(e,t){var n,i,r,l,o,c=d.document.body,u=d.document.documentElement,s=t.get();if(n=(i=e.getContainer()).style,r=e.getContentAreaContainer().firstChild.style,s)r.width=s.iframeWidth,r.height=s.iframeHeight,s.containerWidth&&(n.width=s.containerWidth),s.containerHeight&&(n.height=s.containerHeight),h.removeClass(c,"tox-fullscreen"),h.removeClass(u,"tox-fullscreen"),h.removeClass(i,"tox-fullscreen"),l=s.scrollPos,d.window.scrollTo(l.x,l.y),t.set(null),f(e,!1);else{var a={scrollPos:(o=h.getViewPort(),{x:o.x,y:o.y}),containerWidth:n.width,containerHeight:n.height,iframeWidth:r.width,iframeHeight:r.height};r.width=r.height="100%",n.width=n.height="",h.addClass(c,"tox-fullscreen"),h.addClass(u,"tox-fullscreen"),h.addClass(i,"tox-fullscreen"),t.set(a),f(e,!0)}},l=function(e,t){e.addCommand("mceFullScreen",function(){r(e,t)})},o=function(n,i){return function(t){t.setActive(null!==i.get());var e=function(e){return t.setActive(e.state)};return n.on("FullscreenStateChanged",e),function(){return n.off("FullscreenStateChanged",e)}}},c=function(e,t){e.ui.registry.addToggleMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Meta+Shift+F",onAction:function(){return e.execCommand("mceFullScreen")},onSetup:o(e,t)}),e.ui.registry.addToggleButton("fullscreen",{tooltip:"Fullscreen",icon:"fullscreen",onAction:function(){return e.execCommand("mceFullScreen")},onSetup:o(e,t)})};!function u(){e.add("fullscreen",function(e){var t=i(null);return e.settings.inline||(l(e,t),c(e,t),e.addShortcut("Meta+Shift+F","","mceFullScreen")),n(t)})}()}(window); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/help/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/help/plugin.min.js index f58b9a07..c27ea956 100755 --- a/bl-plugins/tinymce/tinymce/plugins/help/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/help/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.6 (2019-05-22) + * Version: 5.0.8 (2019-06-18) */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(e){return function(){return e}};function d(r){for(var a=[],e=1;e${name}'),f=function(t,n){return function(e,t){for(var n=0,r=e.length;n'+(r=n,i=P((a=r).plugins),c=a.settings.forced_plugins===undefined?i:function(e,t){for(var n=[],r=0,a=e.length;r"+f(r,e)+""}),s=u.length,l=u.join(""),"

    "+x.translate(["Plugins installed ({0}):",s])+"

      "+l+"
    ")+""),(t=b(["Accessibility Checker","Advanced Code Editor","Case Change","Checklist","Tiny Comments","Tiny Drive","Enhanced Media Embed","Format Painter","Link Checker","Mentions","MoxieManager","Page Embed","Permanent Pen","PowerPaste","Spell Checker Pro"],function(e){return"
  • "+x.translate(e)+"
  • "}).join(""),'

    '+x.translate("Premium plugins:")+"

    ")].join("")}]}},E=tinymce.util.Tools.resolve("tinymce.EditorManager"),H=function(){var e,t,n='TinyMCE '+(e=E.majorVersion,t=E.minorVersion,0===e.indexOf("@")?"X.X.X":e+"."+t)+"";return{type:"htmlpanel",html:"

    "+x.translate(["You are using {0}",n])+"

    ",presets:"document"}},j=function(e){return e.getParam("help_version",H,"function")()},D=function(e){return{title:"Version",items:[j(e)]}},I=function(t){return function(){var e={type:"tabpanel",tabs:[w(),F(t),D(t)]};t.windowManager.open({title:"Help",size:"medium",body:e,buttons:[{type:"cancel",name:"close",text:"Close",primary:!0}],initialData:{}})}},L=function(e){e.addCommand("mceHelp",I(e))},B=function(e){e.ui.registry.addButton("help",{icon:"help",tooltip:"Help",onAction:I(e)}),e.ui.registry.addMenuItem("help",{text:"Help",icon:"help",shortcut:"Alt+0",onAction:I(e)})};e.add("help",function(e){B(e),L(e),e.shortcuts.add("Alt+0","Open help dialog","mceHelp")}),function N(){}}(); \ No newline at end of file +!function(){"use strict";var o=function(e){var n=e,t=function(){return n};return{get:t,set:function(e){n=e},clone:function(){return o(t())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),i=function(e,n){e.addCommand("mceHelp",n)},c=function(e,n){e.ui.registry.addButton("help",{icon:"help",tooltip:"Help",onAction:n}),e.ui.registry.addMenuItem("help",{text:"Help",icon:"help",shortcut:"Alt+0",onAction:n})},u=function(){return(u=Object.assign||function(e){for(var n,t=1,r=arguments.length;t${name}'),a=function(n,t){return function(e,n){for(var t=0,r=e.length;t'+(o=t,u=w((i=o).plugins),s=i.settings.forced_plugins===undefined?u:function(e,n){for(var t=[],r=0,a=e.length;r"+a(o,e)+""}),m=l.length,f=l.join(""),"

    "+D.translate(["Plugins installed ({0}):",m])+"

      "+f+"
    ")+""),(n=M(["Accessibility Checker","Advanced Code Editor","Case Change","Checklist","Tiny Comments","Tiny Drive","Enhanced Media Embed","Format Painter","Link Checker","Mentions","MoxieManager","Page Embed","Permanent Pen","PowerPaste","Spell Checker Pro"],function(e){return"
  • "+D.translate(e)+"
  • "}).join(""),'

    '+D.translate("Premium plugins:")+"

    ")].join("")}]};var o,i,c,u,s,l,m,f},B=tinymce.util.Tools.resolve("tinymce.EditorManager"),N=function(){var e,n,t='TinyMCE '+(e=B.majorVersion,n=B.minorVersion,0===e.indexOf("@")?"X.X.X":e+"."+n)+"";return{name:"versions",title:"Version",items:[{type:"htmlpanel",html:"

    "+D.translate(["You are using {0}",t])+"

    ",presets:"document"}]}},z=function(e){var n,t=w(e);return(-1===(n=P(t,"versions"))?b.none():b.some(n)).each(function(e){t.splice(e,1),t.push("versions")}),{tabs:e,names:t}},U=function(e,n){var t,r,a=E(),o=L(e),i=N(),c=u(((t={})[a.name]=a,t[o.name]=o,t[i.name]=i,t),n.get());return(r=e,b.from(r.getParam("help_tabs"))).fold(function(){return z(c)},function(e){return n=c,t={},r=M(e,function(e){return"string"==typeof e?(x(n,e)&&(t[e]=n[e]),e):(t[e.name]=e).name}),{tabs:t,names:r};var n,t,r})},V=function(a,o){return function(){var e=U(a,o),r=e.tabs,n=e.names,t={type:"tabpanel",tabs:function(e){for(var n=[],t=function(e){n.push(e)},r=0;r")})},t=function(n){n.ui.registry.addButton("hr",{icon:"horizontal-rule",tooltip:"Horizontal line",onAction:function(){return n.execCommand("InsertHorizontalRule")}}),n.ui.registry.addMenuItem("hr",{icon:"horizontal-rule",text:"Horizontal line",onAction:function(){return n.execCommand("InsertHorizontalRule")}})};n.add("hr",function(n){o(n),t(n)}),function e(){}}(); \ No newline at end of file +!function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager"),o=function(n){n.addCommand("InsertHorizontalRule",function(){n.execCommand("mceInsertContent",!1,"
    ")})},t=function(n){n.ui.registry.addButton("hr",{icon:"horizontal-rule",tooltip:"Horizontal line",onAction:function(){return n.execCommand("InsertHorizontalRule")}}),n.ui.registry.addMenuItem("hr",{icon:"horizontal-rule",text:"Horizontal line",onAction:function(){return n.execCommand("InsertHorizontalRule")}})};!function e(){n.add("hr",function(n){o(n),t(n)})}()}(); \ No newline at end of file diff --git a/bl-plugins/tinymce/tinymce/plugins/image/plugin.min.js b/bl-plugins/tinymce/tinymce/plugins/image/plugin.min.js index 57f7d517..73e6a645 100755 --- a/bl-plugins/tinymce/tinymce/plugins/image/plugin.min.js +++ b/bl-plugins/tinymce/tinymce/plugins/image/plugin.min.js @@ -4,6 +4,6 @@ * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ * - * Version: 5.0.6 (2019-05-22) + * Version: 5.0.8 (2019-06-18) */ -!function(s){"use strict";var e,n,t,r,i=tinymce.util.Tools.resolve("tinymce.PluginManager"),o=function(){for(var e=[],n=0;n'+n+"")}else e.insertContent(f(e,t));var i,o,u,c,m},g=f,y=function(e){e.addCommand("mceInsertDate",function(){p(e,t(e))}),e.addCommand("mceInsertTime",function(){p(e,a(e))})},M=tinymce.util.Tools.resolve("tinymce.util.Tools"),S=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return S(n())}}},v=function(n){var t=i(n),r=S(o(n));n.ui.registry.addSplitButton("insertdatetime",{icon:"insert-time",tooltip:"Insert date/time",select:function(e){return e===r.get()},fetch:function(e){e(M.map(t,function(e){return{type:"choiceitem",text:g(n,e),value:e}}))},onAction:function(){for(var e=[],t=0;t'+n+"")}else e.insertContent(f(e,t));var i,o,u,c,m},g=f,y=function(e){e.addCommand("mceInsertDate",function(){p(e,t(e))}),e.addCommand("mceInsertTime",function(){p(e,a(e))})},M=tinymce.util.Tools.resolve("tinymce.util.Tools"),S=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return S(n())}}},v=function(n){var t=i(n),r=S(o(n));n.ui.registry.addSplitButton("insertdatetime",{icon:"insert-time",tooltip:"Insert date/time",select:function(e){return e===r.get()},fetch:function(e){e(M.map(t,function(e){return{type:"choiceitem",text:g(n,e),value:e}}))},onAction:function(){for(var e=[],t=0;t'),o.close()}}var i,u},N=function(){for(var n=[],t=0;t]+>[^<]+<\/a>$/.test(n)||-1===n.indexOf("href=")))},an=J,cn=function(n,t){var e=t?t.innerText||t.textContent:n.getContent({format:"text"});return e.replace(/\uFEFF/g,"")},ln=G,fn=function(n,t){for(var e=0;e'),o.close()}}var i,u},N=function(){},S=function(n){return function(){return n}},D=S(!1),M=S(!0),L=D,E=M,U=function(){return P},P=(r={fold:function(n,t){return n()},is:L,isSome:L,isNone:E,getOr:e=function(n){return n},getOrThunk:t=function(n){return n()},getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:e,orThunk:t,map:U,ap:U,each:function(){},bind:U,flatten:U,exists:L,forall:E,filter:U,equals:n=function(n){return n.isNone()},equals_:n,toArray:function(){return[]},toString:S("none()")},Object.freeze&&Object.freeze(r),r),R=function(e){var n=function(){return e},t=function(){return o},r=function(n){return n(e)},o={fold:function(n,t){return t(e)},is:function(n){return e===n},isSome:E,isNone:L,getOr:n,getOrThunk:n,getOrDie:n,getOrNull:n,getOrUndefined:n,or:t,orThunk:t,map:function(n){return R(n(e))},ap:function(n){return n.fold(U,function(n){return R(n(e))})},each:function(n){n(e)},bind:r,flatten:n,exists:r,forall:r,filter:function(n){return n(e)?o:P},equals:function(n){return n.is(e)},equals_:function(n,t){return n.fold(L,function(n){return t(e,n)})},toArray:function(){return[e]},toString:function(){return"some("+e+")"}};return o},z={some:R,none:U,from:function(n){return null===n||n===undefined?P:R(n)}},q=function(t){return function(n){return function(n){if(null===n)return"null";var t=typeof n;return"object"===t&&Array.prototype.isPrototypeOf(n)?"array":"object"===t&&String.prototype.isPrototypeOf(n)?"string":t}(n)===t}},K=q("string"),I=q("function"),j=Array.prototype.slice,B=(o=Array.prototype.indexOf)===undefined?function(n,t){return F(n,t)}:function(n,t){return o.call(n,t)},V=function(n,t){for(var e=0,r=n.length;e]+>[^<]+<\/a>$/.test(n)||-1===n.indexOf("href=")))},ln=Q,fn=function(n,t){var e=t?t.innerText||t.textContent:n.getContent({format:"text"});return e.replace(/\uFEFF/g,"")},sn=X,gn=J,mn=function(n,t){for(var e=0;e=e.childNodes.length?t.data.length:0}:t.previousSibling&&h(t.previousSibling)?{container:t.previousSibling,offset:t.previousSibling.data.length}:t.nextSibling&&h(t.nextSibling)?{container:t.nextSibling,offset:0}:{container:e,offset:n}},A=function(e){var n=e.cloneRange(),t=k(e.startContainer,e.startOffset);n.setStart(t.container,t.offset);var r=k(e.endContainer,e.endOffset);return n.setEnd(r.container,r.offset),n},x=m.DOM,R=function(o){var i={},e=function(e){var n,t,r;t=o[e?"startContainer":"endContainer"],r=o[e?"startOffset":"endOffset"],1===t.nodeType&&(n=x.create("span",{"data-mce-type":"bookmark"}),t.hasChildNodes()?(r=Math.min(r,t.childNodes.length-1),e?t.insertBefore(n,t.childNodes[r]):x.insertAfter(n,t.childNodes[r])):t.appendChild(n),t=n,r=0),i[e?"startContainer":"endContainer"]=t,i[e?"startOffset":"endOffset"]=r};return e(!0),o.collapsed||e(),i},I=function(o){function e(e){var n,t,r;n=r=o[e?"startContainer":"endContainer"],t=o[e?"startOffset":"endOffset"],n&&(1===n.nodeType&&(t=function(e){for(var n=e.parentNode.firstChild,t=0;n;){if(n===e)return t;1===n.nodeType&&"bookmark"===n.getAttribute("data-mce-type")||t++,n=n.nextSibling}return-1}(n),n=n.parentNode,x.remove(r),!n.hasChildNodes()&&x.isBlock(n)&&n.appendChild(x.create("br"))),o[e?"startContainer":"endContainer"]=n,o[e?"startOffset":"endOffset"]=t)}e(!0),e();var n=x.createRng();return n.setStart(o.startContainer,o.startOffset),o.endContainer&&n.setEnd(o.endContainer,o.endOffset),A(n)},_=function(e){return function(){return e}},B=function(t){return function(){for(var e=[],n=0;ne.length?On(t,e,n):Sn(t,e,n)},[]),ue(o).map(function(e){return e.list})).toArray();var t,r,o},Un=function(a,e,s){var n,t,r,o,i,u=(n=e,o=a,i=Q(ye.getSelectedListItems(o),Se.fromDom),t=Oe([ee(i,B(bn)),ee(ie(i),B(bn))],function(e,n){return{start:e,end:n}}),r=An(!1),Q(n,function(e){return{sourceList:e,entries:Rn(0,t,r,e)}}));Y(u,function(e){var n,t;n=e.entries,t=s,Y(G(n,Ln),function(e){return function(e,n){switch(e){case"Indent":n.depth++;break;case"Outdent":n.depth--;break;case"Flatten":n.depth=0}}(t,e)});var r,o,i,u=(r=a,o=e.entries,re(J(o,Tn),function(e){return ue(e).map(Tn).getOr(!1)?Mn(r,e):Pn(r,e)}));Y(u,function(e){Bn(a,"Indent"===s?"IndentList":"OutdentList",e.dom())}),i=e.sourceList,Y(u,function(e){cn(i,e)}),ln(e.sourceList)})},Fn=m.DOM,jn=function(e,n,t){var r,o,i,u,a,s;for(i=Fn.select('span[data-mce-type="bookmark"]',n),a=_n(e,t),(r=Fn.createRng()).setStartAfter(t),r.setEndAfter(n),u=(o=r.extractContents()).firstChild;u;u=u.firstChild)if("LI"===u.nodeName&&e.dom.isEmpty(u)){Fn.remove(u);break}e.dom.isEmpty(o)||Fn.insertAfter(o,n),Fn.insertAfter(a,n),E(e.dom,t.parentNode)&&(s=t.parentNode,v.each(i,function(e){s.parentNode.insertBefore(e,t.parentNode)}),Fn.remove(s)),Fn.remove(t),E(e.dom,n)&&Fn.remove(n)},Hn=function(e){tn(e,"DT")&&yn(e,"DD")},$n=function(r,e,n){Y(n,"Indent"===e?Hn:function(e){return n=r,void(tn(t=e,"DD")?yn(t,"DT"):tn(t,"DT")&&rn(t).each(function(e){return jn(n,e.dom(),t.dom())}));var n,t})},qn=function(e,n){var t=Q(ye.getSelectedListRoots(e),Se.fromDom),r=Q(ye.getSelectedDlItems(e),Se.fromDom),o=!1;if(t.length||r.length){var i=e.selection.getBookmark();Un(e,t,n),$n(e,n,r),e.selection.moveToBookmark(i),e.selection.setRng(A(e.selection.getRng())),e.nodeChanged(),o=!0}return o},Wn=function(e){return qn(e,"Indent")},zn=function(e){return qn(e,"Outdent")},Kn=function(e){return qn(e,"Flatten")},Vn=function(e){return/\btox\-/.test(e.className)},Xn=function(e){switch(e){case"UL":return"ToggleUlList";case"OL":return"ToggleOlList";case"DL":return"ToggleDLList"}},Qn=function(t,e){v.each(e,function(e,n){t.setAttribute(n,e)})},Yn=function(e,n,t){var r,o,i,u,a,s,c;r=e,o=n,u=(i=t)["list-style-type"]?i["list-style-type"]:null,r.setStyle(o,"list-style-type",u),a=e,Qn(s=n,(c=t)["list-attributes"]),v.each(a.select("li",s),function(e){Qn(e,c["list-item-attributes"])})},Gn=function(e,n,t,r){var o,i;for(o=n[t?"startContainer":"endContainer"],i=n[t?"startOffset":"endOffset"],1===o.nodeType&&(o=o.childNodes[Math.min(i,o.childNodes.length-1)]||o),!t&&b(o.nextSibling)&&(o=o.nextSibling);o.parentNode!==r;){if(T(e,o))return o;if(/^(TD|TH)$/.test(o.parentNode.nodeName))return o;o=o.parentNode}return o},Jn=function(f,d,l){void 0===l&&(l={});var e,n=f.selection.getRng(!0),m="LI",t=ye.getClosestListRootElm(f,f.selection.getStart(!0)),g=f.dom;"false"!==g.getContentEditable(f.selection.getNode())&&("DL"===(d=d.toUpperCase())&&(m="DT"),e=R(n),v.each(function(t,e,r){for(var o,i=[],u=t.dom,n=Gn(t,e,!0,r),a=Gn(t,e,!1,r),s=[],c=n;c&&(s.push(c),c!==a);c=c.nextSibling);return v.each(s,function(e){if(T(t,e))return i.push(e),void(o=null);if(u.isBlock(e)||b(e))return b(e)&&u.remove(e),void(o=null);var n=e.nextSibling;p.isBookmarkNode(e)&&(T(t,n)||!n&&e.parentNode===r)?o=null:(o||(o=u.create("p"),e.parentNode.insertBefore(o,e),i.push(o)),o.appendChild(e))}),i}(f,n,t),function(e){var n,t,r,o,i,u,a,s,c;(t=e.previousSibling)&&y(t)&&t.nodeName===d&&(r=t,o=l,i=g.getStyle(r,"list-style-type"),u=o?o["list-style-type"]:"",i===(u=null===u?"":u))?(n=t,e=g.rename(e,m),t.appendChild(e)):(n=g.create(d),e.parentNode.insertBefore(n,e),n.appendChild(e),e=g.rename(e,m)),a=g,s=e,c=["margin","margin-right","margin-bottom","margin-left","margin-top","padding","padding-right","padding-bottom","padding-left","padding-top"],v.each(c,function(e){var n;return a.setStyle(s,((n={})[e]="",n))}),Yn(g,n,l),et(f.dom,n)}),f.selection.setRng(I(e)))},Zn=function(e,n,t){return s=t,(a=n)&&s&&y(a)&&a.nodeName===s.nodeName&&(i=n,u=t,(o=e).getStyle(i,"list-style-type",!0)===o.getStyle(u,"list-style-type",!0))&&(r=t,n.className===r.className);var r,o,i,u,a,s},et=function(e,n){var t,r;if(t=n.nextSibling,Zn(e,n,t)){for(;r=t.firstChild;)n.appendChild(r);e.remove(t)}if(t=n.previousSibling,Zn(e,n,t)){for(;r=t.lastChild;)n.insertBefore(r,n.firstChild);e.remove(t)}},nt=function(n,e,t,r,o){if(e.nodeName!==r||tt(o)){var i=R(n.selection.getRng(!0));v.each([e].concat(t),function(e){!function(e,n,t,r){if(n.nodeName!==t){var o=e.dom.rename(n,t);Yn(e.dom,o,r),Bn(e,Xn(t),o)}else Yn(e.dom,n,r),Bn(e,Xn(t),n)}(n,e,r,o)}),n.selection.setRng(I(i))}else Kn(n)},tt=function(e){return"list-style-type"in e},rt={toggleList:function(e,n,t){var r=ye.getParentList(e),o=ye.getSelectedSubLists(e);t=t||{},r&&0=e.childNodes.length?t.data.length:0}:t.previousSibling&&y(t.previousSibling)?{container:t.previousSibling,offset:t.previousSibling.data.length}:t.nextSibling&&y(t.nextSibling)?{container:t.nextSibling,offset:0}:{container:e,offset:n}},x=function(e){var n=e.cloneRange(),t=A(e.startContainer,e.startOffset);n.setStart(t.container,t.offset);var r=A(e.endContainer,e.endOffset);return n.setEnd(r.container,r.offset),n},R=g.DOM,I=function(o){var i={},e=function(e){var n,t,r;t=o[e?"startContainer":"endContainer"],r=o[e?"startOffset":"endOffset"],1===t.nodeType&&(n=R.create("span",{"data-mce-type":"bookmark"}),t.hasChildNodes()?(r=Math.min(r,t.childNodes.length-1),e?t.insertBefore(n,t.childNodes[r]):R.insertAfter(n,t.childNodes[r])):t.appendChild(n),t=n,r=0),i[e?"startContainer":"endContainer"]=t,i[e?"startOffset":"endOffset"]=r};return e(!0),o.collapsed||e(),i},_=function(o){function e(e){var n,t,r;n=r=o[e?"startContainer":"endContainer"],t=o[e?"startOffset":"endOffset"],n&&(1===n.nodeType&&(t=function(e){for(var n=e.parentNode.firstChild,t=0;n;){if(n===e)return t;1===n.nodeType&&"bookmark"===n.getAttribute("data-mce-type")||t++,n=n.nextSibling}return-1}(n),n=n.parentNode,R.remove(r),!n.hasChildNodes()&&R.isBlock(n)&&n.appendChild(R.create("br"))),o[e?"startContainer":"endContainer"]=n,o[e?"startOffset":"endOffset"]=t)}e(!0),e();var n=R.createRng();return n.setStart(o.startContainer,o.startOffset),o.endContainer&&n.setEnd(o.endContainer,o.endOffset),x(n)},B=function(e){return function(){return e}},P=function(t){return function(){for(var e=[],n=0;ne.length?bn(t,e,n):Cn(t,e,n)},[]),ae(o).map(function(e){return e.list})).toArray();var t,r,o},jn=function(s,e,a){var n,t,r,o,i,u=(n=e,o=s,i=G(Se.getSelectedListItems(o),Ce.fromDom),t=be([te(i,P(Ln)),te(se(i),P(Ln))],function(e,n){return{start:e,end:n}}),r=Rn(!1),G(n,function(e){return{sourceList:e,entries:_n(0,t,r,e)}}));J(u,function(e){var n,t;n=e.entries,t=a,J(Z(n,En),function(e){return function(e,n){switch(e){case"Indent":n.depth++;break;case"Outdent":n.depth--;break;case"Flatten":n.depth=0}}(t,e)});var r,o,i,u=(r=s,o=e.entries,ue(ee(o,Dn),function(e){return ae(e).map(Dn).getOr(!1)?Fn(r,e):Un(r,e)}));J(u,function(e){Mn(s,"Indent"===a?"IndentList":"OutdentList",e.dom())}),i=e.sourceList,J(u,function(e){dn(i,e)}),gn(e.sourceList)})},Hn=g.DOM,$n=function(e,n,t){var r,o,i,u,s,a;for(i=Hn.select('span[data-mce-type="bookmark"]',n),s=Pn(e,t),(r=Hn.createRng()).setStartAfter(t),r.setEndAfter(n),u=(o=r.extractContents()).firstChild;u;u=u.firstChild)if("LI"===u.nodeName&&e.dom.isEmpty(u)){Hn.remove(u);break}e.dom.isEmpty(o)||Hn.insertAfter(o,n),Hn.insertAfter(s,n),w(e.dom,t.parentNode)&&(a=t.parentNode,v.each(i,function(e){a.parentNode.insertBefore(e,t.parentNode)}),Hn.remove(a)),Hn.remove(t),w(e.dom,n)&&Hn.remove(n)},qn=function(e){on(e,"DT")&&Sn(e,"DD")},Wn=function(r,e,n){J(n,"Indent"===e?qn:function(e){return n=r,void(on(t=e,"DD")?Sn(t,"DT"):on(t,"DT")&&un(t).each(function(e){return $n(n,e.dom(),t.dom())}));var n,t})},zn=function(e,n){var t=G(Se.getSelectedListRoots(e),Ce.fromDom),r=G(Se.getSelectedDlItems(e),Ce.fromDom),o=!1;if(t.length||r.length){var i=e.selection.getBookmark();jn(e,t,n),Wn(e,n,r),e.selection.moveToBookmark(i),e.selection.setRng(x(e.selection.getRng())),e.nodeChanged(),o=!0}return o},Kn=function(e){return zn(e,"Indent")},Vn=function(e){return zn(e,"Outdent")},Xn=function(e){return zn(e,"Flatten")},Qn=function(e){return/\btox\-/.test(e.className)},Yn=function(e){switch(e){case"UL":return"ToggleUlList";case"OL":return"ToggleOlList";case"DL":return"ToggleDLList"}},Gn=function(t,e){v.each(e,function(e,n){t.setAttribute(n,e)})},Jn=function(e,n,t){var r,o,i,u,s,a,c;r=e,o=n,u=(i=t)["list-style-type"]?i["list-style-type"]:null,r.setStyle(o,"list-style-type",u),s=e,Gn(a=n,(c=t)["list-attributes"]),v.each(s.select("li",a),function(e){Gn(e,c["list-item-attributes"])})},Zn=function(e,n,t,r){var o,i;for(o=n[t?"startContainer":"endContainer"],i=n[t?"startOffset":"endOffset"],1===o.nodeType&&(o=o.childNodes[Math.min(i,o.childNodes.length-1)]||o),!t&&T(o.nextSibling)&&(o=o.nextSibling);o.parentNode!==r;){if(L(e,o))return o;if(/^(TD|TH)$/.test(o.parentNode.nodeName))return o;o=o.parentNode}return o},et=function(f,d,l){void 0===l&&(l={});var e,n=f.selection.getRng(!0),m="LI",t=Se.getClosestListRootElm(f,f.selection.getStart(!0)),g=f.dom;"false"!==g.getContentEditable(f.selection.getNode())&&("DL"===(d=d.toUpperCase())&&(m="DT"),e=I(n),v.each(function(t,e,r){for(var o,i=[],u=t.dom,n=Zn(t,e,!0,r),s=Zn(t,e,!1,r),a=[],c=n;c&&(a.push(c),c!==s);c=c.nextSibling);return v.each(a,function(e){if(L(t,e))return i.push(e),void(o=null);if(u.isBlock(e)||T(e))return T(e)&&u.remove(e),void(o=null);var n=e.nextSibling;p.isBookmarkNode(e)&&(L(t,n)||!n&&e.parentNode===r)?o=null:(o||(o=u.create("p"),e.parentNode.insertBefore(o,e),i.push(o)),o.appendChild(e))}),i}(f,n,t),function(e){var n,t,r,o,i,u,s,a,c;(t=e.previousSibling)&&N(t)&&t.nodeName===d&&(r=t,o=l,i=g.getStyle(r,"list-style-type"),u=o?o["list-style-type"]:"",i===(u=null===u?"":u))?(n=t,e=g.rename(e,m),t.appendChild(e)):(n=g.create(d),e.parentNode.insertBefore(n,e),n.appendChild(e),e=g.rename(e,m)),s=g,a=e,c=["margin","margin-right","margin-bottom","margin-left","margin-top","padding","padding-right","padding-bottom","padding-left","padding-top"],v.each(c,function(e){var n;return s.setStyle(a,((n={})[e]="",n))}),Jn(g,n,l),tt(f.dom,n)}),f.selection.setRng(_(e)))},nt=function(e,n,t){return a=t,(s=n)&&a&&N(s)&&s.nodeName===a.nodeName&&(i=n,u=t,(o=e).getStyle(i,"list-style-type",!0)===o.getStyle(u,"list-style-type",!0))&&(r=t,n.className===r.className);var r,o,i,u,s,a},tt=function(e,n){var t,r;if(t=n.nextSibling,nt(e,n,t)){for(;r=t.firstChild;)n.appendChild(r);e.remove(t)}if(t=n.previousSibling,nt(e,n,t)){for(;r=t.lastChild;)n.insertBefore(r,n.firstChild);e.remove(t)}},rt=function(n,e,t,r,o){if(e.nodeName!==r||ot(o)){var i=I(n.selection.getRng(!0));v.each([e].concat(t),function(e){!function(e,n,t,r){if(n.nodeName!==t){var o=e.dom.rename(n,t);Jn(e.dom,o,r),Mn(e,Yn(t),o)}else Jn(e.dom,n,r),Mn(e,Yn(t),n)}(n,e,r,o)}),n.selection.setRng(_(i))}else Xn(n)},ot=function(e){return"list-style-type"in e},it={toggleList:function(e,n,t){var r=Se.getParentList(e),o=Se.getSelectedSubLists(e);t=t||{},r&&0"):"application/x-shockwave-flash"===n.source1mime?(d='',m.poster&&(d+=''),d+=""):-1!==n.source1mime.indexOf("audio")?(s=n,(l=p)?l(s):'"):"script"===n.type?' + diff --git a/bl-themes/social-network/php/head.php b/bl-themes/social-network/php/head.php index ed1a19f0..6c3cb978 100644 --- a/bl-themes/social-network/php/head.php +++ b/bl-themes/social-network/php/head.php @@ -19,6 +19,9 @@ + + + diff --git a/bl-themes/social-network/php/home.php b/bl-themes/social-network/php/home.php index 9444af59..da772f5a 100644 --- a/bl-themes/social-network/php/home.php +++ b/bl-themes/social-network/php/home.php @@ -7,9 +7,21 @@
    -
    +
    +
    + +
    +
    + + +
    @@ -17,8 +29,10 @@