1 |
27945136
|
Florent Torregrosa
|
<?php
|
2 |
|
|
|
3 |
|
|
/**
|
4 |
|
|
* @file
|
5 |
|
|
* Primarily Drupal hooks.
|
6 |
|
|
*/
|
7 |
|
|
|
8 |
|
|
/**
|
9 |
|
|
* Implements hook_element_info_alter().
|
10 |
|
|
*/
|
11 |
|
|
function media_ckeditor_element_info_alter(&$types) {
|
12 |
|
|
$types['text_format']['#pre_render'][] = 'media_ckeditor_pre_render_text_format';
|
13 |
|
|
}
|
14 |
|
|
|
15 |
|
|
/**
|
16 |
|
|
* Adds CKEditor-specific JavaScript.
|
17 |
|
|
*/
|
18 |
|
|
function media_ckeditor_pre_render_text_format($element) {
|
19 |
|
|
// filter_process_format() copies properties to the expanded 'value' child
|
20 |
|
|
// element.
|
21 |
|
|
if (!isset($element['format'])) {
|
22 |
|
|
return $element;
|
23 |
|
|
}
|
24 |
|
|
|
25 |
|
|
$field = &$element['value'];
|
26 |
|
|
$settings = array(
|
27 |
|
|
'field' => $field['#id'],
|
28 |
|
|
);
|
29 |
|
|
|
30 |
|
|
if (!isset($field['#value'])) {
|
31 |
|
|
return $element;
|
32 |
|
|
}
|
33 |
|
|
|
34 |
|
|
// Add CKEditor-specific JS.
|
35 |
|
|
$element['#attached']['js'][] = array(
|
36 |
|
|
'data' => drupal_get_path('module', 'media_ckeditor') . '/js/plugins/media/library.js',
|
37 |
|
|
'type' => 'file',
|
38 |
|
|
'scope' => 'footer',
|
39 |
|
|
'weight' => -20,
|
40 |
|
|
);
|
41 |
|
|
|
42 |
|
|
return $element;
|
43 |
|
|
}
|
44 |
da542b7b
|
Assos Assos
|
|
45 |
|
|
/**
|
46 |
|
|
* Implements hook_form_ID_alter().
|
47 |
|
|
*/
|
48 |
|
|
function media_ckeditor_form_media_wysiwyg_format_form_alter(&$form, $form_state) {
|
49 |
|
|
// Add our overrides to the media format form javascript.
|
50 |
|
|
$form['#attached']['js'][] = drupal_get_path('module', 'media_ckeditor') . '/js/media_ckeditor.format_form.js';
|
51 |
|
|
}
|
52 |
|
|
|
53 |
|
|
/**
|
54 |
|
|
* Implements hook_media_browser_params_alter().
|
55 |
|
|
*/
|
56 |
|
|
function media_ckeditor_media_browser_params_alter(&$stored_params) {
|
57 |
ad751d46
|
Assos Assos
|
// We add this custom param when the media dialog is invoked in library.js.
|
58 |
da542b7b
|
Assos Assos
|
if (isset($stored_params['id']) && $stored_params['id'] == 'media_wysiwyg') {
|
59 |
|
|
// Set the default browser params from settings form if not already set.
|
60 |
|
|
if (empty($stored_params['enabledPlugins'])) {
|
61 |
|
|
$stored_params['enabledPlugins'] = variable_get('media_wysiwyg_wysiwyg_browser_plugins', array());
|
62 |
|
|
}
|
63 |
|
|
if (empty($stored_params['file_directory'])) {
|
64 |
|
|
$stored_params['file_directory'] = variable_get('media_wysiwyg_wysiwyg_upload_directory', '');
|
65 |
|
|
}
|
66 |
|
|
if (empty($stored_params['types'])) {
|
67 |
ad751d46
|
Assos Assos
|
$stored_params['types'] = variable_get('media_wysiwyg_wysiwyg_allowed_types', array(
|
68 |
|
|
'audio',
|
69 |
|
|
'image',
|
70 |
|
|
'video',
|
71 |
|
|
'document'
|
72 |
|
|
));
|
73 |
da542b7b
|
Assos Assos
|
}
|
74 |
|
|
}
|
75 |
|
|
} |