annotate sites/all/modules/imce_wysiwyg/imce_wysiwyg.module @ 0:ff03f76ab3fe

initial version
author danieleb <danielebarchiesi@me.com>
date Wed, 21 Aug 2013 18:51:11 +0100
parents
children
rev   line source
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