spiderfw 0.6.38 → 0.6.39
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +13 -5
- data/CHANGELOG +23 -0
- data/VERSION +1 -1
- data/apps/core/admin/views/admin.layout.shtml +6 -0
- data/apps/core/auth/controllers/login_controller.rb +1 -1
- data/apps/core/components/assets.rb +55 -6
- data/apps/core/components/public/bootstrap/scss/_variables.scss +5 -2
- data/apps/core/components/public/bootstrap/scss/bootstrap.css +942 -236
- data/apps/core/components/public/bootstrap/scss/responsive.css +187 -30
- data/apps/core/components/public/css/tinymce/skins/lightgray/AbsoluteLayout.less +17 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Animations.less +10 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Button.less +172 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/ButtonGroup.less +71 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Checkbox.less +49 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/ColorBox.less +6 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/ColorButton.less +72 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/ColorPicker.less +80 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/ComboBox.less +39 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Container.less +9 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Content.Inline.less +4 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Content.Objects.less +166 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Content.less +27 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/CropRect.less +54 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/FieldSet.less +15 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/FitLayout.less +9 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/FloatPanel.less +69 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/FlowLayout.less +36 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Icons.Ie7.less +136 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Icons.less +180 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Iframe.less +6 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/ImagePanel.less +20 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/InfoBox.less +71 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Label.less +38 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/ListBox.less +26 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Menu.less +34 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/MenuBar.less +32 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/MenuButton.less +34 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/MenuItem.less +142 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Mixins.less +54 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Notification.less +144 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Panel.less +7 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Path.less +45 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Progress.less +34 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Radio.less +1 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Reset.less +32 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/ResizeHandle.less +18 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Scrollable.less +44 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/SelectBox.less +6 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Slider.less +29 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Spacer.less +5 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/SplitButton.less +49 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/StackLayout.less +5 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/TabPanel.less +44 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/TextBox.less +41 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Throbber.less +19 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/TinyMCE.less +159 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/ToolTip.less +129 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Variables.less +214 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/Window.less +127 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/content.inline.min.css +1 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/content.min.css +1 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/fonts/readme.md +1 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/fonts/tinymce-small.eot +0 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/fonts/tinymce-small.json +1277 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/fonts/tinymce-small.svg +63 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/fonts/tinymce-small.ttf +0 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/fonts/tinymce-small.woff +0 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/fonts/tinymce.json +3381 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/fonts/tinymce.svg +129 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/img/anchor.gif +0 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/img/loader.gif +0 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/img/object.gif +0 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/img/trans.gif +0 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/skin.dev.less +46 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/skin.ie7.dev.less +46 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/skin.ie7.less +2542 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/skin.ie7.min.css +1 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/skin.less +2586 -0
- data/apps/core/components/public/css/tinymce/skins/lightgray/skin.min.css +1 -0
- data/apps/core/components/public/js/bootbox_2/bootbox.js +551 -0
- data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-it-min.js +4 -0
- data/apps/core/components/public/js/spider.js +7 -3
- data/apps/core/components/public/js/tinymce/classes/AddOnManager.js +265 -0
- data/apps/core/components/public/js/tinymce/classes/Compat.js +90 -0
- data/apps/core/components/public/js/tinymce/classes/DragDropOverrides.js +224 -0
- data/apps/core/components/public/js/tinymce/classes/Editor.js +2221 -0
- data/apps/core/components/public/js/tinymce/classes/EditorCommands.js +1028 -0
- data/apps/core/components/public/js/tinymce/classes/EditorManager.js +715 -0
- data/apps/core/components/public/js/tinymce/classes/EditorObservable.js +204 -0
- data/apps/core/components/public/js/tinymce/classes/EditorUpload.js +191 -0
- data/apps/core/components/public/js/tinymce/classes/EnterKey.js +676 -0
- data/apps/core/components/public/js/tinymce/classes/Env.js +177 -0
- data/apps/core/components/public/js/tinymce/classes/FocusManager.js +266 -0
- data/apps/core/components/public/js/tinymce/classes/ForceBlocks.js +138 -0
- data/apps/core/components/public/js/tinymce/classes/Formatter.js +2378 -0
- data/apps/core/components/public/js/tinymce/classes/LegacyInput.js +82 -0
- data/apps/core/components/public/js/tinymce/classes/Mode.js +54 -0
- data/apps/core/components/public/js/tinymce/classes/NodeChange.js +154 -0
- data/apps/core/components/public/js/tinymce/classes/NotificationManager.js +156 -0
- data/apps/core/components/public/js/tinymce/classes/Register.js +34 -0
- data/apps/core/components/public/js/tinymce/classes/SelectionOverrides.js +810 -0
- data/apps/core/components/public/js/tinymce/classes/Shortcuts.js +172 -0
- data/apps/core/components/public/js/tinymce/classes/UndoManager.js +346 -0
- data/apps/core/components/public/js/tinymce/classes/WindowManager.js +278 -0
- data/apps/core/components/public/js/tinymce/classes/caret/CaretBookmark.js +263 -0
- data/apps/core/components/public/js/tinymce/classes/caret/CaretCandidate.js +86 -0
- data/apps/core/components/public/js/tinymce/classes/caret/CaretContainer.js +151 -0
- data/apps/core/components/public/js/tinymce/classes/caret/CaretPosition.js +371 -0
- data/apps/core/components/public/js/tinymce/classes/caret/CaretUtils.js +302 -0
- data/apps/core/components/public/js/tinymce/classes/caret/CaretWalker.js +215 -0
- data/apps/core/components/public/js/tinymce/classes/caret/FakeCaret.js +192 -0
- data/apps/core/components/public/js/tinymce/classes/caret/LineUtils.js +135 -0
- data/apps/core/components/public/js/tinymce/classes/caret/LineWalker.js +166 -0
- data/apps/core/components/public/js/tinymce/classes/data/Binding.js +79 -0
- data/apps/core/components/public/js/tinymce/classes/data/ObservableArray.js +196 -0
- data/apps/core/components/public/js/tinymce/classes/data/ObservableObject.js +194 -0
- data/apps/core/components/public/js/tinymce/classes/dom/BookmarkManager.js +456 -0
- data/apps/core/components/public/js/tinymce/classes/dom/ControlSelection.js +634 -0
- data/apps/core/components/public/js/tinymce/classes/dom/DOMUtils.js +1853 -0
- data/apps/core/components/public/js/tinymce/classes/dom/Dimensions.js +64 -0
- data/apps/core/components/public/js/tinymce/classes/dom/DomQuery.js +1578 -0
- data/apps/core/components/public/js/tinymce/classes/dom/ElementUtils.js +118 -0
- data/apps/core/components/public/js/tinymce/classes/dom/EventUtils.js +583 -0
- data/apps/core/components/public/js/tinymce/classes/dom/NodePath.js +50 -0
- data/apps/core/components/public/js/tinymce/classes/dom/NodeType.js +110 -0
- data/apps/core/components/public/js/tinymce/classes/dom/Range.js +785 -0
- data/apps/core/components/public/js/tinymce/classes/dom/RangeUtils.js +628 -0
- data/apps/core/components/public/js/tinymce/classes/dom/ScriptLoader.js +254 -0
- data/apps/core/components/public/js/tinymce/classes/dom/Selection.js +1008 -0
- data/apps/core/components/public/js/tinymce/classes/dom/Serializer.js +506 -0
- data/apps/core/components/public/js/tinymce/classes/dom/Sizzle.jQuery.js +23 -0
- data/apps/core/components/public/js/tinymce/classes/dom/Sizzle.js +2039 -0
- data/apps/core/components/public/js/tinymce/classes/dom/StyleSheetLoader.js +190 -0
- data/apps/core/components/public/js/tinymce/classes/dom/TreeWalker.js +127 -0
- data/apps/core/components/public/js/tinymce/classes/dom/TridentSelection.js +508 -0
- data/apps/core/components/public/js/tinymce/classes/file/BlobCache.js +72 -0
- data/apps/core/components/public/js/tinymce/classes/file/Conversions.js +106 -0
- data/apps/core/components/public/js/tinymce/classes/file/ImageScanner.js +145 -0
- data/apps/core/components/public/js/tinymce/classes/file/Uploader.js +193 -0
- data/apps/core/components/public/js/tinymce/classes/fmt/Hooks.js +66 -0
- data/apps/core/components/public/js/tinymce/classes/fmt/Preview.js +151 -0
- data/apps/core/components/public/js/tinymce/classes/geom/ClientRect.js +136 -0
- data/apps/core/components/public/js/tinymce/classes/geom/Rect.js +214 -0
- data/apps/core/components/public/js/tinymce/classes/html/DomParser.js +822 -0
- data/apps/core/components/public/js/tinymce/classes/html/Entities.js +268 -0
- data/apps/core/components/public/js/tinymce/classes/html/Node.js +496 -0
- data/apps/core/components/public/js/tinymce/classes/html/SaxParser.js +474 -0
- data/apps/core/components/public/js/tinymce/classes/html/Schema.js +1004 -0
- data/apps/core/components/public/js/tinymce/classes/html/Serializer.js +158 -0
- data/apps/core/components/public/js/tinymce/classes/html/Styles.js +363 -0
- data/apps/core/components/public/js/tinymce/classes/html/Writer.js +199 -0
- data/apps/core/components/public/js/tinymce/classes/jquery.tinymce.js +377 -0
- data/apps/core/components/public/js/tinymce/classes/text/ExtendingChar.js +53 -0
- data/apps/core/components/public/js/tinymce/classes/text/Zwsp.js +36 -0
- data/apps/core/components/public/js/tinymce/classes/ui/AbsoluteLayout.js +63 -0
- data/apps/core/components/public/js/tinymce/classes/ui/BoxUtils.js +98 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Button.js +199 -0
- data/apps/core/components/public/js/tinymce/classes/ui/ButtonGroup.js +62 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Checkbox.js +162 -0
- data/apps/core/components/public/js/tinymce/classes/ui/ClassList.js +149 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Collection.js +438 -0
- data/apps/core/components/public/js/tinymce/classes/ui/ColorBox.js +72 -0
- data/apps/core/components/public/js/tinymce/classes/ui/ColorButton.js +124 -0
- data/apps/core/components/public/js/tinymce/classes/ui/ColorPicker.js +206 -0
- data/apps/core/components/public/js/tinymce/classes/ui/ComboBox.js +306 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Container.js +506 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Control.js +1301 -0
- data/apps/core/components/public/js/tinymce/classes/ui/DomUtils.js +107 -0
- data/apps/core/components/public/js/tinymce/classes/ui/DragHelper.js +144 -0
- data/apps/core/components/public/js/tinymce/classes/ui/ElementPath.js +79 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Factory.js +105 -0
- data/apps/core/components/public/js/tinymce/classes/ui/FieldSet.js +59 -0
- data/apps/core/components/public/js/tinymce/classes/ui/FilePicker.js +85 -0
- data/apps/core/components/public/js/tinymce/classes/ui/FitLayout.js +48 -0
- data/apps/core/components/public/js/tinymce/classes/ui/FlexLayout.js +246 -0
- data/apps/core/components/public/js/tinymce/classes/ui/FloatPanel.js +409 -0
- data/apps/core/components/public/js/tinymce/classes/ui/FlowLayout.js +46 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Form.js +157 -0
- data/apps/core/components/public/js/tinymce/classes/ui/FormItem.js +56 -0
- data/apps/core/components/public/js/tinymce/classes/ui/FormatControls.js +535 -0
- data/apps/core/components/public/js/tinymce/classes/ui/GridLayout.js +233 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Iframe.js +85 -0
- data/apps/core/components/public/js/tinymce/classes/ui/InfoBox.js +93 -0
- data/apps/core/components/public/js/tinymce/classes/ui/KeyboardNavigation.js +406 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Label.js +144 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Layout.js +120 -0
- data/apps/core/components/public/js/tinymce/classes/ui/ListBox.js +152 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Menu.js +195 -0
- data/apps/core/components/public/js/tinymce/classes/ui/MenuBar.js +33 -0
- data/apps/core/components/public/js/tinymce/classes/ui/MenuButton.js +268 -0
- data/apps/core/components/public/js/tinymce/classes/ui/MenuItem.js +336 -0
- data/apps/core/components/public/js/tinymce/classes/ui/MessageBox.js +202 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Movable.js +200 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Notification.js +154 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Panel.js +67 -0
- data/apps/core/components/public/js/tinymce/classes/ui/PanelButton.js +114 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Path.js +127 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Progress.js +81 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Radio.js +29 -0
- data/apps/core/components/public/js/tinymce/classes/ui/ReflowQueue.js +79 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Resizable.js +68 -0
- data/apps/core/components/public/js/tinymce/classes/ui/ResizeHandle.js +86 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Scrollable.js +141 -0
- data/apps/core/components/public/js/tinymce/classes/ui/SelectBox.js +106 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Selector.js +369 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Slider.js +161 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Spacer.js +39 -0
- data/apps/core/components/public/js/tinymce/classes/ui/SplitButton.js +146 -0
- data/apps/core/components/public/js/tinymce/classes/ui/StackLayout.js +34 -0
- data/apps/core/components/public/js/tinymce/classes/ui/TabPanel.js +178 -0
- data/apps/core/components/public/js/tinymce/classes/ui/TextBox.js +208 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Throbber.js +88 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Toolbar.js +56 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Tooltip.js +73 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Widget.js +151 -0
- data/apps/core/components/public/js/tinymce/classes/ui/Window.js +474 -0
- data/apps/core/components/public/js/tinymce/classes/util/Arr.js +153 -0
- data/apps/core/components/public/js/tinymce/classes/util/Class.js +167 -0
- data/apps/core/components/public/js/tinymce/classes/util/Color.js +235 -0
- data/apps/core/components/public/js/tinymce/classes/util/Delay.js +191 -0
- data/apps/core/components/public/js/tinymce/classes/util/EventDispatcher.js +294 -0
- data/apps/core/components/public/js/tinymce/classes/util/Fun.js +87 -0
- data/apps/core/components/public/js/tinymce/classes/util/I18n.js +116 -0
- data/apps/core/components/public/js/tinymce/classes/util/JSON.js +109 -0
- data/apps/core/components/public/js/tinymce/classes/util/JSONP.js +38 -0
- data/apps/core/components/public/js/tinymce/classes/util/JSONRequest.js +110 -0
- data/apps/core/components/public/js/tinymce/classes/util/LocalStorage.js +213 -0
- data/apps/core/components/public/js/tinymce/classes/util/Observable.js +129 -0
- data/apps/core/components/public/js/tinymce/classes/util/Promise.js +200 -0
- data/apps/core/components/public/js/tinymce/classes/util/Quirks.js +1701 -0
- data/apps/core/components/public/js/tinymce/classes/util/Tools.js +442 -0
- data/apps/core/components/public/js/tinymce/classes/util/URI.js +411 -0
- data/apps/core/components/public/js/tinymce/classes/util/VK.js +37 -0
- data/apps/core/components/public/js/tinymce/classes/util/XHR.js +110 -0
- data/apps/core/components/public/js/tinymce/jquery.tinymce.min.js +1 -0
- data/apps/core/components/public/js/tinymce/langs/it.js +219 -0
- data/apps/core/components/public/js/tinymce/langs/readme.md +3 -0
- data/apps/core/components/public/js/tinymce/license.txt +504 -0
- data/apps/core/components/public/js/tinymce/plugins/advlist/plugin.js +97 -0
- data/apps/core/components/public/js/tinymce/plugins/advlist/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/anchor/plugin.js +55 -0
- data/apps/core/components/public/js/tinymce/plugins/anchor/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/autolink/plugin.js +204 -0
- data/apps/core/components/public/js/tinymce/plugins/autolink/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/autoresize/plugin.js +162 -0
- data/apps/core/components/public/js/tinymce/plugins/autoresize/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/autosave/plugin.js +165 -0
- data/apps/core/components/public/js/tinymce/plugins/autosave/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/bbcode/plugin.js +123 -0
- data/apps/core/components/public/js/tinymce/plugins/bbcode/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/charmap/plugin.js +450 -0
- data/apps/core/components/public/js/tinymce/plugins/charmap/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/code/plugin.js +60 -0
- data/apps/core/components/public/js/tinymce/plugins/code/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/codesample/classes/Dialog.js +121 -0
- data/apps/core/components/public/js/tinymce/plugins/codesample/classes/Plugin.js +95 -0
- data/apps/core/components/public/js/tinymce/plugins/codesample/classes/Prism.js +937 -0
- data/apps/core/components/public/js/tinymce/plugins/codesample/classes/Utils.js +33 -0
- data/apps/core/components/public/js/tinymce/plugins/codesample/css/prism.css +138 -0
- data/apps/core/components/public/js/tinymce/plugins/codesample/plugin.dev.js +141 -0
- data/apps/core/components/public/js/tinymce/plugins/codesample/plugin.js +1299 -0
- data/apps/core/components/public/js/tinymce/plugins/codesample/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/colorpicker/plugin.js +112 -0
- data/apps/core/components/public/js/tinymce/plugins/colorpicker/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/compat3x/css/dialog.css +118 -0
- data/apps/core/components/public/js/tinymce/plugins/compat3x/img/buttons.png +0 -0
- data/apps/core/components/public/js/tinymce/plugins/compat3x/img/icons.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/compat3x/img/items.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/compat3x/img/menu_arrow.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/compat3x/img/menu_check.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/compat3x/img/progress.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/compat3x/img/tabs.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/compat3x/plugin.js +297 -0
- data/apps/core/components/public/js/tinymce/plugins/compat3x/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/compat3x/tiny_mce_popup.js +542 -0
- data/apps/core/components/public/js/tinymce/plugins/compat3x/utils/editable_selects.js +70 -0
- data/apps/core/components/public/js/tinymce/plugins/compat3x/utils/form_utils.js +210 -0
- data/apps/core/components/public/js/tinymce/plugins/compat3x/utils/mctabs.js +164 -0
- data/apps/core/components/public/js/tinymce/plugins/compat3x/utils/validate.js +252 -0
- data/apps/core/components/public/js/tinymce/plugins/contextmenu/plugin.js +88 -0
- data/apps/core/components/public/js/tinymce/plugins/contextmenu/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/directionality/plugin.js +64 -0
- data/apps/core/components/public/js/tinymce/plugins/directionality/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/img/smiley-cool.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/img/smiley-cry.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/img/smiley-embarassed.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/img/smiley-frown.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/img/smiley-innocent.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/img/smiley-kiss.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/img/smiley-laughing.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/img/smiley-money-mouth.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/img/smiley-sealed.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/img/smiley-smile.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/img/smiley-surprised.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/img/smiley-tongue-out.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/img/smiley-undecided.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/img/smiley-wink.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/img/smiley-yell.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/plugin.js +65 -0
- data/apps/core/components/public/js/tinymce/plugins/emoticons/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/example/dialog.html +8 -0
- data/apps/core/components/public/js/tinymce/plugins/example/plugin.js +68 -0
- data/apps/core/components/public/js/tinymce/plugins/example/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/example_dependency/plugin.js +22 -0
- data/apps/core/components/public/js/tinymce/plugins/example_dependency/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/fullpage/plugin.js +490 -0
- data/apps/core/components/public/js/tinymce/plugins/fullpage/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/fullscreen/plugin.js +154 -0
- data/apps/core/components/public/js/tinymce/plugins/fullscreen/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/hr/plugin.js +30 -0
- data/apps/core/components/public/js/tinymce/plugins/hr/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/image/plugin.js +630 -0
- data/apps/core/components/public/js/tinymce/plugins/image/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/imagetools/config/bolt/atomic.js +6 -0
- data/apps/core/components/public/js/tinymce/plugins/imagetools/config/bolt/browser.js +6 -0
- data/apps/core/components/public/js/tinymce/plugins/imagetools/config/bolt/demo.js +8 -0
- data/apps/core/components/public/js/tinymce/plugins/imagetools/config/bolt/prod.js +6 -0
- data/apps/core/components/public/js/tinymce/plugins/imagetools/plugin.js +2668 -0
- data/apps/core/components/public/js/tinymce/plugins/imagetools/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/imagetools/src/demo/html/demo.html +16 -0
- data/apps/core/components/public/js/tinymce/plugins/imagetools/src/demo/js/Demo.js +92 -0
- data/apps/core/components/public/js/tinymce/plugins/imagetools/src/main/js/CropRect.js +214 -0
- data/apps/core/components/public/js/tinymce/plugins/imagetools/src/main/js/Dialog.js +485 -0
- data/apps/core/components/public/js/tinymce/plugins/imagetools/src/main/js/ImagePanel.js +218 -0
- data/apps/core/components/public/js/tinymce/plugins/imagetools/src/main/js/Plugin.js +411 -0
- data/apps/core/components/public/js/tinymce/plugins/imagetools/src/main/js/UndoStack.js +57 -0
- data/apps/core/components/public/js/tinymce/plugins/importcss/plugin.js +227 -0
- data/apps/core/components/public/js/tinymce/plugins/importcss/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/insertdatetime/plugin.js +121 -0
- data/apps/core/components/public/js/tinymce/plugins/insertdatetime/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/layer/plugin.js +225 -0
- data/apps/core/components/public/js/tinymce/plugins/layer/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/legacyoutput/plugin.js +211 -0
- data/apps/core/components/public/js/tinymce/plugins/legacyoutput/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/link/plugin.js +403 -0
- data/apps/core/components/public/js/tinymce/plugins/link/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/lists/plugin.js +885 -0
- data/apps/core/components/public/js/tinymce/plugins/lists/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/media/moxieplayer.swf +0 -0
- data/apps/core/components/public/js/tinymce/plugins/media/plugin.js +878 -0
- data/apps/core/components/public/js/tinymce/plugins/media/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/nonbreaking/plugin.js +53 -0
- data/apps/core/components/public/js/tinymce/plugins/nonbreaking/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/noneditable/plugin.js +101 -0
- data/apps/core/components/public/js/tinymce/plugins/noneditable/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/pagebreak/plugin.js +88 -0
- data/apps/core/components/public/js/tinymce/plugins/pagebreak/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/paste/classes/Clipboard.js +672 -0
- data/apps/core/components/public/js/tinymce/plugins/paste/classes/Plugin.js +121 -0
- data/apps/core/components/public/js/tinymce/plugins/paste/classes/Quirks.js +159 -0
- data/apps/core/components/public/js/tinymce/plugins/paste/classes/Utils.js +140 -0
- data/apps/core/components/public/js/tinymce/plugins/paste/classes/WordFilter.js +500 -0
- data/apps/core/components/public/js/tinymce/plugins/paste/plugin.dev.js +142 -0
- data/apps/core/components/public/js/tinymce/plugins/paste/plugin.js +1708 -0
- data/apps/core/components/public/js/tinymce/plugins/paste/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/preview/plugin.js +88 -0
- data/apps/core/components/public/js/tinymce/plugins/preview/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/print/plugin.js +32 -0
- data/apps/core/components/public/js/tinymce/plugins/print/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/save/plugin.js +98 -0
- data/apps/core/components/public/js/tinymce/plugins/save/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/searchreplace/plugin.js +609 -0
- data/apps/core/components/public/js/tinymce/plugins/searchreplace/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/spellchecker/classes/DomTextMatcher.js +480 -0
- data/apps/core/components/public/js/tinymce/plugins/spellchecker/classes/Plugin.js +439 -0
- data/apps/core/components/public/js/tinymce/plugins/spellchecker/plugin.dev.js +139 -0
- data/apps/core/components/public/js/tinymce/plugins/spellchecker/plugin.js +1026 -0
- data/apps/core/components/public/js/tinymce/plugins/spellchecker/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/tabfocus/plugin.js +120 -0
- data/apps/core/components/public/js/tinymce/plugins/tabfocus/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/table/classes/CellSelection.js +202 -0
- data/apps/core/components/public/js/tinymce/plugins/table/classes/Dialogs.js +824 -0
- data/apps/core/components/public/js/tinymce/plugins/table/classes/Plugin.js +599 -0
- data/apps/core/components/public/js/tinymce/plugins/table/classes/Quirks.js +400 -0
- data/apps/core/components/public/js/tinymce/plugins/table/classes/ResizeBars.js +984 -0
- data/apps/core/components/public/js/tinymce/plugins/table/classes/TableGrid.js +941 -0
- data/apps/core/components/public/js/tinymce/plugins/table/classes/Utils.js +36 -0
- data/apps/core/components/public/js/tinymce/plugins/table/plugin.dev.js +142 -0
- data/apps/core/components/public/js/tinymce/plugins/table/plugin.js +4106 -0
- data/apps/core/components/public/js/tinymce/plugins/table/plugin.min.js +2 -0
- data/apps/core/components/public/js/tinymce/plugins/template/plugin.js +270 -0
- data/apps/core/components/public/js/tinymce/plugins/template/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/textcolor/plugin.js +282 -0
- data/apps/core/components/public/js/tinymce/plugins/textcolor/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/textpattern/plugin.js +268 -0
- data/apps/core/components/public/js/tinymce/plugins/textpattern/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/css/visualblocks.css +135 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/address.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/article.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/aside.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/blockquote.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/div.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/dl.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/figure.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/h1.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/h2.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/h3.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/h4.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/h5.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/h6.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/hgroup.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/ol.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/p.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/pre.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/section.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/img/ul.gif +0 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/plugin.js +86 -0
- data/apps/core/components/public/js/tinymce/plugins/visualblocks/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/visualchars/plugin.js +123 -0
- data/apps/core/components/public/js/tinymce/plugins/visualchars/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/plugins/wordcount/plugin.js +69 -0
- data/apps/core/components/public/js/tinymce/plugins/wordcount/plugin.min.js +1 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/AbsoluteLayout.less +17 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Animations.less +10 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Button.less +172 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/ButtonGroup.less +71 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Checkbox.less +49 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/ColorBox.less +6 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/ColorButton.less +72 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/ColorPicker.less +80 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/ComboBox.less +39 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Container.less +9 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Content.Inline.less +4 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Content.Objects.less +166 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Content.less +27 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/CropRect.less +54 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/FieldSet.less +15 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/FitLayout.less +9 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/FloatPanel.less +69 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/FlowLayout.less +36 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Icons.Ie7.less +136 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Icons.less +180 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Iframe.less +6 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/ImagePanel.less +20 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/InfoBox.less +71 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Label.less +38 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/ListBox.less +26 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Menu.less +34 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/MenuBar.less +32 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/MenuButton.less +34 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/MenuItem.less +142 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Mixins.less +54 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Notification.less +144 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Panel.less +7 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Path.less +45 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Progress.less +34 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Radio.less +1 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Reset.less +32 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/ResizeHandle.less +18 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Scrollable.less +44 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/SelectBox.less +6 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Slider.less +29 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Spacer.less +5 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/SplitButton.less +49 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/StackLayout.less +5 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/TabPanel.less +44 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/TextBox.less +41 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Throbber.less +19 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/TinyMCE.less +159 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/ToolTip.less +129 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Variables.less +214 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/Window.less +127 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/content.inline.min.css +1 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/content.min.css +1 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/fonts/readme.md +1 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/fonts/tinymce-small.eot +0 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/fonts/tinymce-small.json +1277 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/fonts/tinymce-small.svg +63 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/fonts/tinymce-small.ttf +0 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/fonts/tinymce-small.woff +0 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/fonts/tinymce.json +3381 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/fonts/tinymce.svg +129 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/img/anchor.gif +0 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/img/loader.gif +0 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/img/object.gif +0 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/img/trans.gif +0 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/skin.dev.less +46 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/skin.ie7.dev.less +46 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/skin.ie7.less +2542 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/skin.ie7.min.css +1 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/skin.less +2586 -0
- data/apps/core/components/public/js/tinymce/skins/lightgray/skin.min.css +1 -0
- data/apps/core/components/public/js/tinymce/themes/modern/theme.js +878 -0
- data/apps/core/components/public/js/tinymce/themes/modern/theme.min.js +1 -0
- data/apps/core/components/public/js/tinymce/tinymce.dev.js +286 -0
- data/apps/core/components/public/js/tinymce/tinymce.js +45811 -0
- data/apps/core/components/public/js/tinymce/tinymce.min.js +13 -0
- data/apps/core/forms/widgets/form/form.rb +3 -1
- data/apps/core/forms/widgets/form/form.shtml +1 -0
- data/apps/core/forms/widgets/inputs/search_select/search_select.rb +1 -1
- data/apps/core/forms/widgets/inputs/select/select.rb +1 -1
- data/apps/core/forms/widgets/inputs/select/select.shtml +0 -1
- data/apps/messenger/backends/sms/skebby.rb +1 -1
- data/apps/messenger/controllers/mixins/messenger_helper.rb +23 -5
- data/lib/spiderfw/config/options/spider.rb +1 -1
- data/lib/spiderfw/controller/mixins/visual.rb +2 -0
- data/lib/spiderfw/http/adapters/rack.rb +10 -5
- data/lib/spiderfw/http/http.rb +4 -2
- data/lib/spiderfw/model/base_model.rb +4 -4
- data/lib/spiderfw/model/mappers/db_mapper.rb +4 -2
- data/lib/spiderfw/model/storage/db/adapters/mysql.rb +2 -1
- data/lib/spiderfw/model/storage/db/db_storage.rb +4 -0
- data/lib/spiderfw/spider.rb +6 -0
- data/lib/spiderfw/templates/layout.rb +1 -1
- data/lib/spiderfw/utils/monkey/object.rb +3 -0
- data/spider.gemspec +6 -2
- metadata +539 -42
- data/blueprints/.DS_Store +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
tinymce.PluginManager.add("autoresize",function(a){function b(){return a.plugins.fullscreen&&a.plugins.fullscreen.isFullscreen()}function c(d){var g,h,i,j,k,l,m,n,o,p,q,r,s=tinymce.DOM;if(h=a.getDoc()){if(i=h.body,j=h.documentElement,k=e.autoresize_min_height,!i||d&&"setcontent"===d.type&&d.initial||b())return void(i&&j&&(i.style.overflowY="auto",j.style.overflowY="auto"));m=a.dom.getStyle(i,"margin-top",!0),n=a.dom.getStyle(i,"margin-bottom",!0),o=a.dom.getStyle(i,"padding-top",!0),p=a.dom.getStyle(i,"padding-bottom",!0),q=a.dom.getStyle(i,"border-top-width",!0),r=a.dom.getStyle(i,"border-bottom-width",!0),l=i.offsetHeight+parseInt(m,10)+parseInt(n,10)+parseInt(o,10)+parseInt(p,10)+parseInt(q,10)+parseInt(r,10),(isNaN(l)||0>=l)&&(l=tinymce.Env.ie?i.scrollHeight:tinymce.Env.webkit&&0===i.clientHeight?0:i.offsetHeight),l>e.autoresize_min_height&&(k=l),e.autoresize_max_height&&l>e.autoresize_max_height?(k=e.autoresize_max_height,i.style.overflowY="auto",j.style.overflowY="auto"):(i.style.overflowY="hidden",j.style.overflowY="hidden",i.scrollTop=0),k!==f&&(g=k-f,s.setStyle(a.iframeElement,"height",k+"px"),f=k,tinymce.isWebKit&&0>g&&c(d))}}function d(b,e,f){tinymce.util.Delay.setEditorTimeout(a,function(){c({}),b--?d(b,e,f):f&&f()},e)}var e=a.settings,f=0;a.settings.inline||(e.autoresize_min_height=parseInt(a.getParam("autoresize_min_height",a.getElement().offsetHeight),10),e.autoresize_max_height=parseInt(a.getParam("autoresize_max_height",0),10),a.on("init",function(){var b,c;b=a.getParam("autoresize_overflow_padding",1),c=a.getParam("autoresize_bottom_margin",50),b!==!1&&a.dom.setStyles(a.getBody(),{paddingLeft:b,paddingRight:b}),c!==!1&&a.dom.setStyles(a.getBody(),{paddingBottom:c})}),a.on("nodechange setcontent keyup FullscreenStateChanged",c),a.getParam("autoresize_on_init",!0)&&a.on("init",function(){d(20,100,function(){d(5,1e3)})}),a.addCommand("mceAutoResize",c))});
|
@@ -0,0 +1,165 @@
|
|
1
|
+
/**
|
2
|
+
* plugin.js
|
3
|
+
*
|
4
|
+
* Released under LGPL License.
|
5
|
+
* Copyright (c) 1999-2015 Ephox Corp. All rights reserved
|
6
|
+
*
|
7
|
+
* License: http://www.tinymce.com/license
|
8
|
+
* Contributing: http://www.tinymce.com/contributing
|
9
|
+
*/
|
10
|
+
|
11
|
+
/*global tinymce:true */
|
12
|
+
|
13
|
+
// Internal unload handler will be called before the page is unloaded
|
14
|
+
// Needs to be outside the plugin since it would otherwise keep
|
15
|
+
// a reference to editor in closue scope
|
16
|
+
/*eslint no-func-assign:0 */
|
17
|
+
tinymce._beforeUnloadHandler = function() {
|
18
|
+
var msg;
|
19
|
+
|
20
|
+
tinymce.each(tinymce.editors, function(editor) {
|
21
|
+
// Store a draft for each editor instance
|
22
|
+
if (editor.plugins.autosave) {
|
23
|
+
editor.plugins.autosave.storeDraft();
|
24
|
+
}
|
25
|
+
|
26
|
+
// Setup a return message if the editor is dirty
|
27
|
+
if (!msg && editor.isDirty() && editor.getParam("autosave_ask_before_unload", true)) {
|
28
|
+
msg = editor.translate("You have unsaved changes are you sure you want to navigate away?");
|
29
|
+
}
|
30
|
+
});
|
31
|
+
|
32
|
+
return msg;
|
33
|
+
};
|
34
|
+
|
35
|
+
tinymce.PluginManager.add('autosave', function(editor) {
|
36
|
+
var settings = editor.settings, LocalStorage = tinymce.util.LocalStorage, prefix, started;
|
37
|
+
|
38
|
+
prefix = settings.autosave_prefix || 'tinymce-autosave-{path}{query}-{id}-';
|
39
|
+
prefix = prefix.replace(/\{path\}/g, document.location.pathname);
|
40
|
+
prefix = prefix.replace(/\{query\}/g, document.location.search);
|
41
|
+
prefix = prefix.replace(/\{id\}/g, editor.id);
|
42
|
+
|
43
|
+
function parseTime(time, defaultTime) {
|
44
|
+
var multipels = {
|
45
|
+
s: 1000,
|
46
|
+
m: 60000
|
47
|
+
};
|
48
|
+
|
49
|
+
time = /^(\d+)([ms]?)$/.exec('' + (time || defaultTime));
|
50
|
+
|
51
|
+
return (time[2] ? multipels[time[2]] : 1) * parseInt(time, 10);
|
52
|
+
}
|
53
|
+
|
54
|
+
function hasDraft() {
|
55
|
+
var time = parseInt(LocalStorage.getItem(prefix + "time"), 10) || 0;
|
56
|
+
|
57
|
+
if (new Date().getTime() - time > settings.autosave_retention) {
|
58
|
+
removeDraft(false);
|
59
|
+
return false;
|
60
|
+
}
|
61
|
+
|
62
|
+
return true;
|
63
|
+
}
|
64
|
+
|
65
|
+
function removeDraft(fire) {
|
66
|
+
LocalStorage.removeItem(prefix + "draft");
|
67
|
+
LocalStorage.removeItem(prefix + "time");
|
68
|
+
|
69
|
+
if (fire !== false) {
|
70
|
+
editor.fire('RemoveDraft');
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
74
|
+
function storeDraft() {
|
75
|
+
if (!isEmpty() && editor.isDirty()) {
|
76
|
+
LocalStorage.setItem(prefix + "draft", editor.getContent({format: 'raw', no_events: true}));
|
77
|
+
LocalStorage.setItem(prefix + "time", new Date().getTime());
|
78
|
+
editor.fire('StoreDraft');
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
function restoreDraft() {
|
83
|
+
if (hasDraft()) {
|
84
|
+
editor.setContent(LocalStorage.getItem(prefix + "draft"), {format: 'raw'});
|
85
|
+
editor.fire('RestoreDraft');
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
function startStoreDraft() {
|
90
|
+
if (!started) {
|
91
|
+
setInterval(function() {
|
92
|
+
if (!editor.removed) {
|
93
|
+
storeDraft();
|
94
|
+
}
|
95
|
+
}, settings.autosave_interval);
|
96
|
+
|
97
|
+
started = true;
|
98
|
+
}
|
99
|
+
}
|
100
|
+
|
101
|
+
settings.autosave_interval = parseTime(settings.autosave_interval, '30s');
|
102
|
+
settings.autosave_retention = parseTime(settings.autosave_retention, '20m');
|
103
|
+
|
104
|
+
function postRender() {
|
105
|
+
var self = this;
|
106
|
+
|
107
|
+
self.disabled(!hasDraft());
|
108
|
+
|
109
|
+
editor.on('StoreDraft RestoreDraft RemoveDraft', function() {
|
110
|
+
self.disabled(!hasDraft());
|
111
|
+
});
|
112
|
+
|
113
|
+
startStoreDraft();
|
114
|
+
}
|
115
|
+
|
116
|
+
function restoreLastDraft() {
|
117
|
+
editor.undoManager.beforeChange();
|
118
|
+
restoreDraft();
|
119
|
+
removeDraft();
|
120
|
+
editor.undoManager.add();
|
121
|
+
}
|
122
|
+
|
123
|
+
editor.addButton('restoredraft', {
|
124
|
+
title: 'Restore last draft',
|
125
|
+
onclick: restoreLastDraft,
|
126
|
+
onPostRender: postRender
|
127
|
+
});
|
128
|
+
|
129
|
+
editor.addMenuItem('restoredraft', {
|
130
|
+
text: 'Restore last draft',
|
131
|
+
onclick: restoreLastDraft,
|
132
|
+
onPostRender: postRender,
|
133
|
+
context: 'file'
|
134
|
+
});
|
135
|
+
|
136
|
+
function isEmpty(html) {
|
137
|
+
var forcedRootBlockName = editor.settings.forced_root_block;
|
138
|
+
|
139
|
+
html = tinymce.trim(typeof html == "undefined" ? editor.getBody().innerHTML : html);
|
140
|
+
|
141
|
+
return html === '' || new RegExp(
|
142
|
+
'^<' + forcedRootBlockName + '[^>]*>((\u00a0| |[ \t]|<br[^>]*>)+?|)<\/' + forcedRootBlockName + '>|<br>$', 'i'
|
143
|
+
).test(html);
|
144
|
+
}
|
145
|
+
|
146
|
+
if (editor.settings.autosave_restore_when_empty !== false) {
|
147
|
+
editor.on('init', function() {
|
148
|
+
if (hasDraft() && isEmpty()) {
|
149
|
+
restoreDraft();
|
150
|
+
}
|
151
|
+
});
|
152
|
+
|
153
|
+
editor.on('saveContent', function() {
|
154
|
+
removeDraft();
|
155
|
+
});
|
156
|
+
}
|
157
|
+
|
158
|
+
window.onbeforeunload = tinymce._beforeUnloadHandler;
|
159
|
+
|
160
|
+
this.hasDraft = hasDraft;
|
161
|
+
this.storeDraft = storeDraft;
|
162
|
+
this.restoreDraft = restoreDraft;
|
163
|
+
this.removeDraft = removeDraft;
|
164
|
+
this.isEmpty = isEmpty;
|
165
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
tinymce._beforeUnloadHandler=function(){var a;return tinymce.each(tinymce.editors,function(b){b.plugins.autosave&&b.plugins.autosave.storeDraft(),!a&&b.isDirty()&&b.getParam("autosave_ask_before_unload",!0)&&(a=b.translate("You have unsaved changes are you sure you want to navigate away?"))}),a},tinymce.PluginManager.add("autosave",function(a){function b(a,b){var c={s:1e3,m:6e4};return a=/^(\d+)([ms]?)$/.exec(""+(a||b)),(a[2]?c[a[2]]:1)*parseInt(a,10)}function c(){var a=parseInt(n.getItem(k+"time"),10)||0;return(new Date).getTime()-a>m.autosave_retention?(d(!1),!1):!0}function d(b){n.removeItem(k+"draft"),n.removeItem(k+"time"),b!==!1&&a.fire("RemoveDraft")}function e(){!j()&&a.isDirty()&&(n.setItem(k+"draft",a.getContent({format:"raw",no_events:!0})),n.setItem(k+"time",(new Date).getTime()),a.fire("StoreDraft"))}function f(){c()&&(a.setContent(n.getItem(k+"draft"),{format:"raw"}),a.fire("RestoreDraft"))}function g(){l||(setInterval(function(){a.removed||e()},m.autosave_interval),l=!0)}function h(){var b=this;b.disabled(!c()),a.on("StoreDraft RestoreDraft RemoveDraft",function(){b.disabled(!c())}),g()}function i(){a.undoManager.beforeChange(),f(),d(),a.undoManager.add()}function j(b){var c=a.settings.forced_root_block;return b=tinymce.trim("undefined"==typeof b?a.getBody().innerHTML:b),""===b||new RegExp("^<"+c+"[^>]*>((\xa0| |[ ]|<br[^>]*>)+?|)</"+c+">|<br>$","i").test(b)}var k,l,m=a.settings,n=tinymce.util.LocalStorage;k=m.autosave_prefix||"tinymce-autosave-{path}{query}-{id}-",k=k.replace(/\{path\}/g,document.location.pathname),k=k.replace(/\{query\}/g,document.location.search),k=k.replace(/\{id\}/g,a.id),m.autosave_interval=b(m.autosave_interval,"30s"),m.autosave_retention=b(m.autosave_retention,"20m"),a.addButton("restoredraft",{title:"Restore last draft",onclick:i,onPostRender:h}),a.addMenuItem("restoredraft",{text:"Restore last draft",onclick:i,onPostRender:h,context:"file"}),a.settings.autosave_restore_when_empty!==!1&&(a.on("init",function(){c()&&j()&&f()}),a.on("saveContent",function(){d()})),window.onbeforeunload=tinymce._beforeUnloadHandler,this.hasDraft=c,this.storeDraft=e,this.restoreDraft=f,this.removeDraft=d,this.isEmpty=j});
|
@@ -0,0 +1,123 @@
|
|
1
|
+
/**
|
2
|
+
* plugin.js
|
3
|
+
*
|
4
|
+
* Released under LGPL License.
|
5
|
+
* Copyright (c) 1999-2015 Ephox Corp. All rights reserved
|
6
|
+
*
|
7
|
+
* License: http://www.tinymce.com/license
|
8
|
+
* Contributing: http://www.tinymce.com/contributing
|
9
|
+
*/
|
10
|
+
|
11
|
+
/*global tinymce:true */
|
12
|
+
|
13
|
+
(function() {
|
14
|
+
tinymce.create('tinymce.plugins.BBCodePlugin', {
|
15
|
+
init: function(ed) {
|
16
|
+
var self = this, dialect = ed.getParam('bbcode_dialect', 'punbb').toLowerCase();
|
17
|
+
|
18
|
+
ed.on('beforeSetContent', function(e) {
|
19
|
+
e.content = self['_' + dialect + '_bbcode2html'](e.content);
|
20
|
+
});
|
21
|
+
|
22
|
+
ed.on('postProcess', function(e) {
|
23
|
+
if (e.set) {
|
24
|
+
e.content = self['_' + dialect + '_bbcode2html'](e.content);
|
25
|
+
}
|
26
|
+
|
27
|
+
if (e.get) {
|
28
|
+
e.content = self['_' + dialect + '_html2bbcode'](e.content);
|
29
|
+
}
|
30
|
+
});
|
31
|
+
},
|
32
|
+
|
33
|
+
getInfo: function() {
|
34
|
+
return {
|
35
|
+
longname: 'BBCode Plugin',
|
36
|
+
author: 'Ephox Corp',
|
37
|
+
authorurl: 'http://www.tinymce.com',
|
38
|
+
infourl: 'http://www.tinymce.com/wiki.php/Plugin:bbcode'
|
39
|
+
};
|
40
|
+
},
|
41
|
+
|
42
|
+
// Private methods
|
43
|
+
|
44
|
+
// HTML -> BBCode in PunBB dialect
|
45
|
+
_punbb_html2bbcode: function(s) {
|
46
|
+
s = tinymce.trim(s);
|
47
|
+
|
48
|
+
function rep(re, str) {
|
49
|
+
s = s.replace(re, str);
|
50
|
+
}
|
51
|
+
|
52
|
+
// example: <strong> to [b]
|
53
|
+
rep(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi, "[url=$1]$2[/url]");
|
54
|
+
rep(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi, "[code][color=$1]$2[/color][/code]");
|
55
|
+
rep(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi, "[quote][color=$1]$2[/color][/quote]");
|
56
|
+
rep(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi, "[code][color=$1]$2[/color][/code]");
|
57
|
+
rep(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi, "[quote][color=$1]$2[/color][/quote]");
|
58
|
+
rep(/<span style=\"color: ?(.*?);\">(.*?)<\/span>/gi, "[color=$1]$2[/color]");
|
59
|
+
rep(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi, "[color=$1]$2[/color]");
|
60
|
+
rep(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi, "[size=$1]$2[/size]");
|
61
|
+
rep(/<font>(.*?)<\/font>/gi, "$1");
|
62
|
+
rep(/<img.*?src=\"(.*?)\".*?\/>/gi, "[img]$1[/img]");
|
63
|
+
rep(/<span class=\"codeStyle\">(.*?)<\/span>/gi, "[code]$1[/code]");
|
64
|
+
rep(/<span class=\"quoteStyle\">(.*?)<\/span>/gi, "[quote]$1[/quote]");
|
65
|
+
rep(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi, "[code][b]$1[/b][/code]");
|
66
|
+
rep(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi, "[quote][b]$1[/b][/quote]");
|
67
|
+
rep(/<em class=\"codeStyle\">(.*?)<\/em>/gi, "[code][i]$1[/i][/code]");
|
68
|
+
rep(/<em class=\"quoteStyle\">(.*?)<\/em>/gi, "[quote][i]$1[/i][/quote]");
|
69
|
+
rep(/<u class=\"codeStyle\">(.*?)<\/u>/gi, "[code][u]$1[/u][/code]");
|
70
|
+
rep(/<u class=\"quoteStyle\">(.*?)<\/u>/gi, "[quote][u]$1[/u][/quote]");
|
71
|
+
rep(/<\/(strong|b)>/gi, "[/b]");
|
72
|
+
rep(/<(strong|b)>/gi, "[b]");
|
73
|
+
rep(/<\/(em|i)>/gi, "[/i]");
|
74
|
+
rep(/<(em|i)>/gi, "[i]");
|
75
|
+
rep(/<\/u>/gi, "[/u]");
|
76
|
+
rep(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi, "[u]$1[/u]");
|
77
|
+
rep(/<u>/gi, "[u]");
|
78
|
+
rep(/<blockquote[^>]*>/gi, "[quote]");
|
79
|
+
rep(/<\/blockquote>/gi, "[/quote]");
|
80
|
+
rep(/<br \/>/gi, "\n");
|
81
|
+
rep(/<br\/>/gi, "\n");
|
82
|
+
rep(/<br>/gi, "\n");
|
83
|
+
rep(/<p>/gi, "");
|
84
|
+
rep(/<\/p>/gi, "\n");
|
85
|
+
rep(/ |\u00a0/gi, " ");
|
86
|
+
rep(/"/gi, "\"");
|
87
|
+
rep(/</gi, "<");
|
88
|
+
rep(/>/gi, ">");
|
89
|
+
rep(/&/gi, "&");
|
90
|
+
|
91
|
+
return s;
|
92
|
+
},
|
93
|
+
|
94
|
+
// BBCode -> HTML from PunBB dialect
|
95
|
+
_punbb_bbcode2html: function(s) {
|
96
|
+
s = tinymce.trim(s);
|
97
|
+
|
98
|
+
function rep(re, str) {
|
99
|
+
s = s.replace(re, str);
|
100
|
+
}
|
101
|
+
|
102
|
+
// example: [b] to <strong>
|
103
|
+
rep(/\n/gi, "<br />");
|
104
|
+
rep(/\[b\]/gi, "<strong>");
|
105
|
+
rep(/\[\/b\]/gi, "</strong>");
|
106
|
+
rep(/\[i\]/gi, "<em>");
|
107
|
+
rep(/\[\/i\]/gi, "</em>");
|
108
|
+
rep(/\[u\]/gi, "<u>");
|
109
|
+
rep(/\[\/u\]/gi, "</u>");
|
110
|
+
rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi, "<a href=\"$1\">$2</a>");
|
111
|
+
rep(/\[url\](.*?)\[\/url\]/gi, "<a href=\"$1\">$1</a>");
|
112
|
+
rep(/\[img\](.*?)\[\/img\]/gi, "<img src=\"$1\" />");
|
113
|
+
rep(/\[color=(.*?)\](.*?)\[\/color\]/gi, "<font color=\"$1\">$2</font>");
|
114
|
+
rep(/\[code\](.*?)\[\/code\]/gi, "<span class=\"codeStyle\">$1</span> ");
|
115
|
+
rep(/\[quote.*?\](.*?)\[\/quote\]/gi, "<span class=\"quoteStyle\">$1</span> ");
|
116
|
+
|
117
|
+
return s;
|
118
|
+
}
|
119
|
+
});
|
120
|
+
|
121
|
+
// Register plugin
|
122
|
+
tinymce.PluginManager.add('bbcode', tinymce.plugins.BBCodePlugin);
|
123
|
+
})();
|
@@ -0,0 +1 @@
|
|
1
|
+
!function(){tinymce.create("tinymce.plugins.BBCodePlugin",{init:function(a){var b=this,c=a.getParam("bbcode_dialect","punbb").toLowerCase();a.on("beforeSetContent",function(a){a.content=b["_"+c+"_bbcode2html"](a.content)}),a.on("postProcess",function(a){a.set&&(a.content=b["_"+c+"_bbcode2html"](a.content)),a.get&&(a.content=b["_"+c+"_html2bbcode"](a.content))})},getInfo:function(){return{longname:"BBCode Plugin",author:"Ephox Corp",authorurl:"http://www.tinymce.com",infourl:"http://www.tinymce.com/wiki.php/Plugin:bbcode"}},_punbb_html2bbcode:function(a){function b(b,c){a=a.replace(b,c)}return a=tinymce.trim(a),b(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]"),b(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),b(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),b(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),b(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),b(/<span style=\"color: ?(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]"),b(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]"),b(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]"),b(/<font>(.*?)<\/font>/gi,"$1"),b(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]"),b(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]"),b(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]"),b(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]"),b(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]"),b(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]"),b(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]"),b(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]"),b(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]"),b(/<\/(strong|b)>/gi,"[/b]"),b(/<(strong|b)>/gi,"[b]"),b(/<\/(em|i)>/gi,"[/i]"),b(/<(em|i)>/gi,"[i]"),b(/<\/u>/gi,"[/u]"),b(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi,"[u]$1[/u]"),b(/<u>/gi,"[u]"),b(/<blockquote[^>]*>/gi,"[quote]"),b(/<\/blockquote>/gi,"[/quote]"),b(/<br \/>/gi,"\n"),b(/<br\/>/gi,"\n"),b(/<br>/gi,"\n"),b(/<p>/gi,""),b(/<\/p>/gi,"\n"),b(/ |\u00a0/gi," "),b(/"/gi,'"'),b(/</gi,"<"),b(/>/gi,">"),b(/&/gi,"&"),a},_punbb_bbcode2html:function(a){function b(b,c){a=a.replace(b,c)}return a=tinymce.trim(a),b(/\n/gi,"<br />"),b(/\[b\]/gi,"<strong>"),b(/\[\/b\]/gi,"</strong>"),b(/\[i\]/gi,"<em>"),b(/\[\/i\]/gi,"</em>"),b(/\[u\]/gi,"<u>"),b(/\[\/u\]/gi,"</u>"),b(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'<a href="$1">$2</a>'),b(/\[url\](.*?)\[\/url\]/gi,'<a href="$1">$1</a>'),b(/\[img\](.*?)\[\/img\]/gi,'<img src="$1" />'),b(/\[color=(.*?)\](.*?)\[\/color\]/gi,'<font color="$1">$2</font>'),b(/\[code\](.*?)\[\/code\]/gi,'<span class="codeStyle">$1</span> '),b(/\[quote.*?\](.*?)\[\/quote\]/gi,'<span class="quoteStyle">$1</span> '),a}}),tinymce.PluginManager.add("bbcode",tinymce.plugins.BBCodePlugin)}();
|
@@ -0,0 +1,450 @@
|
|
1
|
+
/**
|
2
|
+
* plugin.js
|
3
|
+
*
|
4
|
+
* Released under LGPL License.
|
5
|
+
* Copyright (c) 1999-2015 Ephox Corp. All rights reserved
|
6
|
+
*
|
7
|
+
* License: http://www.tinymce.com/license
|
8
|
+
* Contributing: http://www.tinymce.com/contributing
|
9
|
+
*/
|
10
|
+
|
11
|
+
/*global tinymce:true */
|
12
|
+
|
13
|
+
tinymce.PluginManager.add('charmap', function(editor) {
|
14
|
+
var isArray = tinymce.util.Tools.isArray;
|
15
|
+
|
16
|
+
function getDefaultCharMap() {
|
17
|
+
return [
|
18
|
+
['160', 'no-break space'],
|
19
|
+
['173', 'soft hyphen'],
|
20
|
+
['34', 'quotation mark'],
|
21
|
+
// finance
|
22
|
+
['162', 'cent sign'],
|
23
|
+
['8364', 'euro sign'],
|
24
|
+
['163', 'pound sign'],
|
25
|
+
['165', 'yen sign'],
|
26
|
+
// signs
|
27
|
+
['169', 'copyright sign'],
|
28
|
+
['174', 'registered sign'],
|
29
|
+
['8482', 'trade mark sign'],
|
30
|
+
['8240', 'per mille sign'],
|
31
|
+
['181', 'micro sign'],
|
32
|
+
['183', 'middle dot'],
|
33
|
+
['8226', 'bullet'],
|
34
|
+
['8230', 'three dot leader'],
|
35
|
+
['8242', 'minutes / feet'],
|
36
|
+
['8243', 'seconds / inches'],
|
37
|
+
['167', 'section sign'],
|
38
|
+
['182', 'paragraph sign'],
|
39
|
+
['223', 'sharp s / ess-zed'],
|
40
|
+
// quotations
|
41
|
+
['8249', 'single left-pointing angle quotation mark'],
|
42
|
+
['8250', 'single right-pointing angle quotation mark'],
|
43
|
+
['171', 'left pointing guillemet'],
|
44
|
+
['187', 'right pointing guillemet'],
|
45
|
+
['8216', 'left single quotation mark'],
|
46
|
+
['8217', 'right single quotation mark'],
|
47
|
+
['8220', 'left double quotation mark'],
|
48
|
+
['8221', 'right double quotation mark'],
|
49
|
+
['8218', 'single low-9 quotation mark'],
|
50
|
+
['8222', 'double low-9 quotation mark'],
|
51
|
+
['60', 'less-than sign'],
|
52
|
+
['62', 'greater-than sign'],
|
53
|
+
['8804', 'less-than or equal to'],
|
54
|
+
['8805', 'greater-than or equal to'],
|
55
|
+
['8211', 'en dash'],
|
56
|
+
['8212', 'em dash'],
|
57
|
+
['175', 'macron'],
|
58
|
+
['8254', 'overline'],
|
59
|
+
['164', 'currency sign'],
|
60
|
+
['166', 'broken bar'],
|
61
|
+
['168', 'diaeresis'],
|
62
|
+
['161', 'inverted exclamation mark'],
|
63
|
+
['191', 'turned question mark'],
|
64
|
+
['710', 'circumflex accent'],
|
65
|
+
['732', 'small tilde'],
|
66
|
+
['176', 'degree sign'],
|
67
|
+
['8722', 'minus sign'],
|
68
|
+
['177', 'plus-minus sign'],
|
69
|
+
['247', 'division sign'],
|
70
|
+
['8260', 'fraction slash'],
|
71
|
+
['215', 'multiplication sign'],
|
72
|
+
['185', 'superscript one'],
|
73
|
+
['178', 'superscript two'],
|
74
|
+
['179', 'superscript three'],
|
75
|
+
['188', 'fraction one quarter'],
|
76
|
+
['189', 'fraction one half'],
|
77
|
+
['190', 'fraction three quarters'],
|
78
|
+
// math / logical
|
79
|
+
['402', 'function / florin'],
|
80
|
+
['8747', 'integral'],
|
81
|
+
['8721', 'n-ary sumation'],
|
82
|
+
['8734', 'infinity'],
|
83
|
+
['8730', 'square root'],
|
84
|
+
['8764', 'similar to'],
|
85
|
+
['8773', 'approximately equal to'],
|
86
|
+
['8776', 'almost equal to'],
|
87
|
+
['8800', 'not equal to'],
|
88
|
+
['8801', 'identical to'],
|
89
|
+
['8712', 'element of'],
|
90
|
+
['8713', 'not an element of'],
|
91
|
+
['8715', 'contains as member'],
|
92
|
+
['8719', 'n-ary product'],
|
93
|
+
['8743', 'logical and'],
|
94
|
+
['8744', 'logical or'],
|
95
|
+
['172', 'not sign'],
|
96
|
+
['8745', 'intersection'],
|
97
|
+
['8746', 'union'],
|
98
|
+
['8706', 'partial differential'],
|
99
|
+
['8704', 'for all'],
|
100
|
+
['8707', 'there exists'],
|
101
|
+
['8709', 'diameter'],
|
102
|
+
['8711', 'backward difference'],
|
103
|
+
['8727', 'asterisk operator'],
|
104
|
+
['8733', 'proportional to'],
|
105
|
+
['8736', 'angle'],
|
106
|
+
// undefined
|
107
|
+
['180', 'acute accent'],
|
108
|
+
['184', 'cedilla'],
|
109
|
+
['170', 'feminine ordinal indicator'],
|
110
|
+
['186', 'masculine ordinal indicator'],
|
111
|
+
['8224', 'dagger'],
|
112
|
+
['8225', 'double dagger'],
|
113
|
+
// alphabetical special chars
|
114
|
+
['192', 'A - grave'],
|
115
|
+
['193', 'A - acute'],
|
116
|
+
['194', 'A - circumflex'],
|
117
|
+
['195', 'A - tilde'],
|
118
|
+
['196', 'A - diaeresis'],
|
119
|
+
['197', 'A - ring above'],
|
120
|
+
['198', 'ligature AE'],
|
121
|
+
['199', 'C - cedilla'],
|
122
|
+
['200', 'E - grave'],
|
123
|
+
['201', 'E - acute'],
|
124
|
+
['202', 'E - circumflex'],
|
125
|
+
['203', 'E - diaeresis'],
|
126
|
+
['204', 'I - grave'],
|
127
|
+
['205', 'I - acute'],
|
128
|
+
['206', 'I - circumflex'],
|
129
|
+
['207', 'I - diaeresis'],
|
130
|
+
['208', 'ETH'],
|
131
|
+
['209', 'N - tilde'],
|
132
|
+
['210', 'O - grave'],
|
133
|
+
['211', 'O - acute'],
|
134
|
+
['212', 'O - circumflex'],
|
135
|
+
['213', 'O - tilde'],
|
136
|
+
['214', 'O - diaeresis'],
|
137
|
+
['216', 'O - slash'],
|
138
|
+
['338', 'ligature OE'],
|
139
|
+
['352', 'S - caron'],
|
140
|
+
['217', 'U - grave'],
|
141
|
+
['218', 'U - acute'],
|
142
|
+
['219', 'U - circumflex'],
|
143
|
+
['220', 'U - diaeresis'],
|
144
|
+
['221', 'Y - acute'],
|
145
|
+
['376', 'Y - diaeresis'],
|
146
|
+
['222', 'THORN'],
|
147
|
+
['224', 'a - grave'],
|
148
|
+
['225', 'a - acute'],
|
149
|
+
['226', 'a - circumflex'],
|
150
|
+
['227', 'a - tilde'],
|
151
|
+
['228', 'a - diaeresis'],
|
152
|
+
['229', 'a - ring above'],
|
153
|
+
['230', 'ligature ae'],
|
154
|
+
['231', 'c - cedilla'],
|
155
|
+
['232', 'e - grave'],
|
156
|
+
['233', 'e - acute'],
|
157
|
+
['234', 'e - circumflex'],
|
158
|
+
['235', 'e - diaeresis'],
|
159
|
+
['236', 'i - grave'],
|
160
|
+
['237', 'i - acute'],
|
161
|
+
['238', 'i - circumflex'],
|
162
|
+
['239', 'i - diaeresis'],
|
163
|
+
['240', 'eth'],
|
164
|
+
['241', 'n - tilde'],
|
165
|
+
['242', 'o - grave'],
|
166
|
+
['243', 'o - acute'],
|
167
|
+
['244', 'o - circumflex'],
|
168
|
+
['245', 'o - tilde'],
|
169
|
+
['246', 'o - diaeresis'],
|
170
|
+
['248', 'o slash'],
|
171
|
+
['339', 'ligature oe'],
|
172
|
+
['353', 's - caron'],
|
173
|
+
['249', 'u - grave'],
|
174
|
+
['250', 'u - acute'],
|
175
|
+
['251', 'u - circumflex'],
|
176
|
+
['252', 'u - diaeresis'],
|
177
|
+
['253', 'y - acute'],
|
178
|
+
['254', 'thorn'],
|
179
|
+
['255', 'y - diaeresis'],
|
180
|
+
['913', 'Alpha'],
|
181
|
+
['914', 'Beta'],
|
182
|
+
['915', 'Gamma'],
|
183
|
+
['916', 'Delta'],
|
184
|
+
['917', 'Epsilon'],
|
185
|
+
['918', 'Zeta'],
|
186
|
+
['919', 'Eta'],
|
187
|
+
['920', 'Theta'],
|
188
|
+
['921', 'Iota'],
|
189
|
+
['922', 'Kappa'],
|
190
|
+
['923', 'Lambda'],
|
191
|
+
['924', 'Mu'],
|
192
|
+
['925', 'Nu'],
|
193
|
+
['926', 'Xi'],
|
194
|
+
['927', 'Omicron'],
|
195
|
+
['928', 'Pi'],
|
196
|
+
['929', 'Rho'],
|
197
|
+
['931', 'Sigma'],
|
198
|
+
['932', 'Tau'],
|
199
|
+
['933', 'Upsilon'],
|
200
|
+
['934', 'Phi'],
|
201
|
+
['935', 'Chi'],
|
202
|
+
['936', 'Psi'],
|
203
|
+
['937', 'Omega'],
|
204
|
+
['945', 'alpha'],
|
205
|
+
['946', 'beta'],
|
206
|
+
['947', 'gamma'],
|
207
|
+
['948', 'delta'],
|
208
|
+
['949', 'epsilon'],
|
209
|
+
['950', 'zeta'],
|
210
|
+
['951', 'eta'],
|
211
|
+
['952', 'theta'],
|
212
|
+
['953', 'iota'],
|
213
|
+
['954', 'kappa'],
|
214
|
+
['955', 'lambda'],
|
215
|
+
['956', 'mu'],
|
216
|
+
['957', 'nu'],
|
217
|
+
['958', 'xi'],
|
218
|
+
['959', 'omicron'],
|
219
|
+
['960', 'pi'],
|
220
|
+
['961', 'rho'],
|
221
|
+
['962', 'final sigma'],
|
222
|
+
['963', 'sigma'],
|
223
|
+
['964', 'tau'],
|
224
|
+
['965', 'upsilon'],
|
225
|
+
['966', 'phi'],
|
226
|
+
['967', 'chi'],
|
227
|
+
['968', 'psi'],
|
228
|
+
['969', 'omega'],
|
229
|
+
// symbols
|
230
|
+
['8501', 'alef symbol'],
|
231
|
+
['982', 'pi symbol'],
|
232
|
+
['8476', 'real part symbol'],
|
233
|
+
['978', 'upsilon - hook symbol'],
|
234
|
+
['8472', 'Weierstrass p'],
|
235
|
+
['8465', 'imaginary part'],
|
236
|
+
// arrows
|
237
|
+
['8592', 'leftwards arrow'],
|
238
|
+
['8593', 'upwards arrow'],
|
239
|
+
['8594', 'rightwards arrow'],
|
240
|
+
['8595', 'downwards arrow'],
|
241
|
+
['8596', 'left right arrow'],
|
242
|
+
['8629', 'carriage return'],
|
243
|
+
['8656', 'leftwards double arrow'],
|
244
|
+
['8657', 'upwards double arrow'],
|
245
|
+
['8658', 'rightwards double arrow'],
|
246
|
+
['8659', 'downwards double arrow'],
|
247
|
+
['8660', 'left right double arrow'],
|
248
|
+
['8756', 'therefore'],
|
249
|
+
['8834', 'subset of'],
|
250
|
+
['8835', 'superset of'],
|
251
|
+
['8836', 'not a subset of'],
|
252
|
+
['8838', 'subset of or equal to'],
|
253
|
+
['8839', 'superset of or equal to'],
|
254
|
+
['8853', 'circled plus'],
|
255
|
+
['8855', 'circled times'],
|
256
|
+
['8869', 'perpendicular'],
|
257
|
+
['8901', 'dot operator'],
|
258
|
+
['8968', 'left ceiling'],
|
259
|
+
['8969', 'right ceiling'],
|
260
|
+
['8970', 'left floor'],
|
261
|
+
['8971', 'right floor'],
|
262
|
+
['9001', 'left-pointing angle bracket'],
|
263
|
+
['9002', 'right-pointing angle bracket'],
|
264
|
+
['9674', 'lozenge'],
|
265
|
+
['9824', 'black spade suit'],
|
266
|
+
['9827', 'black club suit'],
|
267
|
+
['9829', 'black heart suit'],
|
268
|
+
['9830', 'black diamond suit'],
|
269
|
+
['8194', 'en space'],
|
270
|
+
['8195', 'em space'],
|
271
|
+
['8201', 'thin space'],
|
272
|
+
['8204', 'zero width non-joiner'],
|
273
|
+
['8205', 'zero width joiner'],
|
274
|
+
['8206', 'left-to-right mark'],
|
275
|
+
['8207', 'right-to-left mark']
|
276
|
+
];
|
277
|
+
}
|
278
|
+
|
279
|
+
function charmapFilter(charmap) {
|
280
|
+
return tinymce.util.Tools.grep(charmap, function(item) {
|
281
|
+
return isArray(item) && item.length == 2;
|
282
|
+
});
|
283
|
+
}
|
284
|
+
|
285
|
+
function getCharsFromSetting(settingValue) {
|
286
|
+
if (isArray(settingValue)) {
|
287
|
+
return [].concat(charmapFilter(settingValue));
|
288
|
+
}
|
289
|
+
|
290
|
+
if (typeof settingValue == "function") {
|
291
|
+
return settingValue();
|
292
|
+
}
|
293
|
+
|
294
|
+
return [];
|
295
|
+
}
|
296
|
+
|
297
|
+
function extendCharMap(charmap) {
|
298
|
+
var settings = editor.settings;
|
299
|
+
|
300
|
+
if (settings.charmap) {
|
301
|
+
charmap = getCharsFromSetting(settings.charmap);
|
302
|
+
}
|
303
|
+
|
304
|
+
if (settings.charmap_append) {
|
305
|
+
return [].concat(charmap).concat(getCharsFromSetting(settings.charmap_append));
|
306
|
+
}
|
307
|
+
|
308
|
+
return charmap;
|
309
|
+
}
|
310
|
+
|
311
|
+
function getCharMap() {
|
312
|
+
return extendCharMap(getDefaultCharMap());
|
313
|
+
}
|
314
|
+
|
315
|
+
function insertChar(chr) {
|
316
|
+
editor.fire('insertCustomChar', {chr: chr}).chr;
|
317
|
+
editor.execCommand('mceInsertContent', false, chr);
|
318
|
+
}
|
319
|
+
|
320
|
+
function showDialog() {
|
321
|
+
var gridHtml, x, y, win;
|
322
|
+
|
323
|
+
function getParentTd(elm) {
|
324
|
+
while (elm) {
|
325
|
+
if (elm.nodeName == 'TD') {
|
326
|
+
return elm;
|
327
|
+
}
|
328
|
+
|
329
|
+
elm = elm.parentNode;
|
330
|
+
}
|
331
|
+
}
|
332
|
+
|
333
|
+
gridHtml = '<table role="presentation" cellspacing="0" class="mce-charmap"><tbody>';
|
334
|
+
|
335
|
+
var charmap = getCharMap();
|
336
|
+
var width = Math.min(charmap.length, 25);
|
337
|
+
var height = Math.ceil(charmap.length / width);
|
338
|
+
for (y = 0; y < height; y++) {
|
339
|
+
gridHtml += '<tr>';
|
340
|
+
|
341
|
+
for (x = 0; x < width; x++) {
|
342
|
+
var index = y * width + x;
|
343
|
+
if (index < charmap.length) {
|
344
|
+
var chr = charmap[index];
|
345
|
+
|
346
|
+
gridHtml += '<td title="' + chr[1] + '"><div tabindex="-1" title="' + chr[1] + '" role="button">' +
|
347
|
+
(chr ? String.fromCharCode(parseInt(chr[0], 10)) : ' ') + '</div></td>';
|
348
|
+
} else {
|
349
|
+
gridHtml += '<td />';
|
350
|
+
}
|
351
|
+
}
|
352
|
+
|
353
|
+
gridHtml += '</tr>';
|
354
|
+
}
|
355
|
+
|
356
|
+
gridHtml += '</tbody></table>';
|
357
|
+
|
358
|
+
var charMapPanel = {
|
359
|
+
type: 'container',
|
360
|
+
html: gridHtml,
|
361
|
+
onclick: function(e) {
|
362
|
+
var target = e.target;
|
363
|
+
|
364
|
+
if (/^(TD|DIV)$/.test(target.nodeName)) {
|
365
|
+
if (getParentTd(target).firstChild) {
|
366
|
+
insertChar(tinymce.trim(target.innerText || target.textContent));
|
367
|
+
|
368
|
+
if (!e.ctrlKey) {
|
369
|
+
win.close();
|
370
|
+
}
|
371
|
+
}
|
372
|
+
}
|
373
|
+
},
|
374
|
+
onmouseover: function(e) {
|
375
|
+
var td = getParentTd(e.target);
|
376
|
+
|
377
|
+
if (td && td.firstChild) {
|
378
|
+
win.find('#preview').text(td.firstChild.firstChild.data);
|
379
|
+
win.find('#previewTitle').text(td.title);
|
380
|
+
} else {
|
381
|
+
win.find('#preview').text(' ');
|
382
|
+
win.find('#previewTitle').text(' ');
|
383
|
+
}
|
384
|
+
}
|
385
|
+
};
|
386
|
+
|
387
|
+
win = editor.windowManager.open({
|
388
|
+
title: "Special character",
|
389
|
+
spacing: 10,
|
390
|
+
padding: 10,
|
391
|
+
items: [
|
392
|
+
charMapPanel,
|
393
|
+
{
|
394
|
+
type: 'container',
|
395
|
+
layout: 'flex',
|
396
|
+
direction: 'column',
|
397
|
+
align: 'center',
|
398
|
+
spacing: 5,
|
399
|
+
minWidth: 160,
|
400
|
+
minHeight: 160,
|
401
|
+
items: [
|
402
|
+
{
|
403
|
+
type: 'label',
|
404
|
+
name: 'preview',
|
405
|
+
text: ' ',
|
406
|
+
style: 'font-size: 40px; text-align: center',
|
407
|
+
border: 1,
|
408
|
+
minWidth: 140,
|
409
|
+
minHeight: 80
|
410
|
+
},
|
411
|
+
{
|
412
|
+
type: 'label',
|
413
|
+
name: 'previewTitle',
|
414
|
+
text: ' ',
|
415
|
+
style: 'text-align: center',
|
416
|
+
border: 1,
|
417
|
+
minWidth: 140,
|
418
|
+
minHeight: 80
|
419
|
+
}
|
420
|
+
]
|
421
|
+
}
|
422
|
+
],
|
423
|
+
buttons: [
|
424
|
+
{text: "Close", onclick: function() {
|
425
|
+
win.close();
|
426
|
+
}}
|
427
|
+
]
|
428
|
+
});
|
429
|
+
}
|
430
|
+
|
431
|
+
editor.addCommand('mceShowCharmap', showDialog);
|
432
|
+
|
433
|
+
editor.addButton('charmap', {
|
434
|
+
icon: 'charmap',
|
435
|
+
tooltip: 'Special character',
|
436
|
+
cmd: 'mceShowCharmap'
|
437
|
+
});
|
438
|
+
|
439
|
+
editor.addMenuItem('charmap', {
|
440
|
+
icon: 'charmap',
|
441
|
+
text: 'Special character',
|
442
|
+
cmd: 'mceShowCharmap',
|
443
|
+
context: 'insert'
|
444
|
+
});
|
445
|
+
|
446
|
+
return {
|
447
|
+
getCharMap: getCharMap,
|
448
|
+
insertChar: insertChar
|
449
|
+
};
|
450
|
+
});
|