ILIAS  release_7 Revision v7.30-3-g800a261c036
ilAwarenessAct Class Reference

High level business class, interface to front ends. More...

+ Collaboration diagram for ilAwarenessAct:

Public Member Functions

 setRefId ($a_val)
 Set ref id. More...
 
 getRefId ()
 Get ref id. More...
 
 getAwarenessData ($a_filter)
 Get awareness data. More...
 
 getAwarenessUserCounter ()
 Get awareness data. More...
 
 notifyOnNewOnlineContacts ()
 Send OSD notification on new users. More...
 

Static Public Member Functions

static getInstance ($a_user_id)
 Get instance (for a user) More...
 

Protected Member Functions

 __construct ($a_user_id)
 Constructor. More...
 

Protected Attributes

 $lng
 
 $user_id
 
 $ref_id = 0
 

Static Protected Attributes

static $instances = array()
 
static $collector
 

Detailed Description

High level business class, interface to front ends.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 12 of file class.ilAwarenessAct.php.

Constructor & Destructor Documentation

◆ __construct()

ilAwarenessAct::__construct (   $a_user_id)
protected

Constructor.

Parameters
int$a_user_iduser ud

Definition at line 29 of file class.ilAwarenessAct.php.

30 {
31 global $DIC;
32
33 $this->lng = $DIC->language();
34 $this->user_id = $a_user_id;
35 }
global $DIC
Definition: goto.php:24

References $DIC.

Member Function Documentation

◆ getAwarenessData()

ilAwarenessAct::getAwarenessData (   $a_filter)

Get awareness data.

Returns
ilAwarenessData awareness data

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

78 {
79 include_once("./Services/Awareness/classes/class.ilAwarenessData.php");
80 $data = ilAwarenessData::getInstance($this->user_id);
81 $data->setRefId($this->getRefId());
82 $data->setFilter($a_filter);
83 return $data->getData();
84 }
static getInstance($a_user_id)
Get instance (for a user)
$data
Definition: storeScorm.php:23

References $data, ilAwarenessData\getInstance(), and getRefId().

+ Here is the call graph for this function:

◆ getAwarenessUserCounter()

ilAwarenessAct::getAwarenessUserCounter ( )

Get awareness data.

Returns
ilAwarenessData awareness data

Definition at line 91 of file class.ilAwarenessAct.php.

92 {
93 include_once("./Services/Awareness/classes/class.ilAwarenessData.php");
94 $data = ilAwarenessData::getInstance($this->user_id);
95 $data->setRefId($this->getRefId());
96 return $data->getUserCounter();
97 }

References $data, ilAwarenessData\getInstance(), and getRefId().

+ Here is the call graph for this function:

◆ getInstance()

static ilAwarenessAct::getInstance (   $a_user_id)
static

Get instance (for a user)

Parameters
int$a_user_iduser id
Returns
ilAwarenessAct actor class

Definition at line 63 of file class.ilAwarenessAct.php.

64 {
65 if (!isset(self::$instances[$a_user_id])) {
66 self::$instances[$a_user_id] = new ilAwarenessAct($a_user_id);
67 }
68
69 return self::$instances[$a_user_id];
70 }
High level business class, interface to front ends.

Referenced by ilAwarenessGUI\getAwarenessList(), ilAwarenessGUI\getMainMenuHTML(), and ilAwarenessMetaBarProvider\getMetaBarItems().

+ Here is the caller graph for this function:

◆ getRefId()

ilAwarenessAct::getRefId ( )

Get ref id.

Returns
int ref id

Definition at line 52 of file class.ilAwarenessAct.php.

53 {
54 return $this->ref_id;
55 }

References $ref_id.

Referenced by getAwarenessData(), getAwarenessUserCounter(), and notifyOnNewOnlineContacts().

+ Here is the caller graph for this function:

◆ notifyOnNewOnlineContacts()

ilAwarenessAct::notifyOnNewOnlineContacts ( )

Send OSD notification on new users.

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

103 {
105 $awrn_set = new ilSetting("awrn");
106 if (!$awrn_set->get("use_osd", true)) {
107 return;
108 }
109 $ts = ilSession::get("awr_online_user_ts");
110
111 $data = ilAwarenessData::getInstance($this->user_id);
112 $data->setRefId($this->getRefId());
113 $d = $data->getOnlineUserData($ts);
114 $new_online_users = array();
115 $no_ids = array();
116 foreach ($d as $u) {
117 $uname = "[" . $u->login . "]";
118 if ($u->public_profile) {
119 $uname = "<a href='./goto.php?target=usr_" . $u->id . "'>" . $u->lastname . ", " . $u->firstname . " " . $uname . "</a>";
120 }
121 if (!in_array($u->id, $no_ids)) {
122 $new_online_users[] = $uname;
123 $no_ids[] = $u->id;
124 }
125 }
126 if (count($new_online_users) == 0) {
127 return;
128 }
129 //var_dump($d); exit;
130 $lng->loadLanguageModule('mail');
131
132 include_once("./Services/Object/classes/class.ilObjectFactory.php");
133 //$recipient = ilObjectFactory::getInstanceByObjId($this->user_id);
134 $bodyParams = array(
135 'online_user_names' => implode("<br />", $new_online_users)
136 );
137 //var_dump($bodyParams); exit;
138 require_once 'Services/Notifications/classes/class.ilNotificationConfig.php';
139 $notification = new ilNotificationConfig('osd_main');
140 $notification->setTitleVar('awareness_now_online', $bodyParams, 'awrn');
141 $notification->setShortDescriptionVar('awareness_now_online_users', $bodyParams, 'awrn');
142 $notification->setLongDescriptionVar('', $bodyParams, '');
143 $notification->setAutoDisable(false);
144 //$notification->setLink();
145 $notification->setIconPath('templates/default/images/icon_usr.svg');
146 $notification->setValidForSeconds(ilNotificationConfig::TTL_SHORT);
147 $notification->setVisibleForSeconds(ilNotificationConfig::DEFAULT_TTS);
148
149 //$notification->setHandlerParam('mail.sender', $sender_id);
150
151 ilSession::set("awr_online_user_ts", date("Y-m-d H:i:s", time()));
152
153 $notification->notifyByUsers(array($this->user_id));
154 }
Describes a notification and provides methods for publishing this notification.
static set($a_var, $a_val)
Set a value.
static get($a_var)
Get a value.
ILIAS Setting Class.
for( $i=6;$i< 13;$i++) for($i=1; $i< 13; $i++) $d
Definition: date.php:296

References $d, $data, $lng, ilNotificationConfig\DEFAULT_TTS, ilSession\get(), ilAwarenessData\getInstance(), getRefId(), ilSession\set(), and ilNotificationConfig\TTL_SHORT.

+ Here is the call graph for this function:

◆ setRefId()

ilAwarenessAct::setRefId (   $a_val)

Set ref id.

Parameters
int$a_valref id

Definition at line 42 of file class.ilAwarenessAct.php.

43 {
44 $this->ref_id = $a_val;
45 }

Field Documentation

◆ $collector

ilAwarenessAct::$collector
staticprotected

Definition at line 22 of file class.ilAwarenessAct.php.

◆ $instances

ilAwarenessAct::$instances = array()
staticprotected

Definition at line 19 of file class.ilAwarenessAct.php.

◆ $lng

ilAwarenessAct::$lng
protected

Definition at line 17 of file class.ilAwarenessAct.php.

Referenced by notifyOnNewOnlineContacts().

◆ $ref_id

ilAwarenessAct::$ref_id = 0
protected

Definition at line 21 of file class.ilAwarenessAct.php.

Referenced by getRefId().

◆ $user_id

ilAwarenessAct::$user_id
protected

Definition at line 20 of file class.ilAwarenessAct.php.


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