From f485bb79a409b346a3543ccd670af75dd7ab962d Mon Sep 17 00:00:00 2001 From: afornerot Date: Thu, 22 Aug 2019 09:53:44 +0200 Subject: [PATCH] =?UTF-8?q?ajout=20plugin=20video=20sur=20ckeditor=20et=20?= =?UTF-8?q?chg=20de=20propri=C3=A9taire=20(fixes=20#15=20#12)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ninegate-1.0/app/config/config.yml | 7 +- .../CoreBundle/Controller/UserController.php | 28 + .../src/Cadoles/CoreBundle/Form/GroupType.php | 25 +- .../CoreBundle/Resources/config/routing.yml | 4 + .../CoreBundle/Resources/public/js/local.js | 10 +- .../Resources/views/Group/edit.html.twig | 4 + .../Controller/BlogController.php | 3 + .../Controller/BlogarticleController.php | 9 +- .../Controller/CalendarController.php | 3 + .../Controller/PageController.php | 12 +- .../Controller/PagewidgetController.php | 9 +- .../Cadoles/PortalBundle/Form/BlogType.php | 20 + .../PortalBundle/Form/CalendarType.php | 20 + .../PortalBundle/Form/PageSubmitType.php | 22 + .../Form/PageUpdateEditorType.php | 20 + .../PortalBundle/Form/PageUpdateToolType.php | 20 + .../PortalBundle/Form/PageUpdateURLType.php | 20 + .../Form/PageUpdateWidgetType.php | 20 + .../Resources/views/Blog/edit.html.twig | 1 + .../Resources/views/Blog/list.html.twig | 12 +- .../Resources/views/Calendar/edit.html.twig | 1 + .../Resources/views/Calendar/list.html.twig | 12 +- .../Resources/views/Page/list.html.twig | 12 +- .../Resources/views/Page/submit.html.twig | 4 + .../views/Page/updateeditor.html.twig | 1 + .../Resources/views/Page/updatetool.html.twig | 1 + .../Resources/views/Page/updateurl.html.twig | 1 + .../views/Page/updatewidget.html.twig | 1 + src/ninegate-1.0/web/ckeditor/CHANGES.md | 2098 ++++++++++------- src/ninegate-1.0/web/ckeditor/LICENSE.md | 7 +- src/ninegate-1.0/web/ckeditor/README.md | 81 +- .../web/ckeditor/adapters/jquery.js | 14 +- src/ninegate-1.0/web/ckeditor/build-config.js | 60 +- src/ninegate-1.0/web/ckeditor/ckeditor.js | 1825 +++++++------- src/ninegate-1.0/web/ckeditor/config.js | 4 +- src/ninegate-1.0/web/ckeditor/contents.css | 14 +- src/ninegate-1.0/web/ckeditor/lang/af.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/ar.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/az.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/bg.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/bn.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/bs.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/ca.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/cs.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/cy.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/da.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/de-ch.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/de.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/el.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/en-au.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/en-ca.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/en-gb.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/en.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/eo.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/es-mx.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/es.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/et.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/eu.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/fa.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/fi.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/fo.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/fr-ca.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/fr.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/gl.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/gu.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/he.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/hi.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/hr.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/hu.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/id.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/is.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/it.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/ja.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/ka.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/km.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/ko.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/ku.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/lt.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/lv.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/mk.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/mn.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/ms.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/nb.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/nl.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/no.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/oc.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/pl.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/pt-br.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/pt.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/ro.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/ru.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/si.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/sk.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/sl.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/sq.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/sr-latn.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/sr.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/sv.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/th.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/tr.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/tt.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/ug.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/uk.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/vi.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/zh-cn.js | 8 +- src/ninegate-1.0/web/ckeditor/lang/zh.js | 8 +- .../plugins/a11yhelp/dialogs/a11yhelp.js | 14 +- .../dialogs/lang/_translationstatus.txt | 4 +- .../plugins/a11yhelp/dialogs/lang/af.js | 4 +- .../plugins/a11yhelp/dialogs/lang/ar.js | 4 +- .../plugins/a11yhelp/dialogs/lang/az.js | 6 +- .../plugins/a11yhelp/dialogs/lang/bg.js | 18 +- .../plugins/a11yhelp/dialogs/lang/ca.js | 4 +- .../plugins/a11yhelp/dialogs/lang/cs.js | 6 +- .../plugins/a11yhelp/dialogs/lang/cy.js | 4 +- .../plugins/a11yhelp/dialogs/lang/da.js | 6 +- .../plugins/a11yhelp/dialogs/lang/de-ch.js | 4 +- .../plugins/a11yhelp/dialogs/lang/de.js | 4 +- .../plugins/a11yhelp/dialogs/lang/el.js | 11 +- .../plugins/a11yhelp/dialogs/lang/en-au.js | 11 + .../plugins/a11yhelp/dialogs/lang/en-gb.js | 4 +- .../plugins/a11yhelp/dialogs/lang/en.js | 4 +- .../plugins/a11yhelp/dialogs/lang/eo.js | 11 +- .../plugins/a11yhelp/dialogs/lang/es-mx.js | 4 +- .../plugins/a11yhelp/dialogs/lang/es.js | 4 +- .../plugins/a11yhelp/dialogs/lang/et.js | 18 +- .../plugins/a11yhelp/dialogs/lang/eu.js | 6 +- .../plugins/a11yhelp/dialogs/lang/fa.js | 8 +- .../plugins/a11yhelp/dialogs/lang/fi.js | 4 +- .../plugins/a11yhelp/dialogs/lang/fo.js | 4 +- .../plugins/a11yhelp/dialogs/lang/fr-ca.js | 4 +- .../plugins/a11yhelp/dialogs/lang/fr.js | 6 +- .../plugins/a11yhelp/dialogs/lang/gl.js | 4 +- .../plugins/a11yhelp/dialogs/lang/gu.js | 4 +- .../plugins/a11yhelp/dialogs/lang/he.js | 4 +- .../plugins/a11yhelp/dialogs/lang/hi.js | 4 +- .../plugins/a11yhelp/dialogs/lang/hr.js | 10 +- .../plugins/a11yhelp/dialogs/lang/hu.js | 8 +- .../plugins/a11yhelp/dialogs/lang/id.js | 4 +- .../plugins/a11yhelp/dialogs/lang/it.js | 4 +- .../plugins/a11yhelp/dialogs/lang/ja.js | 4 +- .../plugins/a11yhelp/dialogs/lang/km.js | 4 +- .../plugins/a11yhelp/dialogs/lang/ko.js | 4 +- .../plugins/a11yhelp/dialogs/lang/ku.js | 12 +- .../plugins/a11yhelp/dialogs/lang/lt.js | 4 +- .../plugins/a11yhelp/dialogs/lang/lv.js | 4 +- .../plugins/a11yhelp/dialogs/lang/mk.js | 4 +- .../plugins/a11yhelp/dialogs/lang/mn.js | 4 +- .../plugins/a11yhelp/dialogs/lang/nb.js | 4 +- .../plugins/a11yhelp/dialogs/lang/nl.js | 6 +- .../plugins/a11yhelp/dialogs/lang/no.js | 8 +- .../plugins/a11yhelp/dialogs/lang/oc.js | 4 +- .../plugins/a11yhelp/dialogs/lang/pl.js | 4 +- .../plugins/a11yhelp/dialogs/lang/pt-br.js | 8 +- .../plugins/a11yhelp/dialogs/lang/pt.js | 6 +- .../plugins/a11yhelp/dialogs/lang/ro.js | 19 +- .../plugins/a11yhelp/dialogs/lang/ru.js | 6 +- .../plugins/a11yhelp/dialogs/lang/si.js | 4 +- .../plugins/a11yhelp/dialogs/lang/sk.js | 6 +- .../plugins/a11yhelp/dialogs/lang/sl.js | 4 +- .../plugins/a11yhelp/dialogs/lang/sq.js | 19 +- .../plugins/a11yhelp/dialogs/lang/sr-latn.js | 19 +- .../plugins/a11yhelp/dialogs/lang/sr.js | 19 +- .../plugins/a11yhelp/dialogs/lang/sv.js | 4 +- .../plugins/a11yhelp/dialogs/lang/th.js | 4 +- .../plugins/a11yhelp/dialogs/lang/tr.js | 4 +- .../plugins/a11yhelp/dialogs/lang/tt.js | 4 +- .../plugins/a11yhelp/dialogs/lang/ug.js | 12 +- .../plugins/a11yhelp/dialogs/lang/uk.js | 10 +- .../plugins/a11yhelp/dialogs/lang/vi.js | 4 +- .../plugins/a11yhelp/dialogs/lang/zh-cn.js | 4 +- .../plugins/a11yhelp/dialogs/lang/zh.js | 10 +- .../ckeditor/plugins/about/dialogs/about.js | 10 +- .../about/dialogs/hidpi/logo_ckeditor.png | Bin 13339 -> 12236 bytes .../plugins/about/dialogs/logo_ckeditor.png | Bin 6757 -> 5650 bytes .../plugins/clipboard/dialogs/paste.js | 11 + .../colordialog/dialogs/colordialog.css | 4 +- .../colordialog/dialogs/colordialog.js | 24 +- .../copyformatting/styles/copyformatting.css | 4 +- .../plugins/dialog/dialogDefinition.js | 4 +- .../web/ckeditor/plugins/divarea/plugin.js | 38 + .../plugins/divarea/samples/divarea.html | 64 + .../web/ckeditor/plugins/find/dialogs/find.js | 46 +- .../ckeditor/plugins/flash/dialogs/flash.js | 10 +- .../ckeditor/plugins/forms/dialogs/button.js | 4 +- .../plugins/forms/dialogs/checkbox.js | 6 +- .../ckeditor/plugins/forms/dialogs/form.js | 4 +- .../plugins/forms/dialogs/hiddenfield.js | 4 +- .../ckeditor/plugins/forms/dialogs/radio.js | 14 +- .../ckeditor/plugins/forms/dialogs/select.js | 7 +- .../plugins/forms/dialogs/textarea.js | 6 +- .../plugins/forms/dialogs/textfield.js | 6 +- .../plugins/html5video/dialogs/html5video.js | 265 +++ .../plugins/html5video/icons/html5video.png | Bin 0 -> 14773 bytes .../ckeditor/plugins/html5video/lang/bg.js | 20 + .../ckeditor/plugins/html5video/lang/ca.js | 20 + .../ckeditor/plugins/html5video/lang/de.js | 17 + .../ckeditor/plugins/html5video/lang/en.js | 20 + .../ckeditor/plugins/html5video/lang/es.js | 18 + .../ckeditor/plugins/html5video/lang/eu.js | 17 + .../ckeditor/plugins/html5video/lang/fa.js | 18 + .../ckeditor/plugins/html5video/lang/fr.js | 20 + .../ckeditor/plugins/html5video/lang/he.js | 18 + .../ckeditor/plugins/html5video/lang/ko.js | 20 + .../ckeditor/plugins/html5video/lang/pl.js | 18 + .../ckeditor/plugins/html5video/lang/pt-br.js | 18 + .../ckeditor/plugins/html5video/lang/pt.js | 18 + .../ckeditor/plugins/html5video/lang/ru.js | 21 + .../ckeditor/plugins/html5video/lang/uk.js | 17 + .../ckeditor/plugins/html5video/lang/uz.js | 17 + .../ckeditor/plugins/html5video/lang/zh-cn.js | 18 + .../web/ckeditor/plugins/html5video/plugin.js | 196 ++ .../ckeditor/plugins/iframe/dialogs/iframe.js | 6 +- .../ckeditor/plugins/image/dialogs/image.js | 68 +- .../ckeditor/plugins/link/dialogs/anchor.js | 4 +- .../web/ckeditor/plugins/link/dialogs/link.js | 54 +- .../plugins/liststyle/dialogs/liststyle.js | 14 +- .../plugins/pastefromword/filter/default.js | 107 +- .../web/ckeditor/plugins/scayt/README.md | 70 +- .../ckeditor/plugins/scayt/dialogs/options.js | 65 +- .../ckeditor/plugins/smiley/dialogs/smiley.js | 4 +- .../dialogs/lang/_translationstatus.txt | 4 +- .../plugins/specialchar/dialogs/lang/af.js | 4 +- .../plugins/specialchar/dialogs/lang/ar.js | 4 +- .../plugins/specialchar/dialogs/lang/az.js | 4 +- .../plugins/specialchar/dialogs/lang/bg.js | 6 +- .../plugins/specialchar/dialogs/lang/ca.js | 4 +- .../plugins/specialchar/dialogs/lang/cs.js | 4 +- .../plugins/specialchar/dialogs/lang/cy.js | 4 +- .../plugins/specialchar/dialogs/lang/da.js | 4 +- .../plugins/specialchar/dialogs/lang/de-ch.js | 4 +- .../plugins/specialchar/dialogs/lang/de.js | 4 +- .../plugins/specialchar/dialogs/lang/el.js | 4 +- .../plugins/specialchar/dialogs/lang/en-au.js | 4 +- .../plugins/specialchar/dialogs/lang/en-ca.js | 4 +- .../plugins/specialchar/dialogs/lang/en-gb.js | 4 +- .../plugins/specialchar/dialogs/lang/en.js | 4 +- .../plugins/specialchar/dialogs/lang/eo.js | 4 +- .../plugins/specialchar/dialogs/lang/es-mx.js | 4 +- .../plugins/specialchar/dialogs/lang/es.js | 4 +- .../plugins/specialchar/dialogs/lang/et.js | 20 +- .../plugins/specialchar/dialogs/lang/eu.js | 4 +- .../plugins/specialchar/dialogs/lang/fa.js | 4 +- .../plugins/specialchar/dialogs/lang/fi.js | 4 +- .../plugins/specialchar/dialogs/lang/fr-ca.js | 4 +- .../plugins/specialchar/dialogs/lang/fr.js | 4 +- .../plugins/specialchar/dialogs/lang/gl.js | 4 +- .../plugins/specialchar/dialogs/lang/he.js | 4 +- .../plugins/specialchar/dialogs/lang/hr.js | 4 +- .../plugins/specialchar/dialogs/lang/hu.js | 4 +- .../plugins/specialchar/dialogs/lang/id.js | 4 +- .../plugins/specialchar/dialogs/lang/it.js | 4 +- .../plugins/specialchar/dialogs/lang/ja.js | 4 +- .../plugins/specialchar/dialogs/lang/km.js | 4 +- .../plugins/specialchar/dialogs/lang/ko.js | 4 +- .../plugins/specialchar/dialogs/lang/ku.js | 4 +- .../plugins/specialchar/dialogs/lang/lt.js | 4 +- .../plugins/specialchar/dialogs/lang/lv.js | 4 +- .../plugins/specialchar/dialogs/lang/nb.js | 4 +- .../plugins/specialchar/dialogs/lang/nl.js | 4 +- .../plugins/specialchar/dialogs/lang/no.js | 4 +- .../plugins/specialchar/dialogs/lang/oc.js | 4 +- .../plugins/specialchar/dialogs/lang/pl.js | 4 +- .../plugins/specialchar/dialogs/lang/pt-br.js | 4 +- .../plugins/specialchar/dialogs/lang/pt.js | 4 +- .../plugins/specialchar/dialogs/lang/ro.js | 13 + .../plugins/specialchar/dialogs/lang/ru.js | 4 +- .../plugins/specialchar/dialogs/lang/si.js | 4 +- .../plugins/specialchar/dialogs/lang/sk.js | 4 +- .../plugins/specialchar/dialogs/lang/sl.js | 4 +- .../plugins/specialchar/dialogs/lang/sq.js | 10 +- .../specialchar/dialogs/lang/sr-latn.js | 13 + .../plugins/specialchar/dialogs/lang/sr.js | 13 + .../plugins/specialchar/dialogs/lang/sv.js | 4 +- .../plugins/specialchar/dialogs/lang/th.js | 4 +- .../plugins/specialchar/dialogs/lang/tr.js | 4 +- .../plugins/specialchar/dialogs/lang/tt.js | 4 +- .../plugins/specialchar/dialogs/lang/ug.js | 4 +- .../plugins/specialchar/dialogs/lang/uk.js | 4 +- .../plugins/specialchar/dialogs/lang/vi.js | 4 +- .../plugins/specialchar/dialogs/lang/zh-cn.js | 4 +- .../plugins/specialchar/dialogs/lang/zh.js | 4 +- .../specialchar/dialogs/specialchar.js | 4 +- .../ckeditor/plugins/table/dialogs/table.js | 32 +- .../tableselection/styles/tableselection.css | 16 +- .../plugins/tabletools/dialogs/tableCell.js | 31 +- .../plugins/templates/dialogs/templates.css | 4 +- .../plugins/templates/dialogs/templates.js | 4 +- .../plugins/templates/templates/default.js | 4 +- .../ckeditor/plugins/widget/images/handle.png | Bin 0 -> 220 bytes .../web/ckeditor/plugins/wsc/README.md | 69 +- .../web/ckeditor/plugins/wsc/dialogs/wsc.js | 164 +- .../web/ckeditor/samples/css/samples.css | 51 +- .../web/ckeditor/samples/img/logo.png | Bin 5891 -> 5634 bytes .../web/ckeditor/samples/img/logo.svg | 13 + .../web/ckeditor/samples/index.html | 33 +- .../web/ckeditor/samples/js/sample.js | 8 +- .../web/ckeditor/samples/js/sf.js | 4 +- .../web/ckeditor/samples/old/ajax.html | 10 +- .../web/ckeditor/samples/old/api.html | 28 +- .../web/ckeditor/samples/old/appendto.html | 14 +- .../old/assets/outputxhtml/outputxhtml.css | 4 +- .../samples/old/assets/posteddata.php | 8 +- .../old/assets/uilanguages/languages.js | 4 +- .../ckeditor/samples/old/datafiltering.html | 28 +- .../samples/old/dialog/assets/my_dialog.js | 4 +- .../ckeditor/samples/old/dialog/dialog.html | 16 +- .../web/ckeditor/samples/old/divreplace.html | 10 +- .../samples/old/enterkey/enterkey.html | 16 +- .../old/htmlwriter/outputforflash.html | 12 +- .../samples/old/htmlwriter/outputhtml.html | 14 +- .../web/ckeditor/samples/old/index.html | 10 +- .../web/ckeditor/samples/old/inlineall.html | 20 +- .../ckeditor/samples/old/inlinebycode.html | 12 +- .../ckeditor/samples/old/inlinetextarea.html | 12 +- .../web/ckeditor/samples/old/jquery.html | 12 +- .../samples/old/magicline/magicline.html | 10 +- .../web/ckeditor/samples/old/readonly.html | 16 +- .../ckeditor/samples/old/replacebyclass.html | 10 +- .../ckeditor/samples/old/replacebycode.html | 10 +- .../web/ckeditor/samples/old/sample.css | 4 +- .../web/ckeditor/samples/old/sample.js | 4 +- .../samples/old/sample_posteddata.php | 4 +- .../web/ckeditor/samples/old/tabindex.html | 10 +- .../ckeditor/samples/old/toolbar/toolbar.html | 16 +- .../web/ckeditor/samples/old/uicolor.html | 12 +- .../web/ckeditor/samples/old/uilanguages.html | 16 +- .../samples/old/wysiwygarea/fullpage.html | 10 +- .../web/ckeditor/samples/old/xhtmlstyle.html | 12 +- .../samples/toolbarconfigurator/index.html | 24 +- .../web/ckeditor/skins/moono-lisa/dialog.css | 6 +- .../ckeditor/skins/moono-lisa/dialog_ie.css | 6 +- .../ckeditor/skins/moono-lisa/dialog_ie8.css | 6 +- .../skins/moono-lisa/dialog_iequirks.css | 6 +- .../web/ckeditor/skins/moono-lisa/editor.css | 6 +- .../skins/moono-lisa/editor_gecko.css | 6 +- .../ckeditor/skins/moono-lisa/editor_ie.css | 6 +- .../ckeditor/skins/moono-lisa/editor_ie8.css | 6 +- .../skins/moono-lisa/editor_iequirks.css | 6 +- .../web/ckeditor/skins/moono-lisa/readme.md | 6 +- src/ninegate-1.0/web/ckeditor/styles.js | 8 +- .../web/ckeditor/vendor/promise.js | 13 + 342 files changed, 4956 insertions(+), 3099 deletions(-) create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/clipboard/dialogs/paste.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/divarea/plugin.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/divarea/samples/divarea.html create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/dialogs/html5video.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/icons/html5video.png create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/bg.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/ca.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/de.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/en.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/es.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/eu.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/fa.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/fr.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/he.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/ko.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/pl.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/pt-br.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/pt.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/ru.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/uk.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/uz.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/lang/zh-cn.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/html5video/plugin.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/specialchar/dialogs/lang/ro.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/specialchar/dialogs/lang/sr-latn.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/specialchar/dialogs/lang/sr.js create mode 100644 src/ninegate-1.0/web/ckeditor/plugins/widget/images/handle.png create mode 100644 src/ninegate-1.0/web/ckeditor/samples/img/logo.svg create mode 100644 src/ninegate-1.0/web/ckeditor/vendor/promise.js diff --git a/src/ninegate-1.0/app/config/config.yml b/src/ninegate-1.0/app/config/config.yml index cd10f260..4ddae994 100644 --- a/src/ninegate-1.0/app/config/config.yml +++ b/src/ninegate-1.0/app/config/config.yml @@ -154,6 +154,7 @@ ivory_ck_editor: language: fr toolbar: "my_toolbar_1" uiColor: "#ffffff" + extraPlugins: "html5video" light_config: language: fr toolbar: "my_toolbar_2" @@ -164,6 +165,10 @@ ivory_ck_editor: toolbar: "my_toolbar_3" uiColor: "#ffffff" removePlugins: 'elementspath' + plugins: + html5video: + path: "ckeditor/plugins/html5video/" # with trailing slash + filename: "plugin.js" toolbars: configs: my_toolbar_1: [ "@document1", "-", "@clipboard1", "-", "@basicstyles1", "-", "@paragraph1", "/", "@links1", "-", "@insert1", "-", "@styles1", "-" , "@colors1", "-" , "@tools1" ] @@ -178,7 +183,7 @@ ivory_ck_editor: paragraph2: [ 'JustifyLeft','JustifyCenter','JustifyRight','NumberedList','BulletedList' ] paragraph3: [ 'NumberedList','BulletedList' ] links1: [ 'Link','Unlink','Anchor' ] - insert1: [ 'Image','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe' ] + insert1: [ 'Image','Html5video','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe' ] insert2: [ 'Image','Table','Smiley','Link','Unlink' ] insert3: [ 'Smiley','Link','Unlink' ] styles1: [ 'Styles','Format','Font','FontSize' ] diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/UserController.php b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/UserController.php index c3a84ff5..1a69a58d 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/UserController.php +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/UserController.php @@ -257,6 +257,34 @@ class UserController extends Controller return new Response(json_encode($output), 200); } + public function selectlistAction(Request $request) + { + // S'assurer que c'est un appel ajax + if (!$request->isXmlHttpRequest()) { + return new JsonResponse(array('message' => 'Interdit'), 400); + } + + $output=array(); + $em = $this->getDoctrine()->getManager(); + $page_limit=$request->query->get('page_limit'); + $q=$request->query->get('q'); + + $qb = $em->createQueryBuilder(); + $qb->select('table')->from("CadolesCoreBundle:User",'table') + ->where('table.username LIKE :value') + ->setParameter("value", "%".$q."%") + ->orderBy('table.username'); + + $datas=$qb->setFirstResult(0)->setMaxResults($page_limit)->getQuery()->getResult(); + foreach($datas as $data) { + array_push($output,array("id"=>$data->getId(),"text"=>$data->getUsername())); + } + + $response = new Response(json_encode($output)); + $response->headers->set('Content-Type', 'application/json'); + return $response; + } + public function submitAction(Request $request) { $em = $this->getDoctrine()->getManager(); diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Form/GroupType.php b/src/ninegate-1.0/src/Cadoles/CoreBundle/Form/GroupType.php index 76186403..66708765 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Form/GroupType.php +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Form/GroupType.php @@ -56,7 +56,30 @@ class GroupType extends AbstractType }, "disabled" => ($options["mode"]=="delete"||$options["masteridentity"]!="SQL"?true:false), "attr" => array("class" => "form-control", "style" => "margin-bottom:15px","readonly" => ($options["mode"]=="delete"?true:false)) - ]); + ]); + + if($options["access"]=="config") { + $builder->add('owner', + Select2EntityType::class, array( + 'label' => "Propriétaire", + 'disabled' => ($options["mode"]=="delete"?true:false), + "required" => false, + 'multiple' => false, + 'remote_route' => 'cadoles_core_config_user_ajax_selectlist', + 'class' => 'Cadoles\coreBundle\Entity\User', + 'primary_key' => 'id', + 'text_property' => 'username', + 'minimum_input_length' => 2, + 'page_limit' => 10, + 'allow_clear' => true, + 'delay' => 250, + 'cache' => false, + 'cache_timeout' => 60000, // if 'cache' is true + 'language' => 'fr', + 'placeholder' => 'Selectionner un propriétaire', + 'attr' => array("class" => "form-control", "style" => "margin-bottom:15px") + )); + } } if($options["access"]=="config") { diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml index 97aa58fb..b63b1f09 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml @@ -236,6 +236,10 @@ cadoles_core_config_user_ajax_list: path: /config/user/ajax/list defaults: { _controller: CadolesCoreBundle:User:ajaxlist, access: config } +cadoles_core_config_user_ajax_selectlist: + path: /config/user/ajax/selectlist + defaults: { _controller: CadolesCoreBundle:User:selectlist, access: config } + cadoles_core_config_importuser: path: /config/importuser defaults: { _controller: CadolesCoreBundle:User:importuser } diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/js/local.js b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/js/local.js index e2a60078..2558b913 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/js/local.js +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/js/local.js @@ -88,7 +88,15 @@ $(document).on('ready', function(){ var targetField = informationTab.get('linkTargetType'); targetField['default'] = '_blank'; } - + + /* Marche pas + if(dialogName == 'html5video') { + var informationTab = dialogDefinition.getContents('info'); + var controlsField = informationTab.get('controls'); + controlsField['default'] = true; + } + */ + /* dialogDefinition.onShow = function() { this.move(this.getPosition().x,0); // Top center diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/views/Group/edit.html.twig b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/views/Group/edit.html.twig index ed60747c..4da37112 100755 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/views/Group/edit.html.twig +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/views/Group/edit.html.twig @@ -70,6 +70,10 @@
+ {% if form.owner is defined %} + {{ form_row(form.owner) }} + {% endif %} + {% if form.fgopen is defined %} {{ form_row(form.fgopen) }} {% endif %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/BlogController.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/BlogController.php index dfc669c9..255f8aa5 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/BlogController.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/BlogController.php @@ -45,6 +45,9 @@ class BlogController extends Controller $order= $request->query->get('order'); $alluser= $request->query->get('alluser'); + // On sauvegarde en session le flag alluser + $this->get("session")->set("alluserblog",$alluser); + // Query de base $qbase=$em->createQueryBuilder()->from($this->labelentity,'table'); $qsearch=$em->createQueryBuilder()->from($this->labelentity,'table'); diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/BlogarticleController.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/BlogarticleController.php index a488a639..7d87cd82 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/BlogarticleController.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/BlogarticleController.php @@ -216,12 +216,11 @@ class BlogarticleController extends Controller move_uploaded_file($tmpfile,$targetFile); - $funcNum = $request->query->get('CKEditorFuncNum'); - $response = ""; + $output["uploaded"]=1; + $output["fileName"]=$targetName; + $output["url"]=$targetUrl; - return new Response($response); + return new Response(json_encode($output)); } diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/CalendarController.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/CalendarController.php index fd569791..5a8b7eff 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/CalendarController.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/CalendarController.php @@ -43,6 +43,9 @@ class CalendarController extends Controller $order= $request->query->get('order'); $alluser= $request->query->get('alluser'); + // On sauvegarde en session le flag alluser + $this->get("session")->set("allusercalendar",$alluser); + // Query de base $qbase=$em->createQueryBuilder()->from($this->labelentity,'table'); $qsearch=$em->createQueryBuilder()->from($this->labelentity,'table'); diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/PageController.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/PageController.php index c16352f5..63d39a5e 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/PageController.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/PageController.php @@ -48,6 +48,9 @@ class PageController extends Controller $order= $request->query->get('order'); $alluser= $request->query->get('alluser'); + // On sauvegarde en session le flag alluser + $this->get("session")->set("alluserpage",$alluser); + // Query de base $qbase=$em->createQueryBuilder()->from($this->labelentity,'table'); $qsearch=$em->createQueryBuilder()->from($this->labelentity,'table'); @@ -635,12 +638,11 @@ class PageController extends Controller move_uploaded_file($tmpfile,$targetFile); - $funcNum = $request->query->get('CKEditorFuncNum'); - $response = ""; + $output["uploaded"]=1; + $output["fileName"]=$targetName; + $output["url"]=$targetUrl; - return new Response($response); + return new Response(json_encode($output)); } diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/PagewidgetController.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/PagewidgetController.php index ceb9b8ec..8ae82a71 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/PagewidgetController.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Controller/PagewidgetController.php @@ -312,12 +312,11 @@ class PagewidgetController extends Controller move_uploaded_file($tmpfile,$targetFile); - $funcNum = $request->query->get('CKEditorFuncNum'); - $response = ""; + $output["uploaded"]=1; + $output["fileName"]=$targetName; + $output["url"]=$targetUrl; - return new Response($response); + return new Response(json_encode($output)); } diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/BlogType.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/BlogType.php index a8e2162e..0084c067 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/BlogType.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/BlogType.php @@ -59,6 +59,26 @@ class BlogType extends AbstractType 'cache_timeout' => 60000, 'language' => 'fr', 'placeholder' => 'Selectionner un groupe', + ]) + + ->add('user', Select2EntityType::class, [ + 'label' => "Propriétaire", + 'disabled' => ($options["mode"]=="delete"?true:false), + "required" => false, + 'multiple' => false, + 'remote_route' => 'cadoles_core_config_user_ajax_selectlist', + 'class' => 'Cadoles\coreBundle\Entity\User', + 'primary_key' => 'id', + 'text_property' => 'username', + 'minimum_input_length' => 2, + 'page_limit' => 10, + 'allow_clear' => true, + 'delay' => 250, + 'cache' => false, + 'cache_timeout' => 60000, // if 'cache' is true + 'language' => 'fr', + 'placeholder' => 'Selectionner un propriétaire', + 'attr' => array("class" => "form-control", "style" => "margin-bottom:15px") ]); } } diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/CalendarType.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/CalendarType.php index 2995ad5c..4392c8fa 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/CalendarType.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/CalendarType.php @@ -97,6 +97,26 @@ class CalendarType extends AbstractType 'cache_timeout' => 60000, 'language' => 'fr', 'placeholder' => 'Selectionner un groupe', + ]) + + ->add('user', Select2EntityType::class, [ + 'label' => "Propriétaire", + 'disabled' => ($options["mode"]=="delete"?true:false), + "required" => false, + 'multiple' => false, + 'remote_route' => 'cadoles_core_config_user_ajax_selectlist', + 'class' => 'Cadoles\coreBundle\Entity\User', + 'primary_key' => 'id', + 'text_property' => 'username', + 'minimum_input_length' => 2, + 'page_limit' => 10, + 'allow_clear' => true, + 'delay' => 250, + 'cache' => false, + 'cache_timeout' => 60000, // if 'cache' is true + 'language' => 'fr', + 'placeholder' => 'Selectionner un propriétaire', + 'attr' => array("class" => "form-control", "style" => "margin-bottom:15px") ]); } } diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageSubmitType.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageSubmitType.php index 1fd03b1e..7aeab76a 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageSubmitType.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageSubmitType.php @@ -109,6 +109,28 @@ class PageSubmitType extends AbstractType 'label' => "Largeur maximum (0 pour largeur de l'écran)", ]); + if($access=="config") { + $builder->add('user', Select2EntityType::class, [ + 'label' => "Propriétaire", + 'disabled' => ($options["mode"]=="delete"?true:false), + "required" => false, + 'multiple' => false, + 'remote_route' => 'cadoles_core_config_user_ajax_selectlist', + 'class' => 'Cadoles\coreBundle\Entity\User', + 'primary_key' => 'id', + 'text_property' => 'username', + 'minimum_input_length' => 2, + 'page_limit' => 10, + 'allow_clear' => true, + 'delay' => 250, + 'cache' => false, + 'cache_timeout' => 60000, // if 'cache' is true + 'language' => 'fr', + 'placeholder' => 'Selectionner un propriétaire', + 'attr' => array("class" => "form-control", "style" => "margin-bottom:15px") + ]); + } + } public function configureOptions(OptionsResolver $resolver) diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageUpdateEditorType.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageUpdateEditorType.php index 2b3da20c..daeb3db9 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageUpdateEditorType.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageUpdateEditorType.php @@ -75,6 +75,26 @@ class PageUpdateEditorType extends AbstractType 'cache_timeout' => 60000, 'language' => 'fr', 'placeholder' => 'Selectionner un groupe', + ]) + + ->add('user', Select2EntityType::class, [ + 'label' => "Propriétaire", + 'disabled' => ($options["mode"]=="delete"?true:false), + "required" => false, + 'multiple' => false, + 'remote_route' => 'cadoles_core_config_user_ajax_selectlist', + 'class' => 'Cadoles\coreBundle\Entity\User', + 'primary_key' => 'id', + 'text_property' => 'username', + 'minimum_input_length' => 2, + 'page_limit' => 10, + 'allow_clear' => true, + 'delay' => 250, + 'cache' => false, + 'cache_timeout' => 60000, // if 'cache' is true + 'language' => 'fr', + 'placeholder' => 'Selectionner un propriétaire', + 'attr' => array("class" => "form-control", "style" => "margin-bottom:15px") ]); } } diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageUpdateToolType.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageUpdateToolType.php index f9ac93ca..f00c2f97 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageUpdateToolType.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageUpdateToolType.php @@ -62,6 +62,26 @@ class PageUpdateToolType extends AbstractType 'cache_timeout' => 60000, 'language' => 'fr', 'placeholder' => 'Selectionner un groupe', + ]) + + ->add('user', Select2EntityType::class, [ + 'label' => "Propriétaire", + 'disabled' => ($options["mode"]=="delete"?true:false), + "required" => false, + 'multiple' => false, + 'remote_route' => 'cadoles_core_config_user_ajax_selectlist', + 'class' => 'Cadoles\coreBundle\Entity\User', + 'primary_key' => 'id', + 'text_property' => 'username', + 'minimum_input_length' => 2, + 'page_limit' => 10, + 'allow_clear' => true, + 'delay' => 250, + 'cache' => false, + 'cache_timeout' => 60000, // if 'cache' is true + 'language' => 'fr', + 'placeholder' => 'Selectionner un propriétaire', + 'attr' => array("class" => "form-control", "style" => "margin-bottom:15px") ]); } } diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageUpdateURLType.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageUpdateURLType.php index 24fd7c26..38c86f53 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageUpdateURLType.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageUpdateURLType.php @@ -71,6 +71,26 @@ class PageUpdateURLType extends AbstractType 'cache_timeout' => 60000, 'language' => 'fr', 'placeholder' => 'Selectionner un groupe', + ]) + + ->add('user', Select2EntityType::class, [ + 'label' => "Propriétaire", + 'disabled' => ($options["mode"]=="delete"?true:false), + "required" => false, + 'multiple' => false, + 'remote_route' => 'cadoles_core_config_user_ajax_selectlist', + 'class' => 'Cadoles\coreBundle\Entity\User', + 'primary_key' => 'id', + 'text_property' => 'username', + 'minimum_input_length' => 2, + 'page_limit' => 10, + 'allow_clear' => true, + 'delay' => 250, + 'cache' => false, + 'cache_timeout' => 60000, // if 'cache' is true + 'language' => 'fr', + 'placeholder' => 'Selectionner un propriétaire', + 'attr' => array("class" => "form-control", "style" => "margin-bottom:15px") ]); } } diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageUpdateWidgetType.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageUpdateWidgetType.php index 69825363..f52b96d1 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageUpdateWidgetType.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Form/PageUpdateWidgetType.php @@ -72,6 +72,26 @@ class PageUpdateWidgetType extends AbstractType 'cache_timeout' => 60000, 'language' => 'fr', 'placeholder' => 'Selectionner un groupe', + ]) + + ->add('user', Select2EntityType::class, [ + 'label' => "Propriétaire", + 'disabled' => ($options["mode"]=="delete"?true:false), + "required" => false, + 'multiple' => false, + 'remote_route' => 'cadoles_core_config_user_ajax_selectlist', + 'class' => 'Cadoles\coreBundle\Entity\User', + 'primary_key' => 'id', + 'text_property' => 'username', + 'minimum_input_length' => 2, + 'page_limit' => 10, + 'allow_clear' => true, + 'delay' => 250, + 'cache' => false, + 'cache_timeout' => 60000, // if 'cache' is true + 'language' => 'fr', + 'placeholder' => 'Selectionner un propriétaire', + 'attr' => array("class" => "form-control", "style" => "margin-bottom:15px") ]); } } diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Blog/edit.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Blog/edit.html.twig index ba28c0e1..4b90a8a6 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Blog/edit.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Blog/edit.html.twig @@ -60,6 +60,7 @@ {% if form.roles is defined %}
+ {{ form_row(form.user) }} {{ form_row(form.roles) }} {{ form_row(form.groups) }}
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Blog/list.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Blog/list.html.twig index e79c9c21..4867bdc9 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Blog/list.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Blog/list.html.twig @@ -37,6 +37,12 @@ {% block localjavascript %} $(document).ready(function() { + $(".switch").bootstrapSwitch(); + {% if not app.session.get('alluserblog') is empty %} + var state={{ app.session.get('alluserblog') }}; + $("#alluser").bootstrapSwitch('state',state); + {% endif %} + table=$('#dataTables').DataTable({ columnDefs: [ { "targets": 'no-sort', "orderable": false } ], responsive: true, @@ -61,11 +67,13 @@ } }); - $(".switch").bootstrapSwitch(); + }); function switchalluser() { - table.ajax.reload() + if (typeof table !== 'undefined') { + table.ajax.reload(); + } } {% endblock %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Calendar/edit.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Calendar/edit.html.twig index 45740b2b..3e3a5981 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Calendar/edit.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Calendar/edit.html.twig @@ -71,6 +71,7 @@ {% if form.roles is defined %}
+ {{ form_row(form.user) }} {{ form_row(form.roles) }} {{ form_row(form.groups) }}
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Calendar/list.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Calendar/list.html.twig index d83f1b36..0f92d536 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Calendar/list.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Calendar/list.html.twig @@ -38,6 +38,12 @@ {% block localjavascript %} $(document).ready(function() { + $(".switch").bootstrapSwitch(); + {% if not app.session.get('allusercalendar') is empty %} + var state={{ app.session.get('allusercalendar') }}; + $("#alluser").bootstrapSwitch('state',state); + {% endif %} + table = $('#dataTables').DataTable({ columnDefs: [ { "targets": 'no-sort', "orderable": false } ], responsive: true, @@ -61,12 +67,12 @@ }); } }); - - $(".switch").bootstrapSwitch(); }); function switchalluser() { - table.ajax.reload() + if (typeof table !== 'undefined') { + table.ajax.reload(); + } } {% endblock %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/list.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/list.html.twig index 1090daa5..725c01a1 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/list.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/list.html.twig @@ -40,6 +40,12 @@ {% block localjavascript %} $(document).ready(function() { + $(".switch").bootstrapSwitch(); + {% if not app.session.get('alluserpage') is empty %} + var state={{ app.session.get('alluserpage') }}; + $("#alluser").bootstrapSwitch('state',state); + {% endif %} + table = $('#dataTables').DataTable({ columnDefs: [ { "targets": 'no-sort', "orderable": false } ], responsive: true, @@ -64,12 +70,12 @@ }); } }); - - $(".switch").bootstrapSwitch(); }); function switchalluser() { - table.ajax.reload() + if (typeof table !== 'undefined') { + table.ajax.reload(); + } } {% endblock %} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/submit.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/submit.html.twig index bb9d582c..1af8380e 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/submit.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/submit.html.twig @@ -42,6 +42,10 @@ {{ form_row(form.name) }} {{ form_row(form.pagecategory) }} {{ form_row(form.usage) }} + {% if form.user is defined %} + {{ form_row(form.user) }} + {% endif %} +
{{ form_row(form.page) }}
{{ form_row(form.groups) }}
{{ form_row(form.roworder) }} diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updateeditor.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updateeditor.html.twig index 1b1e0393..8466bac8 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updateeditor.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updateeditor.html.twig @@ -61,6 +61,7 @@ {% if form.roles is defined %}
+ {{ form_row(form.user) }} {{ form_row(form.roles) }} {{ form_row(form.groups) }}
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updatetool.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updatetool.html.twig index 23eff211..a01a12d4 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updatetool.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updatetool.html.twig @@ -55,6 +55,7 @@ {% if form.roles is defined %}
+ {{ form_row(form.user) }} {{ form_row(form.roles) }} {{ form_row(form.groups) }}
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updateurl.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updateurl.html.twig index d8ac97f0..fbf1f0ae 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updateurl.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updateurl.html.twig @@ -61,6 +61,7 @@ {% if form.roles is defined %}
+ {{ form_row(form.user) }} {{ form_row(form.roles) }} {{ form_row(form.groups) }}
diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updatewidget.html.twig b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updatewidget.html.twig index 5b6ffdf5..2e08ae67 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updatewidget.html.twig +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Resources/views/Page/updatewidget.html.twig @@ -214,6 +214,7 @@ {% if form.roles is defined %}
+ {{ form_row(form.user) }} {{ form_row(form.roles) }} {{ form_row(form.groups) }}
diff --git a/src/ninegate-1.0/web/ckeditor/CHANGES.md b/src/ninegate-1.0/web/ckeditor/CHANGES.md index 08036149..7043e4fe 100644 --- a/src/ninegate-1.0/web/ckeditor/CHANGES.md +++ b/src/ninegate-1.0/web/ckeditor/CHANGES.md @@ -1,243 +1,643 @@ CKEditor 4 Changelog ==================== +## CKEditor 4.12.1 + +Fixed Issues: + +* [#3220](https://github.com/ckeditor/ckeditor-dev/issues/3220): Fixed: Prevent [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) filter from deleting [Page Break](https://ckeditor.com/cke4/addon/pagebreak) elements on paste. + +## CKEditor 4.12 + +New Features: + +* [#2598](https://github.com/ckeditor/ckeditor-dev/issues/2598): Added the [Page Break](https://ckeditor.com/cke4/addon/pagebreak) feature support for the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#1490](https://github.com/ckeditor/ckeditor-dev/issues/1490): Improved the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin to retain table cell borders. +* [#2870](https://github.com/ckeditor/ckeditor-dev/issues/2870): Improved support for preserving the indentation of list items for nested lists pasted with the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#2048](https://github.com/ckeditor/ckeditor-dev/issues/2048): New [`CKEDITOR.config.image2_maxSize`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-image2_maxSize) configuration option for the [Enhanced Image](https://ckeditor.com/cke4/addon/image2) plugin that allows setting a maximum size that an image can be resized to with the resizer. +* [#2639](https://github.com/ckeditor/ckeditor-dev/issues/2639): The [Color Dialog](https://ckeditor.com/cke4/addon/colordialog) plugin now shows the current selection's color when opened. +* [#2084](https://github.com/ckeditor/ckeditor-dev/issues/2084): The [Table Tools](https://ckeditor.com/cke4/addon/tabletools) plugin now allows to change the cell height unit type to either pixels or percent. +* [#3164](https://github.com/ckeditor/ckeditor-dev/issues/3164): The [Table Tools](https://ckeditor.com/cke4/addon/tabletools) plugin now accepts floating point values as the table cell width and height. + +Fixed Issues: + +* [#2672](https://github.com/ckeditor/ckeditor-dev/issues/2672): Fixed: When resizing an [Enhanced Image](https://ckeditor.com/cke4/addon/image2) to a minimum size with the resizer, the image dialog does not show actual values. +* [#1478](https://github.com/ckeditor/ckeditor-dev/issues/1478): Fixed: Custom colors added to [Color Button](https://ckeditor.com/cke4/addon/colorbutton) with the [`config.colorButton_colors`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-colorButton_colors) configuration option in the form of a label or code do not work correctly. +* [#1469](https://github.com/ckeditor/ckeditor-dev/issues/1469): Fixed: Trying to get data from a nested editable inside a freshly pasted widget throws an error. +* [#2235](https://github.com/ckeditor/ckeditor-dev/issues/2235): Fixed: An [Image](https://ckeditor.com/cke4/addon/image) in a table cell has an empty URL field when edited from the context menu opened by right-click when the [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin is in use. +* [#3098](https://github.com/ckeditor/ckeditor-dev/issues/3098): Fixed: Unit pickers for table cell width and height in the [Table Tools](https://ckeditor.com/cke4/addon/tabletools) plugin have a different width. +* [#2923](https://github.com/ckeditor/ckeditor-dev/issues/2923): Fixed: The CSS `windowtext` color is not correctly recognized by the [`CKEDITOR.tools.style.parse`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_style_parse.html) methods. +* [#3120](https://github.com/ckeditor/ckeditor-dev/issues/3120): [IE8] Fixed: The [`CKEDITOR.tools.extend()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tool.html#method-extend) method does not work with the [`DontEnum`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Properties) object property attribute. +* [#2813](https://github.com/ckeditor/ckeditor-dev/issues/2813): Fixed: Editor HTML insertion methods ([`editor.insertHtml()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-insertHtml), [`editor.insertHtmlIntoRange()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-insertHtmlIntoRange), [`editor.insertElement()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-insertElement) and [`editor.insertElementIntoRange()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-insertElementIntoRange)) pollute the editable with empty `` elements. +* [#2751](https://github.com/ckeditor/ckeditor-dev/issues/2751): Fixed: An editor with [`config.enterMode`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-enterMode) set to [`ENTER_DIV`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#property-ENTER_DIV) alters pasted content. + +API Changes: + +* [#1496](https://github.com/ckeditor/ckeditor-dev/issues/1496): The [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) plugin exposes the [`CKEDITOR.ui.balloonToolbar.reposition()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_ui_balloonToolbar.html#reposition) and [`CKEDITOR.ui.balloonToolbarView.reposition()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_ui_balloonToolbarView.html#reposition) methods. +* [#2021](https://github.com/ckeditor/ckeditor-dev/issues/2021): Added new [`CKEDITOR.dom.documentFragment.find()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dom_documentFragment.html#method-find) and [`CKEDITOR.dom.documentFragment.findOne()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dom_documentFragment.html#method-findOne) methods. +* [#2700](https://github.com/ckeditor/ckeditor-dev/issues/2700): Added the [`CKEDITOR.tools.array.find()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_array.html#method-find) method. +* [#3123](https://github.com/ckeditor/ckeditor-dev/issues/3123): Added the [`CKEDITOR.tools.object.keys()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_object.html#method-keys) method. +* [#3123](https://github.com/ckeditor/ckeditor-dev/issues/3123): Added the [`CKEDITOR.tools.object.entries()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_object.html#method-entries) method. +* [#3123](https://github.com/ckeditor/ckeditor-dev/issues/3123): Added the [`CKEDITOR.tools.object.values()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_object.html#method-values) method. +* [#2821](https://github.com/ckeditor/ckeditor-dev/issues/2821): The [`CKEDITOR.template#source`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_template.html#property-source) property can now be a function, so it can return the changed template values during the runtime. Thanks to [Jacek Pulit](https://github.com/jacek-pulit)! +* [#2598](https://github.com/ckeditor/ckeditor-dev/issues/2598): Added the [`CKEDITOR.plugins.pagebreak.createElement()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_pagebreak.html#method-createElement) method allowing to create a [Page Break](https://ckeditor.com/cke4/addon/pagebreak) plugin [`CKEDITOR.dom.element`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dom_element.html) instance. +* [#2748](https://github.com/ckeditor/ckeditor-dev/issues/2748): Enhanced error messages thrown when creating an editor on a non-existent element or when trying to instantiate the second editor on the same element. Thanks to [Byran Zaugg](https://github.com/blzaugg)! +* [#2698](https://github.com/ckeditor/ckeditor-dev/issues/2698): Added the [`CKEDITOR.htmlParser.element.findOne()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_htmlParser_element.html#method-findOne) method. +* [#2935](https://github.com/ckeditor/ckeditor-dev/issues/2935): Introduced the [`CKEDITOR.config.pasteFromWord_keepZeroMargins`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-pasteFromWord_keepZeroMargins) configuration option that allows for keeping any `margin-*: 0` style that would be otherwise removed when pasting content with the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#2962](https://github.com/ckeditor/ckeditor-dev/issues/2962): Added the [`CKEDITOR.tools.promise`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_promise.html) class. +* [#2924](https://github.com/ckeditor/ckeditor-dev/issues/2924): Added the [`CKEDITOR.tools.style.border`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_style_border.html) object wrapping CSS border style helpers under a single type. +* [#2495](https://github.com/ckeditor/ckeditor-dev/issues/2495): The [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin can now be disabled for the given table with the `data-cke-tableselection-ignored` attribute. +* [#2692](https://github.com/ckeditor/ckeditor-dev/issues/2692): Plugins can now expose information about the supported environment by implementing the [`pluginDefinition.isSupportedEnvironment()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_pluginDefinition.html#method-isSupportedEnvironment) method. + +Other Changes: + +* [#2741](https://github.com/ckeditor/ckeditor-dev/issues/2741): Replaced deprecated `arguments.callee` calls with named function expressions to allow the editor to work in strict mode. +* [#2924](https://github.com/ckeditor/ckeditor-dev/issues/2924): Marked [`CKEDITOR.tools.style.parse.border()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_style_parse.html#method-border) as deprecated in favor of the [`CKEDITOR.tools.style.border.fromCssRule()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_style_border.html#static-method-fromCssRule) method. +* [#3132](https://github.com/ckeditor/ckeditor-dev/issues/2924): Marked [`CKEDITOR.tools.objectKeys()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools.html#method-objectKeys) as deprecated in favor of the [`CKEDITOR.tools.object.keys()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_object.html#method-keys) method. + +## CKEditor 4.11.4 + +Fixed Issues: + +* [#589](https://github.com/ckeditor/ckeditor-dev/issues/589): Fixed: The editor causes memory leaks in create and destroy cycles. +* [#1397](https://github.com/ckeditor/ckeditor-dev/issues/1397): Fixed: Using the dialog to remove headers from a [table](https://ckeditor.com/cke4/addon/table) with one header row only throws an error. +* [#1479](https://github.com/ckeditor/ckeditor-dev/issues/1479): Fixed: [Justification](https://ckeditor.com/cke4/addon/justify) for styled content in BR mode is disabled. +* [#2816](https://github.com/ckeditor/ckeditor-dev/issues/2816): Fixed: [Enhanced Image](https://ckeditor.com/cke4/addon/image2) resize handler is visible in [read-only mode](https://ckeditor.com/docs/ckeditor4/latest/guide/dev_readonly.html). +* [#2874](https://github.com/ckeditor/ckeditor-dev/issues/2874): Fixed: [Enhanced Image](https://ckeditor.com/cke4/addon/image2) resize handler is not created when the editor is initialized in [read-only mode](https://ckeditor.com/docs/ckeditor4/latest/guide/dev_readonly.html). +* [#2775](https://github.com/ckeditor/ckeditor-dev/issues/2775): Fixed: [Clipboard](https://ckeditor.com/cke4/addon/clipboard) paste buttons have wrong state when [read-only](https://ckeditor.com/docs/ckeditor4/latest/guide/dev_readonly.html) mode is set by the mouse event listener with the [Div Editing Area](https://ckeditor.com/cke4/addon/divarea) plugin. +* [#1901](https://github.com/ckeditor/ckeditor-dev/issues/1901): Fixed: Cannot open the context menu over a [Widget](https://ckeditor.com/cke4/addon/widget) with the Shift+F10 keyboard shortcut. + +Other Changes: + +* Updated [WebSpellChecker](https://ckeditor.com/cke4/addon/wsc) (WSC) and [SpellCheckAsYouType](https://ckeditor.com/cke4/addon/scayt) (SCAYT) plugins: + * Language dictionary update: German language was extended with over 600k new words. + * Language dictionary update: Swedish language was extended with over 300k new words. + * Grammar support added for Australian and New Zealand English, Polish, Slovak, Slovenian and Austrian languages. + * Changed wavy red and green lines that underline spelling and grammar errors to straight ones. + * [#55](https://github.com/WebSpellChecker/ckeditor-plugin-wsc/issues/55): Fixed: WSC does not use [`CKEDITOR.getUrl()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#method-getUrl) when referencing style sheets. + * [#166](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/166): Fixed: SCAYT does not use [`CKEDITOR.getUrl()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#method-getUrl) when referencing style sheets. + * [#56](https://github.com/WebSpellChecker/ckeditor-plugin-wsc/issues/56): [Chrome] Fixed: SCAYT/WSC throws errors when running inside a Chrome extension. + * Fixed: After removing a dictionary, the words are not underlined and considered as incorrect. + * Fixed: The Slovenian (`sl_SL`) language does not work. + * Fixed: Quotes with code `U+2019` (Right single quotation mark) are considered separators. + * Fixed: Wrong error message formatting when the service ID is invalid. + * Fixed: Absent languages in the Languages tab when using SCAYT with the [Shared Spaces](https://ckeditor.com/cke4/addon/sharedspace) plugin. + +## CKEditor 4.11.3 + +Fixed Issues: + +* [#2721](https://github.com/ckeditor/ckeditor-dev/issues/2721), [#487](https://github.com/ckeditor/ckeditor-dev/issues/487): Fixed: The order of sublist items is reversed when a higher level list item is removed. +* [#2527](https://github.com/ckeditor/ckeditor-dev/issues/2527): Fixed: [Emoji](https://ckeditor.com/cke4/addon/emoji) autocomplete order does not prioritize emojis with the name starting from the used string. +* [#2572](https://github.com/ckeditor/ckeditor-dev/issues/2572): Fixed: Icons in the [Emoji](https://ckeditor.com/cke4/addon/emoji) dropdown navigation groups are not centered. +* [#1191](https://github.com/ckeditor/ckeditor-dev/issues/1191): Fixed: Items in the [elements path](https://ckeditor.com/cke4/addon/elementspath) are draggable. +* [#2292](https://github.com/ckeditor/ckeditor-dev/issues/2292): Fixed: Dropping a list with a link on the editor's margin causes a console error and removes the dragged text from editor. +* [#2756](https://github.com/ckeditor/ckeditor-dev/issues/2756): Fixed: The [Auto Link](https://ckeditor.com/cke4/addon/autolink) plugin causes an error when typing in the [source editing mode](https://ckeditor.com/docs/ckeditor4/latest/guide/dev_sourcearea.html). +* [#1986](https://github.com/ckeditor/ckeditor-dev/issues/1986): Fixed: The Cell Properties dialog from the [Table Tools](https://ckeditor.com/cke4/addon/tabletools) plugin shows styles that are not allowed through [`config.allowedContent`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-allowedContent). +* [#2565](https://github.com/ckeditor/ckeditor-dev/issues/2565): [IE, Edge] Fixed: Buttons in the [editor toolbar](https://ckeditor.com/cke4/addon/toolbar) are activated by clicking them with the right mouse button. +* [#2792](https://github.com/ckeditor/ckeditor-dev/pull/2792): Fixed: A bug in the [Copy Formatting](https://ckeditor.com/cke4/addon/copyformatting) plugin that caused the following issues: + * [#2780](https://github.com/ckeditor/ckeditor-dev/issues/2780): Fixed: Undo steps disappear after multiple changes of selection. + * [#2470](https://github.com/ckeditor/ckeditor-dev/issues/2470): [Firefox] Fixed: Widget's nested editable gets blurred upon focus. + * [#2655](https://github.com/ckeditor/ckeditor-dev/issues/2655): [Chrome, Safari] Fixed: Widget's nested editable cannot be focused under certain circumstances. + +## CKEditor 4.11.2 + +Fixed Issues: + +* [#2403](https://github.com/ckeditor/ckeditor-dev/issues/2403): Fixed: Styling inline editor initialized inside a table with the [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin is causing style leaks. +* [#2514](https://github.com/ckeditor/ckeditor-dev/issues/2403): Fixed: Pasting table data into inline editor initialized inside a table with the [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin inserts pasted content into the wrapping table. +* [#2451](https://github.com/ckeditor/ckeditor-dev/issues/2451): Fixed: The [Remove Format](https://ckeditor.com/cke4/addon/removeformat) plugin changes selection. +* [#2546](https://github.com/ckeditor/ckeditor-dev/issues/2546): Fixed: The separator in the toolbar moves when buttons are focused. +* [#2506](https://github.com/ckeditor/ckeditor-dev/issues/2506): Fixed: [Enhanced Image](https://ckeditor.com/cke4/addon/image2) throws a type error when an empty `
` tag with an `image` class is upcasted. +* [#2650](https://github.com/ckeditor/ckeditor-dev/issues/2650): Fixed: [Table](https://ckeditor.com/cke4/addon/table) dialog validator fails when the `getValue()` function is defined in the global scope. +* [#2690](https://github.com/ckeditor/ckeditor-dev/issues/2690): Fixed: Decimal characters are removed from the inside of numbered lists when pasting content using the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#2205](https://github.com/ckeditor/ckeditor-dev/issues/2205): Fixed: It is not possible to add new list items under an item containing a block element. +* [#2411](https://github.com/ckeditor/ckeditor-dev/issues/2411), [#2438](https://github.com/ckeditor/ckeditor-dev/issues/2438) Fixed: Apply numbered list option throws a console error for a specific markup. +* [#2430](https://github.com/ckeditor/ckeditor-dev/issues/2430) Fixed: [Color Button](https://ckeditor.com/cke4/addon/colorbutton) and [List Block](https://ckeditor.com/cke4/addon/listblock) items are draggable. + +Other Changes: + +* Updated the [WebSpellChecker](https://ckeditor.com/cke4/addon/wsc) (WSC) plugin: + * [#52](https://github.com/WebSpellChecker/ckeditor-plugin-wsc/issues/52) Fixed: Clicking "Finish Checking" without a prior action would hang the Spell Checking dialog. +* [#2603](https://github.com/ckeditor/ckeditor-dev/issues/2603): Corrected the GPL license entry in the `package.json` file. + +## CKEditor 4.11.1 + +Fixed Issues: + +* [#2571](https://github.com/ckeditor/ckeditor-dev/issues/2571): Fixed: Clicking the categories in the [Emoji](https://ckeditor.com/cke4/addon/emoji) dropdown panel scrolls the entire page. + +## CKEditor 4.11 + +**Security Updates:** + +* Fixed XSS vulnerability in the HTML parser reported by [maxarr](https://hackerone.com/maxarr). + + Issue summary: It was possible to execute XSS inside CKEditor after persuading the victim to: (i) switch CKEditor to source mode, then (ii) paste a specially crafted HTML code, prepared by the attacker, into the opened CKEditor source area, and (iii) switch back to WYSIWYG mode. + +**An upgrade is highly recommended!** + +New Features: + +* [#2062](https://github.com/ckeditor/ckeditor-dev/pull/2062): Added the emoji dropdown that allows the user to choose the emoji from the toolbar and search for them using keywords. +* [#2154](https://github.com/ckeditor/ckeditor-dev/issues/2154): The [Link](https://ckeditor.com/cke4/addon/link) plugin now supports phone number links. +* [#1815](https://github.com/ckeditor/ckeditor-dev/issues/1815): The [Auto Link](https://ckeditor.com/cke4/addon/autolink) plugin supports typing link completion. +* [#2478](https://github.com/ckeditor/ckeditor-dev/issues/2478): [Link](https://ckeditor.com/cke4/addon/link) can be inserted using the Ctrl/Cmd + K keystroke. +* [#651](https://github.com/ckeditor/ckeditor-dev/issues/651): Text pasted using the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin preserves indentation in paragraphs. +* [#2248](https://github.com/ckeditor/ckeditor-dev/issues/2248): Added support for justification in the [BBCode](https://ckeditor.com/cke4/addon/bbcode) plugin. Thanks to [Matěj Kmínek](https://github.com/KminekMatej)! +* [#706](https://github.com/ckeditor/ckeditor-dev/issues/706): Added a different cursor style when selecting cells for the [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin. +* [#2072](https://github.com/ckeditor/ckeditor-dev/issues/2072): The [UI Button](https://ckeditor.com/cke4/addon/button) plugin supports custom `aria-haspopup` property values. The [Menu Button](https://ckeditor.com/cke4/addon/menubutton) `aria-haspopup` value is now `menu`, the [Panel Button](https://ckeditor.com/cke4/addon/panelbutton) and [Rich Combo](https://ckeditor.com/cke4/addon/richcombo) `aria-haspopup` value is now `listbox`. +* [#1176](https://github.com/ckeditor/ckeditor-dev/pull/1176): The [Balloon Panel](https://ckeditor.com/cke4/addon/balloonpanel) can now be attached to a selection instead of an element. +* [#2202](https://github.com/ckeditor/ckeditor-dev/issues/2202): Added the `contextmenu_contentsCss` configuration option to allow adding custom CSS to the [Context Menu](https://ckeditor.com/cke4/addon/contextmenu). + +Fixed Issues: + +* [#1477](https://github.com/ckeditor/ckeditor-dev/issues/1477): Fixed: On destroy, [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) does not destroy its content. +* [#2394](https://github.com/ckeditor/ckeditor-dev/issues/2394): Fixed: [Emoji](https://ckeditor.com/cke4/addon/emoji) dropdown does not show up with repeated symbols in a single line. +* [#1181](https://github.com/ckeditor/ckeditor-dev/issues/1181): [Chrome] Fixed: Opening the context menu in a read-only editor results in an error. +* [#2276](https://github.com/ckeditor/ckeditor-dev/issues/2276): [iOS] Fixed: [Button](https://ckeditor.com/cke4/addon/button) state does not refresh properly. +* [#1489](https://github.com/ckeditor/ckeditor-dev/issues/1489): Fixed: Table contents can be removed in read-only mode when the [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin is used. +* [#1264](https://github.com/ckeditor/ckeditor-dev/issues/1264) Fixed: Right-click does not clear the selection created with the [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin. +* [#586](https://github.com/ckeditor/ckeditor-dev/issues/586) Fixed: The `required` attribute is not correctly recognized by the [Form Elements](https://ckeditor.com/cke4/addon/forms) plugin dialog. Thanks to [Roli Züger](https://github.com/rzueger)! +* [#2380](https://github.com/ckeditor/ckeditor-dev/issues/2380) Fixed: Styling HTML comments in a top-level element results in extra paragraphs. +* [#2294](https://github.com/ckeditor/ckeditor-dev/issues/2294) Fixed: Pasting content from Microsoft Outlook and then bolding it results in an error. +* [#2035](https://github.com/ckeditor/ckeditor-dev/issues/2035) [Edge] Fixed: `Permission denied` is thrown when opening a [Panel](https://ckeditor.com/cke4/addon/panel) instance. +* [#965](https://github.com/ckeditor/ckeditor-dev/issues/965) Fixed: The [`config.forceSimpleAmpersand`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-forceSimpleAmpersand) option does not work. Thanks to [Alex Maris](https://github.com/alexmaris)! +* [#2448](https://github.com/ckeditor/ckeditor-dev/issues/2448): Fixed: The [`Escape HTML Entities`] plugin with custom [additional entities](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-entities_additional) configuration breaks HTML escaping. +* [#898](https://github.com/ckeditor/ckeditor-dev/issues/898): Fixed: [Enhanced Image](https://ckeditor.com/cke4/addon/image2) long alternative text protrudes into the editor when the image is selected. +* [#1113](https://github.com/ckeditor/ckeditor-dev/issues/1113): [Firefox] Fixed: Nested contenteditable elements path is not updated on focus with the [Div Editing Area](https://ckeditor.com/cke4/addon/divarea) plugin. +* [#1682](https://github.com/ckeditor/ckeditor-dev/issues/1682) Fixed: Hovering the [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) panel changes its size, causing flickering. +* [#421](https://github.com/ckeditor/ckeditor-dev/issues/421) Fixed: Expandable [Button](https://ckeditor.com/cke4/addon/button) puts the `(Selected)` text at the end of the label when clicked. +* [#1454](https://github.com/ckeditor/ckeditor-dev/issues/1454): Fixed: The [`onAbort`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_fileTools_uploadWidgetDefinition.html#property-onAbort) method of the [Upload Widget](https://ckeditor.com/cke4/addon/uploadwidget) is not called when the loader is aborted. +* [#1451](https://github.com/ckeditor/ckeditor-dev/issues/1451): Fixed: The context menu is incorrectly positioned when opened with Shift+F10. +* [#1722](https://github.com/ckeditor/ckeditor-dev/issues/1722): [`CKEDITOR.filter.instances`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_filter.html#static-property-instances) is causing memory leaks. +* [#2491](https://github.com/ckeditor/ckeditor-dev/issues/2491): Fixed: The [Mentions](https://ckeditor.com/cke4/addon/mentions) plugin is not matching diacritic characters. +* [#2519](https://github.com/ckeditor/ckeditor-dev/issues/2519): Fixed: The [Accessibility Help](https://ckeditor.com/cke4/addon/a11yhelp) dialog should display all available keystrokes for a single command. + +API Changes: + +* [#2453](https://github.com/ckeditor/ckeditor-dev/issues/2453): The [`CKEDITOR.ui.panel.block.getItems`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_ui_panel_block.html#method-getItems) method now also returns `input` elements in addition to links. +* [#2224](https://github.com/ckeditor/ckeditor-dev/issues/2224): The [`CKEDITOR.tools.convertToPx`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools.html#method-convertToPx) function now converts negative values. +* [#2253](https://github.com/ckeditor/ckeditor-dev/issues/2253): The widget definition [`insert`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_widget_definition.html#property-insert) method now passes `editor` and `commandData`. Thanks to [marcparmet](https://github.com/marcparmet)! +* [#2045](https://github.com/ckeditor/ckeditor-dev/issues/2045): Extracted [`tools.eventsBuffer`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools.html#method-eventsBuffer) and [`tools.throttle`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools.html#method-throttle) functions logic into a separate namespace. + * [`tools.eventsBuffer`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools.html#method-eventsBuffer) was extracted into [`tools.buffers.event`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_buffers_event.html), + * [`tools.throttle`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools.html#method-throttle) was extracted into [`tools.buffers.throttle`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_buffers_throttle.html). +* [#2466](https://github.com/ckeditor/ckeditor-dev/issues/2466): The [`CKEDITOR.filter`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools.html#method-constructor) constructor accepts an additional `rules` parameter allowing to bind the editor and filter together. +* [#2493](https://github.com/ckeditor/ckeditor-dev/issues/2493): The [`editor.getCommandKeystroke`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-getCommandKeystroke) method accepts an additional `all` parameter allowing to retrieve an array of all command keystrokes. +* [#2483](https://github.com/ckeditor/ckeditor-dev/issues/2483): Button's DOM element created with the [`hasArrow`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_ui.html#method-addButton) definition option can by identified by the `.cke_button_expandable` CSS class. + +Other Changes: + +* [#1713](https://github.com/ckeditor/ckeditor-dev/issues/1713): Removed the redundant `lang.title` entry from the [Clipboard](https://ckeditor.com/cke4/addon/clipboard) plugin. + +## CKEditor 4.10.1 + +Fixed Issues: + +* [#2114](https://github.com/ckeditor/ckeditor-dev/issues/2114): Fixed: [Autocomplete](https://ckeditor.com/cke4/addon/autocomplete) cannot be initialized before [`instanceReady`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#event-instanceReady). +* [#2107](https://github.com/ckeditor/ckeditor-dev/issues/2107): Fixed: Holding and releasing the mouse button is not inserting an [autocomplete](https://ckeditor.com/cke4/addon/autocomplete) suggestion. +* [#2167](https://github.com/ckeditor/ckeditor-dev/issues/2167): Fixed: Matching in [Emoji](https://ckeditor.com/cke4/addon/emoji) plugin is not case insensitive. +* [#2195](https://github.com/ckeditor/ckeditor-dev/issues/2195): Fixed: [Emoji](https://ckeditor.com/cke4/addon/emoji) shows the suggestion box when the colon is preceded with other characters than white space. +* [#2169](https://github.com/ckeditor/ckeditor-dev/issues/2169): [Edge] Fixed: Error thrown when pasting into the editor. +* [#1084](https://github.com/ckeditor/ckeditor-dev/issues/1084) Fixed: Using the "Automatic" option with [Color Button](https://ckeditor.com/cke4/addon/colorbutton) on a text with the color already defined sets an invalid color value. +* [#2271](https://github.com/ckeditor/ckeditor-dev/issues/2271): Fixed: Custom color name not used as a label in the [Color Button](https://ckeditor.com/cke4/addon/image2) plugin. Thanks to [Eric Geloen](https://github.com/egeloen)! +* [#2296](https://github.com/ckeditor/ckeditor-dev/issues/2296): Fixed: The [Color Button](https://ckeditor.com/cke4/addon/colorbutton) plugin throws an error when activated on content containing HTML comments. +* [#966](https://github.com/ckeditor/ckeditor-dev/issues/966): Fixed: Executing [`editor.destroy()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-destroy) during the [file upload](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_fileTools_uploadWidgetDefinition.html#property-onUploading) throws an error. Thanks to [Maksim Makarevich](https://github.com/MaksimMakarevich)! +* [#1719](https://github.com/ckeditor/ckeditor-dev/issues/1719): Fixed: Ctrl/Cmd + A inadvertently focuses inline editor if it is starting and ending with a list. Thanks to [theNailz](https://github.com/theNailz)! +* [#1046](https://github.com/ckeditor/ckeditor-dev/issues/1046): Fixed: Subsequent new links do not include the `id` attribute. Thanks to [Nathan Samson](https://github.com/nathansamson)! +* [#1348](https://github.com/ckeditor/ckeditor-dev/issues/1348): Fixed: [Enhanced Image](https://ckeditor.com/cke4/addon/image2) plugin aspect ratio locking uses an old width and height on image URL change. +* [#1791](https://github.com/ckeditor/ckeditor-dev/issues/1791): Fixed: [Image](https://ckeditor.com/cke4/addon/image) and [Enhanced Image](https://ckeditor.com/cke4/addon/image2) plugins can be enabled when [Easy Image](https://ckeditor.com/cke4/addon/easyimage) is present. +* [#2254](https://github.com/ckeditor/ckeditor-dev/issues/2254): Fixed: [Image](https://ckeditor.com/cke4/addon/image) ratio locking is too precise for resized images. Thanks to [Jonathan Gilbert](https://github.com/logiclrd)! +* [#1184](https://github.com/ckeditor/ckeditor-dev/issues/1184): [IE8-11] Fixed: Copying and pasting data in [read-only mode](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#property-readOnly) throws an error. +* [#1916](https://github.com/ckeditor/ckeditor-dev/issues/1916): [IE9-11] Fixed: Pressing the Delete key in [read-only mode](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#property-readOnly) throws an error. +* [#2003](https://github.com/ckeditor/ckeditor-dev/issues/2003): [Firefox] Fixed: Right-clicking multiple selected table cells containing empty paragraphs removes the selection. +* [#1816](https://github.com/ckeditor/ckeditor-dev/issues/1816): Fixed: Table breaks when Enter is pressed over the [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin. +* [#1115](https://github.com/ckeditor/ckeditor-dev/issues/1115): Fixed: The `` tag is not preserved when proper configuration is provided and a style is applied by the [Font](https://ckeditor.com/cke4/addon/font) plugin. +* [#727](https://github.com/ckeditor/ckeditor-dev/issues/727): Fixed: Custom styles may be invisible in the [Styles Combo](https://ckeditor.com/cke4/addon/stylescombo) plugin. +* [#988](https://github.com/ckeditor/ckeditor-dev/issues/988): Fixed: ACF-enabled custom elements prefixed with `object`, `embed`, `param` are removed from the editor content. + +API Changes: + +* [#2249](https://github.com/ckeditor/ckeditor-dev/issues/1791): Added the [`editor.plugins.detectConflict()`](https://ckeditor.com/docs/ckeditor4/latest/CKEDITOR_editor_plugins.html#method-detectConflict) method finding conflicts between provided plugins. + +## CKEditor 4.10 + +New Features: + +* [#1751](https://github.com/ckeditor/ckeditor-dev/issues/1751): Introduced the **Autocomplete** feature that consists of the following plugins: + * [Autocomplete](https://ckeditor.com/cke4/addon/autocomplete) – Provides contextual completion feature for custom text matches based on user input. + * [Text Watcher](https://ckeditor.com/cke4/addon/textWatcher) – Checks whether an editor's text change matches the chosen criteria. + * [Text Match](https://ckeditor.com/cke4/addon/textMatch) – Allows to search [`CKEDITOR.dom.range`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dom_range.html) for matching text. +* [#1703](https://github.com/ckeditor/ckeditor-dev/issues/1703): Introduced the [Mentions](https://ckeditor.com/cke4/addon/mentions) plugin providing smart completion feature for custom text matches based on user input starting with a chosen marker character. +* [#1746](https://github.com/ckeditor/ckeditor-dev/issues/1703): Introduced the [Emoji](https://ckeditor.com/cke4/addon/emoji) plugin providing completion feature for emoji ideograms. +* [#1761](https://github.com/ckeditor/ckeditor-dev/issues/1761): The [Auto Link](https://ckeditor.com/cke4/addon/autolink) plugin now supports email links. + +Fixed Issues: + +* [#1458](https://github.com/ckeditor/ckeditor-dev/issues/1458): [Edge] Fixed: After blurring the editor it takes 2 clicks to focus a widget. +* [#1034](https://github.com/ckeditor/ckeditor-dev/issues/1034): Fixed: JAWS leaves forms mode after pressing the Enter key in an inline editor instance. +* [#1748](https://github.com/ckeditor/ckeditor-dev/pull/1748): Fixed: Missing [`CKEDITOR.dialog.definition.onHide`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dialog_definition.html#property-onHide) API documentation. Thanks to [sunnyone](https://github.com/sunnyone)! +* [#1321](https://github.com/ckeditor/ckeditor-dev/issues/1321): Fixed: Ideographic space character (`\u3000`) is lost when pasting text. +* [#1776](https://github.com/ckeditor/ckeditor-dev/issues/1776): Fixed: Empty caption placeholder of the [Image Base](https://ckeditor.com/cke4/addon/imagebase) plugin is not hidden when blurred. +* [#1592](https://github.com/ckeditor/ckeditor-dev/issues/1592): Fixed: The [Image Base](https://ckeditor.com/cke4/addon/imagebase) plugin caption is not visible after paste. +* [#620](https://github.com/ckeditor/ckeditor-dev/issues/620): Fixed: The [`config.forcePasteAsPlainText`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-forcePasteAsPlainText) option is not respected in internal and cross-editor pasting. +* [#1467](https://github.com/ckeditor/ckeditor-dev/issues/1467): Fixed: The resizing cursor of the [Table Resize](https://ckeditor.com/cke4/addon/tableresize) plugin appearing in the middle of a merged cell. + +API Changes: + +* [#850](https://github.com/ckeditor/ckeditor-dev/issues/850): Backward incompatibility: Replaced the `replace` dialog from the [Find / Replace](https://ckeditor.com/cke4/addon/find) plugin with a `tabId` option in the `find` command. +* [#1582](https://github.com/ckeditor/ckeditor-dev/issues/1582): The [`CKEDITOR.editor.addCommand()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-addCommand) method can now accept a [`CKEDITOR.command`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_command.html) instance as a parameter. +* [#1712](https://github.com/ckeditor/ckeditor-dev/issues/1712): The [`extraPlugins`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-extraPlugins), [`removePlugins`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-removePlugins) and [`plugins`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-plugins) configuration options allow whitespace. +* [#1802](https://github.com/ckeditor/ckeditor-dev/issues/1802): The [`extraPlugins`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-extraPlugins), [`removePlugins`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-removePlugins) and [`plugins`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-plugins) configuration options allow passing plugin names as an array. +* [#1724](https://github.com/ckeditor/ckeditor-dev/issues/1724): Added an option to the [`getClientRect()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dom_element.html#method-getClientRect) function allowing to retrieve an absolute bounding rectangle of the element, i.e. a position relative to the upper-left corner of the topmost viewport. +* [#1498](https://github.com/ckeditor/ckeditor-dev/issues/1498) : Added a new [`getClientRects()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dom_range.html#method-getClientRects) method to `CKEDITOR.dom.range`. It returns a list of rectangles for each selected element. +* [#1993](https://github.com/ckeditor/ckeditor-dev/issues/1993): Added the [`CKEDITOR.tools.throttle()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools.html#method-throttle) function. + +Other Changes: + +* Updated [SCAYT](https://ckeditor.com/cke4/addon/scayt) (Spell Check As You Type) and [WebSpellChecker](https://ckeditor.com/cke4/addon/wsc) (WSC) plugins: + * Language dictionary update: Added support for the Uzbek Latin language. + * Languages no longer supported as additional languages: Manx - Isle of Man (`gv_GB`) and Interlingua (`ia_XR`). + * Extended and improved language dictionaries: Georgian and Swedish. Also added the missing word _"Ensure"_ to the American, British and Canada English language. + * [#141](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/141) Fixed: SCAYT throws "Uncaught Error: Error in RangyWrappedRange module: createRange(): Parameter must be a Window object or DOM node". + * [#153](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/153) [Chrome] Fixed: Correcting a word in the widget in SCAYT moves focus to another editable. + * [#155](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/155) [IE8] Fixed: SCAYT throws an error and does not work. + * [#156](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/156) [IE10] Fixed: SCAYT does not seem to work. + * Fixed: After some text is dragged and dropped, the markup is not refreshed for grammar problems in SCAYT. + * Fixed: Request to FastCGI fails when the user tries to replace a word with non-English characters with a proper suggestion in WSC. + * [Firefox] Fixed: Ctrl+Z removes focus in SCAYT. + * Grammar support for default languages was improved. + * New application source URL was added in SCAYT. + * Removed green marks and legend related to grammar-supported languages in the Languages tab of SCAYT. Grammar is now supported for almost all the anguages in the list for an additional fee. + * Fixed: JavaScript error in the console: "Cannot read property 'split' of undefined" in SCAYT and WSC. + * [IE10] Fixed: Markup is not set for a specific case in SCAYT. + * Fixed: Accessibility issue: No `alt` attribute for the logo image in the About tab of SCAYT. + +## CKEditor 4.9.2 + +**Security Updates:** + +* Fixed XSS vulnerability in the [Enhanced Image](https://ckeditor.com/cke4/addon/image2) (`image2`) plugin reported by [Kyaw Min Thein](https://twitter.com/kyawminthein99). + + Issue summary: It was possible to execute XSS inside CKEditor using the `` tag and specially crafted HTML. Please note that the default presets (Basic/Standard/Full) do not include this plugin, so you are only at risk if you made a custom build and enabled this plugin. + +We would like to thank the [Drupal security team](https://www.drupal.org/drupal-security-team) for bringing this matter to our attention and coordinating the fix and release process! + +## CKEditor 4.9.1 + +Fixed Issues: + +* [#1835](https://github.com/ckeditor/ckeditor-dev/issues/1835): Fixed: Integration between [CKFinder](https://ckeditor.com/ckeditor-4/ckfinder/) and the [File Browser](https://ckeditor.com/cke4/addon/filebrowser) plugin does not work. + +## CKEditor 4.9 + +New Features: + +* [#932](https://github.com/ckeditor/ckeditor-dev/issues/932): Introduced Easy Image feature for inserting images that are automatically rescaled, optimized, responsive and delivered through a blazing-fast CDN. Three new plugins were added to support it: + * [Easy Image](https://ckeditor.com/cke4/addon/easyimage), + * [Cloud Services](https://ckeditor.com/cke4/addon/cloudservices) + * [Image Base](https://ckeditor.com/cke4/addon/imagebase) +* [#1338](https://github.com/ckeditor/ckeditor-dev/issues/1338): Keystroke labels are displayed for function keys (like F7, F8). +* [#643](https://github.com/ckeditor/ckeditor-dev/issues/643): The [File Browser](https://ckeditor.com/cke4/addon/filebrowser) plugin can now upload files using XHR requests. This allows for setting custom HTTP headers using the [`config.fileTools_requestHeaders`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-fileTools_requestHeaders) configuration option. +* [#1365](https://github.com/ckeditor/ckeditor-dev/issues/1365): The [File Browser](https://ckeditor.com/cke4/addon/filebrowser) plugin uses XHR requests by default. +* [#1399](https://github.com/ckeditor/ckeditor-dev/issues/1399): Added the possibility to set [`CKEDITOR.config.startupFocus`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-startupFocus) as `start` or `end` to specify where the editor focus should be after the initialization. +* [#1441](https://github.com/ckeditor/ckeditor-dev/issues/1441): The [Magic Line](https://ckeditor.com/cke4/addon/magicline) plugin line element can now be identified by the `data-cke-magic-line="1"` attribute. + +Fixed Issues: + +* [#595](https://github.com/ckeditor/ckeditor-dev/issues/595): Fixed: Pasting does not work on mobile devices. +* [#869](https://github.com/ckeditor/ckeditor-dev/issues/869): Fixed: Empty selection clears cached clipboard data in the editor. +* [#1419](https://github.com/ckeditor/ckeditor-dev/issues/1419): Fixed: The [Widget Selection](https://ckeditor.com/cke4/addon/widgetselection) plugin selects the editor content with the Alt+A key combination on Windows. +* [#1274](https://github.com/ckeditor/ckeditor-dev/issues/1274): Fixed: [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) does not match a single selected image using the [`contextDefinition.cssSelector`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_balloontoolbar_contextDefinition.html#property-cssSelector) matcher. +* [#1232](https://github.com/ckeditor/ckeditor-dev/issues/1232): Fixed: [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) buttons should be registered as focusable elements. +* [#1342](https://github.com/ckeditor/ckeditor-dev/issues/1342): Fixed: [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) should be re-positioned after the [`change`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#event-change) event. +* [#1426](https://github.com/ckeditor/ckeditor-dev/issues/1426): [IE8-9] Fixed: Missing [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) background in the [Kama](https://ckeditor.com/cke4/addon/kama) skin. Thanks to [Christian Elmer](https://github.com/keinkurt)! +* [#1470](https://github.com/ckeditor/ckeditor-dev/issues/1470): Fixed: [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) is not visible after drag and drop of a widget it is attached to. +* [#1048](https://github.com/ckeditor/ckeditor-dev/issues/1048): Fixed: [Balloon Panel](https://ckeditor.com/cke4/addon/balloonpanel) is not positioned properly when a margin is added to its non-static parent. +* [#889](https://github.com/ckeditor/ckeditor-dev/issues/889): Fixed: Unclear error message for width and height fields in the [Image](https://ckeditor.com/cke4/addon/image) and [Enhanced Image](https://ckeditor.com/cke4/addon/image2) plugins. +* [#859](https://github.com/ckeditor/ckeditor-dev/issues/859): Fixed: Cannot edit a link after a double-click on the text in the link. +* [#1013](https://github.com/ckeditor/ckeditor-dev/issues/1013): Fixed: [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) does not work correctly with the [`config.forcePasteAsPlainText`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-forcePasteAsPlainText) option. +* [#1356](https://github.com/ckeditor/ckeditor-dev/issues/1356): Fixed: [Border parse function](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_style_parse.html#method-border) does not allow spaces in the color value. +* [#1010](https://github.com/ckeditor/ckeditor-dev/issues/1010): Fixed: The CSS `border` shorthand property was incorrectly expanded ignoring the `border-color` style. +* [#1535](https://github.com/ckeditor/ckeditor-dev/issues/1535): Fixed: [Widget](https://ckeditor.com/cke4/addon/widget) mouseover border contrast is insufficient. +* [#1516](https://github.com/ckeditor/ckeditor-dev/issues/1516): Fixed: Fake selection allows removing content in read-only mode using the Backspace and Delete keys. +* [#1570](https://github.com/ckeditor/ckeditor-dev/issues/1570): Fixed: Fake selection allows cutting content in read-only mode using the Ctrl/Cmd + X keys. +* [#1363](https://github.com/ckeditor/ckeditor-dev/issues/1363): Fixed: Paste notification is unclear and it might confuse users. + + +API Changes: + +* [#1346](https://github.com/ckeditor/ckeditor-dev/issues/1346): [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) [context manager API](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.plugins.balloontoolbar.contextManager.html) is now available in the [`pluginDefinition.init()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_pluginDefinition.html#method-init) method of the [requiring](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_pluginDefinition.html#property-requires) plugin. +* [#1530](https://github.com/ckeditor/ckeditor-dev/issues/1530): Added the possibility to use custom icons for [buttons](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_ui_button.html.html). + +Other Changes: + +* Updated [SCAYT](https://ckeditor.com/cke4/addon/scayt) (Spell Check As You Type) and [WebSpellChecker](https://ckeditor.com/cke4/addon/wsc) (WSC) plugins: + * SCAYT [`scayt_minWordLength`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#scayt_minWordLength) configuration option now defaults to 3 instead of 4. + * SCAYT default number of suggested words in the context menu changed to 3. + * [#90](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/90): Fixed: Selection is lost on link creation if SCAYT highlights the word. + * Fixed: SCAYT crashes when the browser `localStorage` is disabled. + * [IE11] Fixed: `Unable to get property type of undefined or null reference` error in the browser console when SCAYT is disabled/enabled. + * [#46](https://github.com/WebSpellChecker/ckeditor-plugin-wsc/issues/46): Fixed: Editing is blocked when remote spell checker server is offline. + * Fixed: User Dictionary cannot be created in WSC due to `You already have the dictionary` error. + * Fixed: Words with apostrophe `'` on the replacement make the WSC dialog inaccessible. + * Fixed: SCAYT/WSC causes the `Uncaught TypeError` error in the browser console. +* [#1337](https://github.com/ckeditor/ckeditor-dev/issues/1337): Updated the samples layout with the new CKEditor 4 logo and color scheme. +* [#1591](https://github.com/ckeditor/ckeditor-dev/issues/1591): CKBuilder and language tools are now downloaded over HTTPS. Thanks to [August Detlefsen](https://github.com/augustd)! + +## CKEditor 4.8 + +**Important Notes:** + +* [#1249](https://github.com/ckeditor/ckeditor-dev/issues/1249): Enabled the [Upload Image](https://ckeditor.com/cke4/addon/uploadimage) plugin by default in standard and full presets. Also, it will no longer log an error in case of missing [`config.imageUploadUrl`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-imageUploadUrl) property. + +New Features: + +* [#933](https://github.com/ckeditor/ckeditor-dev/issues/933): Introduced [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) plugin. +* [#662](https://github.com/ckeditor/ckeditor-dev/issues/662): Introduced image inlining for the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#468](https://github.com/ckeditor/ckeditor-dev/issues/468): [Edge] Introduced support for the Clipboard API. +* [#607](https://github.com/ckeditor/ckeditor-dev/issues/607): Manually inserted Hex color is prefixed with a hash character (`#`) if needed. It ensures a valid Hex color value is used when setting the table cell border or background color with the [Color Dialog](https://ckeditor.com/cke4/addon/colordialog) window. +* [#584](https://github.com/ckeditor/ckeditor-dev/issues/584): [Font size and Family](https://ckeditor.com/cke4/addon/font) and [Format](https://ckeditor.com/cke4/addon/format) drop-downs are not toggleable anymore. Default option to reset styles added. +* [#856](https://github.com/ckeditor/ckeditor-dev/issues/856): Introduced the [`CKEDITOR.tools.keystrokeToArray()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools.html#method-keystrokeToArray) method. It converts a keystroke into its string representation, returning every key name as a separate array element. +* [#1053](https://github.com/ckeditor/ckeditor-dev/issues/1053): Introduced the [`CKEDITOR.tools.object.merge()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_object.html#method-merge) method. It allows to merge two objects, returning the new object with all properties from both objects deeply cloned. +* [#1073](https://github.com/ckeditor/ckeditor-dev/issues/1073): Introduced the [`CKEDITOR.tools.array.every()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_array.html#method-every) method. It invokes a given test function on every array element and returns `true` if all elements pass the test. + +Fixed Issues: + +* [#796](https://github.com/ckeditor/ckeditor-dev/issues/796): Fixed: A list is pasted from OneNote in the reversed order. +* [#834](https://github.com/ckeditor/ckeditor-dev/issues/834): [IE9-11] Fixed: The editor does not save the selected state of radio buttons inserted by the [Form Elements](https://ckeditor.com/cke4/addon/forms) plugin. +* [#704](https://github.com/ckeditor/ckeditor-dev/issues/704): [Edge] Fixed: Using Ctrl/Cmd + Z breaks widget structure. +* [#591](https://github.com/ckeditor/ckeditor-dev/issues/591): Fixed: A column is inserted in a wrong order inside the table if any cell has a vertical split. +* [#787](https://github.com/ckeditor/ckeditor-dev/issues/787): Fixed: Using Cut inside a nested table does not cut the selected content. +* [#842](https://github.com/ckeditor/ckeditor-dev/issues/842): Fixed: List style not restored when toggling list indent level in the [Indent List](https://ckeditor.com/cke4/addon/indentlist) plugin. +* [#711](https://github.com/ckeditor/ckeditor-dev/issues/711): Fixed: Dragging widgets should only work with the left mouse button. +* [#862](https://github.com/ckeditor/ckeditor-dev/issues/862): Fixed: The "Object Styles" group in the [Styles Combo](https://ckeditor.com/cke4/addon/stylescombo) plugin is visible only if the whole element is selected. +* [#994](https://github.com/ckeditor/ckeditor-dev/pull/994): Fixed: Typo in the [`CKEDITOR.focusManager.focus()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_focusManager.html#method-focus) API documentation. Thanks to [benjy](https://github.com/benjy)! +* [#1014](https://github.com/ckeditor/ckeditor-dev/issues/1014): Fixed: The [Table Tools](https://ckeditor.com/cke4/addon/tabletools) Cell Properties dialog is now [Advanced Content Filter](https://ckeditor.com/docs/ckeditor4/latest/guide/dev_acf.html) aware — it is not possible to change the cell width or height if corresponding styles are disabled. +* [#877](https://github.com/ckeditor/ckeditor-dev/issues/877): Fixed: A list with custom bullets with exotic characters crashes the editor when [pasted from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#605](https://github.com/ckeditor/ckeditor-dev/issues/605): Fixed: Inline widgets do not preserve trailing spaces. +* [#1008](https://github.com/ckeditor/ckeditor-dev/issues/1008): Fixed: Shorthand Hex colors from the [`config.colorButton_colors`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-colorButton_colors) option are not correctly highlighted in the [Color Button](https://ckeditor.com/cke4/addon/colorbutton) Text Color or Background Color panel. +* [#1094](https://github.com/ckeditor/ckeditor-dev/issues/1094): Fixed: Widget definition [`upcast`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_widget_definition.html#property-upcasts) methods are called for every element. +* [#1057](https://github.com/ckeditor/ckeditor-dev/issues/1057): Fixed: The [Notification](https://ckeditor.com/addon/notification) plugin overwrites Web Notifications API due to leakage to the global scope. +* [#1068](https://github.com/ckeditor/ckeditor-dev/issues/1068): Fixed: Upload widget paste listener ignores changes to the [`uploadWidgetDefinition`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.fileTools.uploadWidgetDefinition.html). +* [#921](https://github.com/ckeditor/ckeditor-dev/issues/921): Fixed: [Edge] CKEditor erroneously perceives internal copy and paste as type "external". +* [#1213](https://github.com/ckeditor/ckeditor-dev/issues/1213): Fixed: Multiple images uploaded using [Upload Image](https://ckeditor.com/cke4/addon/uploadimage) plugin are randomly duplicated or mangled. +* [#532](https://github.com/ckeditor/ckeditor-dev/issues/532): Fixed: Removed an outdated user guide link from the [About](https://ckeditor.com/cke4/addon/about) dialog. +* [#1221](https://github.com/ckeditor/ckeditor-dev/issues/1221): Fixed: Invalid CSS loaded by [Balloon Panel](https://ckeditor.com/cke4/addon/balloonpanel) plugin when [`config.skin`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-skin) is loaded using a custom path. +* [#522](https://github.com/ckeditor/ckeditor-dev/issues/522): Fixed: Widget selection is not removed when widget is inside table cell with [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin enabled. +* [#1027](https://github.com/ckeditor/ckeditor-dev/issues/1027): Fixed: Cannot add multiple images to the table with [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin in certain situations. +* [#1069](https://github.com/ckeditor/ckeditor-dev/issues/1069): Fixed: Wrong shape processing by [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#995](https://github.com/ckeditor/ckeditor-dev/issues/995): Fixed: Hyperlinked image gets inserted twice by [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#1287](https://github.com/ckeditor/ckeditor-dev/issues/1287): Fixed: [Widget](https://ckeditor.com/cke4/addon/widget) plugin throws exception if included in editor build but not loaded into editor's instance. + +API Changes: + +* [#1097](https://github.com/ckeditor/ckeditor-dev/issues/1097): Widget [`upcast`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_widget_definition.html#property-upcast) methods are now called in the [widget definition's](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_widget.html#property-definition) context. +* [#1118](https://github.com/ckeditor/ckeditor-dev/issues/1118): Added the `show` option in the [`balloonPanel.attach()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_ui_balloonPanel.html#method-attach) method, allowing to attach a hidden [Balloon Panel](https://ckeditor.com/cke4/addon/balloonpanel) instance. +* [#1145](https://github.com/ckeditor/ckeditor-dev/issues/1145): Added the [`skipNotifications`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_fileTools_uploadWidgetDefinition.html#property-skipNotifications) option to the [`CKEDITOR.fileTools.uploadWidgetDefinition`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.fileTools.uploadWidgetDefinition.html), allowing to switch off default notifications displayed by upload widgets. + +Other Changes: + +* [#815](https://github.com/ckeditor/ckeditor-dev/issues/815): Removed Node.js dependency from the CKEditor build script. +* [#1041](https://github.com/ckeditor/ckeditor-dev/pull/1041), [#1131](https://github.com/ckeditor/ckeditor-dev/issues/1131): Updated URLs pointing to [CKSource](https://cksource.com/) and [CKEditor](https://ckeditor.com/) resources after the launch of new websites. + ## CKEditor 4.7.3 New Features: -* [#568](https://github.com/ckeditor/ckeditor-dev/issues/568): Added possibility to adjust nested editables' filters using the [`CKEDITOR.filter.disallowedContent`](https://docs.ckeditor.com/#!/api/CKEDITOR.filter-property-disallowedContent) property. +* [#568](https://github.com/ckeditor/ckeditor-dev/issues/568): Added possibility to adjust nested editables' filters using the [`CKEDITOR.filter.disallowedContent`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_filter.html#property-disallowedContent) property. Fixed Issues: -* [#554](https://github.com/ckeditor/ckeditor-dev/issues/554): Fixed: [`change`](https://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-change) event not fired when typing the first character after pasting into the editor. Thanks to [Daniel Miller](https://github.com/millerdev)! +* [#554](https://github.com/ckeditor/ckeditor-dev/issues/554): Fixed: [`change`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#event-change) event not fired when typing the first character after pasting into the editor. Thanks to [Daniel Miller](https://github.com/millerdev)! * [#566](https://github.com/ckeditor/ckeditor-dev/issues/566): Fixed: The CSS `border` shorthand property with zero width (`border: 0px solid #000;`) causes the table to have the border attribute set to 1. -* [#779](https://github.com/ckeditor/ckeditor-dev/issues/779): Fixed: The [Remove Format](https://ckeditor.com/addon/removeformat) plugin removes elements with language definition inserted by the [Language](https://ckeditor.com/addon/language) plugin. -* [#423](https://github.com/ckeditor/ckeditor-dev/issues/423): Fixed: The [Paste from Word](https://ckeditor.com/addon/pastefromword) plugin pastes paragraphs into the editor even if [`CKEDITOR.config.enterMode`](https://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enterMode) is set to `CKEDITOR.ENTER_BR`. -* [#719](https://github.com/ckeditor/ckeditor-dev/issues/719): Fixed: Image inserted using the [Enhanced Image](https://ckeditor.com/addon/image2) plugin can be resized when the editor is in [read-only mode](https://docs.ckeditor.com/#!/guide/dev_readonly). -* [#577](https://github.com/ckeditor/ckeditor-dev/issues/577): Fixed: The "Delete Columns" command provided by the [Table Tools](https://ckeditor.com/addon/tabletools) plugin throws an error when trying to delete columns. +* [#779](https://github.com/ckeditor/ckeditor-dev/issues/779): Fixed: The [Remove Format](https://ckeditor.com/cke4/addon/removeformat) plugin removes elements with language definition inserted by the [Language](https://ckeditor.com/cke4/addon/language) plugin. +* [#423](https://github.com/ckeditor/ckeditor-dev/issues/423): Fixed: The [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin pastes paragraphs into the editor even if [`CKEDITOR.config.enterMode`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-enterMode) is set to `CKEDITOR.ENTER_BR`. +* [#719](https://github.com/ckeditor/ckeditor-dev/issues/719): Fixed: Image inserted using the [Enhanced Image](https://ckeditor.com/cke4/addon/image2) plugin can be resized when the editor is in [read-only mode](https://ckeditor.com/docs/ckeditor4/latest/guide/dev_readonly.html). +* [#577](https://github.com/ckeditor/ckeditor-dev/issues/577): Fixed: The "Delete Columns" command provided by the [Table Tools](https://ckeditor.com/cke4/addon/tabletools) plugin throws an error when trying to delete columns. * [#867](https://github.com/ckeditor/ckeditor-dev/issues/867): Fixed: Typing into a selected table throws an error. -* [#817](https://github.com/ckeditor/ckeditor-dev/issues/817): Fixed: The [Save](https://ckeditor.com/addon/save) plugin does not work in [Source Mode](https://ckeditor.com/addon/sourcearea). +* [#817](https://github.com/ckeditor/ckeditor-dev/issues/817): Fixed: The [Save](https://ckeditor.com/cke4/addon/save) plugin does not work in [Source Mode](https://ckeditor.com/cke4/addon/sourcearea). Other Changes: -* Updated the [WebSpellChecker](http://ckeditor.com/addon/wsc) plugin: +* Updated the [WebSpellChecker](https://ckeditor.com/cke4/addon/wsc) plugin: * [#40](https://github.com/WebSpellChecker/ckeditor-plugin-wsc/issues/40): Fixed: IE10 throws an error when spell checking is started. -* [#800](https://github.com/ckeditor/ckeditor-dev/issues/800): Added the [`CKEDITOR.dom.selection.isCollapsed`](https://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-isCollapsed) method which is a simpler way to check if the selection is collapsed. -* [#830](https://github.com/ckeditor/ckeditor-dev/issues/830): Added an option to define which dialog tab should be shown by default when creating [`CKEDITOR.dialogCommand`](https://docs.ckeditor.com/#!/api/CKEDITOR.dialogCommand). +* [#800](https://github.com/ckeditor/ckeditor-dev/issues/800): Added the [`CKEDITOR.dom.selection.isCollapsed()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dom_selection.html#method-isCollapsed) method which is a simpler way to check if the selection is collapsed. +* [#830](https://github.com/ckeditor/ckeditor-dev/issues/830): Added an option to define which dialog tab should be shown by default when creating [`CKEDITOR.dialogCommand`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.dialogCommand.html). ## CKEditor 4.7.2 New Features: -* [#455](https://github.com/ckeditor/ckeditor-dev/issues/455): Added [Advanced Content Filter](https://docs.ckeditor.com/#!/guide/dev_acf) integration with the [Justify](http://ckeditor.com/addon/justify) plugin. +* [#455](https://github.com/ckeditor/ckeditor-dev/issues/455): Added [Advanced Content Filter](https://ckeditor.com/docs/ckeditor4/latest/guide/dev_acf.html) integration with the [Justify](https://ckeditor.com/cke4/addon/justify) plugin. Fixed Issues: * [#663](https://github.com/ckeditor/ckeditor-dev/issues/663): [Chrome] Fixed: Clicking the scrollbar throws an `Uncaught TypeError: element.is is not a function` error. -* [#694](https://github.com/ckeditor/ckeditor-dev/pull/694): Refactoring in the [Table Selection](http://ckeditor.com/addon/tableselection) plugin: +* [#694](https://github.com/ckeditor/ckeditor-dev/pull/694): Refactoring in the [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin: * [#520](https://github.com/ckeditor/ckeditor-dev/issues/520): Fixed: Widgets cannot be properly pasted into a table cell. * [#460](https://github.com/ckeditor/ckeditor-dev/issues/460): Fixed: Editor gone after pasting into an editor within a table. -* [#579](https://github.com/ckeditor/ckeditor-dev/issues/579): Fixed: Internal `cke_table-faked-selection-table` class is visible in the Stylesheet Classes field of the [Table Properties](http://ckeditor.com/addon/table) dialog. -* [#545](https://github.com/ckeditor/ckeditor-dev/issues/545): [Edge] Fixed: Error thrown when pressing the [Select All](https://ckeditor.com/addon/selectall) button in [Source Mode](http://ckeditor.com/addon/sourcearea). -* [#582](https://github.com/ckeditor/ckeditor-dev/issues/582): Fixed: Double slash in the path to stylesheet needed by the [Table Selection](http://ckeditor.com/addon/tableselection) plugin. Thanks to [Marius Dumitru Florea](https://github.com/mflorea)! -* [#491](https://github.com/ckeditor/ckeditor-dev/issues/491): Fixed: Unnecessary dependency on the [Editor Toolbar](http://ckeditor.com/addon/toolbar) plugin inside the [Notification](http://ckeditor.com/addon/notification) plugin. -* [#646](https://github.com/ckeditor/ckeditor-dev/issues/646): Fixed: Error thrown into the browser console after opening the [Styles Combo](http://ckeditor.com/addon/stylescombo) plugin menu in the editor without any selection. -* [#501](https://github.com/ckeditor/ckeditor-dev/issues/501): Fixed: Double click does not open the dialog for modifying anchors inserted via the [Link](http://ckeditor.com/addon/link) plugin. -* [#9780](https://dev.ckeditor.com/ticket/9780): [IE8-9] Fixed: Clicking inside an empty [read-only](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-readOnly) editor throws an error. +* [#579](https://github.com/ckeditor/ckeditor-dev/issues/579): Fixed: Internal `cke_table-faked-selection-table` class is visible in the Stylesheet Classes field of the [Table Properties](https://ckeditor.com/cke4/addon/table) dialog. +* [#545](https://github.com/ckeditor/ckeditor-dev/issues/545): [Edge] Fixed: Error thrown when pressing the [Select All](https://ckeditor.com/cke4/addon/selectall) button in [Source Mode](https://ckeditor.com/cke4/addon/sourcearea). +* [#582](https://github.com/ckeditor/ckeditor-dev/issues/582): Fixed: Double slash in the path to stylesheet needed by the [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin. Thanks to [Marius Dumitru Florea](https://github.com/mflorea)! +* [#491](https://github.com/ckeditor/ckeditor-dev/issues/491): Fixed: Unnecessary dependency on the [Editor Toolbar](https://ckeditor.com/cke4/addon/toolbar) plugin inside the [Notification](https://ckeditor.com/cke4/addon/notification) plugin. +* [#646](https://github.com/ckeditor/ckeditor-dev/issues/646): Fixed: Error thrown into the browser console after opening the [Styles Combo](https://ckeditor.com/cke4/addon/stylescombo) plugin menu in the editor without any selection. +* [#501](https://github.com/ckeditor/ckeditor-dev/issues/501): Fixed: Double click does not open the dialog for modifying anchors inserted via the [Link](https://ckeditor.com/cke4/addon/link) plugin. +* [#9780](https://dev.ckeditor.com/ticket/9780): [IE8-9] Fixed: Clicking inside an empty [read-only](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#property-readOnly) editor throws an error. * [#16820](https://dev.ckeditor.com/ticket/16820): [IE10] Fixed: Clicking below a single horizontal rule throws an error. -* [#426](https://github.com/ckeditor/ckeditor-dev/issues/426): Fixed: The [`range.cloneContents`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-cloneContents) method selects the whole element when the selection starts at the beginning of that element. -* [#644](https://github.com/ckeditor/ckeditor-dev/issues/644): Fixed: The [`range.extractContents`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-extractContents) method returns an incorrect result when multiple nodes are selected. -* [#684](https://github.com/ckeditor/ckeditor-dev/issues/684): Fixed: The [`elementPath.contains`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.elementPath-method-contains) method incorrectly excludes the last element instead of root when the `fromTop` parameter is set to `true`. +* [#426](https://github.com/ckeditor/ckeditor-dev/issues/426): Fixed: The [`range.cloneContents()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dom_range.html#method-cloneContents) method selects the whole element when the selection starts at the beginning of that element. +* [#644](https://github.com/ckeditor/ckeditor-dev/issues/644): Fixed: The [`range.extractContents()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dom_range.html#method-extractContents) method returns an incorrect result when multiple nodes are selected. +* [#684](https://github.com/ckeditor/ckeditor-dev/issues/684): Fixed: The [`elementPath.contains()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dom_elementPath.html#method-contains) method incorrectly excludes the last element instead of root when the `fromTop` parameter is set to `true`. Other Changes: -* Updated the [SCAYT](http://ckeditor.com/addon/scayt) (Spell Check As You Type) plugin: +* Updated the [SCAYT](https://ckeditor.com/cke4/addon/scayt) (Spell Check As You Type) plugin: * [#148](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/148): Fixed: SCAYT leaves underlined word after the CKEditor Replace dialog corrects it. -* [#751](https://github.com/ckeditor/ckeditor-dev/issues/751): Added the [`CKEDITOR.dom.nodeList.toArray`](https://docs.ckeditor.com/#!/api/CKEDITOR.dom.nodeList-method-toArray) method which returns an array representation of a [node list](https://docs.ckeditor.com/#!/api/CKEDITOR.dom.nodeList). +* [#751](https://github.com/ckeditor/ckeditor-dev/issues/751): Added the [`CKEDITOR.dom.nodeList.toArray()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dom_nodeList.html#method-toArray) method which returns an array representation of a [node list](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.dom.nodeList.html). ## CKEditor 4.7.1 New Features: * Added a new Mexican Spanish localization. Thanks to [David Alexandro Rodriguez](https://www.transifex.com/user/profile/darsco16/)! -* [#413](https://github.com/ckeditor/ckeditor-dev/issues/413): Added Paste as Plain Text keyboard shortcut to the [Accessibility Help](http://ckeditor.com/addon/a11yhelp) instructions. +* [#413](https://github.com/ckeditor/ckeditor-dev/issues/413): Added Paste as Plain Text keyboard shortcut to the [Accessibility Help](https://ckeditor.com/cke4/addon/a11yhelp) instructions. Fixed Issues: -* [#515](https://github.com/ckeditor/ckeditor-dev/issues/515): [Chrome] Fixed: Mouse actions on CKEditor scrollbar throw an exception when the [Table Selection](http://ckeditor.com/addon/tableselection) plugin is loaded. +* [#515](https://github.com/ckeditor/ckeditor-dev/issues/515): [Chrome] Fixed: Mouse actions on CKEditor scrollbar throw an exception when the [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin is loaded. * [#493](https://github.com/ckeditor/ckeditor-dev/issues/493): Fixed: Selection started from a nested table causes an error in the browser while scrolling down. * [#415](https://github.com/ckeditor/ckeditor-dev/issues/415): [Firefox] Fixed: Enter key breaks the table structure when pressed in a table selection. * [#457](https://github.com/ckeditor/ckeditor-dev/issues/457): Fixed: Error thrown when deleting content from the editor with no selection. -* [#478](https://github.com/ckeditor/ckeditor-dev/issues/478): [Chrome] Fixed: Error thrown by the [Enter Key](http://ckeditor.com/addon/enterkey) plugin when pressing Enter with no selection. -* [#424](https://github.com/ckeditor/ckeditor-dev/issues/424): Fixed: Error thrown by [Tab Key Handling](http://ckeditor.com/addon/tab) and [Indent List](http://ckeditor.com/addon/indentlist) plugins when pressing Tab with no selection in inline editor. -* [#476](https://github.com/ckeditor/ckeditor-dev/issues/476): Fixed: Anchors inserted with the [Link](http://ckeditor.com/addon/link) plugin on collapsed selection cannot be edited. -* [#417](https://github.com/ckeditor/ckeditor-dev/issues/417): Fixed: The [Table Resize](http://ckeditor.com/addon/tableresize) plugin throws an error when used with a table with only header or footer rows. -* [#523](https://github.com/ckeditor/ckeditor-dev/issues/523): Fixed: The [`editor.getCommandKeystroke`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getCommandKeystroke) method does not obtain the correct keystroke. -* [#534](https://github.com/ckeditor/ckeditor-dev/issues/534): [IE] Fixed: [Paste from Word](http://ckeditor.com/addon/pastefromword) does not work in Quirks Mode. -* [#450](https://github.com/ckeditor/ckeditor-dev/issues/450): Fixed: [`CKEDITOR.filter`](http://docs.ckeditor.com/#!/api/CKEDITOR.filter) incorrectly transforms the `margin` CSS property. +* [#478](https://github.com/ckeditor/ckeditor-dev/issues/478): [Chrome] Fixed: Error thrown by the [Enter Key](https://ckeditor.com/cke4/addon/enterkey) plugin when pressing Enter with no selection. +* [#424](https://github.com/ckeditor/ckeditor-dev/issues/424): Fixed: Error thrown by [Tab Key Handling](https://ckeditor.com/cke4/addon/tab) and [Indent List](https://ckeditor.com/cke4/addon/indentlist) plugins when pressing Tab with no selection in inline editor. +* [#476](https://github.com/ckeditor/ckeditor-dev/issues/476): Fixed: Anchors inserted with the [Link](https://ckeditor.com/cke4/addon/link) plugin on collapsed selection cannot be edited. +* [#417](https://github.com/ckeditor/ckeditor-dev/issues/417): Fixed: The [Table Resize](https://ckeditor.com/cke4/addon/tableresize) plugin throws an error when used with a table with only header or footer rows. +* [#523](https://github.com/ckeditor/ckeditor-dev/issues/523): Fixed: The [`editor.getCommandKeystroke()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-getCommandKeystroke) method does not obtain the correct keystroke. +* [#534](https://github.com/ckeditor/ckeditor-dev/issues/534): [IE] Fixed: [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) does not work in Quirks Mode. +* [#450](https://github.com/ckeditor/ckeditor-dev/issues/450): Fixed: [`CKEDITOR.filter`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.filter.html) incorrectly transforms the `margin` CSS property. ## CKEditor 4.7 **Important Notes:** -* [#13793](http://dev.ckeditor.com/ticket/13793): The [`embed_provider`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-embed_provider) configuration option for the [Media Embed](http://ckeditor.com/addon/embed) and [Semantic Media Embed](http://ckeditor.com/addon/embedsemantic) plugins is no longer preset by default. -* The [UI Color](http://ckeditor.com/addon/uicolor) plugin now uses a custom color picker instead of the `YUI 2.7.0` library which has some known vulnerabilities (it's a security precaution, there was no security issue in CKEditor due to the way it was used). +* [#13793](https://dev.ckeditor.com/ticket/13793): The [`embed_provider`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-embed_provider) configuration option for the [Media Embed](https://ckeditor.com/cke4/addon/embed) and [Semantic Media Embed](https://ckeditor.com/cke4/addon/embedsemantic) plugins is no longer preset by default. +* The [UI Color](https://ckeditor.com/cke4/addon/uicolor) plugin now uses a custom color picker instead of the `YUI 2.7.0` library which has some known vulnerabilities (it's a security precaution, there was no security issue in CKEditor due to the way it was used). New Features: -* [#16755](http://dev.ckeditor.com/ticket/16755): Added the [Table Selection](http://ckeditor.com/addon/tableselection) plugin that lets you select and manipulate an arbitrary rectangular table fragment (a few cells, a row or a column). -* [#16961](http://dev.ckeditor.com/ticket/16961): Added support for pasting from Microsoft Excel. -* [#13381](http://dev.ckeditor.com/ticket/13381): Dynamic code evaluation call in [`CKEDITOR.template`](http://docs.ckeditor.com/#!/api/CKEDITOR.template) removed. CKEditor can now be used without the `unsafe-eval` Content Security Policy. Thanks to [Caridy Patiño](http://caridy.name)! -* [#16971](http://dev.ckeditor.com/ticket/16971): Added support for color in the `background` property containing also other styles for table cells in the [Table Tools](http://ckeditor.com/addon/tabletools) plugin. -* [#16847](http://dev.ckeditor.com/ticket/16847): Added support for parsing and inlining any formatting created using the Microsoft Word style system to the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin. -* [#16818](http://dev.ckeditor.com/ticket/16818): Added table cell height parsing in the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin. -* [#16850](http://dev.ckeditor.com/ticket/16850): Added a new [`config.enableContextMenu`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enableContextMenu) configuration option for enabling and disabling the [context menu](http://ckeditor.com/addon/contextmenu). -* [#16937](http://dev.ckeditor.com/ticket/16937): The `command` parameter in [CKEDITOR.editor.getCommandKeystroke](http://docs.ckeditor.dev/#!/api/CKEDITOR.editor-method-getCommandKeystroke) now also accepts a command name as an argument. -* [#17010](http://dev.ckeditor.com/ticket/17010): The [`CKEDITOR.dom.range.shrink`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-shrink) method now allows for skipping bogus `
` elements. +* [#16755](https://dev.ckeditor.com/ticket/16755): Added the [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin that lets you select and manipulate an arbitrary rectangular table fragment (a few cells, a row or a column). +* [#16961](https://dev.ckeditor.com/ticket/16961): Added support for pasting from Microsoft Excel. +* [#13381](https://dev.ckeditor.com/ticket/13381): Dynamic code evaluation call in [`CKEDITOR.template`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.template.html) removed. CKEditor can now be used without the `unsafe-eval` Content Security Policy. Thanks to [Caridy Patiño](http://caridy.name)! +* [#16971](https://dev.ckeditor.com/ticket/16971): Added support for color in the `background` property containing also other styles for table cells in the [Table Tools](https://ckeditor.com/cke4/addon/tabletools) plugin. +* [#16847](https://dev.ckeditor.com/ticket/16847): Added support for parsing and inlining any formatting created using the Microsoft Word style system to the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#16818](https://dev.ckeditor.com/ticket/16818): Added table cell height parsing in the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#16850](https://dev.ckeditor.com/ticket/16850): Added a new [`config.enableContextMenu`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-enableContextMenu) configuration option for enabling and disabling the [context menu](https://ckeditor.com/cke4/addon/contextmenu). +* [#16937](https://dev.ckeditor.com/ticket/16937): The `command` parameter in [`CKEDITOR.editor.getCommandKeystroke()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-getCommandKeystroke) now also accepts a command name as an argument. +* [#17010](https://dev.ckeditor.com/ticket/17010): The [`CKEDITOR.dom.range.shrink()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dom_range.html#method-shrink) method now allows for skipping bogus `
` elements. Fixed Issues: -* [#16935](http://dev.ckeditor.com/ticket/16935): [Chrome] Fixed: Blurring the editor in [Source Mode](http://ckeditor.com/addon/sourcearea) throws an error. -* [#16825](http://dev.ckeditor.com/ticket/16825): [Chrome] Fixed: Error thrown when destroying a focused inline editor. -* [#16857](http://dev.ckeditor.com/ticket/16857): Fixed: Ctrl+Shift+V blocked by [Copy Formatting](http://ckeditor.com/addon/copyformatting). -* [#16845](https://dev.ckeditor.com/ticket/16845): [IE] Fixed: Cursor jumps to the top of the scrolled editor after focusing it when the [Copy Formatting](http://ckeditor.com/addon/copyformatting) plugin is enabled. -* [#16786](http://dev.ckeditor.com/ticket/16786): Fixed: Added missing translations for the [Copy Formatting](http://ckeditor.com/addon/copyformatting) plugin. -* [#14714](http://dev.ckeditor.com/ticket/14714): [WebKit/Blink] Fixed: Exception thrown on refocusing a blurred inline editor. -* [#16913](http://dev.ckeditor.com/ticket/16913): [Firefox, IE] Fixed: [Paste as Plain Text](http://ckeditor.com/addon/pastetext) keystroke does not work. -* [#16968](http://dev.ckeditor.com/ticket/16968): Fixed: [Safari] [Paste as Plain Text](http://ckeditor.com/addon/pastetext) is not handled by the editor. -* [#16912](http://dev.ckeditor.com/ticket/16912): Fixed: Exception thrown when a single image is pasted using [Paste from Word](http://ckeditor.com/addon/pastefromword). -* [#16821](http://dev.ckeditor.com/ticket/16821): Fixed: Extraneous `` elements with `height` style stacked when [pasting from Word](http://ckeditor.com/addon/pastefromword). -* [#16866](http://dev.ckeditor.com/ticket/16866): [IE, Edge] Fixed: Whitespaces not preserved when [pasting from Word](http://ckeditor.com/addon/pastefromword). -* [#16860](http://dev.ckeditor.com/ticket/16860): Fixed: Paragraphs which only look like lists incorrectly transformed into them when [pasting from Word](http://ckeditor.com/addon/pastefromword). -* [#16817](http://dev.ckeditor.com/ticket/16817): Fixed: When [pasting from Word](http://ckeditor.com/addon/pastefromword), paragraphs are transformed into lists with some corrupted data. -* [#16833](http://dev.ckeditor.com/ticket/16833): [IE11] Fixed: Malformed list with headers [pasted from Word](http://ckeditor.com/addon/pastefromword). -* [#16826](http://dev.ckeditor.com/ticket/16826): [IE] Fixed: Superfluous paragraphs within lists [pasted from Word](http://ckeditor.com/addon/pastefromword). -* [#12465](http://dev.ckeditor.com/ticket/12465): Fixed: Cannot change the state of checkboxes or radio buttons if the properties dialog was invoked with a double-click. -* [#13062](http://dev.ckeditor.com/ticket/13062): Fixed: Impossible to unlink when the caret is at the edge of the link. -* [#13585](http://dev.ckeditor.com/ticket/13585): Fixed: Error when wrapping two adjacent `
` elements with a `
`. -* [#16811](http://dev.ckeditor.com/ticket/16811): Fixed: Table alignment is not preserved by the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin. -* [#16810](http://dev.ckeditor.com/ticket/16810): Fixed: Vertical align in tables is not supported by the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin. -* [#11956](http://dev.ckeditor.com/ticket/11956): [Blink, IE] Fixed: [Link](http://ckeditor.com/addon/link) dialog does not open on a double click on the second word of the link with a background color or other styles. -* [#10472](http://dev.ckeditor.com/ticket/10472): Fixed: Unable to use [Table Resize](http://ckeditor.com/addon/tableresize) on table header and footer. -* [#14762](http://dev.ckeditor.com/ticket/14762): Fixed: Hovering over an empty table (without rows or cells) throws an error when the [Table Resize](http://ckeditor.com/addon/tableresize) plugin is active. -* [#16777](https://dev.ckeditor.com/ticket/16777): [Edge] Fixed: The [Clipboard](http://ckeditor.com/addon/clipboard) plugin does not allow to drop widgets into the editor. +* [#16935](https://dev.ckeditor.com/ticket/16935): [Chrome] Fixed: Blurring the editor in [Source Mode](https://ckeditor.com/cke4/addon/sourcearea) throws an error. +* [#16825](https://dev.ckeditor.com/ticket/16825): [Chrome] Fixed: Error thrown when destroying a focused inline editor. +* [#16857](https://dev.ckeditor.com/ticket/16857): Fixed: Ctrl+Shift+V blocked by [Copy Formatting](https://ckeditor.com/cke4/addon/copyformatting). +* [#16845](https://dev.ckeditor.com/ticket/16845): [IE] Fixed: Cursor jumps to the top of the scrolled editor after focusing it when the [Copy Formatting](https://ckeditor.com/cke4/addon/copyformatting) plugin is enabled. +* [#16786](https://dev.ckeditor.com/ticket/16786): Fixed: Added missing translations for the [Copy Formatting](https://ckeditor.com/cke4/addon/copyformatting) plugin. +* [#14714](https://dev.ckeditor.com/ticket/14714): [WebKit/Blink] Fixed: Exception thrown on refocusing a blurred inline editor. +* [#16913](https://dev.ckeditor.com/ticket/16913): [Firefox, IE] Fixed: [Paste as Plain Text](https://ckeditor.com/cke4/addon/pastetext) keystroke does not work. +* [#16968](https://dev.ckeditor.com/ticket/16968): Fixed: [Safari] [Paste as Plain Text](https://ckeditor.com/cke4/addon/pastetext) is not handled by the editor. +* [#16912](https://dev.ckeditor.com/ticket/16912): Fixed: Exception thrown when a single image is pasted using [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#16821](https://dev.ckeditor.com/ticket/16821): Fixed: Extraneous `` elements with `height` style stacked when [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#16866](https://dev.ckeditor.com/ticket/16866): [IE, Edge] Fixed: Whitespaces not preserved when [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#16860](https://dev.ckeditor.com/ticket/16860): Fixed: Paragraphs which only look like lists incorrectly transformed into them when [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#16817](https://dev.ckeditor.com/ticket/16817): Fixed: When [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword), paragraphs are transformed into lists with some corrupted data. +* [#16833](https://dev.ckeditor.com/ticket/16833): [IE11] Fixed: Malformed list with headers [pasted from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#16826](https://dev.ckeditor.com/ticket/16826): [IE] Fixed: Superfluous paragraphs within lists [pasted from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#12465](https://dev.ckeditor.com/ticket/12465): Fixed: Cannot change the state of checkboxes or radio buttons if the properties dialog was invoked with a double-click. +* [#13062](https://dev.ckeditor.com/ticket/13062): Fixed: Impossible to unlink when the caret is at the edge of the link. +* [#13585](https://dev.ckeditor.com/ticket/13585): Fixed: Error when wrapping two adjacent `
` elements with a `
`. +* [#16811](https://dev.ckeditor.com/ticket/16811): Fixed: Table alignment is not preserved by the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#16810](https://dev.ckeditor.com/ticket/16810): Fixed: Vertical align in tables is not supported by the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#11956](https://dev.ckeditor.com/ticket/11956): [Blink, IE] Fixed: [Link](https://ckeditor.com/cke4/addon/link) dialog does not open on a double click on the second word of the link with a background color or other styles. +* [#10472](https://dev.ckeditor.com/ticket/10472): Fixed: Unable to use [Table Resize](https://ckeditor.com/cke4/addon/tableresize) on table header and footer. +* [#14762](https://dev.ckeditor.com/ticket/14762): Fixed: Hovering over an empty table (without rows or cells) throws an error when the [Table Resize](https://ckeditor.com/cke4/addon/tableresize) plugin is active. +* [#16777](https://dev.ckeditor.com/ticket/16777): [Edge] Fixed: The [Clipboard](https://ckeditor.com/cke4/addon/clipboard) plugin does not allow to drop widgets into the editor. * [#14894](https://dev.ckeditor.com/ticket/14894): [Chrome] Fixed: The editor scrolls to the top after focusing or when a dialog is opened. -* [#14769](https://dev.ckeditor.com/ticket/14769): Fixed: URLs with '-' in host are not detected by the [Auto Link](http://ckeditor.com/addon/autolink) plugin. +* [#14769](https://dev.ckeditor.com/ticket/14769): Fixed: URLs with '-' in host are not detected by the [Auto Link](https://ckeditor.com/cke4/addon/autolink) plugin. * [#16804](https://dev.ckeditor.com/ticket/16804): Fixed: Focus is not on the first menu item when the user opens a context menu or a drop-down list from the editor toolbar. * [#14407](https://dev.ckeditor.com/ticket/14407): [IE] Fixed: Non-editable widgets can be edited. -* [#16927](https://dev.ckeditor.com/ticket/16927): Fixed: An error thrown if a bundle containing the [Color Button](http://ckeditor.com/addon/colorbutton) plugin is run in ES5 strict mode. Thanks to [Igor Rubinovich](https://github.com/IgorRubinovich)! -* [#16920](http://dev.ckeditor.com/ticket/16920): Fixed: Several plugins not using the [Dialog](http://ckeditor.com/addon/dialog) plugin as a direct dependency. -* [PR#336](https://github.com/ckeditor/ckeditor-dev/pull/336): Fixed: Typo in [`CKEDITOR.getCss`](http://docs.ckeditor.com/#!/api/CKEDITOR-method-getCss) API documentation. Thanks to [knusperpixel](https://github.com/knusperpixel)! -* [#17027](http://dev.ckeditor.com/ticket/17027): Fixed: Command event data should be initialized as an empty object. -* Fixed the behavior of HTML parser when parsing `src`/`srcdoc` attributes of the `