4require_once
'Services/Contact/BuddySystem/classes/class.ilBuddySystemRelationRepository.php';
5require_once
'Services/Contact/BuddySystem/classes/class.ilBuddySystemRelationCollection.php';
6require_once
'Services/Contact/BuddySystem/classes/class.ilBuddySystemRelation.php';
7require_once
'Services/Contact/BuddySystem/exceptions/class.ilBuddySystemException.php';
8require_once
'Services/Contact/BuddySystem/exceptions/class.ilBuddySystemRelationStateAlreadyGivenException.php';
9require_once
'Services/Contact/BuddySystem/classes/states/class.ilBuddySystemLinkedRelationState.php';
10require_once
'Services/Contact/BuddySystem/classes/states/class.ilBuddySystemUnlinkedRelationState.php';
11require_once
'Services/Contact/BuddySystem/classes/states/class.ilBuddySystemRequestedRelationState.php';
12require_once
'Services/Contact/BuddySystem/classes/states/class.ilBuddySystemIgnoredRequestRelationState.php';
62 if(isset(self::$instances[$usr_id]))
64 return self::$instances[$usr_id];
67 self::$instances[$usr_id] =
new self($usr_id);
68 return self::$instances[$usr_id];
91 $this->event_handler =
$DIC[
'ilAppEventHandler'];
99 $this->relations_read =
false;
100 $this->relations =
null;
133 if(!$this->relations_read)
136 $this->relations_read =
true;
145 if(
null === $this->relations)
268 throw new InvalidArgumentException(
sprintf(
"Please pass a numeric owner id, given: %s", var_export(
$owner_id, 1)));
290 if(!is_numeric($usr_id))
292 throw new InvalidArgumentException(
sprintf(
"Please pass a numeric owner id, given: %s", var_export($usr_id, 1)));
300 require_once
'Services/Contact/BuddySystem/classes/states/class.ilBuddySystemRelationStateFactory.php';
302 $relation->setIsOwnedByRequest(
true);
304 $relation->setBuddyUserId($usr_id);
305 $relation->setTimestamp(time());
323 require_once
'Services/Contact/BuddySystem/exceptions/class.ilBuddySystemRelationStateAlreadyGivenException.php';
362 require_once
'Services/Contact/BuddySystem/exceptions/class.ilBuddySystemRelationStateAlreadyGivenException.php';
399 require_once
'Services/Contact/BuddySystem/exceptions/class.ilBuddySystemRelationStateAlreadyGivenException.php';
406 $this->event_handler->raise(
428 require_once
'Services/Contact/BuddySystem/exceptions/class.ilBuddySystemRelationStateTransitionException.php';
446 require_once
'Services/Contact/BuddySystem/exceptions/class.ilBuddySystemRelationStateAlreadyGivenException.php';
sprintf('%.4f', $callTime)
An exception for terminatinating execution or to throw for unit testing.
unlink(ilBuddySystemRelation $relation)
getIgnoredRelations()
Gets all ignored relations.
link(ilBuddySystemRelation $relation)
setRelations(ilBuddySystemRelationCollection $relations)
ignore(ilBuddySystemRelation $relation)
getOwnerId()
Returns the user id of the buddy list owner.
getIgnoredRelationsForOwner()
Gets all ignored relations the buddy list owner has to interact with.
getRelationTargetUserId(ilBuddySystemRelation $relation)
setRepository($repository)
getLinkedRelations()
Gets all linked/approved relations.
getRelationByUserId($usr_id)
getRelationUserIds()
Returns an array of all user ids the buddy list owner has a relation with.
static getInstanceByUserId($usr_id)
getIgnoredRelationsByOwner()
Gets all ignored relations the buddy list owner initiated.
getRequestRelationsForOwner()
Gets all requested relations the buddy list owner has to interact with.
static getInstanceByGlobalUser()
request(ilBuddySystemRelation $relation)
reset()
Remove the singleton instance from static array, used for unit tests.
getRequestedRelations()
Gets all requested relations.
destroy()
Removes all buddy system references of the user (persistently)
getRequestRelationsByOwner()
Gets all requested relations the buddy list owner initiated.
Class ilBuddySystemRelationCollection A collection which contains all entries of a buddy list.
Class ilBuddySystemRelationRepository.
Class ilBuddySystemRelation.
static _lookupLogin($a_user_id)
lookup login
static _isAnonymous($usr_id)