2007-09-14 12:17:58 +00:00
< ? php
/**
* @ file
* Admin page callbacks for the filter module .
*/
/**
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
* Menu callback ; Displays a list of all text formats and allows them to be rearranged .
2007-09-14 12:17:58 +00:00
*
* @ ingroup forms
2008-01-08 10:35:43 +00:00
* @ see filter_admin_overview_submit ()
2007-09-14 12:17:58 +00:00
*/
2009-09-18 00:12:48 +00:00
function filter_admin_overview ( $form ) {
2007-09-14 12:17:58 +00:00
// Overview of all formats.
$formats = filter_formats ();
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
$fallback_format = filter_fallback_format ();
2007-09-14 12:17:58 +00:00
2009-09-18 00:12:48 +00:00
$form [ '#tree' ] = TRUE ;
2007-09-14 12:17:58 +00:00
foreach ( $formats as $id => $format ) {
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
// Check whether this is the fallback text format. This format is available
2010-09-18 02:18:35 +00:00
// to all roles and cannot be disabled via the admin interface.
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
$form [ 'formats' ][ $id ][ '#is_fallback' ] = ( $id == $fallback_format );
if ( $form [ 'formats' ][ $id ][ '#is_fallback' ]) {
2010-08-17 13:50:52 +00:00
$form [ 'formats' ][ $id ][ 'name' ] = array ( '#markup' => drupal_placeholder ( $format -> name ));
$roles_markup = drupal_placeholder ( t ( 'All roles may use this format' ));
2007-09-14 12:17:58 +00:00
}
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
else {
$form [ 'formats' ][ $id ][ 'name' ] = array ( '#markup' => check_plain ( $format -> name ));
2010-04-23 05:39:43 +00:00
$roles = array_map ( 'check_plain' , filter_get_roles_by_format ( $format ));
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
$roles_markup = $roles ? implode ( ', ' , $roles ) : t ( 'No roles may use this format' );
}
$form [ 'formats' ][ $id ][ 'roles' ] = array ( '#markup' => $roles_markup );
2009-11-03 05:27:18 +00:00
$form [ 'formats' ][ $id ][ 'configure' ] = array ( '#type' => 'link' , '#title' => t ( 'configure' ), '#href' => 'admin/config/content/formats/' . $id );
2010-09-18 02:18:35 +00:00
$form [ 'formats' ][ $id ][ 'disable' ] = array ( '#type' => 'link' , '#title' => t ( 'disable' ), '#href' => 'admin/config/content/formats/' . $id . '/disable' , '#access' => ! $form [ 'formats' ][ $id ][ '#is_fallback' ]);
2010-10-20 01:31:07 +00:00
$form [ 'formats' ][ $id ][ 'weight' ] = array (
'#type' => 'weight' ,
'#title' => t ( 'Weight for @title' , array ( '@title' => $format -> name )),
'#title_display' => 'invisible' ,
'#default_value' => $format -> weight ,
);
2007-09-14 12:17:58 +00:00
}
2010-04-24 14:49:14 +00:00
$form [ 'actions' ] = array ( '#type' => 'actions' );
2010-01-03 21:01:04 +00:00
$form [ 'actions' ][ 'submit' ] = array ( '#type' => 'submit' , '#value' => t ( 'Save changes' ));
2007-09-14 12:17:58 +00:00
return $form ;
}
function filter_admin_overview_submit ( $form , & $form_state ) {
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
foreach ( $form_state [ 'values' ][ 'formats' ] as $id => $data ) {
2008-02-19 14:07:21 +00:00
if ( is_array ( $data ) && isset ( $data [ 'weight' ])) {
// Only update if this is a form element with weight.
2009-04-25 18:01:10 +00:00
db_update ( 'filter_format' )
-> fields ( array ( 'weight' => $data [ 'weight' ]))
-> condition ( 'format' , $id )
-> execute ();
2008-02-19 14:07:21 +00:00
}
}
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
filter_formats_reset ();
2009-01-21 16:58:42 +00:00
drupal_set_message ( t ( 'The text format ordering has been saved.' ));
2007-09-14 12:17:58 +00:00
}
/**
2010-04-13 15:23:03 +00:00
* Returns HTML for the text format administration overview form .
*
* @ param $variables
* An associative array containing :
* - form : A render element representing the form .
2007-09-14 12:17:58 +00:00
*
* @ ingroup themeable
*/
2009-10-09 01:00:08 +00:00
function theme_filter_admin_overview ( $variables ) {
$form = $variables [ 'form' ];
2007-09-14 12:17:58 +00:00
$rows = array ();
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
foreach ( element_children ( $form [ 'formats' ]) as $id ) {
$form [ 'formats' ][ $id ][ 'weight' ][ '#attributes' ][ 'class' ] = array ( 'text-format-order-weight' );
$rows [] = array (
'data' => array (
drupal_render ( $form [ 'formats' ][ $id ][ 'name' ]),
drupal_render ( $form [ 'formats' ][ $id ][ 'roles' ]),
drupal_render ( $form [ 'formats' ][ $id ][ 'weight' ]),
drupal_render ( $form [ 'formats' ][ $id ][ 'configure' ]),
2010-09-18 02:18:35 +00:00
drupal_render ( $form [ 'formats' ][ $id ][ 'disable' ]),
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
),
'class' => array ( 'draggable' ),
);
2007-09-14 12:17:58 +00:00
}
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
$header = array ( t ( 'Name' ), t ( 'Roles' ), t ( 'Weight' ), array ( 'data' => t ( 'Operations' ), 'colspan' => 2 ));
2009-10-09 01:00:08 +00:00
$output = theme ( 'table' , array ( 'header' => $header , 'rows' => $rows , 'attributes' => array ( 'id' => 'text-format-order' )));
2009-02-03 18:55:32 +00:00
$output .= drupal_render_children ( $form );
2007-09-14 12:17:58 +00:00
2009-03-08 21:25:18 +00:00
drupal_add_tabledrag ( 'text-format-order' , 'order' , 'sibling' , 'text-format-order-weight' );
2008-02-19 14:07:21 +00:00
2007-09-14 12:17:58 +00:00
return $output ;
}
2007-09-17 09:16:48 +00:00
/**
2009-03-08 21:25:18 +00:00
* Menu callback ; Display a text format form .
2007-09-17 09:16:48 +00:00
*/
function filter_admin_format_page ( $format = NULL ) {
if ( ! isset ( $format -> name )) {
2009-10-13 15:39:41 +00:00
drupal_set_title ( t ( 'Add text format' ));
2010-10-20 01:15:58 +00:00
$format = ( object ) array (
'format' => NULL ,
'name' => '' ,
);
2007-09-17 09:16:48 +00:00
}
return drupal_get_form ( 'filter_admin_format_form' , $format );
}
2007-09-14 12:17:58 +00:00
/**
2009-03-08 21:25:18 +00:00
* Generate a text format form .
2007-09-14 12:17:58 +00:00
*
* @ ingroup forms
2008-01-08 10:35:43 +00:00
* @ see filter_admin_format_form_validate ()
* @ see filter_admin_format_form_submit ()
2007-09-14 12:17:58 +00:00
*/
2009-09-18 00:12:48 +00:00
function filter_admin_format_form ( $form , & $form_state , $format ) {
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
$is_fallback = ( $format -> format == filter_fallback_format ());
2007-09-14 12:17:58 +00:00
2009-12-08 03:10:51 +00:00
$form [ '#format' ] = $format ;
$form [ '#tree' ] = TRUE ;
2009-12-14 13:32:53 +00:00
$form [ '#attached' ][ 'js' ][] = drupal_get_path ( 'module' , 'filter' ) . '/filter.admin.js' ;
$form [ '#attached' ][ 'css' ][] = drupal_get_path ( 'module' , 'filter' ) . '/filter.css' ;
2009-12-08 03:10:51 +00:00
2009-09-11 15:39:48 +00:00
$form [ 'name' ] = array (
'#type' => 'textfield' ,
2008-02-14 18:39:18 +00:00
'#title' => t ( 'Name' ),
2007-09-14 12:17:58 +00:00
'#default_value' => $format -> name ,
'#required' => TRUE ,
);
2010-10-20 01:15:58 +00:00
$form [ 'format' ] = array (
'#type' => 'machine_name' ,
'#required' => TRUE ,
'#default_value' => $format -> format ,
'#maxlength' => 255 ,
'#machine_name' => array (
2010-10-22 16:36:14 +00:00
'exists' => 'filter_format_exists' ,
2010-10-20 01:15:58 +00:00
),
'#disabled' => ! empty ( $format -> format ),
);
2007-09-14 12:17:58 +00:00
2009-12-08 03:10:51 +00:00
// Add user role access selection.
$form [ 'roles' ] = array (
'#type' => 'checkboxes' ,
2007-09-14 12:17:58 +00:00
'#title' => t ( 'Roles' ),
2010-04-23 05:39:43 +00:00
'#options' => array_map ( 'check_plain' , user_roles ()),
2009-12-08 03:10:51 +00:00
'#disabled' => $is_fallback ,
2007-09-14 12:17:58 +00:00
);
2009-12-14 13:32:53 +00:00
if ( $is_fallback ) {
$form [ 'roles' ][ '#description' ] = t ( 'All roles for this text format must be enabled and cannot be changed.' );
}
2010-03-06 19:40:21 +00:00
if ( ! empty ( $format -> format )) {
// If editing an existing text format, pre-select its current permissions.
$form [ 'roles' ][ '#default_value' ] = array_keys ( filter_get_roles_by_format ( $format ));
}
elseif ( $admin_role = variable_get ( 'user_admin_role' , 0 )) {
// If adding a new text format and the site has an administrative role,
// pre-select that role so as to grant administrators access to the new
// text format permission by default.
$form [ 'roles' ][ '#default_value' ] = array ( $admin_role );
}
2009-12-08 03:10:51 +00:00
2009-12-14 13:32:53 +00:00
// Retrieve available filters and load all configured filters for existing
// text formats.
2009-08-25 10:35:33 +00:00
$filter_info = filter_get_filters ();
2009-12-03 15:33:42 +00:00
$filters = ! empty ( $format -> format ) ? filter_list_format ( $format -> format ) : array ();
2007-09-14 12:17:58 +00:00
2009-12-14 13:32:53 +00:00
// Prepare filters for form sections.
2009-08-25 10:35:33 +00:00
foreach ( $filter_info as $name => $filter ) {
2009-12-08 03:10:51 +00:00
// Create an empty filter object for new/unconfigured filters.
if ( ! isset ( $filters [ $name ])) {
2010-06-17 13:16:57 +00:00
$filters [ $name ] = new stdClass ();
2010-12-14 02:40:15 +00:00
$filters [ $name ] -> format = $format -> format ;
$filters [ $name ] -> module = $filter [ 'module' ];
$filters [ $name ] -> name = $name ;
2009-12-08 03:10:51 +00:00
$filters [ $name ] -> status = 0 ;
2009-12-14 13:32:53 +00:00
$filters [ $name ] -> weight = $filter [ 'weight' ];
2009-12-08 03:10:51 +00:00
$filters [ $name ] -> settings = array ();
}
2009-12-14 13:32:53 +00:00
}
$form [ '#filters' ] = $filters ;
// Filter status.
$form [ 'filters' ][ 'status' ] = array (
'#type' => 'item' ,
'#title' => t ( 'Enabled filters' ),
'#prefix' => '<div id="filters-status-wrapper">' ,
'#suffix' => '</div>' ,
);
foreach ( $filter_info as $name => $filter ) {
$form [ 'filters' ][ 'status' ][ $name ] = array (
2009-08-25 10:35:33 +00:00
'#type' => 'checkbox' ,
'#title' => $filter [ 'title' ],
2009-12-08 03:10:51 +00:00
'#default_value' => $filters [ $name ] -> status ,
2009-12-14 13:32:53 +00:00
'#parents' => array ( 'filters' , $name , 'status' ),
2009-08-25 10:35:33 +00:00
'#description' => $filter [ 'description' ],
2009-12-14 13:32:53 +00:00
'#weight' => $filter [ 'weight' ],
2007-09-14 12:17:58 +00:00
);
}
2009-12-08 03:10:51 +00:00
2009-12-14 13:32:53 +00:00
// Filter order (tabledrag).
$form [ 'filters' ][ 'order' ] = array (
'#type' => 'item' ,
'#title' => t ( 'Filter processing order' ),
'#theme' => 'filter_admin_format_filter_order' ,
);
foreach ( $filter_info as $name => $filter ) {
$form [ 'filters' ][ 'order' ][ $name ][ 'filter' ] = array (
'#markup' => $filter [ 'title' ],
);
$form [ 'filters' ][ 'order' ][ $name ][ 'weight' ] = array (
'#type' => 'weight' ,
2010-10-20 01:31:07 +00:00
'#title' => t ( 'Weight for @title' , array ( '@title' => $filter [ 'title' ])),
'#title_display' => 'invisible' ,
2009-12-14 13:32:53 +00:00
'#delta' => 50 ,
'#default_value' => $filters [ $name ] -> weight ,
'#parents' => array ( 'filters' , $name , 'weight' ),
);
2010-02-05 21:44:35 +00:00
$form [ 'filters' ][ 'order' ][ $name ][ '#weight' ] = $filters [ $name ] -> weight ;
2009-12-14 13:32:53 +00:00
}
2007-09-14 12:17:58 +00:00
2009-12-14 13:32:53 +00:00
// Filter settings.
$form [ 'filter_settings_title' ] = array (
'#type' => 'item' ,
'#title' => t ( 'Filter settings' ),
);
$form [ 'filter_settings' ] = array (
'#type' => 'vertical_tabs' ,
);
foreach ( $filter_info as $name => $filter ) {
if ( isset ( $filter [ 'settings callback' ]) && function_exists ( $filter [ 'settings callback' ])) {
$function = $filter [ 'settings callback' ];
// Pass along stored filter settings and default settings, but also the
// format object and all filters to allow for complex implementations.
$defaults = ( isset ( $filter [ 'default settings' ]) ? $filter [ 'default settings' ] : array ());
$settings_form = $function ( $form , $form_state , $filters [ $name ], $format , $defaults , $filters );
if ( ! empty ( $settings_form )) {
$form [ 'filters' ][ 'settings' ][ $name ] = array (
'#type' => 'fieldset' ,
'#title' => $filter [ 'title' ],
'#parents' => array ( 'filters' , $name , 'settings' ),
'#weight' => $filter [ 'weight' ],
'#group' => 'filter_settings' ,
);
$form [ 'filters' ][ 'settings' ][ $name ] += $settings_form ;
}
2008-12-03 19:43:21 +00:00
}
2009-12-14 13:32:53 +00:00
}
2010-04-24 14:49:14 +00:00
$form [ 'actions' ] = array ( '#type' => 'actions' );
2010-01-03 21:01:04 +00:00
$form [ 'actions' ][ 'submit' ] = array ( '#type' => 'submit' , '#value' => t ( 'Save configuration' ));
2007-09-14 12:17:58 +00:00
return $form ;
}
2009-12-14 13:32:53 +00:00
/**
2010-04-13 15:23:03 +00:00
* Returns HTML for a text format ' s filter order form .
*
* @ param $variables
* An associative array containing :
* - element : A render element representing the form .
2009-12-14 13:32:53 +00:00
*
* @ ingroup themeable
*/
function theme_filter_admin_format_filter_order ( $variables ) {
$element = $variables [ 'element' ];
// Filter order (tabledrag).
$rows = array ();
foreach ( element_children ( $element , TRUE ) as $name ) {
$element [ $name ][ 'weight' ][ '#attributes' ][ 'class' ][] = 'filter-order-weight' ;
$rows [] = array (
'data' => array (
drupal_render ( $element [ $name ][ 'filter' ]),
drupal_render ( $element [ $name ][ 'weight' ]),
),
'class' => array ( 'draggable' ),
);
}
$output = drupal_render_children ( $element );
$output .= theme ( 'table' , array ( 'rows' => $rows , 'attributes' => array ( 'id' => 'filter-order' )));
drupal_add_tabledrag ( 'filter-order' , 'order' , 'sibling' , 'filter-order-weight' , NULL , NULL , TRUE );
return $output ;
}
2007-09-14 12:17:58 +00:00
/**
2009-03-08 21:25:18 +00:00
* Validate text format form submissions .
2007-09-14 12:17:58 +00:00
*/
function filter_admin_format_form_validate ( $form , & $form_state ) {
2010-10-22 16:36:14 +00:00
$format_format = trim ( $form_state [ 'values' ][ 'format' ]);
$format_name = trim ( $form_state [ 'values' ][ 'name' ]);
// Ensure that the values to be saved later are exactly the ones validated.
form_set_value ( $form [ 'format' ], $format_format , $form_state );
form_set_value ( $form [ 'name' ], $format_name , $form_state );
$result = db_query ( " SELECT format FROM { filter_format} WHERE name = :name AND format <> :format " , array ( ':name' => $format_name , ':format' => $format_format )) -> fetchField ();
if ( $result ) {
form_set_error ( 'name' , t ( 'Text format names must be unique. A format named %name already exists.' , array ( '%name' => $format_name )));
2007-09-14 12:17:58 +00:00
}
}
/**
2009-03-08 21:25:18 +00:00
* Process text format form submissions .
2007-09-14 12:17:58 +00:00
*/
function filter_admin_format_form_submit ( $form , & $form_state ) {
2009-12-08 03:10:51 +00:00
// Remove unnecessary values.
form_state_values_clean ( $form_state );
2010-12-01 00:00:21 +00:00
// Add the submitted form values to the text format, and save it.
$format = $form [ '#format' ];
foreach ( $form_state [ 'values' ] as $key => $value ) {
$format -> $key = $value ;
}
2009-08-26 04:59:26 +00:00
$status = filter_format_save ( $format );
2007-09-14 12:17:58 +00:00
2009-12-08 03:10:51 +00:00
// Save user permissions.
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
if ( $permission = filter_permission_name ( $format )) {
foreach ( $format -> roles as $rid => $enabled ) {
user_role_change_permissions ( $rid , array ( $permission => $enabled ));
}
}
2009-08-26 04:59:26 +00:00
switch ( $status ) {
case SAVED_NEW :
drupal_set_message ( t ( 'Added text format %format.' , array ( '%format' => $format -> name )));
break ;
2009-08-27 21:18:20 +00:00
2009-08-26 04:59:26 +00:00
case SAVED_UPDATED :
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
drupal_set_message ( t ( 'The text format %format has been updated.' , array ( '%format' => $format -> name )));
2009-08-26 04:59:26 +00:00
break ;
2007-09-14 12:17:58 +00:00
}
}
/**
* Menu callback ; confirm deletion of a format .
*
* @ ingroup forms
2010-09-18 02:18:35 +00:00
* @ see filter_admin_disable_submit ()
2007-09-14 12:17:58 +00:00
*/
2010-09-18 02:18:35 +00:00
function filter_admin_disable ( $form , & $form_state , $format ) {
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
$form [ '#format' ] = $format ;
return confirm_form ( $form ,
2010-09-18 02:18:35 +00:00
t ( 'Are you sure you want to disable the text format %format?' , array ( '%format' => $format -> name )),
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
'admin/config/content/formats' ,
2010-09-29 19:52:12 +00:00
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.' ),
2010-09-18 02:18:35 +00:00
t ( 'Disable' )
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
2009-09-20 07:32:19 +00:00
);
2007-09-14 12:17:58 +00:00
}
/**
2010-09-18 02:18:35 +00:00
* Process filter disable form submission .
2007-09-14 12:17:58 +00:00
*/
2010-09-18 02:18:35 +00:00
function filter_admin_disable_submit ( $form , & $form_state ) {
2009-08-26 10:29:26 +00:00
$format = $form [ '#format' ];
2010-09-18 02:18:35 +00:00
filter_format_disable ( $format );
drupal_set_message ( t ( 'Disabled text format %format.' , array ( '%format' => $format -> name )));
2007-09-14 12:17:58 +00:00
2009-08-28 16:23:05 +00:00
$form_state [ 'redirect' ] = 'admin/config/content/formats' ;
2007-09-14 12:17:58 +00:00
}