function quickbar_form_submit in Quickbar 7
Same name and namespace in other branches
- 6 quickbar.admin.inc \quickbar_form_submit()
- 7.2 quickbar.admin.inc \quickbar_form_submit()
Submit handler for quickbar_form()
See also
File
- ./
quickbar.admin.inc, line 103 - Handles quickbar administration
Code
function quickbar_form_submit(&$form, &$form_state) {
// Set default variables;
$roles = user_roles();
$roles_machine_names = _quickbar_role_machine_names($roles);
$weights = array();
$menus = array();
$machine_name_setting = $form_state['values']['advanced']['machine_names'];
$previous_machine_name_setting = variable_get('quickbar_use_machine_names', NULL);
// If switching between using rids and using machine names make sure all the
// settings get transferred over.
if (!is_null($previous_machine_name_setting) && $previous_machine_name_setting != $machine_name_setting) {
if ($machine_name_setting) {
$convert_from = $roles;
$convert_to = $roles_machine_names;
}
else {
$convert_from = $roles_machine_names;
$convert_to = $roles;
}
foreach ($convert_from as $key => $value) {
$new_key = array_search($value, $convert_to);
if ($settings = variable_get('quickbar_settings_' . $key, '')) {
variable_set('quickbar_settings_' . $new_key, $settings);
variable_del('quickbar_settings_' . $key);
}
$menus[$new_key] = $form_state['values']['toolbar:' . $key]['menu'];
$weights[$new_key] = $form_state['values']['toolbar:' . $key]['weight'];
}
}
else {
if (is_null($previous_machine_name_setting) && $machine_name_setting) {
foreach ($roles as $key => $value) {
$new_key = array_search($value, $roles_machine_names);
$menus[$new_key] = $form_state['values']['toolbar:' . $key]['menu'];
$weights[$new_key] = $form_state['values']['toolbar:' . $key]['weight'];
}
}
else {
if ($machine_name_setting) {
$roles = $roles_machine_names;
}
foreach ($roles as $rid => $name) {
$menus[$rid] = $form_state['values']['toolbar:' . $rid]['menu'];
$weights[$rid] = $form_state['values']['toolbar:' . $rid]['weight'];
}
}
}
variable_set('quickbar_role_weights', $weights);
variable_set('quickbar_role_menus', $menus);
variable_set('quickbar_use_machine_names', $machine_name_setting);
drupal_set_message(t('Your configuration has been saved.'));
}