function elfinder_admin_submit in elFinder file manager 7.3
Same name in this branch
- 7.3 inc/elfinder.admin.inc \elfinder_admin_submit()
- 7.3 inc/elfinder.admin.profiles.inc \elfinder_admin_submit()
Same name and namespace in other branches
- 6.2 inc/elfinder.admin.inc \elfinder_admin_submit()
- 6.2 inc/elfinder.admin.profiles.inc \elfinder_admin_submit()
- 6 inc/elfinder.admin.inc \elfinder_admin_submit()
- 7 inc/elfinder.admin.inc \elfinder_admin_submit()
- 7.2 inc/elfinder.admin.inc \elfinder_admin_submit()
- 7.2 inc/elfinder.admin.profiles.inc \elfinder_admin_submit()
Save form data
2 string references to 'elfinder_admin_submit'
- elfinder_admin_form in inc/
elfinder.admin.inc - Settings form definition
- elfinder_admin_profile in inc/
elfinder.admin.profiles.inc - @file file manager admin profile settings page
File
- inc/
elfinder.admin.profiles.inc, line 416 - file manager admin profile settings page
Code
function elfinder_admin_submit($form, &$form_state) {
$settings = array(
'tmbsize',
'tmbdirname',
'mime_detect',
'file_url_type',
'imglib',
'file_perm',
'dir_perm',
'rememberlastdir',
'usesystemjquery',
'tmbcrop',
'max_filesize',
'manager_width',
'manager_height',
'volume',
'user_quota',
'ckeditor_upload_volume',
'ckeditor_upload_directory',
);
$profile_settings = array();
foreach ($settings as $setting) {
if (isset($form_state['values'][$setting])) {
/* Excluding empty volumes */
if ($setting == 'volume') {
for ($i = 0; $i < count($form_state['values']['volume']); $i++) {
if (empty($form_state['values']['volume'][$i]['path'])) {
unset($form_state['values']['volume'][$i]);
}
}
}
$profile_settings[$setting] = $form_state['values'][$setting];
}
}
// Save roles.
$profile_settings['profile_role'] = array();
foreach ($form_state['values']['profile_role'] as $rid) {
if ($rid != 0) {
$profile_settings['profile_role'][$rid] = $rid;
}
}
$profile_name = $form_state['values']['profile_name'];
$profile_description = $form_state['values']['profile_description'];
$pid = 0;
if ($form_state['values']['profile_action'] == 'profile_edit' && $profile_name) {
$pid = elfinder_admin_profile_get_pid($profile_name);
}
$profile = new StdClass();
$profile->pid = $pid;
$profile->name = $profile_name;
$profile->description = $profile_description;
$profile->settings = serialize($profile_settings);
if (isset($form_state['values']['save_profile'])) {
drupal_write_record('elfinder_profile', $profile, $pid > 0 ? array(
'pid',
) : array());
drupal_set_message(t('Profile have been saved.'));
drupal_goto('admin/config/media/elfinder');
}
}