Cheetah
ChSpyResponseProfiles.php
Go to the documentation of this file.
1 <?php
2 
8  require_once(CH_DIRECTORY_PATH_CLASSES . 'ChWsbAlerts.php');
9 
11  {
12  var $_oModule;
13 
15  {
16  parent::__construct();
17 
18  $this->_oModule = $oModule;
19  }
20 
21  function response($oAlert)
22  {
23  $iSenderId = $oAlert->iSender;
24 
25  $iRecipientId = $oAlert->iObject;
26  $sRecipientName = getNickName($iRecipientId);
27  $sRecipientLink = getProfileLink($iRecipientId);
28 
29  $iCommentId = 0;
30  $aParams = array();
31  switch($oAlert->sUnit . '_' .$oAlert->sAction ) {
32  case 'profile_join' :
33  $aParams = array(
34  'lang_key' => '_ch_spy_profile_has_joined',
35  'params' => array(
36  'profile_link' => $sRecipientLink,
37  'profile_nick' => $sRecipientName,
38  ),
39  );
40  $iSenderId = $oAlert -> iObject;
41  $iRecipientId = 0;
42  break;
43 
44  case 'profile_edit' :
45  $aParams = array(
46  'lang_key' => '_ch_spy_profile_has_edited',
47  'params' => array(
48  'profile_link' => $sRecipientLink,
49  'profile_nick' => $sRecipientName,
50  ),
51  );
52  $iRecipientId = 0;
53  break;
54 
55  case 'profile_edit_status_message' :
56  $aParams = array(
57  'lang_key' => '_ch_spy_profile_has_edited_status_message',
58  'params' => array(
59  'profile_link' => $sRecipientLink,
60  'profile_nick' => $sRecipientName,
61  ),
62  );
63  $iRecipientId = 0;
64  break;
65 
66  case 'profile_rate' :
67  if($iSenderId == $iRecipientId)
68  break;
69 
70  $aSenderInfo = $this -> _getSenderInfo($iSenderId);
71  $sSenderNickName = $aSenderInfo['NickName'];
72  $sSenderProfileLink = $aSenderInfo['Link'];
73 
74  $aParams = array(
75  'lang_key' => '_ch_spy_profile_has_rated',
76  'params' => array(
77  'sender_p_link' => $sSenderProfileLink,
78  'sender_p_nick' => $sSenderNickName,
79  'recipient_p_link' => $sRecipientLink,
80  'recipient_p_nick' => $sRecipientName,
81  ),
82  );
83  break;
84 
85  case 'profile_delete':
86  $this->_oModule->_oDb->deleteActivityByUser($iRecipientId);
87  break;
88 
89  case 'profile_commentPost' :
90  if($iSenderId == $iRecipientId || !isset($oAlert->aExtras['comment_id']) || (int)$oAlert->aExtras['comment_id'] == 0)
91  break;
92 
93  $iCommentId = (int)$oAlert->aExtras['comment_id'];
94  $aSenderInfo = $this -> _getSenderInfo($iSenderId);
95  $sSenderNickName = $aSenderInfo['NickName'];
96  $sSenderProfileLink = $aSenderInfo['Link'];
97 
98  $aParams = array(
99  'lang_key' => '_ch_spy_profile_has_commented',
100  'params' => array(
101  'sender_p_link' => $sSenderProfileLink,
102  'sender_p_nick' => $sSenderNickName,
103  'recipient_p_link' => $sRecipientLink,
104  'recipient_p_nick' => $sRecipientName,
105  ),
106  );
107  break;
108 
109  case 'profile_commentRemove':
110  if(!isset($oAlert->aExtras['comment_id']) || (int)$oAlert->aExtras['comment_id'] == 0)
111  break;
112 
113  $this->_oModule->_oDb->deleteActivityByObject($oAlert->sUnit, $iRecipientId, (int)$oAlert->aExtras['comment_id']);
114  break;
115 
116  case 'friend_accept':
117  if($iSenderId == $iRecipientId)
118  break;
119 
120  $aSenderInfo = $this -> _getSenderInfo($iSenderId);
121  $sSenderNickName = $aSenderInfo['NickName'];
122  $sSenderProfileLink = $aSenderInfo['Link'];
123 
124  $aParams = array(
125  'lang_key' => '_ch_spy_profile_friend_accept',
126  'params' => array(
127  'sender_p_link' => $sRecipientLink,
128  'sender_p_nick' => $sRecipientName,
129  'recipient_p_link' => $sSenderProfileLink,
130  'recipient_p_nick' => $sSenderNickName,
131  ),
132  );
133  break;
134  }
135 
136  if(empty($aParams))
137  return;
138 
139  // create new activity;
140  $aParams['spy_type'] = 'profiles_activity';
141 
142  $iActivityId = 0;
143  if($iSenderId || (!$iSenderId && $this->_oModule->_oConfig->bTrackGuestsActivites))
144  $iActivityId = $this->_oModule->_oDb->createActivity(
145  $oAlert->sUnit,
146  $oAlert->sAction,
147  $oAlert->iObject,
148  $iCommentId,
149  $iSenderId,
150  $iRecipientId,
151  $aParams
152  );
153 
154  if(!$iActivityId)
155  return;
156 
157  // try to define all profile's friends;
158  $aFriends = getMyFriendsEx($iSenderId);
159  if(empty($aFriends) || !is_array($aFriends))
160  return;
161 
162  // attach activity to friend;
163  foreach($aFriends as $iFriendId => $aItems)
164  $this->_oModule -> _oDb -> attachFriendEvent($iActivityId, $iSenderId, $iFriendId);
165  }
166 
167  function _getSenderInfo($iSenderId)
168  {
169  $sSenderNickName = getNickName($iSenderId);
170  $sSenderLink = $sSenderNickName ? getProfileLink($iSenderId) : 'javascript:void(0)';
171  if(!$sSenderNickName)
172  $sSenderNickName = _t('_Guest');
173 
174  $aRet = array(
175  'NickName' => $sSenderNickName,
176  'Link' => $sSenderLink,
177  );
178 
179  return $aRet;
180  }
181  }
ChSpyResponseProfiles\$_oModule
$_oModule
Definition: ChSpyResponseProfiles.php:12
ChWsbAlertsResponse
Definition: ChWsbAlerts.php:127
$aSenderInfo
$aSenderInfo
Definition: tellfriend.php:34
$oModule
if(! @isAdmin()) $oModule
Definition: admin.php:25
getMyFriendsEx
getMyFriendsEx($iID, $sWhereParam='', $sSortParam='', $sqlLimit='')
Definition: profiles.inc.php:384
ChSpyResponseProfiles\response
response($oAlert)
Definition: ChSpyResponseProfiles.php:21
$oAlert
$oAlert
Definition: embed.php:15
php
getNickName
getNickName( $ID='')
Definition: profiles.inc.php:461
ChSpyResponseProfiles\__construct
__construct($oModule)
Definition: ChSpyResponseProfiles.php:14
_t
_t($key, $arg0="", $arg1="", $arg2="")
Definition: languages.inc.php:509
ChSpyResponseProfiles\_getSenderInfo
_getSenderInfo($iSenderId)
Definition: ChSpyResponseProfiles.php:167
getProfileLink
getProfileLink( $iID, $sLinkAdd='')
Definition: profiles.inc.php:484
ChSpyResponseProfiles
Definition: ChSpyResponseProfiles.php:11
empty
Attr AllowedRel this is empty
Definition: Attr.AllowedRel.txt:7
as
as
Definition: Filter.ExtractStyleBlocks.Escaping.txt:10