Example #1
0
 /**
  * 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);
}
Example #3
0
 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);
 }