You are here

function elfinder_admin_submit in elFinder file manager 7.2

Same name in this branch
  1. 7.2 inc/elfinder.admin.inc \elfinder_admin_submit()
  2. 7.2 inc/elfinder.admin.profiles.inc \elfinder_admin_submit()
Same name and namespace in other branches
  1. 6.2 inc/elfinder.admin.inc \elfinder_admin_submit()
  2. 6.2 inc/elfinder.admin.profiles.inc \elfinder_admin_submit()
  3. 6 inc/elfinder.admin.inc \elfinder_admin_submit()
  4. 7.3 inc/elfinder.admin.inc \elfinder_admin_submit()
  5. 7.3 inc/elfinder.admin.profiles.inc \elfinder_admin_submit()
  6. 7 inc/elfinder.admin.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 461
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');
  }
}