Index: includes/common.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/common.inc,v retrieving revision 1.1042 diff -u -p -r1.1042 common.inc --- includes/common.inc 7 Nov 2009 14:02:31 -0000 1.1042 +++ includes/common.inc 8 Nov 2009 02:55:49 -0000 @@ -4239,6 +4239,10 @@ function drupal_get_library($module, $na * @see theme_menu_overview_form() */ function drupal_add_tabledrag($table_id, $action, $relationship, $group, $subgroup = NULL, $source = NULL, $hidden = TRUE, $limit = 0) { + global $user; + if ($user->accessibility == TRUE) { + return TRUE; + } $js_added = &drupal_static(__FUNCTION__, FALSE); if (!$js_added) { // Add the table drag JavaScript to the page before the module JavaScript Index: modules/user/user.install =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user.install,v retrieving revision 1.31 diff -u -p -r1.31 user.install --- modules/user/user.install 18 Oct 2009 06:56:24 -0000 1.31 +++ modules/user/user.install 8 Nov 2009 02:55:50 -0000 @@ -174,6 +174,12 @@ function user_schema() { 'not null' => FALSE, 'description' => "User's time zone.", ), + 'accessibility' => array( + 'type' => 'varchar', + 'length' => 255, + 'not null' => FALSE, + 'description' => "User's accessibility settings", + ), 'language' => array( 'type' => 'varchar', 'length' => 12, @@ -478,6 +484,10 @@ function user_update_7004(&$sandbox) { } } +function user_update_7005(&$sandbox) { + db_add_field('users', 'accessibility', array('type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'default' => '')); +} + /** * @} End of "defgroup user-updates-6.x-to-7.x" * The next series of updates should start at 8000. Index: modules/user/user.module =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user.module,v retrieving revision 1.1077 diff -u -p -r1.1077 user.module --- modules/user/user.module 7 Nov 2009 14:27:20 -0000 1.1077 +++ modules/user/user.module 8 Nov 2009 02:55:55 -0000 @@ -482,6 +482,7 @@ function user_save($account, $edit = arr // Note, we wait with saving the data column to prevent module-handled // fields from being saved there. $data = array(); + foreach ($edit as $key => $value) { // Form fields that don't pertain to the users, user_roles, or // Field API are automatically serialized into the user.data @@ -972,6 +973,19 @@ function user_account_form(&$form, &$for '#description' => t('Your signature will be publicly displayed at the end of your comments.'), ); + $form['accessibility'] = array( + '#type' => 'fieldset', + '#title' => t('Accessibility settings'), + '#weight' => 8, + '#collapsible' => TRUE, + ); + $form['accessibility']['drag_drop'] = array( + '#type' => 'checkbox', + '#title' => t('Drag and Drop'), + '#default_value' => FALSE, + '#description' => t('If you want to disable the drag and drop functionality.'), + ); + // Picture/avatar. $form['picture'] = array( '#type' => 'fieldset',