11<?php
2+
23/**
34 * DokuWiki Plugin prosemirror (Action Component)
45 *
78 */
89
910// must be run within Dokuwiki
11+ use dokuwiki \Extension \ActionPlugin ;
12+ use dokuwiki \Extension \EventHandler ;
13+ use dokuwiki \Extension \Event ;
14+ use dokuwiki \Form \Form ;
1015use dokuwiki \Form \ButtonElement ;
1116
1217if (!defined ('DOKU_INC ' )) {
1318 die ();
1419}
1520
16- class action_plugin_prosemirror_editor extends DokuWiki_Action_Plugin
21+ class action_plugin_prosemirror_editor extends ActionPlugin
1722{
1823 /**
1924 * Registers a callback function for a given event
2025 *
21- * @param Doku_Event_Handler $controller DokuWiki's event controller object
26+ * @param EventHandler $controller DokuWiki's event controller object
2227 *
2328 * @return void
2429 */
25- public function register (Doku_Event_Handler $ controller )
30+ public function register (EventHandler $ controller )
2631 {
2732 $ controller ->register_hook ('ACTION_HEADERS_SEND ' , 'BEFORE ' , $ this , 'forceWYSIWYG ' );
2833 $ controller ->register_hook ('ACTION_HEADERS_SEND ' , 'AFTER ' , $ this , 'addJSINFO ' );
@@ -36,10 +41,10 @@ public function register(Doku_Event_Handler $controller)
3641 *
3742 * Triggered by event: ACTION_HEADERS_SEND
3843 *
39- * @param Doku_Event $event
44+ * @param Event $event
4045 * @param $param
4146 */
42- public function forceWYSIWYG (Doku_Event $ event , $ param )
47+ public function forceWYSIWYG (Event $ event , $ param )
4348 {
4449 if ($ this ->isForceWYSIWYG ()) {
4550 set_doku_pref ('plugin_prosemirror_useWYSIWYG ' , true );
@@ -51,19 +56,19 @@ public function forceWYSIWYG(Doku_Event $event, $param)
5156 *
5257 * Triggered by event: HTML_EDITFORM_OUTPUT
5358 *
54- * @param Doku_Event $event event object
59+ * @param Event $event event object
5560 * @param mixed $param [the parameters passed as fifth argument to register_hook() when this
5661 * handler was registered]
5762 *
5863 * @return void
5964 */
60- public function addDataAndToggleButton (Doku_Event $ event , $ param )
65+ public function addDataAndToggleButton (Event $ event , $ param )
6166 {
6267 if (!$ this ->allowWYSIWYG ()) {
6368 return ;
6469 }
6570
66- /** @var Doku_Form|\dokuwiki\Form\ Form $form */
71+ /** @var Doku_Form|Form $form */
6772 $ form = $ event ->data ;
6873
6974 // return early if content is not editable
@@ -92,14 +97,14 @@ public function addDataAndToggleButton(Doku_Event $event, $param)
9297 }
9398 }
9499
95- if (is_a ($ form , \ dokuwiki \ Form \ Form::class)) {
100+ if (is_a ($ form , Form::class)) {
96101 $ form ->addElement ($ this ->buildToggleButton (), 0 );
97- $ form ->setHiddenField ('prosemirror_json ' ,$ prosemirrorJSON );
102+ $ form ->setHiddenField ('prosemirror_json ' , $ prosemirrorJSON );
98103 $ form ->addHTML ('<div class="prosemirror_wrapper" id="prosemirror__editor"></div> ' , 1 );
99104 } else {
100105 // todo remove when old stable is no longer supported
101106 $ form ->insertElement (0 , $ this ->buildOldToggleButton ());
102- $ form ->addHidden ('prosemirror_json ' ,$ prosemirrorJSON );
107+ $ form ->addHidden ('prosemirror_json ' , $ prosemirrorJSON );
103108 $ form ->insertElement (1 , '<div class="prosemirror_wrapper" id="prosemirror__editor"></div> ' );
104109 }
105110 }
@@ -165,7 +170,7 @@ protected function allowWYSIWYG()
165170 return !$ INPUT ->has ('target ' ) || $ INPUT ->str ('target ' ) === 'section ' ;
166171 }
167172
168- public function addAddtionalForms (Doku_Event $ event )
173+ public function addAddtionalForms (Event $ event )
169174 {
170175 if (!$ this ->allowWYSIWYG ()) {
171176 return ;
@@ -175,12 +180,13 @@ public function addAddtionalForms(Doku_Event $event)
175180 return ;
176181 }
177182
178- $ linkForm = new dokuwiki \ Form \ Form ([
183+ $ linkForm = new Form ([
179184 'class ' => 'plugin_prosemirror_linkform ' ,
180185 'id ' => 'prosemirror-linkform ' ,
181186 'style ' => 'display: none; ' ,
182187 ]);
183- $ linkForm ->addFieldsetOpen ('Links ' )->addClass ('js-link-fieldset ' );;
188+ $ linkForm ->addFieldsetOpen ('Links ' )->addClass ('js-link-fieldset ' );
189+ ;
184190 $ iwOptions = array_keys (getInterwiki ());
185191 $ linkForm ->addDropdown ('iwshortcut ' , $ iwOptions , 'InterWiki ' )->attr ('required ' , 'required ' );
186192
@@ -190,7 +196,7 @@ public function addAddtionalForms(Doku_Event $event)
190196 ]);
191197 $ linkForm ->addTextInput ('linktarget ' , $ this ->getLang ('link target ' ))->attrs (
192198 [
193- 'required ' => 'required ' ,
199+ 'required ' => 'required ' ,
194200 'autofocus ' => 'autofocus ' ,
195201 ]
196202 );
@@ -229,7 +235,7 @@ public function addAddtionalForms(Doku_Event $event)
229235
230236 echo $ linkForm ->toHTML ();
231237
232- $ mediaForm = new dokuwiki \ Form \ Form ([
238+ $ mediaForm = new Form ([
233239 'class ' => 'plugin_prosemirror_mediaform ' ,
234240 'id ' => 'prosemirror-mediaform ' ,
235241 'style ' => 'display: none; ' ,
@@ -241,7 +247,7 @@ public function addAddtionalForms(Doku_Event $event)
241247 ]);
242248 $ mediaForm ->addTextInput ('mediatarget ' , $ this ->getLang ('media target ' ))->attrs (
243249 [
244- 'required ' => 'required ' ,
250+ 'required ' => 'required ' ,
245251 'autofocus ' => 'autofocus ' ,
246252 ]
247253 );
@@ -337,7 +343,7 @@ public function addJSINFO()
337343 */
338344 protected function isReadOnly ($ form )
339345 {
340- if (is_a ($ form , \ dokuwiki \ Form \ Form::class)) {
346+ if (is_a ($ form , Form::class)) {
341347 $ textareaPos = $ form ->findPositionByType ('textarea ' );
342348 $ readonly = $ textareaPos !== false && !empty ($ form ->getElementAt ($ textareaPos )->attr ('readonly ' ));
343349 } else {
0 commit comments