danielebarchiesi@0
|
1 <?php
|
danielebarchiesi@0
|
2
|
danielebarchiesi@0
|
3 /**
|
danielebarchiesi@0
|
4 * @file
|
danielebarchiesi@0
|
5 * Makes IMCE available as plugin for client-side editors integrated via
|
danielebarchiesi@0
|
6 * Wysiwyg API.
|
danielebarchiesi@0
|
7 */
|
danielebarchiesi@0
|
8
|
danielebarchiesi@0
|
9 /**
|
danielebarchiesi@0
|
10 * Implements hook_wysiwyg_plugin().
|
danielebarchiesi@0
|
11 */
|
danielebarchiesi@0
|
12 function imce_wysiwyg_plugin($editor, $version) {
|
danielebarchiesi@0
|
13 static $integrated = array();
|
danielebarchiesi@0
|
14
|
danielebarchiesi@0
|
15 if (!module_invoke('imce', 'access')) {
|
danielebarchiesi@0
|
16 return;
|
danielebarchiesi@0
|
17 }
|
danielebarchiesi@0
|
18 // Load our invocation scripts.
|
danielebarchiesi@0
|
19 if (empty($integrated)) {
|
danielebarchiesi@0
|
20 $imcepath = drupal_get_path('module', 'imce');
|
danielebarchiesi@0
|
21 $path = drupal_get_path('module', 'imce_wysiwyg');
|
danielebarchiesi@0
|
22 drupal_add_js($imcepath . '/js/imce.js');
|
danielebarchiesi@0
|
23 drupal_add_js($imcepath . '/js/imce_set_app.js');
|
danielebarchiesi@0
|
24 drupal_add_js($path . '/js/imce_wysiwyg.js');
|
danielebarchiesi@0
|
25 }
|
danielebarchiesi@0
|
26
|
danielebarchiesi@0
|
27 switch ($editor) {
|
danielebarchiesi@0
|
28 case 'tinymce':
|
danielebarchiesi@0
|
29 if (!isset($integrated[$editor])) {
|
danielebarchiesi@0
|
30 $integrated[$editor] = TRUE;
|
danielebarchiesi@0
|
31 // @todo If some other editor also needs the URL to be passed via
|
danielebarchiesi@0
|
32 // Drupal.settings.imce, then we need another sub-key '$editor'.
|
danielebarchiesi@0
|
33 $settings = array(
|
danielebarchiesi@0
|
34 'imce' => array('url' => url('imce', array('query' => array('app' => $editor . '|url@')))),
|
danielebarchiesi@0
|
35 );
|
danielebarchiesi@0
|
36 drupal_add_js($settings, 'setting');
|
danielebarchiesi@0
|
37 }
|
danielebarchiesi@0
|
38 return array(
|
danielebarchiesi@0
|
39 'imce' => array(
|
danielebarchiesi@0
|
40 'extensions' => array('imce' => t('IMCE')),
|
danielebarchiesi@0
|
41 'url' => 'http://drupal.org/project/imce',
|
danielebarchiesi@0
|
42 'options' => array(
|
danielebarchiesi@0
|
43 'file_browser_callback' => 'imceImageBrowser',
|
danielebarchiesi@0
|
44 'inline_styles' => TRUE,
|
danielebarchiesi@0
|
45 ),
|
danielebarchiesi@0
|
46 'load' => FALSE,
|
danielebarchiesi@0
|
47 ),
|
danielebarchiesi@0
|
48 );
|
danielebarchiesi@0
|
49
|
danielebarchiesi@0
|
50 case 'ckeditor':
|
danielebarchiesi@0
|
51 $integrated[$editor] = TRUE;
|
danielebarchiesi@0
|
52 return array(
|
danielebarchiesi@0
|
53 'imce' => array(
|
danielebarchiesi@0
|
54 'extensions' => array('imce' => t('IMCE')),
|
danielebarchiesi@0
|
55 'url' => 'http://drupal.org/project/imce',
|
danielebarchiesi@0
|
56 'options' => array(
|
danielebarchiesi@0
|
57 'filebrowserBrowseUrl' => url('imce', array('query' => array('app' => $editor . '|sendto@imceCkeditSendTo|params@'))),
|
danielebarchiesi@0
|
58 ),
|
danielebarchiesi@0
|
59 'load' => FALSE,
|
danielebarchiesi@0
|
60 ),
|
danielebarchiesi@0
|
61 );
|
danielebarchiesi@0
|
62
|
danielebarchiesi@0
|
63 case 'fckeditor':
|
danielebarchiesi@0
|
64 $integrated[$editor] = TRUE;
|
danielebarchiesi@0
|
65 return array(
|
danielebarchiesi@0
|
66 'imce' => array(
|
danielebarchiesi@0
|
67 'extensions' => array('imce' => t('IMCE')),
|
danielebarchiesi@0
|
68 'url' => 'http://drupal.org/project/imce',
|
danielebarchiesi@0
|
69 'options' => array(
|
danielebarchiesi@0
|
70 'LinkBrowser' => TRUE,
|
danielebarchiesi@0
|
71 'LinkBrowserURL' => url('imce', array('query' => array('app' => $editor . '|url@txtUrl'))),
|
danielebarchiesi@0
|
72 'ImageBrowser' => TRUE,
|
danielebarchiesi@0
|
73 'ImageBrowserURL' => url('imce', array('query' => array('app' => $editor . '|url@txtUrl|width@txtWidth|height@txtHeight'))),
|
danielebarchiesi@0
|
74 'FlashBrowser' => TRUE,
|
danielebarchiesi@0
|
75 'FlashBrowserURL' => url('imce', array('query' => array('app' => $editor . '|url@txtUrl'))),
|
danielebarchiesi@0
|
76 ),
|
danielebarchiesi@0
|
77 'load' => FALSE,
|
danielebarchiesi@0
|
78 ),
|
danielebarchiesi@0
|
79 );
|
danielebarchiesi@0
|
80 }
|
danielebarchiesi@0
|
81 }
|
danielebarchiesi@0
|
82
|