/**
  * Get selectable columns
  *
  * @param
  * @return
  */
 function getSelectableColumns()
 {
     global $lng;
     include_once "./Services/User/classes/class.ilUserProfile.php";
     $up = new ilUserProfile();
     $up->skipGroup("preferences");
     $up->skipGroup("interests");
     $up->skipGroup("settings");
     // default fields
     $cols = array();
     // first and last name cannot be hidden
     $cols["firstname"] = array("txt" => $lng->txt("firstname"), "default" => true);
     $cols["lastname"] = array("txt" => $lng->txt("lastname"), "default" => true);
     if ($this->getMode() == self::MODE_USER_FOLDER) {
         $ufs = $up->getStandardFields();
         $cols["access_until"] = array("txt" => $lng->txt("access_until"), "default" => true);
         $cols["last_login"] = array("txt" => $lng->txt("last_login"), "default" => true);
         // #13967
         $cols["create_date"] = array("txt" => $lng->txt("create_date"));
         $cols["approve_date"] = array("txt" => $lng->txt("approve_date"));
         $cols["agree_date"] = array("txt" => $lng->txt("agree_date"));
     } else {
         $ufs = $up->getLocalUserAdministrationFields();
     }
     // email should be the 1st "optional" field (can be hidden)
     if (isset($ufs["email"])) {
         $cols["email"] = array("txt" => $lng->txt("email"), "default" => true);
     }
     // other user profile fields
     foreach ($ufs as $f => $fd) {
         if (!isset($cols[$f]) && !$fd["lists_hide"]) {
             $cols[$f] = array("txt" => $lng->txt($f), "default" => false);
         }
     }
     // fields that are always shown
     unset($cols["username"]);
     return $cols;
 }