public function onPrivacyChange(OW_Event $e) { $params = $e->getParams(); $userId = (int) $params['userId']; $actionList = $params['actionList']; $actionList = is_array($actionList) ? $actionList : array(); $privacyList = array(); foreach ($actionList as $action => $privacy) { $a = $this->service->getActivityKeysByPrivacyAction($action); foreach ($a as $item) { $privacyList[$privacy][] = $item; } } foreach ($privacyList as $privacy => $activityKeys) { $key = implode(',', array_filter($activityKeys)); $this->service->setActivityPrivacy($key, $privacy, $userId); } }