45        $a_user_image = 
false,
 
   46        $a_profile_link = 
false,
 
   47        $a_profile_back_link = 
"",
 
   48        $a_force_first_lastname = 
false,
 
   49        $a_omit_login = 
false,
 
   51        $a_return_data_array = 
false,
 
   52        $a_ctrl_path = 
"ilpublicuserprofilegui" 
   56        if (!is_array($a_ctrl_path)) {
 
   57            $a_ctrl_path = array($a_ctrl_path);
 
   60        if (!($return_as_array = is_array($a_user_id))) {
 
   61            $a_user_id = array($a_user_id);
 
   70                                        b.value public_profile, 
   76                                                        (a.usr_id = b.usr_id AND 
   80                                                        (a.usr_id = c.usr_id AND 
   82                                WHERE ' . 
$ilDB->in(
'a.usr_id', $a_user_id, 
false, 
'integer');
 
   84        $userrow = 
$ilDB->queryF($sql, array(
'text', 
'text'), array(
'public_profile', 
'public_title'));
 
   89        while (
$row = 
$ilDB->fetchObject($userrow)) {
 
   91            $d = array(
"id" => 
$row->usr_id, 
"title" => 
"", 
"lastname" => 
"", 
"firstname" => 
"", 
"img" => 
"", 
"link" => 
"",
 
   92                "public_profile" => 
"");
 
   93            $has_public_profile = in_array(
$row->public_profile, array(
"y", 
"g"));
 
   94            if ($a_force_first_lastname || $has_public_profile) {
 
   96                if (
$row->public_title == 
"y" && 
$row->title) {
 
  101                    $pres = 
$row->lastname;
 
  102                    if (strlen(
$row->firstname)) {
 
  103                        $pres .= (
', ' . 
$row->firstname . 
' ');
 
  107                    if (strlen(
$row->firstname)) {
 
  108                        $pres .= 
$row->firstname . 
' ';
 
  110                    $pres .= (
$row->lastname . 
' ');
 
  112                $d[
"firstname"] = 
$row->firstname;
 
  113                $d[
"lastname"] = 
$row->lastname;
 
  115            $d[
"login"] = 
$row->login;
 
  116            $d[
"public_profile"] = $has_public_profile;
 
  119            if (!$a_omit_login) {
 
  120                $pres.= 
"[" . 
$row->login . 
"]";
 
  123            if ($a_profile_link && $has_public_profile) {
 
  124                $ilCtrl->setParameterByClass(end($a_ctrl_path), 
"user_id", 
$row->usr_id);
 
  125                if ($a_profile_back_link != 
"") {
 
  129                        rawurlencode($a_profile_back_link)
 
  132                $link = 
$ilCtrl->getLinkTargetByClass($a_ctrl_path, 
"getHTML");
 
  133                $pres = 
'<a href="' . $link . 
'">' . $pres . 
'</a>';
 
  138                $img = ilObjUser::_getPersonalPicturePath(
$row->usr_id, 
"xxsmall");
 
  139                $pres = 
'<img class="ilUserXXSmall" border="0" src="' . 
$img . 
'" alt="' . 
$lng->txt(
"icon") .
 
  140                    " " . 
$lng->txt(
"user_picture") . 
'" /> ' . $pres;
 
  148        foreach ($a_user_id as 
$id) {
 
  154        if ($a_return_data_array) {
 
  155            if ($return_as_array) {
 
  158                return current(
$data);
 
  161        return $return_as_array ? 
$names : 
$names[$a_user_id[0]];
 
  175            "SELECT value FROM usr_pref " .
 
  176            " WHERE usr_id = " . 
$ilDB->quote($a_user_id, 
"integer") .
 
  177            " and keyword = " . 
$ilDB->quote(
"public_profile", 
"text")
 
  179        $rec = 
$ilDB->fetchAssoc($set);
 
  181        return in_array($rec[
"value"], array(
"y", 
"g"));
 
  194        if ($public_profile != 
'y' and $public_profile != 
'g') {
 
  198        $GLOBALS[
'ilCtrl']->setParameterByClass(
'ilpublicuserprofilegui', 
'user', $a_usr_id);
 
  199        return $GLOBALS[
'ilCtrl']->getLinkTargetByClass(
'ilpublicuserprofilegui', 
'getHTML');
 
  222        if ($a_force_all || (
$ilSetting->get(
'disable_my_offers') == 0 &&
 
  223            $ilSetting->get(
'disable_my_memberships') == 0)) {
 
  231        if ($a_force_all || !
$ilSetting->get(
"disable_personal_workspace")) {
 
  235        include_once(
'./Services/Calendar/classes/class.ilCalendarSettings.php');
 
  237        if ($a_force_all || $settings->isEnabled()) {
 
  243        foreach ($all as $idx => 
$lang) {
 
  261        if ($a_value == self::START_REPOSITORY_OBJ) {
 
  262            $a_ref_id = (int) $a_ref_id;
 
  264                !$tree->isDeleted($a_ref_id)) {
 
  265                $ilSetting->set(
"usr_starting_point", $a_value);
 
  266                $ilSetting->set(
"usr_starting_point_ref_id", $a_ref_id);
 
  270        $valid = array_keys(self::getPossibleStartingPoints());
 
  271        if (in_array($a_value, 
$valid)) {
 
  272            $ilSetting->set(
"usr_starting_point", $a_value);
 
  287        $valid = array_keys(self::getPossibleStartingPoints());
 
  289        if (
$current == self::START_REPOSITORY_OBJ) {
 
  295            if (
$ilSetting->get(
'disable_my_offers') == 0 &&
 
  296                $ilSetting->get(
'disable_my_memberships') == 0 &&
 
  297                $ilSetting->get(
'personal_items_default_view') == 1) {
 
  303        if (
$ilUser->getId() == ANONYMOUS_USER_ID ||
 
  317        global $tree, 
$ilUser, $rbacreview;
 
  324        if (self::hasPersonalStartingPoint() && 
$ilUser->getPref(
'usr_starting_point') != 
null) {
 
  326            if (
$current == self::START_REPOSITORY_OBJ) {
 
  330            include_once 
'./Services/AccessControl/classes/class.ilStartingPoint.php';
 
  336                $roles_ids = array_keys($roles);
 
  339                foreach ($rbacreview->getGlobalRoles() as $role_id) {
 
  340                    if ($rbacreview->isAssigned(
$ilUser->getId(), $role_id)) {
 
  341                        if (in_array($role_id, $roles_ids)) {
 
  342                            $gr[$roles[$role_id][
'position']] = array(
 
  343                                "point" => $roles[$role_id][
'starting_point'],
 
  344                                "object" => $roles[$role_id][
'starting_object']
 
  351                    $role_point = array_pop($gr);
 
  353                    $ref_id = $role_point[
'object'];
 
  360                if (
$current == self::START_REPOSITORY_OBJ) {
 
  368                $ref_id = $tree->readRootId();
 
  374                    !$tree->isDeleted($ref_id)) {
 
  375                    include_once(
'./Services/Link/classes/class.ilLink.php');
 
  385                    self::START_PD_OVERVIEW => 
'ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToSelectedItems',
 
  386                    self::START_PD_SUBSCRIPTION => 
'ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToMemberships',
 
  390                    self::START_PD_WORKSPACE => 
'ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToWorkspace',
 
  394                    self::START_PD_CALENDAR => 
'ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToCalendar',
 
  414        return $ilSetting->get(
"usr_starting_point_ref_id");
 
  426        $ilSetting->set(
"usr_starting_point_personal", (
bool) $a_value);
 
  438        return $ilSetting->get(
"usr_starting_point_personal");
 
  450        return (
bool) 
$ilUser->getPref(
"usr_starting_point");
 
  462        $valid = array_keys(self::getPossibleStartingPoints());
 
  464        if (
$current == self::START_REPOSITORY_OBJ) {
 
  484            $ilUser->setPref(
"usr_starting_point", 
null);
 
  485            $ilUser->setPref(
"usr_starting_point_ref_id", 
null);
 
  489        if ($a_value == self::START_REPOSITORY_OBJ) {
 
  490            $a_ref_id = (int) $a_ref_id;
 
  492                !$tree->isDeleted($a_ref_id)) {
 
  493                $ilUser->setPref(
"usr_starting_point", $a_value);
 
  494                $ilUser->setPref(
"usr_starting_point_ref_id", $a_ref_id);
 
  498        $valid = array_keys(self::getPossibleStartingPoints());
 
  499        if (in_array($a_value, 
$valid)) {
 
  500            $ilUser->setPref(
"usr_starting_point", $a_value);
 
  515        $ref_id = 
$ilUser->getPref(
"usr_starting_point_ref_id");
 
An exception for terminatinating execution or to throw for unit testing.
static _getInstance()
get singleton instance
static _getStaticLink( $a_ref_id, $a_type='', $a_fallback_goto=true, $append="")
Get static link.
static _lookupPref($a_usr_id, $a_keyword)
static _lookupObjId($a_id)
const CMD_JUMP_TO_MY_STAFF
static getRolesWithStartingPoint()
get array with all roles which have starting point defined.
static getPersonalStartingObject()
Get ref id of personal starting object.
static getPossibleStartingPoints($a_force_all=false)
Get all valid starting points.
static hasPersonalStartPointPref()
Did user set any personal starting point (yet)?
static hasPersonalStartingPoint()
Can starting point be personalized?
static hasPublicProfile($a_user_id)
Has public profile.
static togglePersonalStartingPoint($a_value)
Toggle personal starting point setting.
static getPersonalStartingPoint()
Get current personal starting point.
static getNamePresentation( $a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
static getStartingPoint()
Get current starting point setting.
static getProfileLink($a_usr_id)
Get link to personal profile Return empty string in case of not public profile.
static setPersonalStartingPoint($a_value, $a_ref_id=null)
Set personal starting point setting.
static getStartingPointAsUrl()
Get current starting point setting as URL.
static getStartingObject()
Get ref id of starting object.
const START_REPOSITORY_OBJ
const START_PD_SUBSCRIPTION
static setStartingPoint($a_value, $a_ref_id=null)
Set starting point setting.
for( $i=6;$i< 13;$i++) for($i=1; $i< 13; $i++) $d
if(!array_key_exists('StateId', $_REQUEST)) $id
$GLOBALS['loaded']
Global hash that tracks already loaded includes.