MCPcopy Create free account
hub / github.com/Rello/analytics / sendToUsers

Method sendToUsers

lib/Activity/ActivityManager.php:133–160  ·  view source on GitHub ↗

* Publish activity to all users that are part of the dataset * * @param IEvent $event */

(IEvent $event)

Source from the content-addressed store, hash-verified

131 * @param IEvent $event
132 */
133 private function sendToUsers(IEvent $event)
134 {
135 switch ($event->getType()) {
136 case ActivityManager::OBJECT_REPORT:
137 $item_type = ShareService::SHARE_ITEM_TYPE_REPORT;
138 break;
139 case ActivityManager::OBJECT_DATASET:
140 $item_type = ShareService::SHARE_ITEM_TYPE_DATASET;
141 break;
142 case ActivityManager::OBJECT_PANORAMA:
143 $item_type = ShareService::SHARE_ITEM_TYPE_PANORAMA;
144 break;
145 }
146
147 $users = $this->ShareMapper->getSharedReceiver($item_type, $event->getObjectId());
148 //$this->logger->info('share receiver: ' . $item_type . $event->getObjectId());
149 foreach ($users as $user) {
150 if (!$this->isAnalyticsEnabledForUser($user['uid_owner'])) {
151 continue;
152 }
153 $event->setAffectedUser($user['uid_owner']);
154 $this->manager->publish($event);
155 }
156 if ($this->isAnalyticsEnabledForUser($this->userId)) {
157 $event->setAffectedUser($this->userId);
158 $this->manager->publish($event);
159 }
160 }
161
162 private function isAnalyticsEnabledForUser(?string $userId): bool
163 {

Callers 1

triggerEventMethod · 0.95

Calls 6

getSharedReceiverMethod · 0.80
getTypeMethod · 0.45
getObjectIdMethod · 0.45
setAffectedUserMethod · 0.45
publishMethod · 0.45

Tested by

no test coverage detected