/** * Retrieves a list of filters for a given text format. * * @param string $format_name * Text format machine name. * @param bool $reset * TRUE to reset filter formats cache. * * @return array * An array of filter objects associated to the given text format. */ public function getFormatFilters($format_name, $reset = FALSE) { if ($reset) { filter_formats_reset(); } return filter_list_format($format_name); }
/** * Overrides theme_filter_tips(). */ function bootstrap_subtheme_filter_tips($variables) { global $user; drupal_set_title(''); // Create a place holder for the tabs. $build['tabs'] = array('#theme' => 'item_list', '#items' => array(), '#attributes' => array('class' => array('nav', 'nav-tabs'), 'role' => 'tablist')); // Create a placeholder for the panes. $build['panes'] = array('#theme_wrappers' => array('container'), '#attributes' => array('class' => array('tab-content'))); $format_id = arg(2); $current_path = current_path(); $formats = filter_formats($user); $filter_info = filter_get_filters(); foreach ($formats as $format) { $tab = array('data' => array('#type' => 'link', '#title' => check_plain($format->name), '#href' => $current_path, '#attributes' => array('role' => 'tab', 'data-toggle' => 'tab'), '#options' => array('fragment' => $format->format))); if (!$format_id || $format_id === $format->format) { $tab['class'][] = 'active'; $format_id = $format->format; } $build['tabs']['#items'][] = $tab; // Retrieve each filter in the format. $tips = array(); $filters = filter_list_format($format->format); foreach ($filters as $name => $filter) { if ($filter->status && isset($filter_info[$name]['tips callback']) && is_callable($filter_info[$name]['tips callback'])) { $tip = $filter_info[$name]['tips callback']($filter, $format, TRUE); if (isset($tip)) { $tips[] = $tip; } } } // Construct the pane. $pane = array('#theme_wrappers' => array('container'), '#attributes' => array('class' => array('tab-pane', 'fade'), 'id' => $format->format)); if (count($tips) === 1) { $pane['list'] = array('#markup' => $tips[0]); } else { $pane['list'] = array('#theme' => 'item_list', '#items' => $tips); } if ($format_id === $format->format) { $pane['#attributes']['class'][] = 'active'; $pane['#attributes']['class'][] = 'in'; $format_id = $format->format; } $build['panes'][] = $pane; } return drupal_render($build); }
function setUp() { parent::setUp(); // Create Basic page node type. $this->drupalCreateContentType(array('type' => 'page', 'name' => 'Basic page')); // Create and login admin user. $admin_user = $this->drupalCreateUser(array('administer filters')); $this->drupalLogin($admin_user); // Verify that the PHP code text format was inserted. $php_format_id = 'php_code'; $this->php_code_format = filter_format_load($php_format_id); $this->assertEqual($this->php_code_format->name, 'PHP code', 'PHP code text format was created.'); // Verify that the format has the PHP code filter enabled. $filters = filter_list_format($php_format_id); $this->assertTrue($filters['php_code']->status, 'PHP code filter is enabled.'); // Verify that the format exists on the administration page. $this->drupalGet('admin/config/content/formats'); $this->assertText('PHP code', 'PHP code text format was created.'); // Verify that anonymous and authenticated user roles do not have access. $this->drupalGet('admin/config/content/formats/' . $php_format_id); $this->assertFieldByName('roles[' . DRUPAL_ANONYMOUS_RID . ']', FALSE, 'Anonymous users do not have access to PHP code format.'); $this->assertFieldByName('roles[' . DRUPAL_AUTHENTICATED_RID . ']', FALSE, 'Authenticated users do not have access to PHP code format.'); }
/** * Implements Drupal\configuration\Config\Configuration::prepareBuild(). */ protected function prepareBuild() { $name = $this->getIdentifier(); // Use machine name for retrieving the format if available. $query = db_select('filter_format'); $query->fields('filter_format'); $query->condition('format', $name); // Retrieve filters for the format and attach. if ($format = $query->execute()->fetchObject()) { $format->filters = array(); foreach (filter_list_format($format->format) as $filter) { if (!empty($filter->status)) { $format->filters[$filter->name]['weight'] = $filter->weight; $format->filters[$filter->name]['status'] = $filter->status; $format->filters[$filter->name]['settings'] = $filter->settings; } } $this->data = $format; return $this; } else { $this->data = FALSE; } return $this; }
/** * @Given I setup Pathologic local paths * * Save Pathologic settings for testing. */ public function pathologic_save() { $cu_path = 'testing'; $cu_sid = 'p1eb825ce549'; $pathologic_string = "/{$cu_sid}\r\n" . "/{$cu_path}\r\n" . "http://www.colorado.edu/{$cu_sid}\r\n" . "http://www.colorado.edu/{$cu_path}\r\n" . "https://www.colorado.edu/{$cu_sid}\r\n" . "https://www.colorado.edu/{$cu_path}"; $format = filter_format_load("wysiwyg"); if (empty($format->filters)) { // Get the filters used by this format. $filters = filter_list_format($format->format); // Build the $format->filters array... $format->filters = array(); foreach ($filters as $name => $filter) { foreach ($filter as $k => $v) { $format->filters[$name][$k] = $v; } } } $format->filters["pathologic"]["settings"]["local_paths"] = $pathologic_string; filter_format_save($format); }