diff --git a/assets/3rdparty/js-bbcode-parser/bbcode-config.js b/assets/3rdparty/js-bbcode-parser/bbcode-config.js
index aaa79d9f..82c072d8 100644
--- a/assets/3rdparty/js-bbcode-parser/bbcode-config.js
+++ b/assets/3rdparty/js-bbcode-parser/bbcode-config.js
@@ -285,5 +285,17 @@ var parserTags = {
}
},
+ 'hr': {
+ openTag: function(params,content) {
+ return '
';
+ },
+ closeTag: function(params,content) {
+ return '';
+ },
+ content: function(params, content){
+ return '';
+ }
+ },
+
//COMUNIC ADD END
};
diff --git a/assets/css/common/custom-sceditor.css b/assets/css/common/custom-sceditor.css
new file mode 100644
index 00000000..732ba042
--- /dev/null
+++ b/assets/css/common/custom-sceditor.css
@@ -0,0 +1,551 @@
+/*! SCEditor | (C) 2011-2016, Sam Clarke | sceditor.com/license */
+/**
+ * Default SCEditor
+ * http://www.sceditor.com/
+ *
+ * Copyright (C) 2011-16, Sam Clarke
+ *
+ * SCEditor is licensed under the MIT license:
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * This version of the theme has been adapated by Pierre HUBERT for Comunic
+ * Modifications: Copyright (c) 2018-2019 Pierre HUBERT (MIT License)
+ */
+ div.sceditor-grip,
+ .sceditor-button div {
+ background-image: url("famfamfam.png");
+ background-repeat: no-repeat;
+ width: 16px;
+ height: 16px;
+ }
+ .sceditor-button-youtube div {
+ background-position: 0px 0px;
+ }
+ .sceditor-button-link div {
+ background-position: 0px -16px;
+ }
+ .sceditor-button-unlink div {
+ background-position: 0px -32px;
+ }
+ .sceditor-button-underline div {
+ background-position: 0px -48px;
+ }
+ .sceditor-button-time div {
+ background-position: 0px -64px;
+ }
+ .sceditor-button-table div {
+ background-position: 0px -80px;
+ }
+ .sceditor-button-superscript div {
+ background-position: 0px -96px;
+ }
+ .sceditor-button-subscript div {
+ background-position: 0px -112px;
+ }
+ .sceditor-button-strike div {
+ background-position: 0px -128px;
+ }
+ .sceditor-button-source div {
+ background-position: 0px -144px;
+ }
+ .sceditor-button-size div {
+ background-position: 0px -160px;
+ }
+ .sceditor-button-rtl div {
+ background-position: 0px -176px;
+ }
+ .sceditor-button-right div {
+ background-position: 0px -192px;
+ }
+ .sceditor-button-removeformat div {
+ background-position: 0px -208px;
+ }
+ .sceditor-button-quote div {
+ background-position: 0px -224px;
+ }
+ .sceditor-button-print div {
+ background-position: 0px -240px;
+ }
+ .sceditor-button-pastetext div {
+ background-position: 0px -256px;
+ }
+ .sceditor-button-paste div {
+ background-position: 0px -272px;
+ }
+ .sceditor-button-outdent div {
+ background-position: 0px -288px;
+ }
+ .sceditor-button-orderedlist div {
+ background-position: 0px -304px;
+ }
+ .sceditor-button-maximize div {
+ background-position: 0px -320px;
+ }
+ .sceditor-button-ltr div {
+ background-position: 0px -336px;
+ }
+ .sceditor-button-left div {
+ background-position: 0px -352px;
+ }
+ .sceditor-button-justify div {
+ background-position: 0px -368px;
+ }
+ .sceditor-button-italic div {
+ background-position: 0px -384px;
+ }
+ .sceditor-button-indent div {
+ background-position: 0px -400px;
+ }
+ .sceditor-button-image div {
+ background-position: 0px -416px;
+ }
+ .sceditor-button-horizontalrule div {
+ background-position: 0px -432px;
+ }
+ .sceditor-button-format div {
+ background-position: 0px -448px;
+ }
+ .sceditor-button-font div {
+ background-position: 0px -464px;
+ }
+ .sceditor-button-emoticon div {
+ background-position: 0px -480px;
+ }
+ .sceditor-button-email div {
+ background-position: 0px -496px;
+ }
+ .sceditor-button-date div {
+ background-position: 0px -512px;
+ }
+ .sceditor-button-cut div {
+ background-position: 0px -528px;
+ }
+ .sceditor-button-copy div {
+ background-position: 0px -544px;
+ }
+ .sceditor-button-color div {
+ background-position: 0px -560px;
+ }
+ .sceditor-button-code div {
+ background-position: 0px -576px;
+ }
+ .sceditor-button-center div {
+ background-position: 0px -592px;
+ }
+ .sceditor-button-bulletlist div {
+ background-position: 0px -608px;
+ }
+ .sceditor-button-bold div {
+ background-position: 0px -624px;
+ }
+ div.sceditor-grip {
+ background-position: 0px -640px;
+ width: 10px;
+ height: 10px;
+ }
+ .rtl div.sceditor-grip {
+ background-position: 0px -650px;
+ }
+ /**
+ * SCEditor
+ * http://www.sceditor.com/
+ *
+ * Copyright (C) 2017, Sam Clarke (samclarke.com)
+ *
+ * SCEditor is licensed under the MIT license:
+ * http://www.opensource.org/licenses/mit-license.php
+ */
+ /*---------------------------------------------------
+ LESS Elements 0.7
+ ---------------------------------------------------
+ A set of useful LESS mixins
+ More info at: http://lesselements.com
+ ---------------------------------------------------*/
+ .sceditor-container {
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ position: relative;
+ /*background: #fff;
+ border: 1px solid #d9d9d9;
+ font-size: 13px;
+ font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
+ color: #333;
+ line-height: 1;
+ font-weight: bold;
+ height: 250px;
+ border-radius: 4px;
+ background-clip: padding-box;*/
+ width: 100%;
+ min-height: 100px;
+ font-size: 14px;
+ line-height: 18px;
+ border: 1px solid #dddddd;
+ margin-bottom: 10px;
+ }
+ .sceditor-container *,
+ .sceditor-container *:before,
+ .sceditor-container *:after {
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ }
+ .sceditor-container,
+ .sceditor-container div,
+ div.sceditor-dropdown,
+ div.sceditor-dropdown div {
+ padding: 0;
+ margin: 0;
+ z-index: 3;
+ }
+ .sceditor-container iframe,
+ .sceditor-container textarea {
+ display: block;
+ -ms-flex: 1 1 0%;
+ flex: 1 1 0%;
+ line-height: 1.25;
+ border: 0;
+ outline: none;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #111;
+ padding: 0;
+ margin: 0px;
+ resize: none;
+ background: #fff;
+ height: auto !important;
+ width: auto !important;
+ width: calc(100% - 10px) !important;
+ min-height: 1px;
+ }
+ .sceditor-container textarea {
+ margin: 7px 5px;
+ }
+ div.sceditor-dnd-cover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ background: rgba(255, 255, 255, 0.2);
+ border: 5px dashed #aaa;
+ z-index: 200;
+ font-size: 2em;
+ text-align: center;
+ color: #aaa;
+ }
+ div.sceditor-dnd-cover p {
+ position: relative;
+ top: 45%;
+ pointer-events: none;
+ }
+ div.sceditor-resize-cover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ background: #000;
+ width: 100%;
+ height: 100%;
+ z-index: 10;
+ opacity: 0.3;
+ }
+ div.sceditor-grip {
+ overflow: hidden;
+ width: 10px;
+ height: 10px;
+ cursor: pointer;
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ z-index: 3;
+ line-height: 0;
+ }
+ div.sceditor-grip.has-icon {
+ background-image: none;
+ }
+ .sceditor-maximize {
+ position: fixed;
+ top: 0;
+ left: 0;
+ height: 100% !important;
+ width: 100% !important;
+ border-radius: 0;
+ background-clip: padding-box;
+ z-index: 2000;
+ }
+ html.sceditor-maximize,
+ body.sceditor-maximize {
+ height: 100%;
+ width: 100%;
+ padding: 0;
+ margin: 0;
+ overflow: hidden;
+ }
+ .sceditor-maximize div.sceditor-grip {
+ display: none;
+ }
+ .sceditor-maximize div.sceditor-toolbar {
+ border-radius: 0;
+ background-clip: padding-box;
+ }
+ /**
+ * Dropdown styleing
+ */
+ div.sceditor-dropdown {
+ position: absolute;
+ border: 1px solid #ccc;
+ background: #fff;
+ z-index: 4000;
+ padding: 10px;
+ font-weight: normal;
+ font-size: 15px;
+ border-radius: 2px;
+ background-clip: padding-box;
+ box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.2);
+ }
+ div.sceditor-dropdown *,
+ div.sceditor-dropdown *:before,
+ div.sceditor-dropdown *:after {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ }
+ div.sceditor-dropdown a,
+ div.sceditor-dropdown a:link {
+ color: #333;
+ }
+ div.sceditor-dropdown form {
+ margin: 0;
+ }
+ div.sceditor-dropdown label {
+ display: block;
+ font-weight: bold;
+ color: #3c3c3c;
+ padding: 4px 0;
+ }
+ div.sceditor-dropdown input,
+ div.sceditor-dropdown textarea {
+ font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
+ outline: 0;
+ padding: 4px;
+ border: 1px solid #ccc;
+ border-top-color: #888;
+ margin: 0 0 .75em;
+ border-radius: 1px;
+ background-clip: padding-box;
+ }
+ div.sceditor-dropdown textarea {
+ padding: 6px;
+ }
+ div.sceditor-dropdown input:focus,
+ div.sceditor-dropdown textarea:focus {
+ border-color: #aaa;
+ border-top-color: #666;
+ box-shadow: inset 0 1px 5px rgba(0, 0, 0, 0.1);
+ }
+ div.sceditor-dropdown .button {
+ font-weight: bold;
+ color: #444;
+ padding: 6px 12px;
+ background: #ececec;
+ border: solid 1px #ccc;
+ border-radius: 2px;
+ background-clip: padding-box;
+ cursor: pointer;
+ margin: .3em 0 0;
+ }
+ div.sceditor-dropdown .button:hover {
+ background: #f3f3f3;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
+ }
+ div.sceditor-font-picker,
+ div.sceditor-fontsize-picker,
+ div.sceditor-format {
+ padding: 6px 0;
+ }
+ div.sceditor-color-picker {
+ padding: 4px;
+ }
+ div.sceditor-emoticons,
+ div.sceditor-more-emoticons {
+ padding: 0;
+ }
+ .sceditor-pastetext textarea {
+ border: 1px solid #bbb;
+ width: 20em;
+ }
+ .sceditor-emoticons img,
+ .sceditor-more-emoticons img {
+ padding: 0;
+ cursor: pointer;
+ margin: 2px;
+ }
+ .sceditor-more {
+ border-top: 1px solid #bbb;
+ display: block;
+ text-align: center;
+ cursor: pointer;
+ font-weight: bold;
+ padding: 6px 0;
+ }
+ .sceditor-dropdown a:hover {
+ background: #eee;
+ }
+ .sceditor-fontsize-option,
+ .sceditor-font-option,
+ .sceditor-format a {
+ display: block;
+ padding: 7px 10px;
+ cursor: pointer;
+ text-decoration: none;
+ color: #222;
+ }
+ .sceditor-fontsize-option {
+ padding: 7px 13px;
+ }
+ .sceditor-color-column {
+ float: left;
+ }
+ .sceditor-color-option {
+ display: block;
+ border: 2px solid #fff;
+ height: 18px;
+ width: 18px;
+ overflow: hidden;
+ }
+ .sceditor-color-option:hover {
+ border: 1px solid #aaa;
+ }
+ /**
+ * Toolbar styleing
+ */
+ div.sceditor-toolbar {
+ flex-shrink: 0;
+ overflow: hidden;
+ padding: 3px 5px 2px;
+ /*background: #f7f7f7;
+ border-bottom: 1px solid #c0c0c0;*/
+ line-height: 0;
+ text-align: left;
+ user-select: none;
+ border-radius: 3px 3px 0 0;
+ background-clip: padding-box;
+ }
+ div.sceditor-group {
+ display: inline-block;
+ /*background: #ddd;*/
+ margin: 1px 5px 1px 0;
+ padding: 1px;
+ /*border-bottom: 1px solid #aaa;*/
+ border-radius: 3px;
+ background-clip: padding-box;
+ }
+ .sceditor-button {
+ float: left;
+ cursor: pointer;
+ padding: 3px 5px;
+ width: 22px;
+ height: 20px;
+ background-clip: padding-box;
+ background: #ddd;
+ display: flex !important;
+ align-items: center;
+ justify-content: center;
+ }
+ .sceditor-button:first-child {
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+ }
+ .sceditor-button:last-child {
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px;
+ }
+ .sceditor-button:hover,
+ .sceditor-button:active,
+ .sceditor-button.active {
+ background: #fff;
+ box-shadow: inset 1px 1px 0 rgba(0,0,0,0.3), inset -1px 0 rgba(0,0,0,0.3), inset 0 -1px 0 rgba(0,0,0,0.2);
+ }
+ .sceditor-button:active {
+ background: #fff;
+ box-shadow: inset 1px 1px 0 rgba(0,0,0,0.3), inset -1px 0 rgba(0,0,0,0.3), inset 0 -1px 0 rgba(0,0,0,0.2), inset 0 0 8px rgba(0,0,0,0.3);
+ }
+ .sceditor-button.disabled:hover {
+ background: inherit;
+ cursor: default;
+ box-shadow: none;
+ }
+ .sceditor-button,
+ .sceditor-button div {
+ display: block;
+ }
+ .sceditor-button svg {
+ display: inline-block;
+ height: 12px;
+ width: 12px;
+ margin: 2px 0;
+ fill: #111;
+ text-decoration: none;
+ pointer-events: none;
+ line-height: 1;
+ }
+ .sceditor-button.disabled svg {
+ fill: #888;
+ }
+ .sceditor-button div {
+ display: inline-block;
+ margin: 2px 0;
+ padding: 0;
+ overflow: hidden;
+ line-height: 0;
+ font-size: 0;
+ color: transparent;
+ }
+ .sceditor-button.has-icon div {
+ display: none;
+ }
+ .sceditor-button.disabled div {
+ opacity: 0.3;
+ }
+ .text .sceditor-button,
+ .text .sceditor-button div,
+ .sceditor-button.text,
+ .sceditor-button.text div,
+ .text-icon .sceditor-button,
+ .text-icon .sceditor-button div,
+ .sceditor-button.text-icon,
+ .sceditor-button.text-icon div {
+ display: inline-block;
+ width: auto;
+ line-height: 16px;
+ font-size: 1em;
+ color: inherit;
+ text-indent: 0;
+ }
+ .text-icon .sceditor-button.has-icon div,
+ .sceditor-button.has-icon div,
+ .text .sceditor-button div,
+ .sceditor-button.text div {
+ padding: 0 2px;
+ background: none;
+ }
+ .text .sceditor-button svg,
+ .sceditor-button.text svg {
+ display: none;
+ }
+ .text-icon .sceditor-button div,
+ .sceditor-button.text-icon div {
+ padding: 0 2px 0 20px;
+ }
+ .rtl div.sceditor-toolbar {
+ text-align: right;
+ }
+ .rtl .sceditor-button {
+ float: right;
+ }
+ .rtl div.sceditor-grip {
+ right: auto;
+ left: 0;
+ }
+
\ No newline at end of file
diff --git a/assets/css/components/posts/form.css b/assets/css/components/posts/form.css
index 9a736456..14eb11b3 100644
--- a/assets/css/components/posts/form.css
+++ b/assets/css/components/posts/form.css
@@ -17,6 +17,9 @@
margin-bottom: 10px;
}
+.post-form .new-message-content-container {
+ margin-bottom: 15px;
+}
/**
* Message type chooser
diff --git a/assets/js/components/posts/edit.js b/assets/js/components/posts/edit.js
index e4a33336..574ffc3b 100644
--- a/assets/js/components/posts/edit.js
+++ b/assets/js/components/posts/edit.js
@@ -117,7 +117,9 @@ ComunicWeb.components.posts.edit = {
format: 'bbcode',
height: "200px",
width: "100%",
- toolbarExclude: "youtube,image,size,link"
+ icons: "material",
+ style: ComunicWeb.components.posts.form.sceditor_stylsheet,
+ toolbarExclude: "youtube,image,size,link,print,mail,emoticon,maximize"
});
//Create function to close modal
diff --git a/assets/js/components/posts/form.js b/assets/js/components/posts/form.js
index ee7580b5..26b10a9b 100644
--- a/assets/js/components/posts/form.js
+++ b/assets/js/components/posts/form.js
@@ -6,6 +6,11 @@
ComunicWeb.components.posts.form = {
+ /**
+ * SCEDITOR common options
+ */
+ sceditor_stylsheet: "data:text/css;raw, body {font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif;font-size: 14px;line-height: 1.42857143;}",
+
/**
* Display post creation form
*
@@ -51,16 +56,21 @@ ComunicWeb.components.posts.form = {
var inputMessageToolbarTarget = createElem2({
appendTo: newPostMessageContener,
- type: "div"
+ type: "div",
+ class: "new-message-content-container"
});
sceditor.create(inputMessageTextarea, {
format: 'bbcode',
- height: "200px",
+ height: "100px",
width: "100%",
- toolbar: 'bold,italic,underline,subscript,superscript|' +
- 'left,center,right,justify|color|' +
- 'bulletlist,orderedlist|table,code,quote|source',
+ toolbar: 'bold,italic,underline,subscript,superscript,' +
+ 'left,center,right,justify,color,' +
+ 'bulletlist,orderedlist,table,code,quote,source',
+ emoticonsEnabled: false,
+ icons: "material",
+ //Hack : style a little iframe
+ style: this.sceditor_stylsheet,
toolbarContainer: inputMessageToolbarTarget
});
diff --git a/system/config/dev.config.php b/system/config/dev.config.php
index 715ec177..683172fa 100644
--- a/system/config/dev.config.php
+++ b/system/config/dev.config.php
@@ -75,7 +75,7 @@ class Dev {
"3rdparty/wdt-emoji/wdt-emoji-bundle.css",
//SCEditor (BBCode editor)
- "3rdparty/sceditor/themes/default.min.css"
+ "css/common/custom-sceditor.css"
);
/**
@@ -154,6 +154,7 @@ class Dev {
"3rdparty/sceditor/sceditor.min.js",
"3rdparty/sceditor/formats/bbcode.js",
"3rdparty/sceditor/formats/xhtml.js",
+ "3rdparty/sceditor/icons/material.js",
//JS BBCode Parser
"3rdparty/js-bbcode-parser/bbcode-config.js",