Public Member Functions | Static Public Member Functions | Data Fields

ilObjUser Class Reference

user class for ilias More...

Inheritance diagram for ilObjUser:
Collaboration diagram for ilObjUser:

Public Member Functions

 ilObjUser ($a_user_id=0, $a_call_by_reference=false)
 Constructor public.
 read ()
 loads a record "user" from database private
 assignData ($a_data)
 loads a record "user" from array public
 saveAsNew ($a_from_formular=true)
 TODO: drop fields last_update & create_date.
 update ()
 updates a record "user" and write it into database public
 writeAccepted ()
 write accept date of user agreement to db
 _lookupEmail ($a_user_id)
 _lookupGender ($a_user_id)
 _lookupClientIP ($a_user_id)
 _lookupName ($a_user_id)
 lookup user name
 _lookupFields ($a_user_id)
 lookup user name
 _lookupLogin ($a_user_id)
 lookup login
 _lookupExternalAccount ($a_user_id)
 lookup external account for login and authmethod
 _lookupId ($a_user_str)
 lookup id by login
 _lookupLastLogin ($a_user_id)
 lookup last login
 refreshLogin ()
 updates the login data of a "user" // TODO set date with now() should be enough public
 replacePassword ($new_md5)
 replaces password with new md5 hash
 updatePassword ($a_old, $a_new1, $a_new2)
 updates password
 resetPassword ($a_new1, $a_new2)
 reset password
 _makeIlias2Password ($a_passwd)
 get encrypted Ilias 2 password (needed for imported ilias 2 users)
 _lookupHasIlias2Password ($a_user_login)
 check if user has ilias 2 password (imported user)
 _switchToIlias3Password ($a_user, $a_pw)
 updateLogin ($a_login)
 update login name
 writePref ($a_keyword, $a_value)
 write userpref to user table private
 deletePref ($a_keyword)
 Deletes a userpref value of the user from the database public.
 _writePref ($a_usr_id, $a_keyword, $a_value)
 writePrefs ()
 write all userprefs private
 setPref ($a_keyword, $a_value)
 set a user preference
 getPref ($a_keyword)
 get a user preference
 _lookupPref ($a_usr_id, $a_keyword)
 readPrefs ()
 get all user preferences private
 delete ()
 deletes a user public
 setFullname ($a_title="", $a_firstname="", $a_lastname="")
 builds a string with title + firstname + lastname method is used to build fullname in member variable $this->fullname.
 getFullname ($a_max_strlen=0)
 get fullname public
 getLastVisitedLessons ()
 get read lessons, ordered by timestamp public
 getLessons ()
 get all lessons, unordered public
 hasAcceptedUserAgreement ()
 check wether user has accepted user agreement
 setLogin ($a_str)
 set login / username public
 getLogin ()
 get login / username public
 setPasswd ($a_str, $a_type=IL_PASSWD_PLAIN)
 set password public
 getPasswd ()
 get password
 getPasswdType ()
 get password type
 setGender ($a_str)
 set gender public
 getGender ()
 get gender public
 setUTitle ($a_str)
 set user title (note: don't mix up this method with setTitle() that is derived from ilObject and sets the user object's title) public
 getUTitle ()
 get user title (note: don't mix up this method with getTitle() that is derived from ilObject and gets the user object's title) public
 setFirstname ($a_str)
 set firstname public
 getFirstname ()
 get firstname public
 setLastname ($a_str)
 set lastame public
 getLastname ()
 get lastname public
 setInstitution ($a_str)
 set institution public
 getInstitution ()
 get institution public
 setDepartment ($a_str)
 set department public
 getDepartment ()
 get department public
 setStreet ($a_str)
 set street public
 getStreet ()
 get street public
 setCity ($a_str)
 set city public
 getCity ()
 get city public
 setZipcode ($a_str)
 set zipcode public
 getZipcode ()
 get zipcode public
 setCountry ($a_str)
 set country public
 getCountry ()
 get country public
 setPhoneOffice ($a_str)
 set office phone public
 getPhoneOffice ()
 get office phone public
 setPhoneHome ($a_str)
 set home phone public
 getPhoneHome ()
 get home phone public
 setPhoneMobile ($a_str)
 set mobile phone public
 getPhoneMobile ()
 get mobile phone public
 setFax ($a_str)
 set fax public
 getFax ()
 get fax public
 setClientIP ($a_str)
 set client ip number public
 getClientIP ()
 get client ip number public
 setMatriculation ($a_str)
 set matriculation number public
 getMatriculation ()
 get matriculation number public
 setEmail ($a_str)
 set email public
 getEmail ()
 get email address public
 setHobby ($a_str)
 set hobby public
 getHobby ()
 get hobby public
 setLanguage ($a_str)
 set user language public
 getLanguage ()
 returns a 2char-language-string public
 _lookupLanguage ($a_usr_id)
 _checkPassword ($a_usr_id, $a_pw)
 _writeExternalAccount ($a_usr_id, $a_ext_id)
 _writeAuthMode ($a_usr_id, $a_auth_mode)
 getCurrentLanguage ()
 returns the current language (may differ from user's pref setting!)
 setLastLogin ($a_str)
 set user's last login public
 getLastLogin ()
 returns last login date public
 setLastUpdate ($a_str)
 set last update of user data set public
 getLastUpdate ()
 setComment ($a_str)
 set referral comment public
 getComment ()
 get referral comment public
 setApproveDate ($a_str)
 set date the user account was activated 0000-00-00 00:00:00 indicates that the user has not yet been activated public
 getApproveDate ()
 get date the user account was activated public
 setActive ($a_active, $a_owner=6)
 set user active state and updates system fields appropriately public
 getActive ()
 get user active state public
 syncActive ()
 synchronizes current and stored user active values for the owner value to be set correctly, this function should only be called when an admin is approving a user account public
 getStoredActive ($a_id)
 get user active state
 setSkin ($a_str)
 set user skin (template set) public
 setTimeLimitOwner ($a_owner)
 getTimeLimitOwner ()
 setTimeLimitFrom ($a_from)
 getTimeLimitFrom ()
 setTimeLimitUntil ($a_until)
 getTimeLimitUntil ()
 setTimeLimitUnlimited ($a_unlimited)
 getTimeLimitUnlimited ()
 setTimeLimitMessage ($a_time_limit_message)
 getTimeLimitMessage ()
 checkTimeLimit ()
 setProfileIncomplete ($a_prof_inc)
 getProfileIncomplete ()
 setLatitude ($a_latitude)
 Set Latitude.
 getLatitude ()
 Get Latitude.
 setLongitude ($a_longitude)
 Set Longitude.
 getLongitude ()
 Get Longitude.
 setLocationZoom ($a_locationzoom)
 Set Location Zoom.
 getLocationZoom ()
 Get Location Zoom.
getAppliedUsers ()
 isChild ($a_usr_id)
 __readAppliedUsers ($a_parent_id)
 checkUserId ()
 isCurrentUserActive ()
 getUserIdByLogin ($a_login)
 getLoginByUserId ($a_userid)
 getGroupMemberships ($a_user_id="")
 getCourseMemberships ($a_user_id="")
 _getNumberOfUsersForStyle ($a_skin, $a_style)
 skins and styles
 _getAllUserAssignedStyles ()
 skins and styles
 _moveUsersToStyle ($a_from_skin, $a_from_style, $a_to_skin, $a_to_style)
 skins and styles
 addDesktopItem ($a_item_id, $a_type, $a_par="")
 add an item to user's personal desktop
 setDesktopItemParameters ($a_item_id, $a_type, $a_par)
 set parameters of a desktop item entry
 dropDesktopItem ($a_item_id, $a_type)
 drop an item from user's personal desktop
 isDesktopItem ($a_item_id, $a_type)
 check wether an item is on the users desktop or not
 getDesktopItems ($a_types="")
 addObjectToClipboard ($a_item_id, $a_type, $a_title)
 add an item to user's personal clipboard
 getClipboardObjects ($a_type="")
 get all clipboard objects of user and specified type
 _getUsersForClipboadObject ($a_type, $a_id)
 get all users, that have a certain object within their clipboard
 removeObjectFromClipboard ($a_item_id, $a_type)
 remove object from user's personal clipboard
 _getImportedUserId ($i2_id)
 setAuthMode ($a_str)
 set auth mode public
 getAuthMode ($a_auth_key=false)
 get auth mode public
 setExternalAccount ($a_str)
 set external account
 getExternalAccount ()
 get external account
 _getNumberOfUsersPerAuthMode ()
 get number of users per auth mode
 _getLocalAccountsForEmail ($a_email)
 check whether external account and authentication method matches with a user
 _uploadPersonalPicture ($tmp_file, $obj_id)
 Create a personal picture image file from a temporary image file.
 getPersonalPicturePath ($a_size="small", $a_force_pic=false)
 get path to personal picture
 _getPersonalPicturePath ($a_usr_id, $a_size="small", $a_force_pic=false)
 get path to personal picture
 setUserDefinedData ($a_data)
 getUserDefinedData ()
 updateUserDefinedFields ()
 readUserDefinedFields ()
 addUserDefinedFieldEntry ()
 deleteUserDefinedFieldEntries ()
 getProfileAsString (&$a_language)
 Get formatted mail body text of user profile data.
 setInstantMessengerId ($a_im_type, $a_im_id)
 getInstantMessengerId ($a_im_type)
 setDelicious ($a_delicious)
 getDelicious ()
 _lookupFeedHash ($a_user_id, $a_create=false)
 Lookup news feed hash for user.

Static Public Member Functions

static _hasAcceptedAgreement ($a_username)
 Check if user has accepted the agreement.
 _getUserIdsByEmail ($a_email)
 STATIC METHOD get all user_ids of an email address.
 getUserIdByEmail ($a_email)
 STATIC METHOD get the user_id of an email address.
 searchUsers ($a_search_str, $active=1, $a_return_ids_only=false, $filter_settings=FALSE)
 STATIC METHOD get the user_ids which correspond a search string.
 _search (&$a_search_obj, $active=1)
 STATIC METHOD search for user data.
 _getLinkToObject ($a_id)
 STATIC METHOD create a link to the object This method used by class.ilSearchGUI.php to a link to the results.
 _getAllUserLogins (&$ilias)
 STATIC METHOD get all user logins.
static _readUsersProfileData ($a_user_ids)
 STATIC METHOD get user data of selected users.
 _getAllUserData ($a_fields=NULL, $active=-1)
 STATIC METHOD get all user data.
static _addDesktopItem ($a_usr_id, $a_item_id, $a_type, $a_par="")
 add an item to user's personal desktop
static _dropDesktopItem ($a_usr_id, $a_item_id, $a_type)
 drop an item from user's personal desktop
static _isDesktopItem ($a_usr_id, $a_item_id, $a_type)
 check wether an item is on the users desktop or not
static _lookupDesktopItems ($user_id, $a_types="")
 get all desktop items of user and specified type
static _getExternalAccountsByAuthMode ($a_auth_mode, $a_read_auth_default=false)
 Get list of external account by authentication method Note: If login == ext_account for two user with auth_mode 'default' and auth_mode 'ldap' The ldap auth mode chosen.
static _toggleActiveStatusOfUsers ($a_usr_ids, $a_status)
 Toggle active status of users.
static _checkExternalAuthAccount ($a_auth, $a_account)
 check whether external account and authentication method matches with a user
static _loginExists ($a_login, $a_user_id=0)
 check if a login name already exists You may exclude a user from the check by giving his user id as 2nd paramter public static
static _externalAccountExists ($a_external_account, $a_auth_mode)
 Check if an external account name already exists.
static _getUsersForRole ($role_id, $active=-1)
 return array of complete users which belong to a specific role
static _getUsersForFolder ($ref_id, $active)
 get users for a category or from system folder
static _getUsersForGroup ($a_mem_ids, $active=-1)
 return user data for group members
static _getUserData ($a_internalids)
 return user data for given user ids

Data Fields

 $login
 all user related data in single vars public
 $passwd
 $passwd_type
 $gender
 $utitle
 $firstname
 $lastname
 $fullname
 $institution
 $department
 $street
 $city
 $zipcode
 $country
 $phone_office
 $phone_home
 $phone_mobile
 $fax
 $email
 $hobby
 $matriculation
 $referral_comment
 $approve_date
 $active
 $client_ip
 $auth_mode
 $im_icq
 $im_yahoo
 $im_msn
 $im_aim
 $im_skype
 $delicious
 $latitude
 $longitude
 $loc_zoom
 $user_defined_data = array()
 $prefs
 $skin
 $default_role
 $ilias

Detailed Description

user class for ilias

Author:
Sascha Hofmann <saschahofmann@gmx.de>
Stefan Meyer <smeyer@databay.de>
Peter Gabriel <pgabriel@databay.de>
Version:
Id:
class.ilObjUser.php 17624 2008-10-08 15:13:10Z hschottm

Definition at line 40 of file class.ilObjUser.php.


Member Function Documentation

ilObjUser::__readAppliedUsers ( a_parent_id  ) 

Definition at line 2217 of file class.ilObjUser.php.

References $res.

Referenced by getAppliedUsers(), and isChild().

        {
                global $ilDB;

                $query = "SELECT usr_id FROM usr_data ".
                        "WHERE time_limit_owner = ".$ilDB->quote($a_parent_id);

                $res = $this->ilias->db->query($query);
                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        $this->applied_users[] = $row->usr_id;

                        // recursion
                        $this->__readAppliedUsers($row->usr_id);
                }
                return true;
        }

Here is the caller graph for this function:

static ilObjUser::_addDesktopItem ( a_usr_id,
a_item_id,
a_type,
a_par = "" 
) [static]

add an item to user's personal desktop

Parameters:
int $a_usr_id id of user object
int $a_item_id ref_id for objects, that are in the main tree (learning modules, forums) obj_id for others
string $a_type object type

Definition at line 2879 of file class.ilObjUser.php.

References $d.

Referenced by addDesktopItem(), ilCourseParticipants::addDesktopItem(), and ilUserImportParser::assignToRole().

        {
                global $ilDB;

                $q = "SELECT * FROM desktop_item WHERE ".
                        "item_id = ".$ilDB->quote($a_item_id)." AND type = ".
                        $ilDB->quote($a_type)." AND user_id = ".
                        $ilDB->quote($a_usr_id);
                $item_set = $ilDB->query($q);

                // only insert if item is not already on desktop
                if (!$d = $item_set->fetchRow())
                {
                        $q = "INSERT INTO desktop_item (item_id, type, user_id, parameters) VALUES ".
                                " (".$ilDB->quote($a_item_id).",".
                                $ilDB->quote($a_type).",".
                                $ilDB->quote($a_usr_id).",".
                                $ilDB->quote($a_par).")";
                        $ilDB->query($q);
                }
        }

Here is the caller graph for this function:

static ilObjUser::_checkExternalAuthAccount ( a_auth,
a_account 
) [static]

check whether external account and authentication method matches with a user

Definition at line 3384 of file class.ilObjUser.php.

References $ilSetting, $res, and ilAuthUtils::_getAuthModeName().

Referenced by ilSoapAuthentication::__checkAgreement(), ilSoapAuthenticationCAS::authenticate(), ShibAuth::generateLogin(), ilUserImportParser::importEndTag(), ilCASAuth::login(), ilAuthRadius::loginObserver(), ilAuthLDAP::loginObserver(), ilLDAPQuery::readUserData(), ilObjUserGUI::saveObject(), ilObjUserGUI::updateObject(), ilSOAPAuth::validateSOAPUser(), and ilUserImportParser::verifyEndTag().

        {
                global $ilDB,$ilSetting;

                // Check directly with auth_mode
                $r = $ilDB->query("SELECT * FROM usr_data WHERE ".
                        " ext_account = ".$ilDB->quote($a_account)." AND ".
                        " auth_mode = ".$ilDB->quote($a_auth));
                if ($usr = $r->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        return $usr["login"];
                }
                
                // For compatibility, check for login (no ext_account entry given)
                $query = "SELECT login FROM usr_data ".
                        "WHERE login = ".$ilDB->quote($a_account)." ".
                        "AND auth_mode = ".$ilDB->quote($a_auth)." ";
                $res = $ilDB->query($query);
                if($res->numRows())
                {
                        $usr = $res->fetchRow(DB_FETCHMODE_ASSOC);
                        return $usr['login'];
                }
                
                // If auth_default == $a_auth => check for login
                if(ilAuthUtils::_getAuthModeName($ilSetting->get('auth_mode')) == $a_auth)
                {
                        // First search for ext_account
                        $query = "SELECT login FROM usr_data ".
                                "WHERE ext_account = ".$ilDB->quote($a_account)." ".
                                "AND auth_mode = 'default'";
                        
                        $res = $ilDB->query($query);
                        if ($usr = $res->fetchRow(DB_FETCHMODE_ASSOC))
                        {
                                return $usr["login"];
                        }
                        
                        // Search for login (no ext_account given)
                        $query = "SELECT login FROM usr_data ".
                                "WHERE (login =".$ilDB->quote($a_account)." AND ext_account = '') ".
                                "AND auth_mode = 'default'";
                        
                        $res = $ilDB->query($query);
                        if ($usr = $res->fetchRow(DB_FETCHMODE_ASSOC))
                        {
                                return $usr["login"];
                        }
                }
                return false;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::_checkPassword ( a_usr_id,
a_pw 
)

Definition at line 1858 of file class.ilObjUser.php.

Referenced by ilSOAPAuth::login().

        {
                global $ilDB;

                $q = "SELECT passwd FROM usr_data ".
                        " WHERE usr_id = ".$ilDB->quote($a_usr_id);
                $usr_set = $ilDB->query($q);

                if($usr_rec = $usr_set->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        if ($usr_rec["passwd"] == md5($a_pw))
                        {
                                return true;
                        }
                }
                return false;
        }

Here is the caller graph for this function:

static ilObjUser::_dropDesktopItem ( a_usr_id,
a_item_id,
a_type 
) [static]

drop an item from user's personal desktop

Parameters:
int $a_usr_id id of user object
int $a_item_id ref_id for objects, that are in the main tree (learning modules, forums) obj_id for others
string $a_type object type

Definition at line 2960 of file class.ilObjUser.php.

Referenced by dropDesktopItem(), and ilCourseParticipants::dropDesktopItem().

        {
                global $ilDB;

                $q = "DELETE FROM desktop_item WHERE ".
                        " item_id = ".$ilDB->quote($a_item_id)." AND ".
                        " type = ".$ilDB->quote($a_type)." AND ".
                        " user_id = ".$ilDB->quote($a_usr_id);
                $ilDB->query($q);
        }

Here is the caller graph for this function:

static ilObjUser::_externalAccountExists ( a_external_account,
a_auth_mode 
) [static]

Check if an external account name already exists.

public

Parameters:
string external account
string auth mode

Definition at line 3882 of file class.ilObjUser.php.

References $res.

        {
                global $ilDB;
                
                $query = "SELECT * FROM usr_data ".
                        "WHERE ext_account = ".$ilDB->quote($a_external_account)." ".
                        "AND auth_mode = ".$ilDB->quote($a_auth_mode);
                $res = $ilDB->query($query);
                return $res->numRows() ? true :false; 
        }

ilObjUser::_getAllUserAssignedStyles (  ) 

skins and styles

Definition at line 2827 of file class.ilObjUser.php.

Referenced by ilObjStyleSettingsGUI::editSystemStylesObject(), and ilObjStyleSettingsGUI::saveStyleSettingsObject().

        {
                global $ilDB;

                $q = "SELECT DISTINCT up1.value as style, up2.value as skin FROM usr_pref AS up1, usr_pref AS up2 ".
                        " WHERE up1.keyword= ".$ilDB->quote("style").
                        " AND up2.keyword= ".$ilDB->quote("skin").
                        " AND up1.usr_id = up2.usr_id ";


                $sty_set = $ilDB->query($q);

                $styles = array();
                while($sty_rec = $sty_set->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        $styles[] = $sty_rec["skin"].":".$sty_rec["style"];
                }

                return $styles;
        }

Here is the caller graph for this function:

ilObjUser::_getAllUserData ( a_fields = NULL,
active = -1 
) [static]

STATIC METHOD get all user data.

Parameters:
array desired columns
Returns:
array of user data public

Definition at line 2700 of file class.ilObjUser.php.

References $_SESSION, $active, and ilObject::$ref_id.

Referenced by ilObjUserFolderGUI::_addLearningProgressWorksheet(), ilLocalUser::_getUserData(), ilObjUserFolderGUI::learningProgressObject(), and ilObjUserFolderGUI::viewObject().

        {
                global $ilDB;

                $result_arr = array();

                if ($a_fields !== NULL and is_array($a_fields))
                {
                        if (count($a_fields) == 0)
                        {
                                $select = "*";
                        }
                        else
                        {
                        if (($usr_id_field = array_search("usr_id",$a_fields)) !== false)
                                unset($a_fields[$usr_id_field]);

                                $select = implode(",",$a_fields).",usr_data.usr_id";
                                // online time
                                if(in_array('online_time',$a_fields))
                                {
                                        $select .= ",ut_online.online_time ";
                                }
                        }

                        $q = "SELECT ".$select." FROM usr_data ";

                        // Add online_time if desired
                        // Need left join here to show users that never logged in
                        if(in_array('online_time',$a_fields))
                        {
                                $q .= "LEFT JOIN ut_online ON usr_data.usr_id = ut_online.usr_id ";
                        }

                        switch ($active)
                        {
                                case 0:
                                case 1:
                                        $q .= "WHERE active= ".$ilDB->quote($active);
                                        break;
                                case 2:
                                        $q .= "WHERE time_limit_unlimited='0'";
                                        break;
                                case 3:
                                        $qtemp = $q . ", rbac_ua, object_data WHERE rbac_ua.rol_id = object_data.obj_id AND object_data.title LIKE '%crs%' AND usr_data.usr_id = rbac_ua.usr_id";
                                        $r = $ilDB->query($qtemp);
                                        $course_users = array();
                                        while ($row = $r->fetchRow(DB_FETCHMODE_ASSOC))
                                        {
                                                array_push($course_users, $row["usr_id"]);
                                        }
                                        if (count($course_users))
                                        {
                                                $q .= " WHERE usr_data.usr_id NOT IN ('" . join($course_users, "','") . "')";
                                        }
                                        else
                                        {
                                                return $result_arr;
                                        }
                                        break;
                                case 4:
                                        $date = strftime("%Y-%m-%d %H:%I:%S", mktime(0, 0, 0, $_SESSION["user_filter_data"]["m"], $_SESSION["user_filter_data"]["d"], $_SESSION["user_filter_data"]["y"]));
                                        $q .= sprintf("WHERE last_login < %s", $ilDB->quote($date));
                                        break;
                                case 5:
                                        $ref_id = $_SESSION["user_filter_data"];
                                        if ($ref_id)
                                        {
                                                $q .= " LEFT JOIN crs_members ON usr_data.usr_id = crs_members.usr_id WHERE crs_members.obj_id = (SELECT obj_id FROM object_reference WHERE ref_id = " .
                                                        $ilDB->quote($ref_id) . ")";
                                        }
                                        break;
                                case 6:
                                        global $rbacreview;
                                        $ref_id = $_SESSION["user_filter_data"];
                                        if ($ref_id)
                                        {
                                                $rolf = $rbacreview->getRoleFolderOfObject($ref_id);
                                                $local_roles = $rbacreview->getRolesOfRoleFolder($rolf["ref_id"],false);
                                                if (is_array($local_roles) && count($local_roles))
                                                {
                                                        $role_ids = join("','", $local_roles);
                                                        $q .= " LEFT JOIN rbac_ua ON usr_data.usr_id = rbac_ua.usr_id WHERE rbac_ua.rol_id IN ('" . $role_ids . "')";
                                                }
                                        }
                                        break;
                                case 7:
                                        $rol_id = $_SESSION["user_filter_data"];
                                        if ($rol_id)
                                        {
                                                $q .= sprintf(" LEFT JOIN rbac_ua ON usr_data.usr_id = rbac_ua.usr_id WHERE rbac_ua.rol_id = %s", $ilDB->quote($rol_id));;
                                        }
                                        break;
                        }
                        $r = $ilDB->query($q);

                        while ($row = $r->fetchRow(DB_FETCHMODE_ASSOC))
                        {
                                $result_arr[] = $row;
                        }
                }

                return $result_arr;
        }

Here is the caller graph for this function:

ilObjUser::_getAllUserLogins ( &$  ilias  )  [static]

STATIC METHOD get all user logins.

Parameters:
ilias object
Returns:
array of logins public

Definition at line 2658 of file class.ilObjUser.php.

References $ilias, and $res.

Referenced by ilMail::__checkSystemRecipients().

        {
                $query = "SELECT login FROM usr_data ";

                $res = $ilias->db->query($query);
                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        $logins[] = $row->login;
                }
                return $logins ? $logins : array();
        }

Here is the caller graph for this function:

static ilObjUser::_getExternalAccountsByAuthMode ( a_auth_mode,
a_read_auth_default = false 
) [static]

Get list of external account by authentication method Note: If login == ext_account for two user with auth_mode 'default' and auth_mode 'ldap' The ldap auth mode chosen.

public

Parameters:
string auth_mode
bool also get users with authentication method 'default'
Returns:
array of external account names

Definition at line 3321 of file class.ilObjUser.php.

References $ilSetting, $res, and ilAuthUtils::_getAuthModeName().

Referenced by ilLDAPCronSynchronization::deactivateUsers(), and ilLDAPRoleGroupMapping::initServers().

        {
                global $ilDB,$ilSetting;

                include_once('./Services/Authentication/classes/class.ilAuthUtils.php');
                if($a_read_auth_default and ilAuthUtils::_getAuthModeName($ilSetting->get('auth_mode',AUTH_LOCAL)) == $a_auth_mode)
                {
                        $or = "OR auth_mode = 'default' ";
                }
                else
                {
                        $or = " ";
                }
                $query = "SELECT login,usr_id,ext_account,auth_mode FROM usr_data ".
                        "WHERE auth_mode = ".$ilDB->quote($a_auth_mode)." ".
                        $or;

                $res = $ilDB->query($query);
                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        if($row->auth_mode == 'default')
                        {
                                $accounts[$row->usr_id] = $row->login;
                        }
                        else
                        {
                                $accounts[$row->usr_id] = $row->ext_account;
                        }
                }
                return $accounts ? $accounts : array();
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::_getImportedUserId ( i2_id  ) 

Definition at line 3229 of file class.ilObjUser.php.

References ilObject::$id, and $res.

Referenced by ilCourseXMLParser::__parseId(), ilGroupImportParser::__parseId(), ilMailImportParser::handlerBeginTag(), and ilForumImportParser::handlerBeginTag().

        {
                global $ilDB;

                $query = "SELECT obj_id FROM object_data WHERE import_id = ".
                        $ilDB->quote($i2_id);

                $res = $this->ilias->db->query($query);
                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        $id = $row->obj_id;
                }
                return $id ? $id : 0;
        }

Here is the caller graph for this function:

ilObjUser::_getLinkToObject ( a_id  )  [static]

STATIC METHOD create a link to the object This method used by class.ilSearchGUI.php to a link to the results.

Parameters:
int uniq id
Returns:
array array('link','target') public

Definition at line 2549 of file class.ilObjUser.php.

        {
                return array("profile.php?user=".$a_id,"");
        }

ilObjUser::_getLocalAccountsForEmail ( a_email  ) 

check whether external account and authentication method matches with a user

Definition at line 3459 of file class.ilObjUser.php.

References $ilSetting.

Referenced by ilSOAPAuth::login(), and ilStartUpGUI::showUserMappingSelection().

        {
                global $ilDB, $ilSetting;

                // default set to local (1)?
                $or_str = "";
                if ($ilSetting->get("auth_mode") == 1)
                {
                        $or_str = " OR auth_mode = ".$ilDB->quote("default");
                }

                $usr_set = $ilDB->query("SELECT * FROM usr_data WHERE ".
                        " email = ".$ilDB->quote($a_email)." AND ".
                        " (auth_mode = ".$ilDB->quote("local").$or_str.")");

                $users = array();

                while ($usr_rec = $usr_set->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        $users[$usr_rec["usr_id"]] = $usr_rec["login"];
                }

                return $users;
        }

Here is the caller graph for this function:

ilObjUser::_getNumberOfUsersForStyle ( a_skin,
a_style 
)

skins and styles

Definition at line 2808 of file class.ilObjUser.php.

Referenced by ilObjStyleSettingsGUI::editSystemStylesObject(), and ilObjStyleSettingsGUI::saveStyleSettingsObject().

        {
                global $ilDB;

                $q = "SELECT count(*) as cnt FROM usr_pref AS up1, usr_pref AS up2 ".
                        " WHERE up1.keyword= ".$ilDB->quote("style")." AND up1.value= ".$ilDB->quote($a_style).
                        " AND up2.keyword= ".$ilDB->quote("skin")." AND up2.value= ".$ilDB->quote($a_skin).
                        " AND up1.usr_id = up2.usr_id ";

                $cnt_set = $ilDB->query($q);

                $cnt_rec = $cnt_set->fetchRow(DB_FETCHMODE_ASSOC);

                return $cnt_rec["cnt"];
        }

Here is the caller graph for this function:

ilObjUser::_getNumberOfUsersPerAuthMode (  ) 

get number of users per auth mode

Definition at line 3439 of file class.ilObjUser.php.

Referenced by ilObjAuthSettingsGUI::authSettingsObject().

        {
                global $ilDB;

                $r = $ilDB->query("SELECT count(*) AS cnt, auth_mode FROM usr_data ".
                        "GROUP BY auth_mode");
                $cnt_arr = array();
                while($cnt = $r->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        $cnt_arr[$cnt["auth_mode"]] = $cnt["cnt"];
                }

                return $cnt_arr;
        }

Here is the caller graph for this function:

ilObjUser::_getPersonalPicturePath ( a_usr_id,
a_size = "small",
a_force_pic = false 
)

get path to personal picture

Parameters:
string size "small", "xsmall" or "xxsmall" STATIC

Definition at line 3535 of file class.ilObjUser.php.

References $file, $res, and ilUtil::getImagePath().

Referenced by ilLPListOfObjectsGUI::__showEditUser(), getPersonalPicturePath(), and ilLPUserItemListGUI::renderTypeImage().

        {
                global $ilDB;

                $query = "SELECT * FROM usr_pref WHERE ".
                        "keyword = 'public_upload' ".
                        "AND value = 'y' ".
                        "AND usr_id = ".$ilDB->quote($a_usr_id);

                $res = $ilDB->query($query);
                $upload = $res->numRows() ? true : false;

                $query = "SELECT * FROM usr_pref WHERE ".
                        "keyword = 'public_profile' ".
                        "AND value = 'y' ".
                        "AND usr_id = ".$ilDB->quote($a_usr_id);

                $res = $ilDB->query($query);
                $profile = $res->numRows() ? true : false;

                if(defined('ILIAS_MODULE'))
                {
                        $webspace_dir = ('.'.$webspace_dir);
                }
                $webspace_dir .= ('./'.ilUtil::getWebspaceDir());

                $image_dir = $webspace_dir."/usr_images";
                $thumb_file = $image_dir."/usr_".$a_usr_id."_".$a_size.".jpg";

                if((($upload && $profile) || $a_force_pic)
                        && @is_file($thumb_file))
                {
                        $file = $thumb_file."?t=".rand(1, 99999);
                }
                else
                {
                        $file = ilUtil::getImagePath("no_photo_".$a_size.".jpg");
                }

                return $file;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

static ilObjUser::_getUserData ( a_internalids  )  [static]

return user data for given user ids

Parameters:
array of internal ids or numerics $a_internalids

Definition at line 4006 of file class.ilObjUser.php.

References $data, and ilUtil::__extractId().

Referenced by ilSoapUserAdministration::getUserXML().

                                                             {
                global $ilDB;

                $ids = array();
                if (is_array($a_internalids)) {
                        foreach ($a_internalids as $internalid) {
                                if (is_numeric ($internalid))
                                {
                                        $ids[] = $internalid;
                                }
                                else
                                {
                                        $parsedid = ilUtil::__extractId($internalid, IL_INST_ID);
                                        if (is_numeric($parsedid) && $parsedid > 0)
                                        {
                                                $ids[] = $parsedid;
                                        }
                                }
                        }
                }
                if (count($ids) == 0)
                        $ids [] = -1;

                $query = "SELECT usr_data.*, usr_pref.value AS language
                          FROM usr_data
                          LEFT JOIN usr_pref
                          ON usr_pref.usr_id = usr_data.usr_id AND usr_pref.keyword = 'language'
                          WHERE  usr_data.usr_id IN (".join(",",$ids).")";

                $query .= " ORDER BY usr_data.lastname, usr_data.firstname ";

                #echo $query;
                $r = $ilDB->query($query);
                $data = array();
                while($row = $r->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        $data[] = $row;
                }
                return $data;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::_getUserIdsByEmail ( a_email  )  [static]

STATIC METHOD get all user_ids of an email address.

Parameters:
string email of user
Returns:
integer id of user public

Definition at line 2309 of file class.ilObjUser.php.

References $ilias, and $res.

Referenced by ilPasswordAssistanceGUI::submitUsernameAssistanceForm().

        {
                global $ilias, $ilDB;

                $query = "SELECT login FROM usr_data ".
                        "WHERE email = ".$ilDB->quote($a_email)." and active=1";

                $res = $ilias->db->query($query);
                $ids = array ();
        while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
        {
            $ids[] = $row->login;
        }

                return $ids;
        }

Here is the caller graph for this function:

ilObjUser::_getUsersForClipboadObject ( a_type,
a_id 
)

get all users, that have a certain object within their clipboard

Parameters:
string $a_type object type
string $a_type object type
Returns:
array array of user IDs

Definition at line 3195 of file class.ilObjUser.php.

Referenced by ilObjMediaObject::lookupUsages().

        {
                global $ilDB;

                $q = "SELECT DISTINCT user_id FROM personal_clipboard WHERE ".
                        "item_id = ".$ilDB->quote($a_id)." AND ".
                        "type = ".$ilDB->quote($a_type);
                $user_set = $ilDB->query($q);
                $users = array();
                while ($user_rec = $user_set->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        $users[] = $user_rec["user_id"];
                }

                return $users;
        }

Here is the caller graph for this function:

static ilObjUser::_getUsersForFolder ( ref_id,
active 
) [static]

get users for a category or from system folder

Parameters:
$ref_id ref id of object
$active can be -1 (ignore), 1 = active, 0 = not active user

Definition at line 3938 of file class.ilObjUser.php.

References $active, $data, and ilObject::$ref_id.

Referenced by ilSoapUserAdministration::getUsersForContainer().

                                                                     {
                global $ilDB;
                $data = array();
                $query = "SELECT usr_data.*, usr_pref.value AS language FROM usr_data LEFT JOIN usr_pref ON usr_pref.usr_id = usr_data.usr_id and usr_pref.keyword = 'language' WHERE 1 ";

                if (is_numeric($active) && $active > -1)
                        $query .= " AND usr_data.active = ".$ilDB->quote($active);

                if ($ref_id != USER_FOLDER_ID)
                    $query .= " AND usr_data.time_limit_owner = ".$ilDB->quote($ref_id);

                $query .=       " AND usr_data.usr_id != '".ANONYMOUS_USER_ID."'";

                $query .= " ORDER BY usr_data.lastname, usr_data.firstname ";
                //echo $query;
                $result = $ilDB->query($query);
                $data = array();
                while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        array_push($data, $row);
                }

                return $data;
        }

Here is the caller graph for this function:

static ilObjUser::_getUsersForGroup ( a_mem_ids,
active = -1 
) [static]

return user data for group members

Parameters:
int array of member ids
int active can be -1 (ignore), 1 = active, 0 = not active user

Definition at line 3969 of file class.ilObjUser.php.

References $active.

Referenced by ilSoapUserAdministration::getUsersForContainer().

        {
                global $rbacadmin, $rbacreview, $ilDB;

                // quote all ids
                $ids = array();
                foreach ($a_mem_ids as $mem_id) {
                        $ids [] = $ilDB->quote($mem_id);
                }

                $query = "SELECT usr_data.*, usr_pref.value AS language
                          FROM usr_data
                          LEFT JOIN usr_pref ON usr_pref.usr_id = usr_data.usr_id AND usr_pref.keyword = 'language'
                          WHERE usr_data.usr_id IN (".implode(',',$ids).")
                                        AND usr_data.usr_id != '".ANONYMOUS_USER_ID."'";

            if (is_numeric($active) && $active > -1)
                        $query .= " AND active = '$active'";

                $query .= " ORDER BY usr_data.lastname, usr_data.firstname ";

            $r = $ilDB->query($query);

                while($row = $r->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        $mem_arr[] = $row;
                }

                return $mem_arr ? $mem_arr : array();
        }

Here is the caller graph for this function:

static ilObjUser::_getUsersForRole ( role_id,
active = -1 
) [static]

return array of complete users which belong to a specific role

Parameters:
int role id
int $active if -1, all users will be delivered, 0 only non active, 1 only active users

Definition at line 3900 of file class.ilObjUser.php.

References $active, and $data.

Referenced by ilSoapUserAdministration::getUserForRole().

                                                                        {
                global $ilDB, $rbacreview;
                $data = array();

                $ids = $rbacreview->assignedUsers($role_id);

                if (count ($ids) == 0)
                        $ids = array (-1);
                        
                $query = "SELECT usr_data.*, usr_pref.value AS language
                                                        FROM usr_data
                                                        LEFT JOIN usr_pref ON usr_pref.usr_id = usr_data.usr_id AND usr_pref.keyword = 'language'
                                                        WHERE usr_data.usr_id IN (".implode(',',$ids).")";


                 if (is_numeric($active) && $active > -1)
                        $query .= " AND usr_data.active = ".$ilDB->quote($active);

                 $query .= " ORDER BY usr_data.lastname, usr_data.firstname ";

#                echo $query;

                 $r = $ilDB->query($query);

                 $data = array();
         while ($row = $r->fetchRow(DB_FETCHMODE_ASSOC))
         {
               $data[] = $row;
         }
         return $data;
        }

Here is the caller graph for this function:

static ilObjUser::_hasAcceptedAgreement ( a_username  )  [static]

Check if user has accepted the agreement.

public

Parameters:
 

Definition at line 1394 of file class.ilObjUser.php.

References $res.

Referenced by ilSoapAuthentication::__checkAgreement().

        {
                global $ilDB;
                
                if($a_username == 'root')
                {
                        return true;
                }
                
                $query = "SELECT usr_id FROM usr_data ".
                        "WHERE login = ".$ilDB->quote($a_username)." ".
                        "AND agree_date != '0000-00-00 00:00:00'";
                $res = $ilDB->query($query);
                return $res->numRows() ? true : false;
        }

Here is the caller graph for this function:

static ilObjUser::_isDesktopItem ( a_usr_id,
a_item_id,
a_type 
) [static]

check wether an item is on the users desktop or not

Parameters:
int $a_usr_id id of user object
int $a_item_id ref_id for objects, that are in the main tree (learning modules, forums) obj_id for others
string $a_type object type

Definition at line 3000 of file class.ilObjUser.php.

References $d.

Referenced by ilCourseParticipants::addDesktopItem(), ilCourseParticipants::dropDesktopItem(), and isDesktopItem().

        {
                global $ilDB;

                $q = "SELECT * FROM desktop_item WHERE ".
                        "item_id = ".$ilDB->quote($a_item_id)." AND type = ".
                        $ilDB->quote($a_type)." AND user_id = ".
                        $ilDB->quote($a_usr_id);
                $item_set = $ilDB->query($q);

                if ($d = $item_set->fetchRow())
                {
                        return true;
                }
                else
                {
                        return false;
                }
        }

Here is the caller graph for this function:

static ilObjUser::_loginExists ( a_login,
a_user_id = 0 
) [static]

check if a login name already exists You may exclude a user from the check by giving his user id as 2nd paramter public static

Parameters:
string login name
integer user id of user to exclude (optional)
Returns:
boolean

Definition at line 3848 of file class.ilObjUser.php.

Referenced by ilMail::__substituteRecipients(), ilSoapUserAdministration::__validateUserData(), ilRegistrationGUI::saveForm(), ilObjUserGUI::saveObject(), and ilObjUserGUI::updateObject().

        {
                global $ilDB;

                if ($a_user_id == 0)
                {
                        $clause = "";
                }
                else
                {
                        $clause = "AND usr_id != ".$ilDB->quote($a_user_id)." ";
                }

                $q = "SELECT DISTINCT login FROM usr_data ".
                         "WHERE login = ".$ilDB->quote($a_login)." ".$clause;
                $r = $ilDB->query($q);

                if ($r->numRows() == 1)
                {
                        return true;
                }
                return false;
        }

Here is the caller graph for this function:

ilObjUser::_lookupClientIP ( a_user_id  ) 

Definition at line 661 of file class.ilObjUser.php.

References $res.

Referenced by ilObjTest::inviteGroup(), and ilObjTest::inviteRole().

        {
                global $ilDB;

                $query = "SELECT client_ip FROM usr_data WHERE usr_id = ".
                        $ilDB->quote((int) $a_user_id);
                $res = $ilDB->query($query);

                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        return $row->client_ip;
                }
                return "";
        }

Here is the caller graph for this function:

static ilObjUser::_lookupDesktopItems ( user_id,
a_types = "" 
) [static]

get all desktop items of user and specified type

note: the implementation of this method is not good style (directly reading tables object_data and object_reference), must be revised someday...

Definition at line 3059 of file class.ilObjUser.php.

References ilObject::$desc, ilObject::$title, ilObject::_lookupDescription(), and ilObject::_lookupTitle().

Referenced by ilNewsItem::_getNewsItemsOfUser(), and getDesktopItems().

        {
                global $ilUser, $rbacsystem, $tree, $ilDB;

                if ($a_types == "")
                {
                        $q = "SELECT obj.obj_id, obj.description, oref.ref_id, obj.title, obj.type ".
                                " FROM desktop_item AS it, object_reference AS oref ".
                                        ", object_data AS obj".
                                " WHERE ".
                                "it.item_id = oref.ref_id AND ".
                                "oref.obj_id = obj.obj_id AND ".
                                "it.user_id = ".$ilDB->quote($user_id);

                        $item_set = $ilDB->query($q);
                        $items = array();
                        while ($item_rec = $item_set->fetchRow(DB_FETCHMODE_ASSOC))
                        {
                                if ($tree->isInTree($item_rec["ref_id"])
                                        && $item_rec["type"] != "rolf")
                                {
                                        $parent_ref = $tree->getParentId($item_rec["ref_id"]);
                                        $par_left = $tree->getLeftValue($parent_ref);
                                        $par_left = sprintf("%010d", $par_left);
                                        
                                        
                                        $title = ilObject::_lookupTitle($item_rec["obj_id"]);
                                        $desc = ilObject::_lookupDescription($item_rec["obj_id"]);
                                        $items[$par_left.$title.$item_rec["ref_id"]] =
                                                array("ref_id" => $item_rec["ref_id"],
                                                        "obj_id" => $item_rec["obj_id"],
                                                        "type" => $item_rec["type"],
                                                        "title" => $title,
                                                        "description" => $desc,
                                                        "parent_ref" => $parent_ref);
                                }
                        }
                        ksort($items);
                }
                else
                {
                        if (!is_array($a_types))
                        {
                                $a_types = array($a_types);
                        }
                        $items = array();
                        $foundsurveys = array();
                        foreach($a_types as $a_type)
                        {
                                $q = "SELECT obj.obj_id, obj.description, oref.ref_id, obj.title FROM desktop_item AS it, object_reference AS oref ".
                                        ", object_data AS obj WHERE ".
                                        "it.item_id = oref.ref_id AND ".
                                        "oref.obj_id = obj.obj_id AND ".
                                        "it.type = ".$ilDB->quote($a_type)." AND ".
                                        "it.user_id = ".$ilDB->quote($user_id)." ".
                                        "ORDER BY title";

                                $item_set = $ilDB->query($q);
                                while ($item_rec = $item_set->fetchRow(DB_FETCHMODE_ASSOC))
                                {
                                        $title = ilObject::_lookupTitle($item_rec["obj_id"]);
                                        $desc = ilObject::_lookupDescription($item_rec["obj_id"]);
                                        $items[$title.$a_type.$item_rec["ref_id"]] =
                                                array("ref_id" => $item_rec["ref_id"],
                                                "obj_id" => $item_rec["obj_id"], "type" => $a_type,
                                                "title" => $title, "description" => $desc);
                                }

                        }
                        ksort($items);
                }
                return $items;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::_lookupEmail ( a_user_id  ) 

Definition at line 632 of file class.ilObjUser.php.

References $res.

Referenced by ilMailSearchGroupsGUI::adoptMembers(), ilMailSearchCoursesGUI::adoptMembers(), ilMail::distributeMail(), ilMailOptions::getOptions(), ilCronMailNotification::sendNotifications(), ilPersonalProfileGUI::showMailOptions(), ilMailOptionsGUI::showOptions(), and ilMailSearchGUI::showResults().

        {
                global $ilDB;

                $query = "SELECT email FROM usr_data WHERE usr_id = ".$ilDB->quote((int) $a_user_id);
                $res = $ilDB->query($query);

                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        return $row->email;
                }
                return false;
        }

Here is the caller graph for this function:

ilObjUser::_lookupExternalAccount ( a_user_id  ) 

lookup external account for login and authmethod

Definition at line 725 of file class.ilObjUser.php.

Referenced by ilUserImportParser::importEndTag(), and ilUserImportParser::verifyEndTag().

        {
                global $ilDB;

                $q = "SELECT ext_account FROM usr_data".
                        " WHERE usr_id =".$ilDB->quote($a_user_id);
                $user_set = $ilDB->query($q);
                $user_rec = $user_set->fetchRow(DB_FETCHMODE_ASSOC);
                return $user_rec["ext_account"];
        }

Here is the caller graph for this function:

ilObjUser::_lookupFeedHash ( a_user_id,
a_create = false 
)

Lookup news feed hash for user.

If hash does not exist, create one.

Definition at line 3809 of file class.ilObjUser.php.

Referenced by ilUserFeedWriter::ilUserFeedWriter().

        {
                global $ilDB;

                if ($a_user_id > 0)
                {
                        $query = "SELECT feed_hash from usr_data WHERE usr_id = ".
                                $ilDB->quote($a_user_id);
                        $set = $ilDB->query($query);
                        if ($rec = $set->fetchRow(DB_FETCHMODE_ASSOC))
                        {
                                if (strlen($rec["feed_hash"]) == 32)
                                {
                                        return $rec["feed_hash"];
                                }
                                else if($a_create)
                                {
                                        $hash = md5(rand(1,9999999) + str_replace(" ", "", (string) microtime()));
                                        $query = "UPDATE usr_data SET feed_hash = ".
                                                $ilDB->quote($hash).
                                                " WHERE usr_id = ".$ilDB->quote($a_user_id);
                                        $ilDB->query($query);
                                        return $hash;
                                }
                        }
                }

                return false;
        }

Here is the caller graph for this function:

ilObjUser::_lookupFields ( a_user_id  ) 

lookup user name

Definition at line 697 of file class.ilObjUser.php.

Referenced by ilTestCertificate::outCertificate().

        {
                global $ilDB;

                $q = "SELECT * FROM usr_data".
                        " WHERE usr_id =".$ilDB->quote($a_user_id);
                $user_set = $ilDB->query($q);
                $user_rec = $user_set->fetchRow(DB_FETCHMODE_ASSOC);
                return $user_rec;
        }

Here is the caller graph for this function:

ilObjUser::_lookupGender ( a_user_id  ) 

Definition at line 646 of file class.ilObjUser.php.

References $res.

        {
                global $ilDB;

                $query = "SELECT gender FROM usr_data WHERE usr_id = ".
                        $ilDB->quote((int) $a_user_id);
                $res = $ilDB->query($query);

                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        return $row->gender;
                }
                return false;
        }

ilObjUser::_lookupHasIlias2Password ( a_user_login  ) 

check if user has ilias 2 password (imported user)

Definition at line 922 of file class.ilObjUser.php.

References $ilias.

Referenced by ilInitialisation::initILIAS().

        {
                global $ilias, $ilDB;

                $q = "SELECT i2passwd FROM usr_data ".
                         "WHERE login = ".$ilDB->quote($a_user_login)."";
                $user_set = $ilias->db->query($q);

                if ($user_rec = $user_set->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        if ($user_rec["i2passwd"] != "")
                        {
                                return true;
                        }
                }

                return false;
        }

Here is the caller graph for this function:

ilObjUser::_lookupId ( a_user_str  ) 

lookup id by login

Definition at line 739 of file class.ilObjUser.php.

Referenced by ilPermissionGUI::changeOwner(), ilMailAddressbookGUI::checkInput(), ilMail::formatNamesForOutput(), ilSoapRBACAdministration::getRoles(), ilObjectStatusGUI::ilObjectStatusGUI(), ilStartUpGUI::migrateAccount(), ilRegistrationSettings::setApproveRecipientLogins(), ilMailSearchGUI::showResults(), ilLDAPAttributeToUser::usersToXML(), ilRegistrationSettings::validate(), and ilUserImportParser::verifyEndTag().

        {
                global $ilDB;

                $q = "SELECT usr_id FROM usr_data".
                        " WHERE login =".$ilDB->quote($a_user_str);
                $user_set = $ilDB->query($q);
                $user_rec = $user_set->fetchRow(DB_FETCHMODE_ASSOC);
                return $user_rec["usr_id"];
        }

Here is the caller graph for this function:

ilObjUser::_lookupLanguage ( a_usr_id  ) 

Definition at line 1842 of file class.ilObjUser.php.

Referenced by ilRegistrationGUI::__distributeMails(), and ilCronForumNotification::sendMails().

        {
                global $ilDB;

                $q = "SELECT value FROM usr_pref WHERE usr_id= ".
                        $ilDB->quote($a_usr_id)." AND keyword = 'language'";
                $r = $ilDB->query($q);

                while($row = $r->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        return $row['value'];
                }
                return 'en';
        }

Here is the caller graph for this function:

ilObjUser::_lookupLastLogin ( a_user_id  ) 

lookup last login

Definition at line 753 of file class.ilObjUser.php.

Referenced by ilLPItemListGUI::renderObjectInfoXML().

        {
                global $ilDB;

                $q = "SELECT last_login FROM usr_data".
                        " WHERE usr_id =".$ilDB->quote($a_user_id);
                $user_set = $ilDB->query($q);
                $user_rec = $user_set->fetchRow(DB_FETCHMODE_ASSOC);
                return $user_rec["last_login"];
        }

Here is the caller graph for this function:

ilObjUser::_lookupLogin ( a_user_id  ) 

lookup login

Definition at line 711 of file class.ilObjUser.php.

Referenced by ilRegistrationGUI::__distributeMails(), ilCourseXMLParser::__parseId(), ilRegistrationSettings::__read(), ilObjCourseGUI::__readMemberData(), ilPaymentStatisticGUI::addStatisticWorksheet(), ilObjPaymentSettingsGUI::addStatisticWorksheet(), ilMailSearchGroupsGUI::adoptMembers(), ilMailSearchCoursesGUI::adoptMembers(), ilLMStatistics::calcStats(), ilObjTestGUI::deleteSingleUserResultsObject(), ilObjSurvey::disinviteUser(), ilFileDataExercise::downloadAllDeliveredFiles(), ilEventAdministrationGUI::editMembers(), ilEventAdministrationGUI::editUser(), ilEventAdministrationGUI::eventsList(), ilEventAdministrationGUI::exportCSV(), ilHistoryGUI::getHistoryTable(), ilObjExercise::getMemberListData(), ilChatRecording::getModerator(), ilNoteGUI::getNoteListHTML(), ilObjForumListGUI::getProperties(), ilTestServiceGUI::getResultsUserdata(), ilObjSCORM2004LearningModule::getTrackedUsers(), ilObjSurvey::getUserDataFromActiveId(), ilObjSurvey::inviteGroup(), ilObjChatGUI::invitePD(), ilObjSurvey::inviteRole(), ilObjSurvey::inviteUser(), ilSOAPAuth::login(), ilMailSearchGroupsGUI::mailMembers(), ilMailSearchCoursesGUI::mailMembers(), ilObjSurveyGUI::outUserGroupTable(), ilPermissionGUI::owner(), ilEventAdministrationGUI::printViewMembers(), ilObjExerciseGUI::redirectFeedbackMailObject(), ilLPItemListGUI::renderObjectInfoXML(), ilForum::sendForumNotifications(), ilCronForumNotification::sendMails(), ilObjCourseGUI::sendMailToSelectedUsersObject(), ilForum::sendPostActivationNotification(), ilForum::sendThreadNotifications(), ilObjSurvey::setInvitation(), ilPaymentCouponGUI::showCoupons(), ilMailSearchCoursesGUI::showMembers(), ilMailSearchGUI::showResults(), ilPaymentStatisticGUI::showStatistics(), ilObjPaymentSettingsGUI::statisticObject(), and ilUserImportParser::verifyEndTag().

        {
                global $ilDB;

                $q = "SELECT login FROM usr_data".
                        " WHERE usr_id =".$ilDB->quote($a_user_id);
                $user_set = $ilDB->query($q);
                $user_rec = $user_set->fetchRow(DB_FETCHMODE_ASSOC);
                return $user_rec["login"];
        }

Here is the caller graph for this function:

ilObjUser::_lookupName ( a_user_id  ) 

lookup user name

Definition at line 680 of file class.ilObjUser.php.

Referenced by ilPDFPresentation::__addMain(), ilGroupImportParser::__parseId(), ilObjCourseGUI::__readMemberData(), ilObjExerciseGUI::__saveStatus(), ilObjTestAccess::_getParticipantData(), ilMailSearchGroupsGUI::adoptMembers(), ilMailSearchCoursesGUI::adoptMembers(), ilObjTestGUI::deleteSingleUserResultsObject(), ilFileDataExercise::downloadAllDeliveredFiles(), ilExerciseMembers::downloadMultipleFiles(), ilEventAdministrationGUI::editMembers(), ilEventAdministrationGUI::eventsList(), ilEventAdministrationGUI::exportCSV(), ilObjUserTracking::getAccessPerUserDetail(), ilObjSysUserTracking::getAccessPerUserDetail(), ilObjUserTracking::getAccessTotalPerUser(), ilObjSysUserTracking::getAccessTotalPerUser(), ilHistoryGUI::getHistoryTable(), ilObjExercise::getMemberListData(), ilObjSCORM2004LearningModule::getTrackedUsers(), ilHistoryGUI::getVersionsTable(), ilObjAssessmentFolderGUI::logsObject(), ilEventAdministrationGUI::printViewMembers(), ilMailSearchCoursesGUI::showMembers(), ilMailSearchGUI::showResults(), ilCourseContentGUI::showUserTimings(), and ilObjTest::userLookupFullName().

        {
                global $ilDB;

                $q = "SELECT firstname, lastname, title FROM usr_data".
                        " WHERE usr_id =".$ilDB->quote($a_user_id);
                $user_set = $ilDB->query($q);
                $user_rec = $user_set->fetchRow(DB_FETCHMODE_ASSOC);
                return array("user_id" => $a_user_id,
                        "firstname" => $user_rec["firstname"],
                        "lastname" => $user_rec["lastname"],
                        "title" => $user_rec["title"]);
        }

Here is the caller graph for this function:

ilObjUser::_lookupPref ( a_usr_id,
a_keyword 
)

Definition at line 1103 of file class.ilObjUser.php.

References $res.

Referenced by ilUserXMLWriter::__handleUser(), ilNewsItem::_getNewsItemsOfUser(), ilMailSearchGroupsGUI::adoptMembers(), ilMailSearchCoursesGUI::adoptMembers(), ilPDMailBlockGUI::fillRow(), ilMail::formatNamesForOutput(), ilUsersOnlineBlockGUI::getListRowData(), ilPDMailGUI::getPDMailHTML(), ilObjForumListGUI::getProperties(), ilForum::getUserData(), ilMailFolderGUI::showFolder(), ilMailFolderGUI::showMail(), ilMailSearchGroupsGUI::showMembers(), ilMailSearchCoursesGUI::showMembers(), and ilMailSearchGUI::showResults().

        {
                global $ilDB;

                $query = "SELECT * FROM usr_pref WHERE usr_id = ".$ilDB->quote($a_usr_id)." ".
                        "AND keyword = ".$ilDB->quote($a_keyword);
                $res = $ilDB->query($query);

                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        return $row->value;
                }
                return false;
        }

Here is the caller graph for this function:

ilObjUser::_makeIlias2Password ( a_passwd  ) 

get encrypted Ilias 2 password (needed for imported ilias 2 users)

Definition at line 914 of file class.ilObjUser.php.

Referenced by _switchToIlias3Password(), and updatePassword().

        {
                return (crypt($a_passwd,substr($a_passwd,0,2)));
        }

Here is the caller graph for this function:

ilObjUser::_moveUsersToStyle ( a_from_skin,
a_from_style,
a_to_skin,
a_to_style 
)

skins and styles

Definition at line 2851 of file class.ilObjUser.php.

References _writePref().

Referenced by ilObjStyleSettingsGUI::saveStyleSettingsObject().

        {
                global $ilDB;

                $q = "SELECT up1.usr_id as usr_id FROM usr_pref AS up1, usr_pref AS up2 ".
                        " WHERE up1.keyword= ".$ilDB->quote("style")." AND up1.value= ".$ilDB->quote($a_from_style).
                        " AND up2.keyword= ".$ilDB->quote("skin")." AND up2.value= ".$ilDB->quote($a_from_skin).
                        " AND up1.usr_id = up2.usr_id ";

                $usr_set = $ilDB->query($q);

                while ($usr_rec = $usr_set->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        ilObjUser::_writePref($usr_rec["usr_id"], "skin", $a_to_skin);
                        ilObjUser::_writePref($usr_rec["usr_id"], "style", $a_to_style);
                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

static ilObjUser::_readUsersProfileData ( a_user_ids  )  [static]

STATIC METHOD get user data of selected users.

Parameters:
array desired user ids
Returns:
array of user data public

Definition at line 2678 of file class.ilObjUser.php.

References $res, and ilUtil::quoteArray().

Referenced by ilMemberExport::fetchUsers().

        {
                global $ilDB;

                $where = ("WHERE usr_id IN(".implode(",",ilUtil::quoteArray($a_user_ids)).") ");
                $query = "SELECT * FROM usr_data ".$where;
                $res = $ilDB->query($query);
                while($row = $res->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        $user_data["$row[usr_id]"] = $row;
                }
                return $user_data ? $user_data : array();
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::_search ( &$  a_search_obj,
active = 1 
) [static]

STATIC METHOD search for user data.

This method is called from class.ilSearch

Parameters:
object object of search class public

Definition at line 2502 of file class.ilObjUser.php.

References $active, $ilBench, and $res.

Referenced by ilSearch::performSearch().

        {
                global $ilBench, $ilDB;

                // NO CLASS VARIABLES IN STATIC METHODS

                // TODO: CHECK IF ITEMS ARE PUBLIC VISIBLE

                $where_condition = $a_search_obj->getWhereCondition("like",array("login","firstname","lastname","title",
                                                                                                                                                 "email","institution","street","city",
                                                                                                                                                 "zipcode","country","phone_home","fax"));
                $in = $a_search_obj->getInStatement("usr_data.usr_id");

                $query = "SELECT DISTINCT(usr_data.usr_id) FROM usr_data ".
                        "LEFT JOIN usr_pref USING (usr_id) ".
                        $where_condition." ".
                        $in." ".
                        "AND usr_data.usr_id != '".ANONYMOUS_USER_ID."' ";
#                       "AND usr_pref.keyword = 'public_profile' ";
#                       "AND usr_pref.value = 'y'";

                if (is_numeric($active)  && $active > -1)
                $query .= "AND active = ".$ilDB->quote($active);

                $ilBench->start("Search", "ilObjUser_search");
                $res = $a_search_obj->ilias->db->query($query);
                $ilBench->stop("Search", "ilObjUser_search");

                $counter = 0;

                while ($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        $result_data[$counter++]["id"]                          =  $row->usr_id;

                }
                return $result_data ? $result_data : array();
        }

Here is the caller graph for this function:

ilObjUser::_switchToIlias3Password ( a_user,
a_pw 
)

Definition at line 941 of file class.ilObjUser.php.

References $ilias, and _makeIlias2Password().

Referenced by ilInitialisation::initILIAS().

        {
                global $ilias, $ilDB;

                $q = "SELECT i2passwd FROM usr_data ".
                         "WHERE login = ".$ilDB->quote($a_user);

                $user_set = $ilias->db->query($q);

                if ($user_rec = $user_set->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        if ($user_rec["i2passwd"] == ilObjUser::_makeIlias2Password($a_pw))
                        {
                                $q = "UPDATE usr_data SET passwd= ".$ilDB->quote(md5($a_pw)).", i2passwd=''".
                                        "WHERE login = ".$ilDB->quote($a_user);
                                $ilias->db->query($q);
                                return true;
                        }
                }

                return false;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

static ilObjUser::_toggleActiveStatusOfUsers ( a_usr_ids,
a_status 
) [static]

Toggle active status of users.

public

Parameters:
 

Definition at line 3360 of file class.ilObjUser.php.

References ilUtil::quoteArray().

Referenced by ilLDAPCronSynchronization::deactivateUsers().

        {
                global $ilDB;

                if(!is_array($a_usr_ids))
                {
                        return false;
                }
                $where = ("WHERE usr_id IN(".implode(",",ilUtil::quoteArray($a_usr_ids)).") ");
                $query = "UPDATE usr_data SET active = ".$ilDB->quote($a_status ? 1 : 0)." ".
                $where;
                $ilDB->query($query);

                return true;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::_uploadPersonalPicture ( tmp_file,
obj_id 
)

Create a personal picture image file from a temporary image file.

Parameters:
string $tmp_file Complete path to the temporary image file
int $obj_id The object id of the related user account
Returns:
returns TRUE on success, otherwise FALSE

Definition at line 3492 of file class.ilObjUser.php.

References $tmp_file, _writePref(), ilUtil::getConvertCmd(), and ilUtil::getWebspaceDir().

Referenced by ilUserImportParser::importEndTag().

        {
                $webspace_dir = ilUtil::getWebspaceDir();
                $image_dir = $webspace_dir."/usr_images";
                $store_file = "usr_".$obj_id."."."jpg";
                $target_file = $image_dir."/$store_file";

                chmod($tmp_file, 0770);

                // take quality 100 to avoid jpeg artefacts when uploading jpeg files
                // taking only frame [0] to avoid problems with animated gifs
                $show_file  = "$image_dir/usr_".$obj_id.".jpg";
                $thumb_file = "$image_dir/usr_".$obj_id."_small.jpg";
                $xthumb_file = "$image_dir/usr_".$obj_id."_xsmall.jpg";
                $xxthumb_file = "$image_dir/usr_".$obj_id."_xxsmall.jpg";

                system(ilUtil::getConvertCmd()." $tmp_file" . "[0] -geometry 200x200 -quality 100 JPEG:$show_file");
                system(ilUtil::getConvertCmd()." $tmp_file" . "[0] -geometry 100x100 -quality 100 JPEG:$thumb_file");
                system(ilUtil::getConvertCmd()." $tmp_file" . "[0] -geometry 75x75 -quality 100 JPEG:$xthumb_file");
                system(ilUtil::getConvertCmd()." $tmp_file" . "[0] -geometry 30x30 -quality 100 JPEG:$xxthumb_file");

                // store filename
                ilObjUser::_writePref($obj_id, "profile_image", $store_file);

                return TRUE;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::_writeAuthMode ( a_usr_id,
a_auth_mode 
)

Definition at line 1886 of file class.ilObjUser.php.

Referenced by ilSOAPAuth::login().

        {
                global $ilDB;

                $q = "UPDATE usr_data ".
                        " SET auth_mode = ".$ilDB->quote($a_auth_mode).
                        " WHERE usr_id = ".$ilDB->quote($a_usr_id);
                $usr_set = $ilDB->query($q);
        }

Here is the caller graph for this function:

ilObjUser::_writeExternalAccount ( a_usr_id,
a_ext_id 
)

Definition at line 1876 of file class.ilObjUser.php.

Referenced by ilSOAPAuth::login().

        {
                global $ilDB;

                $q = "UPDATE usr_data ".
                        " SET ext_account = ".$ilDB->quote($a_ext_id).
                        " WHERE usr_id = ".$ilDB->quote($a_usr_id);
                $usr_set = $ilDB->query($q);
        }

Here is the caller graph for this function:

ilObjUser::_writePref ( a_usr_id,
a_keyword,
a_value 
)

Definition at line 1024 of file class.ilObjUser.php.

Referenced by _moveUsersToStyle(), _uploadPersonalPicture(), and writePref().

        {
                global $ilDB;

                $query = "";
                if (strlen($a_value))
                {
                        $query = sprintf("REPLACE INTO usr_pref VALUES (%s, %s, %s)",
                                        $ilDB->quote($a_usr_id),
                                        $ilDB->quote($a_keyword),
                                        $ilDB->quote($a_value)
                                );
                }
                else
                {
                        $query = sprintf("DELETE FROM usr_pref WHERE usr_id = %s AND keyword = %s",
                                $ilDB->quote($a_usr_id),
                                $ilDB->quote($a_keyword)
                        );
                }
                $ilDB->query($query);
        }

Here is the caller graph for this function:

ilObjUser::addDesktopItem ( a_item_id,
a_type,
a_par = "" 
)

add an item to user's personal desktop

Parameters:
int $a_item_id ref_id for objects, that are in the main tree (learning modules, forums) obj_id for others
string $a_type object type

Definition at line 2908 of file class.ilObjUser.php.

References _addDesktopItem(), and ilObject::getId().

        {
                ilObjUser::_addDesktopItem($this->getId(), $a_item_id, $a_type, $a_par);
/*              global $ilDB;

                $q = "SELECT * FROM desktop_item WHERE ".
                        "item_id = ".$ilDB->quote($a_item_id)." AND type = ".
                        $ilDB->quote($a_type)." AND user_id = ".
                        $ilDB->quote($this->getId());
                $item_set = $this->ilias->db->query($q);

                // only insert if item is not already on desktop
                if (!$d = $item_set->fetchRow())
                {
                        $q = "INSERT INTO desktop_item (item_id, type, user_id, parameters) VALUES ".
                                " (".$ilDB->quote($a_item_id).",".
                                $ilDB->quote($a_type).",".
                                $ilDB->quote($this->getId()).",".
                                $ilDB->quote($a_par).")";
                        $this->ilias->db->query($q);
                }
*/      }

Here is the call graph for this function:

ilObjUser::addObjectToClipboard ( a_item_id,
a_type,
a_title 
)

add an item to user's personal clipboard

Parameters:
int $a_item_id ref_id for objects, that are in the main tree (learning modules, forums) obj_id for others
string $a_type object type

Definition at line 3140 of file class.ilObjUser.php.

References $d, and ilObject::getId().

        {
                global $ilDB;

                $q = "SELECT * FROM personal_clipboard WHERE ".
                        "item_id = ".$ilDB->quote($a_item_id)." AND type = ".
                        $ilDB->quote($a_type)." AND user_id = ".
                        $ilDB->quote($this->getId());
                $item_set = $this->ilias->db->query($q);

                // only insert if item is not already on desktop
                if (!$d = $item_set->fetchRow())
                {
                        $q = "INSERT INTO personal_clipboard (item_id, type, user_id, title) VALUES ".
                                " (".$ilDB->quote($a_item_id).",".$ilDB->quote($a_type).",".
                                $ilDB->quote($this->getId()).",".$ilDB->quote($a_title).")";
                        $this->ilias->db->query($q);
                }
        }

Here is the call graph for this function:

ilObjUser::addUserDefinedFieldEntry (  ) 

Definition at line 3636 of file class.ilObjUser.php.

References ilObject::getId().

Referenced by saveAsNew().

        {
                global $ilDB;

                $query = "INSERT INTO usr_defined_data ".
                        "SET usr_id = ".$ilDB->quote($this->getId());
                $this->db->query($query);

                return true;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::assignData ( a_data  ) 

loads a record "user" from array public

Parameters:
array userdata

Definition at line 271 of file class.ilObjUser.php.

References $ilErr, setAuthMode(), setCity(), setClientIP(), setComment(), setCountry(), setDelicious(), setDepartment(), setEmail(), setExternalAccount(), setFax(), setFirstname(), setFullname(), setGender(), setHobby(), setInstantMessengerId(), setInstitution(), setLastLogin(), setLastname(), setLastUpdate(), setLatitude(), setLocationZoom(), setLogin(), setLongitude(), setMatriculation(), setPasswd(), setPhoneHome(), setPhoneMobile(), setPhoneOffice(), setProfileIncomplete(), setStreet(), setTimeLimitFrom(), setTimeLimitMessage(), setTimeLimitOwner(), setTimeLimitUnlimited(), setTimeLimitUntil(), setUTitle(), and setZipcode().

Referenced by read().

        {
                global $ilErr;

                // basic personal data
                $this->setLogin($a_data["login"]);
                if (! $a_data["passwd_type"])
                {
                         $ilErr->raiseError("<b>Error: passwd_type missing in function assignData(). ".
                                                                $this->id."!</b><br />class: ".get_class($this)."<br />Script: "
                                                                .__FILE__."<br />Line: ".__LINE__, $ilErr->FATAL);
                }
                if ($a_data["passwd"] != "********" and strlen($a_data['passwd']))
                {
                        $this->setPasswd($a_data["passwd"], $a_data["passwd_type"]);
                }

                $this->setGender($a_data["gender"]);
                $this->setUTitle($a_data["title"]);
                $this->setFirstname($a_data["firstname"]);
                $this->setLastname($a_data["lastname"]);
                $this->setFullname();

                // address data
                $this->setInstitution($a_data["institution"]);
                $this->setDepartment($a_data["department"]);
                $this->setStreet($a_data["street"]);
                $this->setCity($a_data["city"]);
                $this->setZipcode($a_data["zipcode"]);
                $this->setCountry($a_data["country"]);
                $this->setPhoneOffice($a_data["phone_office"]);
                $this->setPhoneHome($a_data["phone_home"]);
                $this->setPhoneMobile($a_data["phone_mobile"]);
                $this->setFax($a_data["fax"]);
                $this->setMatriculation($a_data["matriculation"]);
                $this->setEmail($a_data["email"]);
                $this->setHobby($a_data["hobby"]);
                $this->setClientIP($a_data["client_ip"]);

                // instant messenger data
                $this->setInstantMessengerId('icq',$a_data["im_icq"]);
                $this->setInstantMessengerId('yahoo',$a_data["im_yahoo"]);
                $this->setInstantMessengerId('msn',$a_data["im_msn"]);
                $this->setInstantMessengerId('aim',$a_data["im_aim"]);
                $this->setInstantMessengerId('skype',$a_data["im_skype"]);

                // other data
                $this->setDelicious($a_data["delicious"]);
                $this->setLatitude($a_data["latitude"]);
                $this->setLongitude($a_data["longitude"]);
                $this->setLocationZoom($a_data["loc_zoom"]);

                // system data
                $this->setLastLogin($a_data["last_login"]);
                $this->setLastUpdate($a_data["last_update"]);
                $this->create_date      = $a_data["create_date"];
        $this->setComment($a_data["referral_comment"]);
        $this->approve_date = $a_data["approve_date"];
        $this->active = $a_data["active"];
                $this->accept_date = $a_data["agree_date"];

        // time limitation
        $this->setTimeLimitOwner($a_data["time_limit_owner"]);
        $this->setTimeLimitUnlimited($a_data["time_limit_unlimited"]);
        $this->setTimeLimitFrom($a_data["time_limit_from"]);
        $this->setTimeLimitUntil($a_data["time_limit_until"]);
                $this->setTimeLimitMessage($a_data['time_limit_message']);

                // user profile incomplete?
                $this->setProfileIncomplete($a_data["profile_incomplete"]);

                //iLinc
                //$this->setiLincData($a_data['ilinc_id'],$a_data['ilinc_login'],$a_data['ilinc_passwd']);

                //authentication
                $this->setAuthMode($a_data['auth_mode']);
                $this->setExternalAccount($a_data['ext_account']);
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::checkTimeLimit (  ) 

Definition at line 2114 of file class.ilObjUser.php.

References getTimeLimitFrom(), getTimeLimitUnlimited(), and getTimeLimitUntil().

        {
                if($this->getTimeLimitUnlimited())
                {
                        return true;
                }
                if($this->getTimeLimitFrom() < time() and $this->getTimeLimitUntil() > time())
                {
                        return true;
                }
                return false;
        }

Here is the call graph for this function:

ilObjUser::checkUserId (  ) 

Definition at line 2239 of file class.ilObjUser.php.

References $data, and $ilAuth.

        {
                global $ilDB,$ilAuth;

                $r = $this->ilias->db->query("SELECT usr_id FROM usr_data WHERE login = ".
                        $ilDB->quote($ilAuth->getUsername()));
                //query has got a result
                if ($r->numRows() > 0)
                {
                        $data = $r->fetchRow();
                        $this->id = $data[0];

                        return $this->id;
                }

                return false;
        }

ilObjUser::delete (  ) 

deletes a user public

Parameters:
integer user_id

Reimplemented from ilObject.

Definition at line 1151 of file class.ilObjUser.php.

References ilEventParticipants::_deleteByUser(), ilBlockSetting::_deleteSettingsOfUser(), ilObjUserTracking::_deleteUser(), ilObjCourse::_deleteUser(), ilLinkCheckNotify::_deleteUser(), ilObjForum::_deleteUser(), ilLDAPRoleGroupMapping::_getInstance(), deleteUserDefinedFieldEntries(), and ilObject::getId().

        {
                global $rbacadmin, $ilDB;

                // deassign from ldap groups
                include_once('Services/LDAP/classes/class.ilLDAPRoleGroupMapping.php');
                $mapping = ilLDAPRoleGroupMapping::_getInstance();
                $mapping->deleteUser($this->getId());

                // remove mailbox / update sent mails
                include_once ("Services/Mail/classes/class.ilMailbox.php");
                $mailbox = new ilMailbox($this->getId());
                $mailbox->delete();
                $mailbox->updateMailsOfDeletedUser();
                
                // delete feed blocks on personal desktop
                include_once("./Services/Block/classes/class.ilCustomBlock.php");
                $costum_block = new ilCustomBlock();
                $costum_block->setContextObjId($this->getId());
                $costum_block->setContextObjType("user");
                $c_blocks = $costum_block->queryBlocksForContext();
                include_once("./Services/Feeds/classes/class.ilPDExternalFeedBlock.php");
                foreach($c_blocks as $c_block)
                {
                        if ($c_block["type"] == "pdfeed")
                        {
                                $fb = new ilPDExternalFeedBlock($c_block["id"]);
                                $fb->delete();
                        }
                }

                
                // delete block settings
                include_once("./Services/Block/classes/class.ilBlockSetting.php");
                ilBlockSetting::_deleteSettingsOfUser($this->getId());

                // delete user_account
                $this->ilias->db->query("DELETE FROM usr_data WHERE usr_id = ".
                        $ilDB->quote($this->getId()));

                // delete user_prefs
                $this->ilias->db->query("DELETE FROM usr_pref WHERE usr_id= ".
                        $ilDB->quote($this->getId()));

                // delete user_session
                $this->ilias->db->query("DELETE FROM usr_session WHERE user_id= ".
                        $ilDB->quote($this->getId()));

                // remove user from rbac
                $rbacadmin->removeUser($this->getId());

                // remove bookmarks
                // TODO: move this to class.ilBookmarkFolder
                $q = "DELETE FROM bookmark_tree WHERE tree = ".
                        $ilDB->quote($this->getId());
                $this->ilias->db->query($q);

                $q = "DELETE FROM bookmark_data WHERE user_id= ".
                        $ilDB->quote($this->getId());
                $this->ilias->db->query($q);

                // DELETE FORUM ENTRIES (not complete in the moment)
                include_once './Modules/Forum/classes/class.ilObjForum.php';
                ilObjForum::_deleteUser($this->getId());

                // Delete link check notify entries
                include_once './classes/class.ilLinkCheckNotify.php';
                ilLinkCheckNotify::_deleteUser($this->getId());

                // Delete crs entries
                include_once './Modules/Course/classes/class.ilObjCourse.php';
                ilObjCourse::_deleteUser($this->getId());

                // Delete user tracking
                include_once './Services/Tracking/classes/class.ilObjUserTracking.php';
                ilObjUserTracking::_deleteUser($this->getId());

                include_once 'Modules/Course/classes/Event/class.ilEventParticipants.php';
                ilEventParticipants::_deleteByUser($this->getId());

                // Delete group registrations
                $q = "DELETE FROM grp_registration WHERE user_id= ".
                        $ilDB->quote($this->getId());
                $this->ilias->db->query($q);

                // Delete user defined field entries
                $this->deleteUserDefinedFieldEntries();

                // delete object data
                parent::delete();
                return true;
        }

Here is the call graph for this function:

ilObjUser::deletePref ( a_keyword  ) 

Deletes a userpref value of the user from the database public.

Parameters:
string keyword

Definition at line 1013 of file class.ilObjUser.php.

        {
                global $ilDB;

                $query = sprintf("DELETE FROM usr_pref WHERE usr_id = %s AND keyword = %s",
                        $ilDB->quote($this->getId() . ""),
                        $ilDB->quote($a_keyword . "")
                );
                $ilDB->query($query);
        }

ilObjUser::deleteUserDefinedFieldEntries (  ) 

Definition at line 3647 of file class.ilObjUser.php.

References ilObject::getId().

Referenced by delete().

        {
                global $ilDB;

                $query = "DELETE FROM usr_defined_data ".
                        "WHERE usr_id = ".$ilDB->quote($this->getId());
                $this->db->query($query);

                return true;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::dropDesktopItem ( a_item_id,
a_type 
)

drop an item from user's personal desktop

Parameters:
int $a_item_id ref_id for objects, that are in the main tree (learning modules, forums) obj_id for others
string $a_type object type

Definition at line 2978 of file class.ilObjUser.php.

References _dropDesktopItem(), and ilObject::getId().

        {
                ilObjUser::_dropDesktopItem($this->getId(), $a_item_id, $a_type);
/*              global $ilDB;

                $q = "DELETE FROM desktop_item WHERE ".
                        " item_id = ".$ilDB->quote($a_item_id)." AND ".
                        " type = ".$ilDB->quote($a_type)." AND ".
                        " user_id = ".$ilDB->quote($this->getId());
                $this->ilias->db->query($q);
*/      }

Here is the call graph for this function:

ilObjUser::getActive (  ) 

get user active state public

Definition at line 2010 of file class.ilObjUser.php.

    {
        return $this->active;
    }

& ilObjUser::getAppliedUsers (  ) 

Definition at line 2196 of file class.ilObjUser.php.

References __readAppliedUsers(), and ilObject::getId().

        {
                $this->applied_users = array();
                $this->__readAppliedUsers($this->getId());

                return $this->applied_users ? $this->applied_users : array();
        }

Here is the call graph for this function:

ilObjUser::getApproveDate (  ) 

get date the user account was activated public

Returns:
string date of last update

Definition at line 1974 of file class.ilObjUser.php.

    {
        return $this->approve_date;
    }

ilObjUser::getAuthMode ( a_auth_key = false  ) 

get auth mode public

Definition at line 3275 of file class.ilObjUser.php.

References ilAuthUtils::_getAuthMode().

Referenced by saveAsNew(), and update().

        {
                if (!$a_auth_key)
                {
                        return $this->auth_mode;
                }

                include_once('./Services/Authentication/classes/class.ilAuthUtils.php');
                return ilAuthUtils::_getAuthMode($this->auth_mode);
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::getCity (  ) 

get city public

Definition at line 1626 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->city;
        }

Here is the caller graph for this function:

ilObjUser::getClientIP (  ) 

get client ip number public

Definition at line 1759 of file class.ilObjUser.php.

        {
                return $this->client_ip;
        }

ilObjUser::getClipboardObjects ( a_type = ""  ) 

get all clipboard objects of user and specified type

Definition at line 3163 of file class.ilObjUser.php.

References ilObject::_lookupTitle(), and ilObject::getId().

        {
                global $ilDB;

                $type_str = ($a_type != "")
                        ? " AND type = ".$ilDB->quote($a_type)." "
                        : "";
                $q = "SELECT * FROM personal_clipboard WHERE ".
                        "user_id = ".$ilDB->quote($this->getId())." ".
                        $type_str;
                $objs = $this->ilias->db->query($q);
                $objects = array();
                while ($obj = $objs->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        if ($obj["type"] == "mob")
                        {
                                $obj["title"] = ilObject::_lookupTitle($obj["item_id"]);
                        }
                        $objects[] = array ("id" => $obj["item_id"],
                                "type" => $obj["type"], "title" => $obj["title"]);
                }
                return $objects;
        }

Here is the call graph for this function:

ilObjUser::getComment (  ) 

get referral comment public

Definition at line 1953 of file class.ilObjUser.php.

Referenced by getProfileAsString().

    {
        return $this->referral_comment;
    }

Here is the caller graph for this function:

ilObjUser::getCountry (  ) 

get country public

Definition at line 1664 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->country;
        }

Here is the caller graph for this function:

ilObjUser::getCourseMemberships ( a_user_id = ""  ) 

Definition at line 2607 of file class.ilObjUser.php.

References ilCourseParticipants::_getInstanceByObjId(), and ilObject::getId().

        {
                global $rbacreview, $tree;

                if (strlen($a_user_id) > 0)
                {
                        $user_id = $a_user_id;
                }
                else
                {
                        $user_id = $this->getId();
                }

                $crs_memberships = array();

                // get all roles which the user is assigned to
                $roles = $rbacreview->assignedRoles($user_id);

                foreach ($roles as $role)
                {
                        $ass_rolefolders = $rbacreview->getFoldersAssignedToRole($role);        //rolef_refids

                        foreach ($ass_rolefolders as $role_folder)
                        {
                                $node = $tree->getParentNodeData($role_folder);

                                if ($node["type"] == "crs")
                                {
                                        include_once 'Modules/Course/classes/class.ilCourseParticipants.php';
                                        $crsmem = ilCourseParticipants::_getInstanceByObjId($node['obj_id']);

                                        if ($crsmem->isAssigned($user_id) && !in_array($node['obj_id'], $crs_memberships))
                                        {
                                                array_push($crs_memberships, $node['obj_id']);
                                        }
                                }
                        }
                }

                return $crs_memberships ? $crs_memberships : array();
        }

Here is the call graph for this function:

ilObjUser::getCurrentLanguage (  ) 

returns the current language (may differ from user's pref setting!)

Definition at line 1900 of file class.ilObjUser.php.

References $_SESSION.

        {
                return $_SESSION['lang'];
        }

ilObjUser::getDelicious (  ) 

Definition at line 3801 of file class.ilObjUser.php.

Referenced by update().

        {
                return $this->delicious;
        }

Here is the caller graph for this function:

ilObjUser::getDepartment (  ) 

get department public

Definition at line 1588 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->department;
        }

Here is the caller graph for this function:

ilObjUser::getDesktopItems ( a_types = ""  ) 

Definition at line 3048 of file class.ilObjUser.php.

References _lookupDesktopItems(), and ilObject::getId().

        {
                return $this->_lookupDesktopItems($this->getId(), $a_types);
        }

Here is the call graph for this function:

ilObjUser::getEmail (  ) 

get email address public

Definition at line 1797 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->email;
        }

Here is the caller graph for this function:

ilObjUser::getExternalAccount (  ) 

get external account

note: 3.7.0 uses this field only for cas and soap authentication.

public

Definition at line 3305 of file class.ilObjUser.php.

Referenced by saveAsNew(), and update().

        {
                return $this->ext_account;
        }

Here is the caller graph for this function:

ilObjUser::getFax (  ) 

get fax public

Definition at line 1740 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->fax;
        }

Here is the caller graph for this function:

ilObjUser::getFirstname (  ) 

get firstname public

Definition at line 1531 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->firstname;
        }

Here is the caller graph for this function:

ilObjUser::getFullname ( a_max_strlen = 0  ) 

get fullname public

Parameters:
integer max. string length to return (optional) if string length of fullname is greater than given a_max_strlen the name is shortened in the following way: 1. abreviate firstname (-> Dr. J. Smith) if fullname is still too long 2. drop title (-> John Smith) if fullname is still too long 3. drop title and abreviate first name (J. Smith) if fullname is still too long 4. drop title and firstname and shorten lastname to max length (--> Smith)

Definition at line 1297 of file class.ilObjUser.php.

References ilUtil::stripSlashes().

        {
                if (!$a_max_strlen)
                {
                        return ilUtil::stripSlashes($this->fullname);
                }

                if (strlen($this->fullname) <= $a_max_strlen)
                {
                        return ilUtil::stripSlashes($this->fullname);
                }

                if ((strlen($this->utitle) + strlen($this->lastname) + 4) <= $a_max_strlen)
                {
                        return ilUtil::stripSlashes($this->utitle." ".substr($this->firstname,0,1).". ".$this->lastname);
                }

                if ((strlen($this->firstname) + strlen($this->lastname) + 1) <= $a_max_strlen)
                {
                        return ilUtil::stripSlashes($this->firstname." ".$this->lastname);
                }

                if ((strlen($this->lastname) + 3) <= $a_max_strlen)
                {
                        return ilUtil::stripSlashes(substr($this->firstname,0,1).". ".$this->lastname);
                }

                return ilUtil::stripSlashes(substr($this->lastname,0,$a_max_strlen));
        }

Here is the call graph for this function:

ilObjUser::getGender (  ) 

get gender public

Definition at line 1489 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->gender;
        }

Here is the caller graph for this function:

ilObjUser::getGroupMemberships ( a_user_id = ""  ) 

Definition at line 2559 of file class.ilObjUser.php.

References ilObject::getId().

        {
                global $rbacreview, $tree;

                if (strlen($a_user_id) > 0)
                {
                        $user_id = $a_user_id;
                }
                else
                {
                        $user_id = $this->getId();
                }

                $grp_memberships = array();

                // get all roles which the user is assigned to
                $roles = $rbacreview->assignedRoles($user_id);

                foreach ($roles as $role)
                {
                        $ass_rolefolders = $rbacreview->getFoldersAssignedToRole($role);        //rolef_refids

                        foreach ($ass_rolefolders as $role_folder)
                        {
                                $node = $tree->getParentNodeData($role_folder);

                                if ($node["type"] == "grp")
                                {
                                        $group =& $this->ilias->obj_factory->getInstanceByRefId($node["child"]);

                                        if ($group->isMember($user_id) == true && !in_array($group->getId(), $grp_memberships) )
                                        {
                                                array_push($grp_memberships, $group->getId());
                                        }
                                }

                                unset($group);
                        }
                }

                return $grp_memberships;
        }

Here is the call graph for this function:

ilObjUser::getHobby (  ) 

get hobby public

Definition at line 1816 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->hobby;
        }

Here is the caller graph for this function:

ilObjUser::getInstantMessengerId ( a_im_type  ) 

Definition at line 3790 of file class.ilObjUser.php.

Referenced by update().

        {
                $var = "im_".$a_im_type;
                return $this->$var;
        }

Here is the caller graph for this function:

ilObjUser::getInstitution (  ) 

get institution public

Definition at line 1569 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->institution;
        }

Here is the caller graph for this function:

ilObjUser::getLanguage (  ) 

returns a 2char-language-string public

Returns:
string language

Definition at line 1837 of file class.ilObjUser.php.

        {
                 return $this->prefs["language"];
        }

ilObjUser::getLastLogin (  ) 

returns last login date public

Returns:
string date

Definition at line 1920 of file class.ilObjUser.php.

        {
                 return $this->last_login;
        }

ilObjUser::getLastname (  ) 

get lastname public

Definition at line 1550 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->lastname;
        }

Here is the caller graph for this function:

ilObjUser::getLastUpdate (  ) 

Definition at line 1934 of file class.ilObjUser.php.

        {
                return $this->last_update;
        }

ilObjUser::getLastVisitedLessons (  ) 

get read lessons, ordered by timestamp public

Returns:
array lessons

Definition at line 1333 of file class.ilObjUser.php.

        {
                global $ilDB;

                //query
                $q = "SELECT * FROM lo_access ".
                        "WHERE usr_id= ".$ilDB->quote($this->id)." ".
                        "ORDER BY timestamp DESC";
                $rst = $this->ilias->db->query($q);

                // fill array
                $result = array();
                while($record = $rst->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        $result[] = array(
                        "timestamp"     =>      $record->timestamp,
                        "usr_id"                =>      $record->usr_id,
                        "lm_id"         =>      $record->lm_id,
                        "obj_id"                =>      $record->obj_id,
                        "lm_title"      =>      $record->lm_title);
                }
                return $result;
        }

ilObjUser::getLatitude (  ) 

Get Latitude.

Returns:
string Latitude

Definition at line 2151 of file class.ilObjUser.php.

Referenced by update().

        {
                return $this->latitude;
        }

Here is the caller graph for this function:

ilObjUser::getLessons (  ) 

get all lessons, unordered public

Returns:
array lessons

Definition at line 1363 of file class.ilObjUser.php.

        {
                global $ilDB;

                //query
                $q = "SELECT * FROM lo_access ".
                        "WHERE usr_id= ".$ilDB->quote($this->id)." ";
                $rst = $this->ilias->db->query($q);

                // fill array
                $result = array();
                while($record = $rst->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        $result[] = array(
                        "timestamp"     =>      $record->timestamp,
                        "usr_id"                =>      $record->usr_id,
                        "lm_id"         =>      $record->lm_id,
                        "obj_id"                =>      $record->obj_id,
                        "lm_title"      =>      $record->lm_title);
                }
                return $result;
        }

ilObjUser::getLocationZoom (  ) 

Get Location Zoom.

Returns:
int Location Zoom

Definition at line 2191 of file class.ilObjUser.php.

Referenced by update().

        {
                return $this->loc_zoom;
        }

Here is the caller graph for this function:

ilObjUser::getLogin (  ) 

get login / username public

Definition at line 1437 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->login;
        }

Here is the caller graph for this function:

ilObjUser::getLoginByUserId ( a_userid  ) 

Definition at line 2355 of file class.ilObjUser.php.

References $ilias.

Referenced by ilObjPaymentSettingsGUI::editVendor().

    {
        global $ilias, $ilDB;

        $query = "SELECT login FROM usr_data ".
            "WHERE usr_id = ".$ilDB->quote($a_userid);

        $row = $ilias->db->getRow($query,DB_FETCHMODE_OBJECT);

        return $row->login ? $row->login : false;
    }

Here is the caller graph for this function:

ilObjUser::getLongitude (  ) 

Get Longitude.

Returns:
string Longitude

Definition at line 2171 of file class.ilObjUser.php.

Referenced by update().

        {
                return $this->longitude;
        }

Here is the caller graph for this function:

ilObjUser::getMatriculation (  ) 

get matriculation number public

Definition at line 1778 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->matriculation;
        }

Here is the caller graph for this function:

ilObjUser::getPasswd (  ) 

get password

Returns:
password. The password is encoded depending on the current password type. public
See also:
getPasswdType

Definition at line 1460 of file class.ilObjUser.php.

        {
                return $this->passwd;
        }

ilObjUser::getPasswdType (  ) 

get password type

Returns:
password type (IL_PASSWD_PLAIN, IL_PASSWD_MD5 or IL_PASSWD_CRYPT). public
See also:
getPasswd

Definition at line 1470 of file class.ilObjUser.php.

        {
                return $this->passwd_type;
        }

ilObjUser::getPersonalPicturePath ( a_size = "small",
a_force_pic = false 
)

get path to personal picture

Parameters:
string size "small", "xsmall" or "xxsmall"

Definition at line 3524 of file class.ilObjUser.php.

References _getPersonalPicturePath(), and ilObject::getId().

        {
                return ilObjUser::_getPersonalPicturePath($this->getId(),$a_size,$a_force_pic);
        }

Here is the call graph for this function:

ilObjUser::getPhoneHome (  ) 

get home phone public

Definition at line 1702 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->phone_home;
        }

Here is the caller graph for this function:

ilObjUser::getPhoneMobile (  ) 

get mobile phone public

Definition at line 1721 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->phone_mobile;
        }

Here is the caller graph for this function:

ilObjUser::getPhoneOffice (  ) 

get office phone public

Definition at line 1683 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->phone_office;
        }

Here is the caller graph for this function:

ilObjUser::getPref ( a_keyword  ) 

get a user preference

Parameters:
string name of parameter public

Definition at line 1091 of file class.ilObjUser.php.

        {
                if (array_key_exists($a_keyword, $this->prefs))
                {
                        return $this->prefs[$a_keyword];
                }
                else
                {
                        return FALSE;
                }
        }

ilObjUser::getProfileAsString ( &$  a_language  ) 

Get formatted mail body text of user profile data.

Parameters:
object Language object (choose user language of recipient) or null to use language of current user

Definition at line 3663 of file class.ilObjUser.php.

References $gender, ilObject::$lng, ilObject::_lookupTitle(), formatDate(), ilFormat::formatUnixTime(), getCity(), getComment(), getCountry(), ilObject::getCreateDate(), getDepartment(), getEmail(), getFax(), getFirstname(), getGender(), getHobby(), getInstitution(), getLastname(), getLogin(), getMatriculation(), getPhoneHome(), getPhoneMobile(), getPhoneOffice(), getStreet(), getTimeLimitFrom(), getTimeLimitUnlimited(), getTimeLimitUntil(), getUTitle(), and getZipcode().

        {
                include_once 'classes/class.ilObjRole.php';
                include_once 'classes/class.ilFormat.php';

                global $lng,$rbacreview;

                $language =& $a_language;
                $language->loadLanguageModule('registration');
                $language->loadLanguageModule('crs');

                $body = '';
        $body .= ($language->txt("login").": ".$this->getLogin()."\n");

                if(strlen($this->getUTitle()))
                {
                        $body .= ($language->txt("title").": ".$this->getUTitle()."\n");
                }
                if(strlen($this->getGender()))
                {
                        $gender = ($this->getGender() == 'm') ?
                                $language->txt('gender_m') :
                                $language->txt('gender_f');
                        $body .= ($language->txt("gender").": ".$gender."\n");
                }
                if(strlen($this->getFirstname()))
                {
                        $body .= ($language->txt("firstname").": ".$this->getFirstname()."\n");
                }
                if(strlen($this->getLastname()))
                {
                        $body .= ($language->txt("lastname").": ".$this->getLastname()."\n");
                }
                if(strlen($this->getInstitution()))
                {
                        $body .= ($language->txt("institution").": ".$this->getInstitution()."\n");
                }
                if(strlen($this->getDepartment()))
                {
                        $body .= ($language->txt("department").": ".$this->getDepartment()."\n");
                }
                if(strlen($this->getStreet()))
                {
                        $body .= ($language->txt("street").": ".$this->getStreet()."\n");
                }
                if(strlen($this->getCity()))
                {
                        $body .= ($language->txt("city").": ".$this->getCity()."\n");
                }
                if(strlen($this->getZipcode()))
                {
                        $body .= ($language->txt("zipcode").": ".$this->getZipcode()."\n");
                }
                if(strlen($this->getCountry()))
                {
                        $body .= ($language->txt("country").": ".$this->getCountry()."\n");
                }
                if(strlen($this->getPhoneOffice()))
                {
                        $body .= ($language->txt("phone_office").": ".$this->getPhoneOffice()."\n");
                }
                if(strlen($this->getPhoneHome()))
                {
                        $body .= ($language->txt("phone_home").": ".$this->getPhoneHome()."\n");
                }
                if(strlen($this->getPhoneMobile()))
                {
                        $body .= ($language->txt("phone_mobile").": ".$this->getPhoneMobile()."\n");
                }
                if(strlen($this->getFax()))
                {
                        $body .= ($language->txt("fax").": ".$this->getFax()."\n");
                }
                if(strlen($this->getEmail()))
                {
                        $body .= ($language->txt("email").": ".$this->getEmail()."\n");
                }
                if(strlen($this->getHobby()))
                {
                        $body .= ($language->txt("hobby").": ".$this->getHobby()."\n");
                }
                if(strlen($this->getComment()))
                {
                        $body .= ($language->txt("referral_comment").": ".$this->getComment()."\n");
                }
                if(strlen($this->getMatriculation()))
                {
                        $body .= ($language->txt("matriculation").": ".$this->getMatriculation()."\n");
                }
                if(strlen($this->getCreateDate()))
                {
                        $body .= ($language->txt("create_date").": ".ilFormat::formatDate($this->getCreateDate(), "datetime", true)."\n");
                }

                foreach($rbacreview->getGlobalRoles() as $role)
                {
                        if($rbacreview->isAssigned($this->getId(),$role))
                        {
                                $gr[] = ilObjRole::_lookupTitle($role);
                        }
                }
                if(count($gr))
                {
                        $body .= ($language->txt('reg_role_info').': '.implode(',',$gr)."\n");
                }

                // Time limit
                if($this->getTimeLimitUnlimited())
                {
                        $body .= ($language->txt('time_limit').": ".$language->txt('crs_unlimited')."\n");
                }
                else
                {
                        $body .= ($language->txt('time_limit').": ".$language->txt('crs_from')." ".
                                          ilFormat::formatUnixTime($this->getTimeLimitFrom(), true)." ".
                                          $language->txt('crs_to')." ".
                                          ilFormat::formatUnixTime($this->getTimeLimitUntil(), true)."\n");
                }
                return $body;
        }

Here is the call graph for this function:

ilObjUser::getProfileIncomplete (  ) 

Definition at line 2130 of file class.ilObjUser.php.

Referenced by saveAsNew(), and update().

    {
        return $this->profile_incomplete;
    }

Here is the caller graph for this function:

ilObjUser::getStoredActive ( a_id  ) 

get user active state

Parameters:
integer $a_id user id public
Returns:
true if active, otherwise false

Definition at line 2049 of file class.ilObjUser.php.

References $ilias.

Referenced by syncActive().

    {
        global $ilias, $ilDB;

        $query = "SELECT active FROM usr_data ".
            "WHERE usr_id = ".$ilDB->quote($a_id);

        $row = $ilias->db->getRow($query,DB_FETCHMODE_OBJECT);

        return $row->active ? true : false;
    }

Here is the caller graph for this function:

ilObjUser::getStreet (  ) 

get street public

Definition at line 1607 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->street;
        }

Here is the caller graph for this function:

ilObjUser::getTimeLimitFrom (  ) 

Definition at line 2084 of file class.ilObjUser.php.

Referenced by checkTimeLimit(), getProfileAsString(), saveAsNew(), and update().

    {
        return $this->time_limit_from ? $this->time_limit_from : time();
    }

Here is the caller graph for this function:

ilObjUser::getTimeLimitMessage (  ) 

Definition at line 2108 of file class.ilObjUser.php.

Referenced by update().

        {
                return $this->time_limit_message;
        }

Here is the caller graph for this function:

ilObjUser::getTimeLimitOwner (  ) 

Definition at line 2076 of file class.ilObjUser.php.

Referenced by saveAsNew(), and update().

    {
        return $this->time_limit_owner ? $this->time_limit_owner : 7;
    }

Here is the caller graph for this function:

ilObjUser::getTimeLimitUnlimited (  ) 

Definition at line 2100 of file class.ilObjUser.php.

Referenced by checkTimeLimit(), getProfileAsString(), saveAsNew(), and update().

    {
        return $this->time_limit_unlimited;
    }

Here is the caller graph for this function:

ilObjUser::getTimeLimitUntil (  ) 

Definition at line 2092 of file class.ilObjUser.php.

Referenced by checkTimeLimit(), getProfileAsString(), saveAsNew(), and update().

    {
        return $this->time_limit_until ? $this->time_limit_until : time();
    }

Here is the caller graph for this function:

ilObjUser::getUserDefinedData (  ) 

Definition at line 3594 of file class.ilObjUser.php.

        {
                return $this->user_defined_data ? $this->user_defined_data : array();
        }

ilObjUser::getUserIdByEmail ( a_email  )  [static]

STATIC METHOD get the user_id of an email address.

Parameters:
string email of user
Returns:
integer id of user public

Definition at line 2336 of file class.ilObjUser.php.

        {
                global $ilDB;

                $query = "SELECT usr_id FROM usr_data ".
                        "WHERE email = ".$ilDB->quote($a_email);

                $row = $this->ilias->db->getRow($query,DB_FETCHMODE_OBJECT);
                return $row->usr_id ? $row->usr_id : 0;
        }

ilObjUser::getUserIdByLogin ( a_login  ) 

Definition at line 2289 of file class.ilObjUser.php.

References $ilias.

Referenced by ilPaymentTrusteeGUI::addUser(), ilObjPaymentSettingsGUI::addVendorObject(), ilObjChatGUI::blockUserObject(), ilMail::checkRecipients(), ShibAuth::generateLogin(), ilMail::getEmailsOfRecipients(), ilMail::getUserIds(), ilUserImportParser::importEndTag(), ShibAuth::login(), ilSoapUserAdministration::lookupUser(), ilPasswordAssistanceGUI::submitAssistanceForm(), syncActive(), ilObjCourse::validateInfoSettings(), and ilUserImportParser::verifyEndTag().

        {
                global $ilias, $ilDB;

                $query = "SELECT usr_id FROM usr_data ".
                        "WHERE login = ".$ilDB->quote($a_login);

                $row = $ilias->db->getRow($query,DB_FETCHMODE_OBJECT);

                return $row->usr_id ? $row->usr_id : 0;
        }

Here is the caller graph for this function:

ilObjUser::getUTitle (  ) 

get user title (note: don't mix up this method with getTitle() that is derived from ilObject and gets the user object's title) public

Definition at line 1512 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->utitle;
        }

Here is the caller graph for this function:

ilObjUser::getZipcode (  ) 

get zipcode public

Definition at line 1645 of file class.ilObjUser.php.

Referenced by getProfileAsString().

        {
                return $this->zipcode;
        }

Here is the caller graph for this function:

ilObjUser::hasAcceptedUserAgreement (  ) 

check wether user has accepted user agreement

Definition at line 1414 of file class.ilObjUser.php.

References login().

        {
                if ($this->accept_date != "0000-00-00 00:00:00" || $this->login == "root")
                {
                        return true;
                }
                return false;
        }

Here is the call graph for this function:

ilObjUser::ilObjUser ( a_user_id = 0,
a_call_by_reference = false 
)

Constructor public.

Parameters:
integer user_id

Definition at line 143 of file class.ilObjUser.php.

References $ilias, ilObject::ilObject(), read(), and ilObject::setId().

        {
                global $ilias,$ilDB;

                // init variables
                $this->ilias =& $ilias;
                $this->db =& $ilDB;

                $this->type = "usr";
                $this->ilObject($a_user_id, $a_call_by_reference);
                $this->auth_mode = "default";
                $this->passwd_type = IL_PASSWD_PLAIN;

                // for gender selection. don't change this
                /*$this->gender = array(
                                                          'm'    => "salutation_m",
                                                          'f'    => "salutation_f"
                                                          );*/
                if (!empty($a_user_id))
                {
                        $this->setId($a_user_id);
                        $this->read();
                }
                else
                {
                        // TODO: all code in else-structure doesn't belongs in class user !!!
                        //load default data
                        $this->prefs = array();
                        //language
                        $this->prefs["language"] = $this->ilias->ini->readVariable("language","default");

                        //skin and pda support
                        $this->skin = $this->ilias->ini->readVariable("layout","skin");

                        $this->prefs["skin"] = $this->skin;
                        $this->prefs["show_users_online"] = "y";

                        //style (css)
                        $this->prefs["style"] = $this->ilias->ini->readVariable("layout","style");
                }
        }

Here is the call graph for this function:

ilObjUser::isChild ( a_usr_id  ) 

Definition at line 2204 of file class.ilObjUser.php.

References __readAppliedUsers(), and ilObject::getId().

        {
                if($a_usr_id == $this->getId())
                {
                        return true;
                }

                $this->applied_users = array();
                $this->__readAppliedUsers($this->getId());

                return in_array($a_usr_id,$this->applied_users);
        }

Here is the call graph for this function:

ilObjUser::isCurrentUserActive (  ) 

Definition at line 2262 of file class.ilObjUser.php.

References $data, and $ilAuth.

    {
                global $ilDB,$ilAuth;

        $r = $this->ilias->db->query("SELECT active FROM usr_data WHERE login= ".
                        $ilDB->quote($ilAuth->getUsername()));
        //query has got a result
        if ($r->numRows() > 0)
        {
            $data = $r->fetchRow();
            if (!empty($data[0]))
            {
                return true;
            }
        }

        return false;
    }

ilObjUser::isDesktopItem ( a_item_id,
a_type 
)

check wether an item is on the users desktop or not

Parameters:
int $a_item_id ref_id for objects, that are in the main tree (learning modules, forums) obj_id for others
string $a_type object type

Definition at line 3027 of file class.ilObjUser.php.

References _isDesktopItem(), and ilObject::getId().

        {
                return ilObjUser::_isDesktopItem($this->getId(), $a_item_id, $a_type);
/*              global $ilDB;

                $q = "SELECT * FROM desktop_item WHERE ".
                        "item_id = ".$ilDB->quote($a_item_id)." AND type = ".
                        $ilDB->quote($a_type)." AND user_id = ".
                        $ilDB->quote($this->getId());
                $item_set = $this->ilias->db->query($q);

                if ($d = $item_set->fetchRow())
                {
                        return true;
                }
                else
                {
                        return false;
                }*/
        }

Here is the call graph for this function:

ilObjUser::read (  ) 

loads a record "user" from database private

Definition at line 189 of file class.ilObjUser.php.

References $data, $ilErr, assignData(), readPrefs(), readUserDefinedFields(), and ilStyleDefinition::skinExists().

Referenced by ilObjUser(), and update().

        {
                global $ilErr, $ilDB;

                // TODO: fetching default role should be done in rbacadmin
                $q = "SELECT * FROM usr_data ".
                         "LEFT JOIN rbac_ua ON usr_data.usr_id=rbac_ua.usr_id ".
                         "WHERE usr_data.usr_id= ".$ilDB->quote($this->id);
                $r = $this->ilias->db->query($q);

                if ($r->numRows() > 0)
                {
                        $data = $r->fetchRow(DB_FETCHMODE_ASSOC);

                        // convert password storage layout used by table usr_data into
                        // storage layout used by class ilObjUser
                        if ($data["passwd"] == "" && $data["i2passwd"] != "")
                        {
                                $data["passwd_type"] = IL_PASSWD_CRYPT;
                                $data["passwd"] = $data["i2passwd"];
                        }
                        else
                        {
                                $data["passwd_type"] = IL_PASSWD_MD5;
                                //$data["passwd"] = $data["passwd"]; (implicit)
                        }
                        unset($data["i2passw"]);


                        // fill member vars in one shot
                        $this->assignData($data);

                        //get userpreferences from usr_pref table
                        $this->readPrefs();

                        //set language to default if not set
                        if ($this->prefs["language"] == "")
                        {
                                $this->prefs["language"] = $this->oldPrefs["language"];
                        }

                        //check skin-setting
                        include_once("./classes/class.ilStyleDefinition.php");
                        if ($this->prefs["skin"] == "" ||
                                !ilStyleDefinition::skinExists($this->prefs["skin"]))
                        {
                                $this->prefs["skin"] = $this->oldPrefs["skin"];
                        }

                        $this->skin = $this->prefs["skin"];

                        //check style-setting (skins could have more than one stylesheet
                        if ($this->prefs["style"] == "" ||
                                !ilStyleDefinition::skinExists($this->skin, $this->prefs["style"]))
                        {
                                //load default (css)
                                $this->prefs["style"] = $this->ilias->ini->readVariable("layout","style");
                        }

                        if (empty($this->prefs["hits_per_page"]))
                        {
                                $this->prefs["hits_per_page"] = 10;
                        }

                }
                else
                {
                        $ilErr->raiseError("<b>Error: There is no dataset with id ".
                                                           $this->id."!</b><br />class: ".get_class($this)."<br />Script: ".__FILE__.
                                                           "<br />Line: ".__LINE__, $ilErr->FATAL);
                }

                $this->readUserDefinedFields();

                parent::read();
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::readPrefs (  ) 

get all user preferences private

Returns:
integer number of preferences

Definition at line 1123 of file class.ilObjUser.php.

Referenced by read().

        {
                global $ilDB;

                if (is_array($this->prefs))
                {
                        $this->oldPrefs = $this->prefs;
                }

                $this->prefs = array();

                $q = "SELECT * FROM usr_pref WHERE usr_id = ".
                        $ilDB->quote($this->id);
                $r = $this->ilias->db->query($q);

                while($row = $r->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        $this->prefs[$row["keyword"]] = $row["value"];
                } // while

                return $r->numRows();
        }

Here is the caller graph for this function:

ilObjUser::readUserDefinedFields (  ) 

Definition at line 3621 of file class.ilObjUser.php.

References $res, and ilObject::getId().

Referenced by read().

        {
                global $ilDB;

                $query = "SELECT * FROM usr_defined_data ".
                        "WHERE usr_id = ".$ilDB->quote($this->getId());

                $res = $this->db->query($query);
                while($row = $res->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        $this->user_defined_data = $row;
                }
                return true;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::refreshLogin (  ) 

updates the login data of a "user" // TODO set date with now() should be enough public

Definition at line 770 of file class.ilObjUser.php.

        {
                global $ilDB;

                $q = "UPDATE usr_data SET ".
                         "last_login = now() ".
                         "WHERE usr_id = ".$ilDB->quote($this->id);

                $this->ilias->db->query($q);
        }

ilObjUser::removeObjectFromClipboard ( a_item_id,
a_type 
)

remove object from user's personal clipboard

Parameters:
int $a_item_id ref_id for objects, that are in the main tree (learning modules, forums) obj_id for others
string $a_type object type

Definition at line 3219 of file class.ilObjUser.php.

References ilObject::getId().

        {
                global $ilDB;

                $q = "DELETE FROM personal_clipboard WHERE ".
                        "item_id = ".$ilDB->quote($a_item_id)." AND type = ".$ilDB->quote($a_type)." ".
                        " AND user_id = ".$ilDB->quote($this->getId());
                $this->ilias->db->query($q);
        }

Here is the call graph for this function:

ilObjUser::replacePassword ( new_md5  ) 

replaces password with new md5 hash

Parameters:
string new password as md5
Returns:
boolean true on success; otherwise false public

Definition at line 787 of file class.ilObjUser.php.

        {
                global $ilDB;

                $this->passwd_type = IL_PASSWD_MD5;
                $this->passwd = $new_md5;

                $q = "UPDATE usr_data SET ".
                         "passwd= ".$ilDB->quote($this->passwd)." ".
                         "WHERE usr_id= ".$ilDB->quote($this->id);

                $this->ilias->db->query($q);

                return true;
        }

ilObjUser::resetPassword ( a_new1,
a_new2 
)

reset password

Parameters:
string new password1 as plaintext
string new password2 as plaintext
Returns:
boolean true on success; otherwise false public

Definition at line 880 of file class.ilObjUser.php.

        {
                global $ilDB;

                if (func_num_args() != 2)
                {
                        return false;
                }

                if (!isset($a_new1) or !isset($a_new2))
                {
                        return false;
                }

                if ($a_new1 != $a_new2)
                {
                        return false;
                }

                //update password
                $this->passwd = md5($a_new1);
                $this->passwd_type = IL_PASSWD_MD5;

                $q = "UPDATE usr_data SET ".
                         "passwd= ".$ilDB->quote($this->passwd)." ".
                         "WHERE usr_id= ".$ilDB->quote($this->id);
                $this->ilias->db->query($q);

                return true;
        }

ilObjUser::saveAsNew ( a_from_formular = true  ) 

TODO: drop fields last_update & create_date.

redundant data in object_data! saves a new record "user" to database public

Parameters:
boolean user data from formular (addSlashes) or not (prepareDBString)

Definition at line 356 of file class.ilObjUser.php.

References $ilErr, addUserDefinedFieldEntry(), getAuthMode(), getExternalAccount(), getProfileIncomplete(), getTimeLimitFrom(), getTimeLimitOwner(), getTimeLimitUnlimited(), getTimeLimitUntil(), login(), and updateUserDefinedFields().

        {
                global $ilErr, $ilDB;

                switch ($this->passwd_type)
                {
                        case IL_PASSWD_PLAIN:
                                $pw_field = "passwd";
                                if(strlen($this->passwd))
                                {
                                        $pw_value = md5($this->passwd); 
                                }
                                else
                                {
                                        $pw_value = $this->passwd;
                                }
                                break;

                        case IL_PASSWD_MD5:
                                $pw_field = "passwd";
                                $pw_value = $this->passwd;
                                break;

                        case IL_PASSWD_CRYPT:
                                $pw_field = "i2passwd";
                                $pw_value = $this->passwd;
                                break;

                        default :
                                 $ilErr->raiseError("<b>Error: passwd_type missing in function saveAsNew. ".
                                                                        $this->id."!</b><br />class: ".get_class($this)."<br />Script: ".__FILE__.
                                                                        "<br />Line: ".__LINE__, $ilErr->FATAL);
                }

                if ($a_from_formular)
                {
            $q = "INSERT INTO usr_data "
                . "(usr_id,login,".$pw_field.",firstname,lastname,title,gender,"
                . "email,hobby,institution,department,street,city,zipcode,country,"
                . "phone_office,phone_home,phone_mobile,fax,last_login,last_update,create_date,"
                . "referral_comment,matriculation,client_ip, approve_date,active,"
                . "time_limit_unlimited,time_limit_until,time_limit_from,time_limit_owner,auth_mode,ext_account,profile_incomplete,"
                . "im_icq,im_yahoo,im_msn,im_aim,im_skype,delicious,latitude,longitude,loc_zoom) "
                . "VALUES "
                . "(".
                                $ilDB->quote($this->id).",".
                                $ilDB->quote($this->login).",".
                                $ilDB->quote($pw_value).",".
                $ilDB->quote($this->firstname).",".
                                $ilDB->quote($this->lastname).",".
                $ilDB->quote($this->utitle).",".
                                $ilDB->quote($this->gender).",".
                $ilDB->quote($this->email).",".
                                $ilDB->quote($this->hobby).",".
                $ilDB->quote($this->institution).",".
                                $ilDB->quote($this->department).",".
                $ilDB->quote($this->street).",".
                $ilDB->quote($this->city).",".
                                $ilDB->quote($this->zipcode).",".
                                $ilDB->quote($this->country).",".
                $ilDB->quote($this->phone_office).",".
                                $ilDB->quote($this->phone_home).",".
                $ilDB->quote($this->phone_mobile).",".
                                $ilDB->quote($this->fax).", 0, now(), now(),".
                $ilDB->quote($this->referral_comment).",".
                                $ilDB->quote($this->matriculation).",".
                                $ilDB->quote($this->client_ip).",".
                                $ilDB->quote($this->approve_date).",".
                                $ilDB->quote($this->active).",".
                $ilDB->quote($this->getTimeLimitUnlimited()).",".
                                $ilDB->quote($this->getTimeLimitUntil()).",".
                                $ilDB->quote($this->getTimeLimitFrom()).",".
                                $ilDB->quote($this->getTimeLimitOwner()).",".
                $ilDB->quote($this->getAuthMode()).",".
                                $ilDB->quote($this->getExternalAccount()).",".
                                $ilDB->quote($this->getProfileIncomplete()).",".
                                $ilDB->quote($this->im_icq).",".
                                $ilDB->quote($this->im_yahoo).",".
                                $ilDB->quote($this->im_msn).",".
                                $ilDB->quote($this->im_aim).",".
                                $ilDB->quote($this->im_skype).",".
                                $ilDB->quote($this->delicious).",".
                                $ilDB->quote($this->latitude).",".
                                $ilDB->quote($this->longitude).",".
                                $ilDB->quote($this->loc_zoom).
                                ")";
                }
                else
                {
            $q = "INSERT INTO usr_data ".
                "(usr_id,login,".$pw_field.",firstname,lastname,title,gender,"
                . "email,hobby,institution,department,street,city,zipcode,country,"
                . "phone_office,phone_home,phone_mobile,fax,last_login,last_update,create_date,"
                . "referral_comment,matriculation,client_ip, approve_date,active,"
                . "time_limit_unlimited,time_limit_until,time_limit_from,time_limit_owner,auth_mode,ext_account,profile_incomplete,"
                . "im_icq,im_yahoo,im_msn,im_aim,im_skype,delicious,latitude,longitude,loc_zoom) "
                . "VALUES "
                ."(".
                                $ilDB->quote($this->id).",".
                                $ilDB->quote($this->login).",".
                                $ilDB->quote($pw_value).",".
                $ilDB->quote($this->firstname).",".
                                $ilDB->quote($this->lastname).",".
                $ilDB->quote($this->utitle).",".
                                $ilDB->quote($this->gender).",".
                $ilDB->quote($this->email).",".
                                $ilDB->quote($this->hobby).",".
                $ilDB->quote($this->institution).",".
                                $ilDB->quote($this->department).",".
                $ilDB->quote($this->street).",".
                $ilDB->quote($this->city).",".
                                $ilDB->quote($this->zipcode).",".
                                $ilDB->quote($this->country).",".
                $ilDB->quote($this->phone_office).",".
                                $ilDB->quote($this->phone_home).",".
                $ilDB->quote($this->phone_mobile).",".
                                $ilDB->quote($this->fax).", 0, now(), now(),".
                $ilDB->quote($this->referral_comment).",".
                                $ilDB->quote($this->matriculation).",".
                                $ilDB->quote($this->client_ip).",".
                                $ilDB->quote($this->approve_date).",".
                                $ilDB->quote($this->active).",".
                $ilDB->quote($this->getTimeLimitUnlimited()).",".
                                $ilDB->quote($this->getTimeLimitUntil()).",".
                                $ilDB->quote($this->getTimeLimitFrom()).",".
                                $ilDB->quote($this->getTimeLimitOwner()).",".
                                $ilDB->quote($this->getAuthMode()).",".
                                $ilDB->quote($this->getExternalAccount()).",".
                                $ilDB->quote($this->getProfileIncomplete()).",".
                                $ilDB->quote($this->im_icq).",".
                                $ilDB->quote($this->im_yahoo).",".
                                $ilDB->quote($this->im_msn).",".
                                $ilDB->quote($this->im_aim).",".
                                $ilDB->quote($this->im_skype).",".
                                $ilDB->quote($this->delicious).",".
                                $ilDB->quote($this->latitude).",".
                                $ilDB->quote($this->longitude).",".
                                $ilDB->quote($this->loc_zoom).
                                ")";
                }

                $this->ilias->db->query($q);

                // add new entry in usr_defined_data
                $this->addUserDefinedFieldEntry();
                // ... and update
                $this->updateUserDefinedFields();

                // CREATE ENTRIES FOR MAIL BOX
                include_once ("Services/Mail/classes/class.ilMailbox.php");
                $mbox = new ilMailbox($this->id);
                $mbox->createDefaultFolder();

                include_once "Services/Mail/classes/class.ilMailOptions.php";
                $mail_options = new ilMailOptions($this->id);
                $mail_options->createMailOptionsEntry();

                // create personal bookmark folder tree
                include_once "./Services/PersonalDesktop/classes/class.ilBookmarkFolder.php";
                $bmf = new ilBookmarkFolder(0, $this->id);
                $bmf->createNewBookmarkTree();

        }

Here is the call graph for this function:

ilObjUser::searchUsers ( a_search_str,
active = 1,
a_return_ids_only = false,
filter_settings = FALSE 
) [static]

STATIC METHOD get the user_ids which correspond a search string.

Parameters:
string search string
boolean $active Search only for active users
boolean $a_return_ids_only Return only an array of user id's instead of id, login, name, active status
mixed $filter_settings Filter settings of the user administration view public

Definition at line 2377 of file class.ilObjUser.php.

References $_SESSION, $active, $ilias, $ilLog, ilObject::$ref_id, and $res.

Referenced by ilAdminUserSearchGUI::performSearchSimple(), and ilObjUserFolderGUI::searchUserObject().

        {
                // NO CLASS VARIABLES IN STATIC METHODS
                global $ilias, $ilDB;
                
                $active_filter = "";
                $time_limit_filter = "";
                $join_filter = " WHERE ";
                $last_login_filter = "";
                $without_anonymous_users = "AND usr_data.usr_id != ".$ilDB->quote(ANONYMOUS_USER_ID);
                if (is_numeric($active) && $active > -1 && $filter_settings === FALSE) $active_filter = " AND active = ".$ilDB->quote($active);
                global $ilLog; $ilLog->write("active = $active, filter settings = $filter_settings, active_filter = $active_filter");

                
                if ($filter_settings !== FALSE && strlen($filter_settings))
                {
                        switch ($filter_settings)
                        {
                                case -1:
                                        $active_filter = "";
                                        // show all users
                                        break;
                                case 0:
                                        $active_filter = " AND usr_data.active = " . $ilDB->quote("0");
                                        // show only inactive users
                                        break;
                                case 1:
                                        $active_filter = " AND usr_data.active = " . $ilDB->quote("1");
                                        // show only active users
                                        break;
                                case 2:
                                        $time_limit_filter = " AND usr_data.time_limit_unlimited = " . $ilDB->quote("0");
                                        // show only users with limited access
                                        break;
                                case 3:
                                        // show only users without courses
                                        $join_filter = " LEFT JOIN crs_members ON usr_data.usr_id = crs_members.usr_id WHERE crs_members.usr_id IS NULL AND ";
                                        break;
                                case 4:
                                        $date = strftime("%Y-%m-%d %H:%I:%S", mktime(0, 0, 0, $_SESSION["user_filter_data"]["m"], $_SESSION["user_filter_data"]["d"], $_SESSION["user_filter_data"]["y"]));
                                        $last_login_filter = sprintf(" AND last_login < %s", $ilDB->quote($date));
                                        break;
                                case 5:
                                        // show only users with a certain course membership
                                        $ref_id = $_SESSION["user_filter_data"];
                                        if ($ref_id)
                                        {
                                                $join_filter = " LEFT JOIN crs_members ON usr_data.usr_id = crs_members.usr_id WHERE crs_members.obj_id = (SELECT obj_id FROM object_reference WHERE ref_id = " .
                                                        $ilDB->quote($ref_id) . ") AND ";
                                        }
                                        break;
                                case 6:
                                        global $rbacreview;
                                        $ref_id = $_SESSION["user_filter_data"];
                                        if ($ref_id)
                                        {
                                                $rolf = $rbacreview->getRoleFolderOfObject($ref_id);
                                                $local_roles = $rbacreview->getRolesOfRoleFolder($rolf["ref_id"],false);
                                                if (is_array($local_roles) && count($local_roles))
                                                {
                                                        $role_ids = join("','", $local_roles);
                                                        $join_filter = " LEFT JOIN rbac_ua ON usr_data.usr_id = rbac_ua.usr_id WHERE rbac_ua.rol_id IN ('" . $role_ids . "') AND ";
                                                }
                                        }
                                        break;
                                case 7:
                                        global $rbacreview;
                                        $rol_id = $_SESSION["user_filter_data"];
                                        if ($rol_id)
                                        {
                                                $join_filter = sprintf(" LEFT JOIN rbac_ua ON usr_data.usr_id = rbac_ua.usr_id WHERE rbac_ua.rol_id = %s AND ", $ilDB->quote($rol_id));
                                                $without_anonymous_users = "";
                                        }
                                        break;
                        }
                }
                // This is a temporary hack to search users by their role
                // See Mantis #338. This is a hack due to Mantis #337.
                if (strtolower(substr($a_search_str, 0, 5)) == "role:")
                {
                        $query = "SELECT DISTINCT usr_data.usr_id,usr_data.login,usr_data.firstname,usr_data.lastname,usr_data.email ".
                                "FROM object_data,rbac_ua,usr_data ".
                                "WHERE object_data.title LIKE ".$ilDB->quote("%".substr($a_search_str,5)."%").
                                " and object_data.type = 'role' ".
                                "and rbac_ua.rol_id = object_data.obj_id ".
                                "and usr_data.usr_id = rbac_ua.usr_id ".
                                "AND rbac_ua.usr_id != ".$ilDB->quote(ANONYMOUS_USER_ID);
                }
                else
                {
                        $query = "SELECT usr_data.usr_id, usr_data.login, usr_data.firstname, usr_data.lastname, usr_data.email, usr_data.active FROM usr_data ".
                                $join_filter .
                                "(usr_data.login LIKE ".$ilDB->quote("%".$a_search_str."%")." ".
                                "OR usr_data.firstname LIKE ".$ilDB->quote("%".$a_search_str."%")." ".
                                "OR usr_data.lastname LIKE ".$ilDB->quote("%".$a_search_str."%")." ".
                                "OR usr_data.email LIKE ".$ilDB->quote("%".$a_search_str."%").") ".
                                $without_anonymous_users .
                                $active_filter . $time_limit_filter . $last_login_filter;
                }
                $ilLog->write($query);
                $res = $ilias->db->query($query);
                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        $users[] = array(
                                "usr_id"    => $row->usr_id,
                                "login"     => $row->login,
                                "firstname" => $row->firstname,
                                "lastname"  => $row->lastname,
                                "email"     => $row->email,
                                "active"    => $row->active);
                        $ids[] = $row->usr_id;
                }
                if ($a_return_ids_only)
                        return $ids ? $ids : array();
                else
                        return $users ? $users : array();
        }

Here is the caller graph for this function:

ilObjUser::setActive ( a_active,
a_owner = 6 
)

set user active state and updates system fields appropriately public

Parameters:
string $a_active the active state of the user account
string $a_owner the id of the person who approved the account, defaults to 6 (root)

Definition at line 1985 of file class.ilObjUser.php.

References setApproveDate(), and ilObject::setOwner().

Referenced by syncActive().

    {
        if (empty($a_owner))
        {
            $a_owner = 0;
        }

        if ($a_active)
        {
            $this->active = 1;
            $this->setApproveDate(date('Y-m-d H:i:s'));
            $this->setOwner($a_owner);
        }
        else
        {
            $this->active = 0;
            $this->setApproveDate('0000-00-00 00:00:00');
            $this->setOwner(0);
        }
    }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::setApproveDate ( a_str  ) 

set date the user account was activated 0000-00-00 00:00:00 indicates that the user has not yet been activated public

Returns:
string date of last update

Definition at line 1964 of file class.ilObjUser.php.

Referenced by setActive().

    {
        $this->approve_date = $a_str;
    }

Here is the caller graph for this function:

ilObjUser::setAuthMode ( a_str  ) 

set auth mode public

Definition at line 3266 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->auth_mode = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setCity ( a_str  ) 

set city public

Parameters:
string city

Definition at line 1617 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->city = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setClientIP ( a_str  ) 

set client ip number public

Parameters:
string client ip

Definition at line 1750 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->client_ip = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setComment ( a_str  ) 

set referral comment public

Parameters:
string hobby

Definition at line 1944 of file class.ilObjUser.php.

Referenced by assignData().

    {
        $this->referral_comment = $a_str;
    }

Here is the caller graph for this function:

ilObjUser::setCountry ( a_str  ) 

set country public

Parameters:
string country

Definition at line 1655 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->country = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setDelicious ( a_delicious  ) 

Definition at line 3796 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->delicious = $a_delicious;
        }

Here is the caller graph for this function:

ilObjUser::setDepartment ( a_str  ) 

set department public

Parameters:
string department

Definition at line 1579 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->department = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setDesktopItemParameters ( a_item_id,
a_type,
a_par 
)

set parameters of a desktop item entry

Parameters:
int $a_item_id ref_id for objects, that are in the main tree (learning modules, forums) obj_id for others
string $a_type object type
string $a_par parameters

Definition at line 2939 of file class.ilObjUser.php.

References ilObject::getId().

        {
                global $ilDB;

                $q = "UPDATE desktop_item SET parameters = ".$ilDB->quote($a_par)." ".
                        " WHERE item_id = ".$ilDB->quote($a_item_id)." AND type = ".
                        $ilDB->quote($a_type)." ".
                        " AND user_id = ".$ilDB->quote($this->getId())." ";
                $this->ilias->db->query($q);
        }

Here is the call graph for this function:

ilObjUser::setEmail ( a_str  ) 

set email public

Parameters:
string email address

Definition at line 1788 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->email = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setExternalAccount ( a_str  ) 

set external account

note: 3.7.0 uses this field only for cas and soap authentication.

public

Definition at line 3293 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->ext_account = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setFax ( a_str  ) 

set fax public

Parameters:
string fax

Definition at line 1731 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->fax = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setFirstname ( a_str  ) 

set firstname public

Parameters:
string firstname

Definition at line 1522 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->firstname = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setFullname ( a_title = "",
a_firstname = "",
a_lastname = "" 
)

builds a string with title + firstname + lastname method is used to build fullname in member variable $this->fullname.

But you may use the function in static manner. static

Parameters:
string title (opt.)
string firstname (opt.)
string lastname (opt.)

Definition at line 1253 of file class.ilObjUser.php.

References $fullname.

Referenced by assignData().

        {
                $this->fullname = "";

                if ($a_title)
                {
                        $fullname = $a_title." ";
                }
                elseif ($this->utitle)
                {
                        $this->fullname = $this->utitle." ";
                }

                if ($a_firstname)
                {
                        $fullname .= $a_firstname." ";
                }
                elseif ($this->firstname)
                {
                        $this->fullname .= $this->firstname." ";
                }

                if ($a_lastname)
                {
                        return $fullname.$a_lastname;
                }

                $this->fullname .= $this->lastname;
        }

Here is the caller graph for this function:

ilObjUser::setGender ( a_str  ) 

set gender public

Parameters:
string gender

Definition at line 1480 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->gender = substr($a_str,-1);
        }

Here is the caller graph for this function:

ilObjUser::setHobby ( a_str  ) 

set hobby public

Parameters:
string hobby

Definition at line 1807 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->hobby = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setInstantMessengerId ( a_im_type,
a_im_id 
)

Definition at line 3784 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $var = "im_".$a_im_type;
                $this->$var = $a_im_id;
        }

Here is the caller graph for this function:

ilObjUser::setInstitution ( a_str  ) 

set institution public

Parameters:
string institution

Definition at line 1560 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->institution = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setLanguage ( a_str  ) 

set user language public

Parameters:
string lang_key (i.e. de,en,fr,...)

Definition at line 1826 of file class.ilObjUser.php.

References $_SESSION, and setPref().

        {
                $this->setPref("language",$a_str);
                unset($_SESSION['lang']);
        }

Here is the call graph for this function:

ilObjUser::setLastLogin ( a_str  ) 

set user's last login public

Parameters:
string login date

Definition at line 1910 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->last_login = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setLastname ( a_str  ) 

set lastame public

Parameters:
string lastname

Definition at line 1541 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->lastname = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setLastUpdate ( a_str  ) 

set last update of user data set public

Parameters:
string date

Definition at line 1930 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->last_update = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setLatitude ( a_latitude  ) 

Set Latitude.

Parameters:
string $a_latitude Latitude

Definition at line 2141 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->latitude = $a_latitude;
        }

Here is the caller graph for this function:

ilObjUser::setLocationZoom ( a_locationzoom  ) 

Set Location Zoom.

Parameters:
int $a_locationzoom Location Zoom

Definition at line 2181 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->loc_zoom = $a_locationzoom;
        }

Here is the caller graph for this function:

ilObjUser::setLogin ( a_str  ) 

set login / username public

Parameters:
string username

Definition at line 1428 of file class.ilObjUser.php.

References login().

Referenced by assignData().

        {
                $this->login = $a_str;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::setLongitude ( a_longitude  ) 

Set Longitude.

Parameters:
string $a_longitude Longitude

Definition at line 2161 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->longitude = $a_longitude;
        }

Here is the caller graph for this function:

ilObjUser::setMatriculation ( a_str  ) 

set matriculation number public

Parameters:
string matriculation number

Definition at line 1769 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->matriculation = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setPasswd ( a_str,
a_type = IL_PASSWD_PLAIN 
)

set password public

Parameters:
string passwd

Definition at line 1447 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->passwd = $a_str;
                $this->passwd_type = $a_type;
        }

Here is the caller graph for this function:

ilObjUser::setPhoneHome ( a_str  ) 

set home phone public

Parameters:
string home phone

Definition at line 1693 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->phone_home = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setPhoneMobile ( a_str  ) 

set mobile phone public

Parameters:
string mobile phone

Definition at line 1712 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->phone_mobile = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setPhoneOffice ( a_str  ) 

set office phone public

Parameters:
string office phone

Definition at line 1674 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->phone_office = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setPref ( a_keyword,
a_value 
)

set a user preference

Parameters:
string name of parameter
string value public

Definition at line 1078 of file class.ilObjUser.php.

Referenced by setLanguage(), and writePref().

        {
                if ($a_keyword != "")
                {
                        $this->prefs[$a_keyword] = $a_value;
                }
        }

Here is the caller graph for this function:

ilObjUser::setProfileIncomplete ( a_prof_inc  ) 

Definition at line 2126 of file class.ilObjUser.php.

Referenced by assignData().

    {
        $this->profile_incomplete = (boolean) $a_prof_inc;
    }

Here is the caller graph for this function:

ilObjUser::setSkin ( a_str  ) 

set user skin (template set) public

Parameters:
string directory name of template set

Definition at line 2066 of file class.ilObjUser.php.

        {
                // TODO: exception handling (dir exists)
                $this->skin = $a_str;
        }

ilObjUser::setStreet ( a_str  ) 

set street public

Parameters:
string street

Definition at line 1598 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->street = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setTimeLimitFrom ( a_from  ) 

Definition at line 2080 of file class.ilObjUser.php.

Referenced by assignData().

    {
        $this->time_limit_from = $a_from;
    }

Here is the caller graph for this function:

ilObjUser::setTimeLimitMessage ( a_time_limit_message  ) 

Definition at line 2104 of file class.ilObjUser.php.

Referenced by assignData().

        {
                return $this->time_limit_message = $a_time_limit_message;
        }

Here is the caller graph for this function:

ilObjUser::setTimeLimitOwner ( a_owner  ) 

Definition at line 2072 of file class.ilObjUser.php.

Referenced by assignData().

    {
        $this->time_limit_owner = $a_owner;
    }

Here is the caller graph for this function:

ilObjUser::setTimeLimitUnlimited ( a_unlimited  ) 

Definition at line 2096 of file class.ilObjUser.php.

Referenced by assignData().

    {
        $this->time_limit_unlimited = $a_unlimited;
    }

Here is the caller graph for this function:

ilObjUser::setTimeLimitUntil ( a_until  ) 

Definition at line 2088 of file class.ilObjUser.php.

Referenced by assignData().

    {
        $this->time_limit_until = $a_until;
    }

Here is the caller graph for this function:

ilObjUser::setUserDefinedData ( a_data  ) 

Definition at line 3577 of file class.ilObjUser.php.

References $data.

        {
                if(!is_array($a_data))
                {
                        return false;
                }
                foreach($a_data as $field => $data)
                {
                        #$new_data[$field] = ilUtil::stripSlashes($data);
                        // Assign it directly to avoid update problems of unchangable fields 
                        $this->user_defined_data[$field] = $data;
                }
                #$this->user_defined_data = $new_data;

                return true;
        }

ilObjUser::setUTitle ( a_str  ) 

set user title (note: don't mix up this method with setTitle() that is derived from ilObject and sets the user object's title) public

Parameters:
string title

Definition at line 1501 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->utitle = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::setZipcode ( a_str  ) 

set zipcode public

Parameters:
string zipcode

Definition at line 1636 of file class.ilObjUser.php.

Referenced by assignData().

        {
                $this->zipcode = $a_str;
        }

Here is the caller graph for this function:

ilObjUser::syncActive (  ) 

synchronizes current and stored user active values for the owner value to be set correctly, this function should only be called when an admin is approving a user account public

Definition at line 2020 of file class.ilObjUser.php.

References $ilAuth, getStoredActive(), getUserIdByLogin(), and setActive().

Referenced by update().

    {
        global $ilAuth;
        
        $storedActive   = 0;
        if ($this->getStoredActive($this->id))
        {
            $storedActive   = 1;
        }

        $currentActive  = 0;
        if ($this->active)
        {
            $currentActive  = 1;
        }

        if ((!empty($storedActive) && empty($currentActive)) ||
                (empty($storedActive) && !empty($currentActive)))
        {
            $this->setActive($currentActive, $this->getUserIdByLogin($ilAuth->getUsername()));
        }
    }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::update (  ) 

updates a record "user" and write it into database public

Reimplemented from ilObject.

Definition at line 524 of file class.ilObjUser.php.

References $ilErr, getAuthMode(), getDelicious(), getExternalAccount(), getInstantMessengerId(), getLatitude(), getLocationZoom(), getLongitude(), getProfileIncomplete(), getTimeLimitFrom(), getTimeLimitMessage(), getTimeLimitOwner(), getTimeLimitUnlimited(), getTimeLimitUntil(), read(), syncActive(), ilObject::updateOwner(), updateUserDefinedFields(), and writePrefs().

        {
                global $ilErr, $ilDB;

                //$this->id = $this->data["Id"];

        $this->syncActive();

                $pw_udpate = '';
                switch ($this->passwd_type)
                {
                        case IL_PASSWD_PLAIN:
                                if(strlen($this->passwd))
                                {
                                        $pw_update = "i2passwd='', passwd='".md5($this->passwd)."'";
                                }
                                else
                                {
                                        $pw_update = "i2passwd='', passwd='".$this->passwd."'";
                                }
                                break;

                        case IL_PASSWD_MD5:
                                $pw_update = "i2passwd='', passwd='".$this->passwd."'";
                                break;

                        case IL_PASSWD_CRYPT:
                                $pw_update = "passwd='', i2passwd='".$this->passwd."'";
                                break;

                        default :
                                $ilErr->raiseError("<b>Error: passwd_type missing in function update()".$this->id."!</b><br />class: ".
                                                                   get_class($this)."<br />Script: ".__FILE__."<br />Line: ".__LINE__, $ilErr->FATAL);
                }
                $q = "UPDATE usr_data SET ".
            "gender = ".$ilDB->quote($this->gender).",".
            "title= ".$ilDB->quote($this->utitle).",".
            "firstname= ".$ilDB->quote($this->firstname).",".
            "lastname= ".$ilDB->quote($this->lastname).",".
            "email= ".$ilDB->quote($this->email).",".
            "hobby= ".$ilDB->quote($this->hobby).",".
            "institution= ".$ilDB->quote($this->institution).",".
            "department= ".$ilDB->quote($this->department).",".
            "street= ".$ilDB->quote($this->street).",".
            "city= ".$ilDB->quote($this->city).",".
            "zipcode= ".$ilDB->quote($this->zipcode).",".
            "country= ".$ilDB->quote($this->country).",".
            "phone_office= ".$ilDB->quote($this->phone_office).",".
            "phone_home= ".$ilDB->quote($this->phone_home).",".
            "phone_mobile= ".$ilDB->quote($this->phone_mobile).",".
            "fax= ".$ilDB->quote($this->fax).",".
            "referral_comment= ".$ilDB->quote($this->referral_comment).",".
            "matriculation= ".$ilDB->quote($this->matriculation).",".
            "client_ip= ".$ilDB->quote($this->client_ip).",".
            "approve_date= ".$ilDB->quote($this->approve_date).",".
            "active= ".$ilDB->quote($this->active).",".
            "time_limit_owner= ".$ilDB->quote($this->getTimeLimitOwner()).",".
            "time_limit_unlimited= ".$ilDB->quote($this->getTimeLimitUnlimited()).",".
            "time_limit_from= ".$ilDB->quote($this->getTimeLimitFrom()).",".
            "time_limit_until= ".$ilDB->quote($this->getTimeLimitUntil()).",".
            "time_limit_message= ".$ilDB->quote($this->getTimeLimitMessage()).",".
                        "profile_incomplete = ".$ilDB->quote($this->getProfileIncomplete()).",".
            "auth_mode= ".$ilDB->quote($this->getAuthMode()).", ".
                        "ext_account= ".$ilDB->quote($this->getExternalAccount()).",".
                        $pw_update.", ".
                        "im_icq= ".$ilDB->quote($this->getInstantMessengerId('icq')).",".
                        "im_yahoo= ".$ilDB->quote($this->getInstantMessengerId('yahoo')).",".
                        "im_msn= ".$ilDB->quote($this->getInstantMessengerId('msn')).",".
                        "im_aim= ".$ilDB->quote($this->getInstantMessengerId('aim')).",".
                        "im_skype= ".$ilDB->quote($this->getInstantMessengerId('skype')).",".
                        "delicious= ".$ilDB->quote($this->getDelicious()).",".
                        "latitude= ".$ilDB->quote($this->getLatitude()).",".
                        "longitude= ".$ilDB->quote($this->getLongitude()).",".
                        "loc_zoom= ".$ilDB->quote($this->getLocationZoom()).",".
            "last_update=now()".
                //      "ilinc_id= ".$ilDB->quote($this->ilinc_id).",".
                //      "ilinc_login= ".$ilDB->quote($this->ilinc_login).",".
                //      "ilinc_passwd= ".$ilDB->quote($this->ilinc_passwd)." ".
            "WHERE usr_id= ".$ilDB->quote($this->id);

                $this->ilias->db->query($q);
                $this->writePrefs();

                // update user defined fields
                $this->updateUserDefinedFields();


                parent::update();
        parent::updateOwner();

                $this->read();

                return true;
        }

Here is the call graph for this function:

ilObjUser::updateLogin ( a_login  ) 

update login name

Parameters:
string new login
Returns:
boolean true on success; otherwise false public

Definition at line 970 of file class.ilObjUser.php.

References login().

        {
                global $ilDB;

                if (func_num_args() != 1)
                {
                        return false;
                }

                if (!isset($a_login))
                {
                        return false;
                }

                //update login
                $this->login = $a_login;

                $q = "UPDATE usr_data SET ".
                         "login= ".$ilDB->quote($this->login)." ".
                         "WHERE usr_id= ".$ilDB->quote($this->id);
                $this->ilias->db->query($q);

                return true;
        }

Here is the call graph for this function:

ilObjUser::updatePassword ( a_old,
a_new1,
a_new2 
)

updates password

Parameters:
string old password as plaintext
string new password1 as plaintext
string new password2 as plaintext
Returns:
boolean true on success; otherwise false public

Definition at line 811 of file class.ilObjUser.php.

References _makeIlias2Password().

        {
                global $ilDB;

                if (func_num_args() != 3)
                {
                        return false;
                }

                if (!isset($a_old) or !isset($a_new1) or !isset($a_new2))
                {
                        return false;
                }

                if ($a_new1 != $a_new2)
                {
                        return false;
                }

                // is catched by isset() ???
                if ($a_new1 == "" || $a_old == "")
                {
                        return false;
                }

                //check old password
                switch ($this->passwd_type)
                {
                        case IL_PASSWD_PLAIN:
                                if ($a_old != $this->passwd)
                                {
                                        return false;
                                }
                                break;

                        case IL_PASSWD_MD5:
                                if (md5($a_old) != $this->passwd)
                                {
                                        return false;
                                }
                                break;

                        case IL_PASSWD_CRYPT:
                                if (_makeIlias2Password($a_old) != $this->passwd)
                                {
                                        return false;
                                }
                                break;
                }

                //update password
                $this->passwd = md5($a_new1);
                $this->passwd_type = IL_PASSWD_MD5;

                $q = "UPDATE usr_data SET ".
                         "passwd= ".$ilDB->quote($this->passwd)." ".
                         "WHERE usr_id= ".$ilDB->quote($this->id)." ";
                $this->ilias->db->query($q);

                return true;
        }

Here is the call graph for this function:

ilObjUser::updateUserDefinedFields (  ) 

Definition at line 3599 of file class.ilObjUser.php.

References ilObject::getId().

Referenced by saveAsNew(), and update().

        {
                global $ilDB;

                $fields = '';

                foreach($this->user_defined_data as $field => $value)
                {
                        if($field != 'usr_id')
                        {
                                $fields .= ("`".$field."` = ".$ilDB->quote($value).", ");
                        }
                }

                $query = "REPLACE INTO usr_defined_data ".
                        "SET ".$fields." ".
                        "usr_id = ".$ilDB->quote($this->getId());

                $this->db->query($query);
                return true;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjUser::writeAccepted (  ) 

write accept date of user agreement to db

Definition at line 622 of file class.ilObjUser.php.

References ilObject::getId().

        {
                global $ilDB;

                $q = "UPDATE usr_data SET agree_date = now()".
                         "WHERE usr_id = ".$ilDB->quote($this->getId());
                $ilDB->query($q);

        }

Here is the call graph for this function:

ilObjUser::writePref ( a_keyword,
a_value 
)

write userpref to user table private

Parameters:
string keyword
string value

Definition at line 1001 of file class.ilObjUser.php.

References _writePref(), and setPref().

        {
                ilObjUser::_writePref($this->id, $a_keyword, $a_value);
                $this->setPref($a_keyword, $a_value);
        }

Here is the call graph for this function:

ilObjUser::writePrefs (  ) 

write all userprefs private

Definition at line 1051 of file class.ilObjUser.php.

Referenced by update().

        {
                global $ilDB;

                //DELETE
                $q = "DELETE FROM usr_pref ".
                         "WHERE usr_id= ".$ilDB->quote($this->id);
                $this->ilias->db->query($q);

                foreach ($this->prefs as $keyword => $value)
                {
                        //INSERT
                        $q = "INSERT INTO usr_pref ".
                                 "(usr_id, keyword, value) ".
                                 "VALUES ".
                                 "(".$ilDB->quote($this->id).",".$ilDB->quote($keyword).",".
                                 $ilDB->quote($value).")";
                        $this->ilias->db->query($q);
                }
        }

Here is the caller graph for this function:


Field Documentation

ilObjUser::$active
ilObjUser::$approve_date

Definition at line 89 of file class.ilObjUser.php.

ilObjUser::$auth_mode

Definition at line 93 of file class.ilObjUser.php.

ilObjUser::$city

Definition at line 78 of file class.ilObjUser.php.

ilObjUser::$client_ip

Definition at line 92 of file class.ilObjUser.php.

ilObjUser::$country

Definition at line 80 of file class.ilObjUser.php.

ilObjUser::$default_role

Definition at line 128 of file class.ilObjUser.php.

ilObjUser::$delicious

Definition at line 101 of file class.ilObjUser.php.

ilObjUser::$department

Definition at line 76 of file class.ilObjUser.php.

ilObjUser::$email

Definition at line 85 of file class.ilObjUser.php.

ilObjUser::$fax

Definition at line 84 of file class.ilObjUser.php.

ilObjUser::$firstname

Definition at line 70 of file class.ilObjUser.php.

ilObjUser::$fullname

Definition at line 72 of file class.ilObjUser.php.

Referenced by setFullname().

ilObjUser::$gender

Definition at line 68 of file class.ilObjUser.php.

Referenced by getProfileAsString().

ilObjUser::$hobby

Definition at line 86 of file class.ilObjUser.php.

ilObjUser::$ilias
ilObjUser::$im_aim

Definition at line 98 of file class.ilObjUser.php.

ilObjUser::$im_icq

Definition at line 95 of file class.ilObjUser.php.

ilObjUser::$im_msn

Definition at line 97 of file class.ilObjUser.php.

ilObjUser::$im_skype

Definition at line 99 of file class.ilObjUser.php.

ilObjUser::$im_yahoo

Definition at line 96 of file class.ilObjUser.php.

ilObjUser::$institution

Definition at line 75 of file class.ilObjUser.php.

ilObjUser::$lastname

Definition at line 71 of file class.ilObjUser.php.

ilObjUser::$latitude

Definition at line 102 of file class.ilObjUser.php.

ilObjUser::$loc_zoom

Definition at line 104 of file class.ilObjUser.php.

ilObjUser::$login

all user related data in single vars public

Definition at line 48 of file class.ilObjUser.php.

ilObjUser::$longitude

Definition at line 103 of file class.ilObjUser.php.

ilObjUser::$matriculation

Definition at line 87 of file class.ilObjUser.php.

ilObjUser::$passwd

Definition at line 50 of file class.ilObjUser.php.

ilObjUser::$passwd_type

Definition at line 51 of file class.ilObjUser.php.

ilObjUser::$phone_home

Definition at line 82 of file class.ilObjUser.php.

ilObjUser::$phone_mobile

Definition at line 83 of file class.ilObjUser.php.

ilObjUser::$phone_office

Definition at line 81 of file class.ilObjUser.php.

ilObjUser::$prefs

Definition at line 113 of file class.ilObjUser.php.

ilObjUser::$referral_comment

Definition at line 88 of file class.ilObjUser.php.

ilObjUser::$skin

Definition at line 120 of file class.ilObjUser.php.

ilObjUser::$street

Definition at line 77 of file class.ilObjUser.php.

ilObjUser::$user_defined_data = array()

Definition at line 106 of file class.ilObjUser.php.

ilObjUser::$utitle

Definition at line 69 of file class.ilObjUser.php.

ilObjUser::$zipcode

Definition at line 79 of file class.ilObjUser.php.


The documentation for this class was generated from the following file: