/** * {@inheritdoc} */ public function getDefinitions() { $definitions = parent::getDefinitions(); if (!\Drupal::moduleHandler()->moduleExists('imce') || !imce_access()) { unset($definitions['imce']); } return $definitions; }
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; }
/** * 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']); }