1 | <?php |
||||||
2 | /** |
||||||
3 | * CKEditor wysiwyg editor |
||||||
4 | * |
||||||
5 | * @package ElggCKEditor |
||||||
6 | */ |
||||||
7 | |||||||
8 | /** |
||||||
9 | * CKEditor init |
||||||
10 | * |
||||||
11 | * @return void |
||||||
12 | */ |
||||||
13 | function ckeditor_init() { |
||||||
14 | 31 | elgg_extend_view('elgg.css', 'ckeditor.css'); |
|||||
15 | 31 | elgg_extend_view('admin.css', 'ckeditor.css'); |
|||||
16 | |||||||
17 | 31 | elgg_extend_view('elgg/wysiwyg.css', 'elements/reset.css', 100); |
|||||
18 | 31 | elgg_extend_view('elgg/wysiwyg.css', 'elements/typography.css', 100); |
|||||
19 | |||||||
20 | 31 | elgg_define_js('ckeditor/ckeditor', [ |
|||||
21 | 31 | 'exports' => 'CKEDITOR', |
|||||
22 | ]); |
||||||
23 | 31 | elgg_define_js('jquery.ckeditor', [ |
|||||
24 | 31 | 'deps' => ['jquery', 'ckeditor/ckeditor'], |
|||||
25 | 'exports' => 'jQuery.fn.ckeditor', |
||||||
26 | ]); |
||||||
27 | |||||||
28 | 31 | elgg_extend_view('input/longtext', 'ckeditor/init'); |
|||||
29 | |||||||
30 | 31 | elgg_register_plugin_hook_handler('register', 'menu:longtext', 'ckeditor_longtext_menu'); |
|||||
31 | 31 | elgg_register_plugin_hook_handler('view_vars', 'input/longtext', 'ckeditor_longtext_id'); |
|||||
32 | 31 | } |
|||||
33 | |||||||
34 | /** |
||||||
35 | * Add a menu item to an longtext |
||||||
36 | * |
||||||
37 | * @param string $hook 'register' |
||||||
38 | * @param string $type 'menu:longtext' |
||||||
39 | * @param ElggMenuItem[] $items current return value |
||||||
40 | * @param array $vars supplied params |
||||||
41 | * |
||||||
42 | * @return void|ElggMenuItem[] |
||||||
43 | */ |
||||||
44 | function ckeditor_longtext_menu($hook, $type, $items, $vars) { |
||||||
2 ignored issues
–
show
The parameter
$hook is not used and could be removed.
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.
Loading history...
|
|||||||
45 | |||||||
46 | $id = elgg_extract('textarea_id', $vars); |
||||||
47 | if ($id === null) { |
||||||
48 | return; |
||||||
49 | } |
||||||
50 | |||||||
51 | $items[] = ElggMenuItem::factory([ |
||||||
52 | 'name' => 'ckeditor_toggler', |
||||||
53 | 'link_class' => 'ckeditor-toggle-editor elgg-longtext-control hidden', |
||||||
54 | 'href' => "#{$id}", |
||||||
55 | 'text' => elgg_echo('ckeditor:html'), |
||||||
56 | ]); |
||||||
57 | |||||||
58 | return $items; |
||||||
59 | } |
||||||
60 | |||||||
61 | /** |
||||||
62 | * Set an id on input/longtext |
||||||
63 | * |
||||||
64 | * @param string $hook 'view_vars' |
||||||
65 | * @param string $type 'input/longtext' |
||||||
66 | * @param array $vars current return value |
||||||
67 | * @param array $params supplied params |
||||||
68 | * |
||||||
69 | * @return void|array |
||||||
70 | */ |
||||||
71 | function ckeditor_longtext_id($hook, $type, $vars, $params) { |
||||||
2 ignored issues
–
show
The parameter
$hook is not used and could be removed.
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.
Loading history...
The parameter
$type is not used and could be removed.
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.
Loading history...
|
|||||||
72 | |||||||
73 | $id = elgg_extract('id', $vars); |
||||||
74 | if ($id !== null) { |
||||||
75 | return; |
||||||
76 | } |
||||||
77 | |||||||
78 | // input/longtext view vars need to contain an id for editors to be initialized |
||||||
79 | // random id generator is the same as in input/longtext |
||||||
80 | $vars['id'] = 'elgg-input-' . base_convert(mt_rand(), 10, 36); |
||||||
81 | |||||||
82 | return $vars; |
||||||
83 | } |
||||||
84 | |||||||
85 | return function() { |
||||||
86 | 18 | elgg_register_event_handler('init', 'system', 'ckeditor_init'); |
|||||
87 | }; |
||||||
88 |
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.