/**
  * {@inheritdoc}
  */
 public function getDefinitions()
 {
     $definitions = parent::getDefinitions();
     if (!\Drupal::moduleHandler()->moduleExists('imce') || !imce_access()) {
         unset($definitions['imce']);
     }
     return $definitions;
 }
Example #2
0
function phptemplate_tinymce_theme($init, $textarea_name, $theme_name, $is_running) {
  static $access, $integrated;

  if (!isset($access)) {
    $access = function_exists('imce_access') && imce_access();
  }

  $init = theme_tinymce_theme($init, $textarea_name, $theme_name, $is_running);

  if ($init && $access) {
    $init['file_browser_callback'] = 'imceImageBrowser';
    if (!isset($integrated)) {
      $integrated = TRUE;
      drupal_add_js("function imceImageBrowser(fid, url, type, win) {win.open(Drupal.settings.basePath +'?q=imce&app=TinyMCE|url@'+ fid, '', 'width=760,height=560,resizable=1');}", 'inline');
    }
  }

  return $init;
}
Example #3
0
 /**
  * Outputs the IMCE browser for FileField.
  */
 public static function page($entity_type, $bundle_name, $field_name)
 {
     global $conf;
     // Check access.
     if (!\Drupal::moduleHandler()->moduleExists('imce') || !imce_access() || !($instance = entity_load('field_config', $entity_type . '.' . $bundle_name . '.' . $field_name))) {
         throw new AccessDeniedHttpException();
     }
     $settings = $instance->getSettings();
     $widget = entity_get_form_display($entity_type, $bundle_name, 'default')->getComponent($field_name);
     // Full mode.
     if (!empty($widget['third_party_settings']['filefield_sources']['filefield_sources']['source_imce']['imce_mode'])) {
         $conf['imce_custom_scan'] = array(get_called_class(), 'customScanFull');
     } else {
         $conf['imce_custom_scan'] = array(get_called_class(), 'customScanRestricted');
         $conf['imce_custom_context'] = array('field_storage' => entity_load('field_storage_config', $entity_type . '.' . $field_name), 'uri' => static::getUploadLocation($settings));
     }
     // Disable absolute URLs.
     $conf['imce_settings_absurls'] = 0;
     module_load_include('inc', 'imce', 'inc/imce.page');
     return imce($settings['uri_scheme']);
 }