You are here

function elfinder_get_user_profile in elFinder file manager 7.3

Same name and namespace in other branches
  1. 8.2 elfinder.module \elfinder_get_user_profile()
  2. 6.2 elfinder.module \elfinder_get_user_profile()
  3. 7.2 elfinder.module \elfinder_get_user_profile()
4 calls to elfinder_get_user_profile()
elfinder_editor_upload_ckeditor in editors/ckeditor/ckeditor.upload.inc
@file
elfinder_editor_upload_fckeditor in editors/fckeditor/fckeditor.upload.inc
@file
elfinder_filesystemconnector in ./elfinder.module
File browser to filesystem php connector callback
elfinder_file_browser in ./elfinder.module
File browser render

File

./elfinder.module, line 312

Code

function elfinder_get_user_profile() {

  /* Get role id list sorted by weight descending */
  $profiles = elfinder_admin_profile_get();
  if (!is_array($profiles)) {
    $profiles = array(
      $profiles,
    );
  }
  $first_profile = NULL;
  $rids = elfinder_user_roles();
  $rids[] = 1;

  // anonymous user

  /* Get first matching profile for higest weight user role */
  foreach ($rids as $rid) {
    foreach ($profiles as $profile) {
      if (isset($profile->settings['profile_role']) && in_array($rid, $profile->settings['profile_role'])) {
        if (is_null($first_profile)) {
          $first_profile = $profile;
        }
        else {
          if (isset($profile->settings['volume'])) {

            /* Adding all available to current user volumes from other profiles */
            foreach ($profile->settings['volume'] as $volume) {
              $first_profile->settings['volume'][] = $volume;
            }
          }
        }
      }
    }
  }
  return $first_profile;
}