/** * add notification records for a given log action * @param array $p * ('object_id', 'object_pid', 'user_id', 'action_type', 'data', 'activity_data_db') * * @return void */ private static function addNotificationRecords($p) { $activityData = Util\toJSONArray($p['activity_data_db']); $users = array(); //backward compatibility if (!empty($activityData['fu'])) { foreach ($activityData['fu'] as $uid) { $users[intval($uid)] = 0; } } if (!empty($activityData['wu'])) { foreach ($activityData['wu'] as $uid) { $users[intval($uid)] = 0; } } //exclude current user from notified users unset($users[User::getId()]); $params = array('object_id' => $p['object_id'], 'action_id' => $p['id'], 'action_type' => $p['action_type'], 'from_user_id' => $p['user_id']); foreach ($users as $uid => $seen) { $params['user_id'] = $uid; $params['seen'] = $seen; DM\Notifications::add($params); } }
/** * add notification records for a given log action * @param array $p * ('object_id', 'object_pid', 'user_id', 'action_type', 'data', 'activity_data_db') * * @return void */ private static function addNotificationRecords($p) { $activityData = Util\toJSONArray($p['activity_data_db']); $users = array(); if (!empty($activityData['fu'])) { foreach ($activityData['fu'] as $uid) { $users[intval($uid)] = 0; // email unsent meaning } } if (!empty($activityData['wu'])) { foreach ($activityData['wu'] as $uid) { $users[intval($uid)] = -1; // email doesnt need to be sent } } //exclude current user from notified users unset($users[User::getId()]); $params = array('object_id' => $p['object_id'], 'action_id' => $p['id'], 'action_type' => $p['action_type'], 'from_user_id' => $p['user_id']); foreach ($users as $uid => $uMailSent) { $params['user_id'] = $uid; $params['email_sent'] = $uMailSent; DM\Notifications::add($params); } }