annotate modules/filter/filter.admin.inc @ 13:134d4b2e75f6

updated quicktabs and google analytics modules
author danieleb <danielebarchiesi@me.com>
date Tue, 29 Oct 2013 13:48:59 +0000
parents ff03f76ab3fe
children
rev   line source
danielebarchiesi@0 1 <?php
danielebarchiesi@0 2
danielebarchiesi@0 3 /**
danielebarchiesi@0 4 * @file
danielebarchiesi@0 5 * Administrative page callbacks for the Filter module.
danielebarchiesi@0 6 */
danielebarchiesi@0 7
danielebarchiesi@0 8 /**
danielebarchiesi@0 9 * Page callback: Form constructor for a form to list and reorder text formats.
danielebarchiesi@0 10 *
danielebarchiesi@0 11 * @ingroup forms
danielebarchiesi@0 12 * @see filter_menu()
danielebarchiesi@0 13 * @see filter_admin_overview_submit()
danielebarchiesi@0 14 */
danielebarchiesi@0 15 function filter_admin_overview($form) {
danielebarchiesi@0 16 // Overview of all formats.
danielebarchiesi@0 17 $formats = filter_formats();
danielebarchiesi@0 18 $fallback_format = filter_fallback_format();
danielebarchiesi@0 19
danielebarchiesi@0 20 $form['#tree'] = TRUE;
danielebarchiesi@0 21 foreach ($formats as $id => $format) {
danielebarchiesi@0 22 // Check whether this is the fallback text format. This format is available
danielebarchiesi@0 23 // to all roles and cannot be disabled via the admin interface.
danielebarchiesi@0 24 $form['formats'][$id]['#is_fallback'] = ($id == $fallback_format);
danielebarchiesi@0 25 if ($form['formats'][$id]['#is_fallback']) {
danielebarchiesi@0 26 $form['formats'][$id]['name'] = array('#markup' => drupal_placeholder($format->name));
danielebarchiesi@0 27 $roles_markup = drupal_placeholder(t('All roles may use this format'));
danielebarchiesi@0 28 }
danielebarchiesi@0 29 else {
danielebarchiesi@0 30 $form['formats'][$id]['name'] = array('#markup' => check_plain($format->name));
danielebarchiesi@0 31 $roles = array_map('check_plain', filter_get_roles_by_format($format));
danielebarchiesi@0 32 $roles_markup = $roles ? implode(', ', $roles) : t('No roles may use this format');
danielebarchiesi@0 33 }
danielebarchiesi@0 34 $form['formats'][$id]['roles'] = array('#markup' => $roles_markup);
danielebarchiesi@0 35 $form['formats'][$id]['configure'] = array('#type' => 'link', '#title' => t('configure'), '#href' => 'admin/config/content/formats/' . $id);
danielebarchiesi@0 36 $form['formats'][$id]['disable'] = array('#type' => 'link', '#title' => t('disable'), '#href' => 'admin/config/content/formats/' . $id . '/disable', '#access' => !$form['formats'][$id]['#is_fallback']);
danielebarchiesi@0 37 $form['formats'][$id]['weight'] = array(
danielebarchiesi@0 38 '#type' => 'weight',
danielebarchiesi@0 39 '#title' => t('Weight for @title', array('@title' => $format->name)),
danielebarchiesi@0 40 '#title_display' => 'invisible',
danielebarchiesi@0 41 '#default_value' => $format->weight,
danielebarchiesi@0 42 );
danielebarchiesi@0 43 }
danielebarchiesi@0 44 $form['actions'] = array('#type' => 'actions');
danielebarchiesi@0 45 $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Save changes'));
danielebarchiesi@0 46 return $form;
danielebarchiesi@0 47 }
danielebarchiesi@0 48
danielebarchiesi@0 49 /**
danielebarchiesi@0 50 * Form submission handler for filter_admin_overview().
danielebarchiesi@0 51 */
danielebarchiesi@0 52 function filter_admin_overview_submit($form, &$form_state) {
danielebarchiesi@0 53 foreach ($form_state['values']['formats'] as $id => $data) {
danielebarchiesi@0 54 if (is_array($data) && isset($data['weight'])) {
danielebarchiesi@0 55 // Only update if this is a form element with weight.
danielebarchiesi@0 56 db_update('filter_format')
danielebarchiesi@0 57 ->fields(array('weight' => $data['weight']))
danielebarchiesi@0 58 ->condition('format', $id)
danielebarchiesi@0 59 ->execute();
danielebarchiesi@0 60 }
danielebarchiesi@0 61 }
danielebarchiesi@0 62 filter_formats_reset();
danielebarchiesi@0 63 drupal_set_message(t('The text format ordering has been saved.'));
danielebarchiesi@0 64 }
danielebarchiesi@0 65
danielebarchiesi@0 66 /**
danielebarchiesi@0 67 * Returns HTML for the text format administration overview form.
danielebarchiesi@0 68 *
danielebarchiesi@0 69 * @param $variables
danielebarchiesi@0 70 * An associative array containing:
danielebarchiesi@0 71 * - form: A render element representing the form.
danielebarchiesi@0 72 *
danielebarchiesi@0 73 * @ingroup themeable
danielebarchiesi@0 74 */
danielebarchiesi@0 75 function theme_filter_admin_overview($variables) {
danielebarchiesi@0 76 $form = $variables['form'];
danielebarchiesi@0 77
danielebarchiesi@0 78 $rows = array();
danielebarchiesi@0 79 foreach (element_children($form['formats']) as $id) {
danielebarchiesi@0 80 $form['formats'][$id]['weight']['#attributes']['class'] = array('text-format-order-weight');
danielebarchiesi@0 81 $rows[] = array(
danielebarchiesi@0 82 'data' => array(
danielebarchiesi@0 83 drupal_render($form['formats'][$id]['name']),
danielebarchiesi@0 84 drupal_render($form['formats'][$id]['roles']),
danielebarchiesi@0 85 drupal_render($form['formats'][$id]['weight']),
danielebarchiesi@0 86 drupal_render($form['formats'][$id]['configure']),
danielebarchiesi@0 87 drupal_render($form['formats'][$id]['disable']),
danielebarchiesi@0 88 ),
danielebarchiesi@0 89 'class' => array('draggable'),
danielebarchiesi@0 90 );
danielebarchiesi@0 91 }
danielebarchiesi@0 92 $header = array(t('Name'), t('Roles'), t('Weight'), array('data' => t('Operations'), 'colspan' => 2));
danielebarchiesi@0 93 $output = theme('table', array('header' => $header, 'rows' => $rows, 'attributes' => array('id' => 'text-format-order')));
danielebarchiesi@0 94 $output .= drupal_render_children($form);
danielebarchiesi@0 95
danielebarchiesi@0 96 drupal_add_tabledrag('text-format-order', 'order', 'sibling', 'text-format-order-weight');
danielebarchiesi@0 97
danielebarchiesi@0 98 return $output;
danielebarchiesi@0 99 }
danielebarchiesi@0 100
danielebarchiesi@0 101 /**
danielebarchiesi@0 102 * Page callback: Displays the text format add/edit form.
danielebarchiesi@0 103 *
danielebarchiesi@0 104 * @param object|null $format
danielebarchiesi@0 105 * (optional) An object representing a format, with the following properties:
danielebarchiesi@0 106 * - format: A machine-readable name representing the ID of the text format
danielebarchiesi@0 107 * to save. If this corresponds to an existing text format, that format
danielebarchiesi@0 108 * will be updated; otherwise, a new format will be created.
danielebarchiesi@0 109 * - name: The title of the text format.
danielebarchiesi@0 110 * - cache: (optional) An integer indicating whether the text format is
danielebarchiesi@0 111 * cacheable (1) or not (0). Defaults to 1.
danielebarchiesi@0 112 * - status: (optional) An integer indicating whether the text format is
danielebarchiesi@0 113 * enabled (1) or not (0). Defaults to 1.
danielebarchiesi@0 114 * - weight: (optional) The weight of the text format, which controls its
danielebarchiesi@0 115 * placement in text format lists. If omitted, the weight is set to 0.
danielebarchiesi@0 116 * Defaults to NULL.
danielebarchiesi@0 117 *
danielebarchiesi@0 118 * @return
danielebarchiesi@0 119 * A form array.
danielebarchiesi@0 120 *
danielebarchiesi@0 121 * @see filter_menu()
danielebarchiesi@0 122 */
danielebarchiesi@0 123 function filter_admin_format_page($format = NULL) {
danielebarchiesi@0 124 if (!isset($format->name)) {
danielebarchiesi@0 125 drupal_set_title(t('Add text format'));
danielebarchiesi@0 126 $format = (object) array(
danielebarchiesi@0 127 'format' => NULL,
danielebarchiesi@0 128 'name' => '',
danielebarchiesi@0 129 );
danielebarchiesi@0 130 }
danielebarchiesi@0 131 return drupal_get_form('filter_admin_format_form', $format);
danielebarchiesi@0 132 }
danielebarchiesi@0 133
danielebarchiesi@0 134 /**
danielebarchiesi@0 135 * Form constructor for the text format add/edit form.
danielebarchiesi@0 136 *
danielebarchiesi@0 137 * @param $format
danielebarchiesi@0 138 * A format object having the properties:
danielebarchiesi@0 139 * - format: A machine-readable name representing the ID of the text format to
danielebarchiesi@0 140 * save. If this corresponds to an existing text format, that format will be
danielebarchiesi@0 141 * updated; otherwise, a new format will be created.
danielebarchiesi@0 142 * - name: The title of the text format.
danielebarchiesi@0 143 * - cache: An integer indicating whether the text format is cacheable (1) or
danielebarchiesi@0 144 * not (0). Defaults to 1.
danielebarchiesi@0 145 * - status: (optional) An integer indicating whether the text format is
danielebarchiesi@0 146 * enabled (1) or not (0). Defaults to 1.
danielebarchiesi@0 147 * - weight: (optional) The weight of the text format, which controls its
danielebarchiesi@0 148 * placement in text format lists. If omitted, the weight is set to 0.
danielebarchiesi@0 149 *
danielebarchiesi@0 150 * @see filter_admin_format_form_validate()
danielebarchiesi@0 151 * @see filter_admin_format_form_submit()
danielebarchiesi@0 152 * @ingroup forms
danielebarchiesi@0 153 */
danielebarchiesi@0 154 function filter_admin_format_form($form, &$form_state, $format) {
danielebarchiesi@0 155 $is_fallback = ($format->format == filter_fallback_format());
danielebarchiesi@0 156
danielebarchiesi@0 157 $form['#format'] = $format;
danielebarchiesi@0 158 $form['#tree'] = TRUE;
danielebarchiesi@0 159 $form['#attached']['js'][] = drupal_get_path('module', 'filter') . '/filter.admin.js';
danielebarchiesi@0 160 $form['#attached']['css'][] = drupal_get_path('module', 'filter') . '/filter.css';
danielebarchiesi@0 161
danielebarchiesi@0 162 $form['name'] = array(
danielebarchiesi@0 163 '#type' => 'textfield',
danielebarchiesi@0 164 '#title' => t('Name'),
danielebarchiesi@0 165 '#default_value' => $format->name,
danielebarchiesi@0 166 '#required' => TRUE,
danielebarchiesi@0 167 );
danielebarchiesi@0 168 $form['format'] = array(
danielebarchiesi@0 169 '#type' => 'machine_name',
danielebarchiesi@0 170 '#required' => TRUE,
danielebarchiesi@0 171 '#default_value' => $format->format,
danielebarchiesi@0 172 '#maxlength' => 255,
danielebarchiesi@0 173 '#machine_name' => array(
danielebarchiesi@0 174 'exists' => 'filter_format_exists',
danielebarchiesi@0 175 ),
danielebarchiesi@0 176 '#disabled' => !empty($format->format),
danielebarchiesi@0 177 );
danielebarchiesi@0 178
danielebarchiesi@0 179 // Add user role access selection.
danielebarchiesi@0 180 $form['roles'] = array(
danielebarchiesi@0 181 '#type' => 'checkboxes',
danielebarchiesi@0 182 '#title' => t('Roles'),
danielebarchiesi@0 183 '#options' => array_map('check_plain', user_roles()),
danielebarchiesi@0 184 '#disabled' => $is_fallback,
danielebarchiesi@0 185 );
danielebarchiesi@0 186 if ($is_fallback) {
danielebarchiesi@0 187 $form['roles']['#description'] = t('All roles for this text format must be enabled and cannot be changed.');
danielebarchiesi@0 188 }
danielebarchiesi@0 189 if (!empty($format->format)) {
danielebarchiesi@0 190 // If editing an existing text format, pre-select its current permissions.
danielebarchiesi@0 191 $form['roles']['#default_value'] = array_keys(filter_get_roles_by_format($format));
danielebarchiesi@0 192 }
danielebarchiesi@0 193 elseif ($admin_role = variable_get('user_admin_role', 0)) {
danielebarchiesi@0 194 // If adding a new text format and the site has an administrative role,
danielebarchiesi@0 195 // pre-select that role so as to grant administrators access to the new
danielebarchiesi@0 196 // text format permission by default.
danielebarchiesi@0 197 $form['roles']['#default_value'] = array($admin_role);
danielebarchiesi@0 198 }
danielebarchiesi@0 199
danielebarchiesi@0 200 // Retrieve available filters and load all configured filters for existing
danielebarchiesi@0 201 // text formats.
danielebarchiesi@0 202 $filter_info = filter_get_filters();
danielebarchiesi@0 203 $filters = !empty($format->format) ? filter_list_format($format->format) : array();
danielebarchiesi@0 204
danielebarchiesi@0 205 // Prepare filters for form sections.
danielebarchiesi@0 206 foreach ($filter_info as $name => $filter) {
danielebarchiesi@0 207 // Create an empty filter object for new/unconfigured filters.
danielebarchiesi@0 208 if (!isset($filters[$name])) {
danielebarchiesi@0 209 $filters[$name] = new stdClass();
danielebarchiesi@0 210 $filters[$name]->format = $format->format;
danielebarchiesi@0 211 $filters[$name]->module = $filter['module'];
danielebarchiesi@0 212 $filters[$name]->name = $name;
danielebarchiesi@0 213 $filters[$name]->status = 0;
danielebarchiesi@0 214 $filters[$name]->weight = $filter['weight'];
danielebarchiesi@0 215 $filters[$name]->settings = array();
danielebarchiesi@0 216 }
danielebarchiesi@0 217 }
danielebarchiesi@0 218 $form['#filters'] = $filters;
danielebarchiesi@0 219
danielebarchiesi@0 220 // Filter status.
danielebarchiesi@0 221 $form['filters']['status'] = array(
danielebarchiesi@0 222 '#type' => 'item',
danielebarchiesi@0 223 '#title' => t('Enabled filters'),
danielebarchiesi@0 224 '#prefix' => '<div id="filters-status-wrapper">',
danielebarchiesi@0 225 '#suffix' => '</div>',
danielebarchiesi@0 226 );
danielebarchiesi@0 227 foreach ($filter_info as $name => $filter) {
danielebarchiesi@0 228 $form['filters']['status'][$name] = array(
danielebarchiesi@0 229 '#type' => 'checkbox',
danielebarchiesi@0 230 '#title' => $filter['title'],
danielebarchiesi@0 231 '#default_value' => $filters[$name]->status,
danielebarchiesi@0 232 '#parents' => array('filters', $name, 'status'),
danielebarchiesi@0 233 '#description' => $filter['description'],
danielebarchiesi@0 234 '#weight' => $filter['weight'],
danielebarchiesi@0 235 );
danielebarchiesi@0 236 }
danielebarchiesi@0 237
danielebarchiesi@0 238 // Filter order (tabledrag).
danielebarchiesi@0 239 $form['filters']['order'] = array(
danielebarchiesi@0 240 '#type' => 'item',
danielebarchiesi@0 241 '#title' => t('Filter processing order'),
danielebarchiesi@0 242 '#theme' => 'filter_admin_format_filter_order',
danielebarchiesi@0 243 );
danielebarchiesi@0 244 foreach ($filter_info as $name => $filter) {
danielebarchiesi@0 245 $form['filters']['order'][$name]['filter'] = array(
danielebarchiesi@0 246 '#markup' => $filter['title'],
danielebarchiesi@0 247 );
danielebarchiesi@0 248 $form['filters']['order'][$name]['weight'] = array(
danielebarchiesi@0 249 '#type' => 'weight',
danielebarchiesi@0 250 '#title' => t('Weight for @title', array('@title' => $filter['title'])),
danielebarchiesi@0 251 '#title_display' => 'invisible',
danielebarchiesi@0 252 '#delta' => 50,
danielebarchiesi@0 253 '#default_value' => $filters[$name]->weight,
danielebarchiesi@0 254 '#parents' => array('filters', $name, 'weight'),
danielebarchiesi@0 255 );
danielebarchiesi@0 256 $form['filters']['order'][$name]['#weight'] = $filters[$name]->weight;
danielebarchiesi@0 257 }
danielebarchiesi@0 258
danielebarchiesi@0 259 // Filter settings.
danielebarchiesi@0 260 $form['filter_settings_title'] = array(
danielebarchiesi@0 261 '#type' => 'item',
danielebarchiesi@0 262 '#title' => t('Filter settings'),
danielebarchiesi@0 263 );
danielebarchiesi@0 264 $form['filter_settings'] = array(
danielebarchiesi@0 265 '#type' => 'vertical_tabs',
danielebarchiesi@0 266 );
danielebarchiesi@0 267
danielebarchiesi@0 268 foreach ($filter_info as $name => $filter) {
danielebarchiesi@0 269 if (isset($filter['settings callback']) && function_exists($filter['settings callback'])) {
danielebarchiesi@0 270 $function = $filter['settings callback'];
danielebarchiesi@0 271 // Pass along stored filter settings and default settings, but also the
danielebarchiesi@0 272 // format object and all filters to allow for complex implementations.
danielebarchiesi@0 273 $defaults = (isset($filter['default settings']) ? $filter['default settings'] : array());
danielebarchiesi@0 274 $settings_form = $function($form, $form_state, $filters[$name], $format, $defaults, $filters);
danielebarchiesi@0 275 if (!empty($settings_form)) {
danielebarchiesi@0 276 $form['filters']['settings'][$name] = array(
danielebarchiesi@0 277 '#type' => 'fieldset',
danielebarchiesi@0 278 '#title' => $filter['title'],
danielebarchiesi@0 279 '#parents' => array('filters', $name, 'settings'),
danielebarchiesi@0 280 '#weight' => $filter['weight'],
danielebarchiesi@0 281 '#group' => 'filter_settings',
danielebarchiesi@0 282 );
danielebarchiesi@0 283 $form['filters']['settings'][$name] += $settings_form;
danielebarchiesi@0 284 }
danielebarchiesi@0 285 }
danielebarchiesi@0 286 }
danielebarchiesi@0 287
danielebarchiesi@0 288 $form['actions'] = array('#type' => 'actions');
danielebarchiesi@0 289 $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Save configuration'));
danielebarchiesi@0 290
danielebarchiesi@0 291 return $form;
danielebarchiesi@0 292 }
danielebarchiesi@0 293
danielebarchiesi@0 294 /**
danielebarchiesi@0 295 * Returns HTML for a text format's filter order form.
danielebarchiesi@0 296 *
danielebarchiesi@0 297 * @param $variables
danielebarchiesi@0 298 * An associative array containing:
danielebarchiesi@0 299 * - element: A render element representing the form.
danielebarchiesi@0 300 *
danielebarchiesi@0 301 * @ingroup themeable
danielebarchiesi@0 302 */
danielebarchiesi@0 303 function theme_filter_admin_format_filter_order($variables) {
danielebarchiesi@0 304 $element = $variables['element'];
danielebarchiesi@0 305
danielebarchiesi@0 306 // Filter order (tabledrag).
danielebarchiesi@0 307 $rows = array();
danielebarchiesi@0 308 foreach (element_children($element, TRUE) as $name) {
danielebarchiesi@0 309 $element[$name]['weight']['#attributes']['class'][] = 'filter-order-weight';
danielebarchiesi@0 310 $rows[] = array(
danielebarchiesi@0 311 'data' => array(
danielebarchiesi@0 312 drupal_render($element[$name]['filter']),
danielebarchiesi@0 313 drupal_render($element[$name]['weight']),
danielebarchiesi@0 314 ),
danielebarchiesi@0 315 'class' => array('draggable'),
danielebarchiesi@0 316 );
danielebarchiesi@0 317 }
danielebarchiesi@0 318 $output = drupal_render_children($element);
danielebarchiesi@0 319 $output .= theme('table', array('rows' => $rows, 'attributes' => array('id' => 'filter-order')));
danielebarchiesi@0 320 drupal_add_tabledrag('filter-order', 'order', 'sibling', 'filter-order-weight', NULL, NULL, TRUE);
danielebarchiesi@0 321
danielebarchiesi@0 322 return $output;
danielebarchiesi@0 323 }
danielebarchiesi@0 324
danielebarchiesi@0 325 /**
danielebarchiesi@0 326 * Form validation handler for filter_admin_format_form().
danielebarchiesi@0 327 *
danielebarchiesi@0 328 * @see filter_admin_format_form_submit()
danielebarchiesi@0 329 */
danielebarchiesi@0 330 function filter_admin_format_form_validate($form, &$form_state) {
danielebarchiesi@0 331 $format_format = trim($form_state['values']['format']);
danielebarchiesi@0 332 $format_name = trim($form_state['values']['name']);
danielebarchiesi@0 333
danielebarchiesi@0 334 // Ensure that the values to be saved later are exactly the ones validated.
danielebarchiesi@0 335 form_set_value($form['format'], $format_format, $form_state);
danielebarchiesi@0 336 form_set_value($form['name'], $format_name, $form_state);
danielebarchiesi@0 337
danielebarchiesi@0 338 $result = db_query("SELECT format FROM {filter_format} WHERE name = :name AND format <> :format", array(':name' => $format_name, ':format' => $format_format))->fetchField();
danielebarchiesi@0 339 if ($result) {
danielebarchiesi@0 340 form_set_error('name', t('Text format names must be unique. A format named %name already exists.', array('%name' => $format_name)));
danielebarchiesi@0 341 }
danielebarchiesi@0 342 }
danielebarchiesi@0 343
danielebarchiesi@0 344 /**
danielebarchiesi@0 345 * Form submission handler for filter_admin_format_form().
danielebarchiesi@0 346 *
danielebarchiesi@0 347 * @see filter_admin_format_form_validate()
danielebarchiesi@0 348 */
danielebarchiesi@0 349 function filter_admin_format_form_submit($form, &$form_state) {
danielebarchiesi@0 350 // Remove unnecessary values.
danielebarchiesi@0 351 form_state_values_clean($form_state);
danielebarchiesi@0 352
danielebarchiesi@0 353 // Add the submitted form values to the text format, and save it.
danielebarchiesi@0 354 $format = $form['#format'];
danielebarchiesi@0 355 foreach ($form_state['values'] as $key => $value) {
danielebarchiesi@0 356 $format->$key = $value;
danielebarchiesi@0 357 }
danielebarchiesi@0 358 $status = filter_format_save($format);
danielebarchiesi@0 359
danielebarchiesi@0 360 // Save user permissions.
danielebarchiesi@0 361 if ($permission = filter_permission_name($format)) {
danielebarchiesi@0 362 foreach ($format->roles as $rid => $enabled) {
danielebarchiesi@0 363 user_role_change_permissions($rid, array($permission => $enabled));
danielebarchiesi@0 364 }
danielebarchiesi@0 365 }
danielebarchiesi@0 366
danielebarchiesi@0 367 switch ($status) {
danielebarchiesi@0 368 case SAVED_NEW:
danielebarchiesi@0 369 drupal_set_message(t('Added text format %format.', array('%format' => $format->name)));
danielebarchiesi@0 370 break;
danielebarchiesi@0 371
danielebarchiesi@0 372 case SAVED_UPDATED:
danielebarchiesi@0 373 drupal_set_message(t('The text format %format has been updated.', array('%format' => $format->name)));
danielebarchiesi@0 374 break;
danielebarchiesi@0 375 }
danielebarchiesi@0 376 }
danielebarchiesi@0 377
danielebarchiesi@0 378 /**
danielebarchiesi@0 379 * Form constructor for the text format deletion confirmation form.
danielebarchiesi@0 380 *
danielebarchiesi@0 381 * @param $format
danielebarchiesi@0 382 * An object representing a text format.
danielebarchiesi@0 383 *
danielebarchiesi@0 384 * @see filter_menu()
danielebarchiesi@0 385 * @see filter_admin_disable_submit()
danielebarchiesi@0 386 * @ingroup forms
danielebarchiesi@0 387 */
danielebarchiesi@0 388 function filter_admin_disable($form, &$form_state, $format) {
danielebarchiesi@0 389 $form['#format'] = $format;
danielebarchiesi@0 390
danielebarchiesi@0 391 return confirm_form($form,
danielebarchiesi@0 392 t('Are you sure you want to disable the text format %format?', array('%format' => $format->name)),
danielebarchiesi@0 393 'admin/config/content/formats',
danielebarchiesi@0 394 t('Disabled text formats are completely removed from the administrative interface, and any content stored with that format will not be displayed. This action cannot be undone.'),
danielebarchiesi@0 395 t('Disable')
danielebarchiesi@0 396 );
danielebarchiesi@0 397 }
danielebarchiesi@0 398
danielebarchiesi@0 399 /**
danielebarchiesi@0 400 * Form submission handler for filter_admin_disable().
danielebarchiesi@0 401 */
danielebarchiesi@0 402 function filter_admin_disable_submit($form, &$form_state) {
danielebarchiesi@0 403 $format = $form['#format'];
danielebarchiesi@0 404 filter_format_disable($format);
danielebarchiesi@0 405 drupal_set_message(t('Disabled text format %format.', array('%format' => $format->name)));
danielebarchiesi@0 406
danielebarchiesi@0 407 $form_state['redirect'] = 'admin/config/content/formats';
danielebarchiesi@0 408 }