Beispiel #1
0
 public function beforeContentAdd(OW_Event $event)
 {
     $params = $event->getParams();
     $data = $event->getData();
     if (!empty($data)) {
         return;
     }
     if (empty($params["status"]) && empty($params["data"])) {
         $event->setData(false);
         return;
     }
     $attachId = null;
     $content = array();
     if (!empty($params["data"])) {
         $content = $params["data"];
         if ($content['type'] == 'photo' && !empty($content['genId'])) {
             $content['url'] = $content['href'] = OW::getEventManager()->call('base.attachment_save_image', array('genId' => $content['genId']));
             $attachId = $content['genId'];
         }
         if ($content['type'] == 'video') {
             $content['html'] = BOL_TextFormatService::getInstance()->validateVideoCode($content['html']);
         }
     }
     $status = UTIL_HtmlTag::autoLink($params["status"]);
     $out = NEWSFEED_BOL_Service::getInstance()->addStatus(OW::getUser()->getId(), $params['feedType'], $params['feedId'], $params['visibility'], $status, array("content" => $content, "attachmentId" => $attachId));
     $event->setData($out);
 }
Beispiel #2
0
 public function onDublicate(OW_Event $event)
 {
     $params = $event->getParams();
     if (!in_array($params['entityType'], array(self::TYPE_COMMENT, self::TYPE_LIKE))) {
         return;
     }
     $data = $event->getData();
     $oldData = $params['oldData'];
     if (in_array($data['userIds'][0], $oldData['userIds'])) {
         $event->setData($oldData);
         return;
     }
     $data['userIds'] = array_merge($oldData['userIds'], $data['userIds']);
     $users = $oldData['users'];
     array_unshift($users, $data['users'][0]);
     $userCount = count($users);
     if ($userCount == 2) {
         $data['string']['key'] = $params['entityType'] == self::TYPE_COMMENT ? 'uheader+notifications_comment_2' : 'uheader+notifications_like_2';
         $data['string']['vars'] = array('user1' => '<a href="' . $users[0]['userUrl'] . '">' . $users[0]['userName'] . '</a>', 'user2' => '<a href="' . $users[1]['userUrl'] . '">' . $users[1]['userName'] . '</a>');
     }
     if ($userCount > 2) {
         $data['string']['key'] = 'uheader+notifications_comment_many';
         $data['string']['key'] = $params['entityType'] == self::TYPE_COMMENT ? 'uheader+notifications_comment_many' : 'uheader+notifications_like_many';
         $data['string']['vars'] = array('user1' => '<a href="' . $users[0]['userUrl'] . '">' . $users[0]['userName'] . '</a>', 'user2' => '<a href="' . $users[1]['userUrl'] . '">' . $users[1]['userName'] . '</a>', 'otherCount' => $userCount - 1);
     }
     $data['users'] = $users;
     $event->setData($data);
 }
 public function onUpdateInfo(OW_Event $event)
 {
     $params = $event->getParams();
     $data = $event->getData();
     if ($params["entityType"] != self::ENTITY_TYPE) {
         return;
     }
     foreach ($data as $eventId => $info) {
         $status = 0;
         switch ($info['status']) {
             case BOL_ContentService::STATUS_ACTIVE:
                 $status = EVENT_BOL_EventService::MODERATION_STATUS_ACTIVE;
                 break;
             case BOL_ContentService::STATUS_APPROVAL:
                 $status = EVENT_BOL_EventService::MODERATION_STATUS_APPROVAL;
                 break;
             case BOL_ContentService::STATUS_SUSPENDED:
                 $status = EVENT_BOL_EventService::MODERATION_STATUS_SUSPANDED;
                 break;
         }
         $eventDto = EVENT_BOL_EventService::getInstance()->findEvent($eventId);
         if (!empty($eventDto)) {
             $eventDto->status = $status;
             EVENT_BOL_EventService::getInstance()->saveEvent($eventDto);
         }
     }
 }
 public function onAfterGetSKADATE_CLASS_JoinFormInstance(OW_Event $event)
 {
     $params = $event->getParams();
     if (!empty($params['className'])) {
         $event->setData(new FEMALEREGONLYMEN_CLASS_JoinForm($params['arguments'][0]));
         return $event->getData();
     }
 }
Beispiel #5
0
 public function onFeedItemRenderDisableActions(OW_Event $event)
 {
     $params = $event->getParams();
     if (!in_array($params["action"]["entityType"], array(GROUPS_BOL_Service::FEED_ENTITY_TYPE, "groups-join", "groups-status"))) {
         return;
     }
     $data = $event->getData();
     $data["disabled"] = true;
     $event->setData($data);
 }
Beispiel #6
0
 public function onFeedItemRenderDisableActions(OW_Event $event)
 {
     $params = $event->getParams();
     if ($params["action"]["entityType"] != "ocsfundraising_project") {
         return;
     }
     $data = $event->getData();
     $data["disabled"] = true;
     $event->setData($data);
 }
Beispiel #7
0
 public function onFeedItemRenderDisableActions(OW_Event $event)
 {
     $params = $event->getParams();
     if (!in_array($params["action"]["entityType"], array('link'))) {
         return;
     }
     $data = $event->getData();
     $data["disabled"] = true;
     $event->setData($data);
 }
Beispiel #8
0
function gheader_disable_formats(OW_Event $event)
{
    $params = $event->getParams();
    if (!in_array($params["action"]["entityType"], array(GHEADER_CLASS_CommentsBridge::ENTITY_TYPE))) {
        return;
    }
    $data = $event->getData();
    $data["disabled"] = true;
    $event->setData($data);
}
 public function isNotificationPermited(OW_Event $event)
 {
     $params = $event->getParams();
     if (!isset($params['userId'], $params['action'])) {
         return;
     }
     $userId = (int) $params['userId'];
     $action = $params['action'];
     $event->setData($this->service->isNotificationPermited($userId, $action));
     return $event->getData();
 }
Beispiel #10
0
 public function sendNotification(OW_Event $event)
 {
     $params = $event->getParams();
     $data = $event->getData();
     $userId = $params['userId'];
     $itemEventParams = array_merge(array('data' => $data), $params);
     $itemEvent = new OW_Event('notifications.on_item_send', $params, $data);
     OW::getEventManager()->trigger($itemEvent);
     $notificationItem = $itemEvent->getParams();
     $notificationItem['data'] = $itemEvent->getData();
     $this->service->sendPermittedNotifications($userId, array($notificationItem));
 }
Beispiel #11
0
function usearch_disable_fields_on_edit_profile_question(OW_Event $event)
{
    $params = $event->getParams();
    $data = $event->getData();
    if (!empty($params['questionDto']) && $params['questionDto'] instanceof BOL_Question) {
        $dto = $params['questionDto'];
        if (in_array($dto->name, array('sex', 'match_sex', 'match_age'))) {
            $data['disable_on_search'] = true;
            $event->setData($data);
        }
    }
}
Beispiel #12
0
 public function onItemRender(OW_Event $event)
 {
     $params = $event->getParams();
     $data = $event->getData();
     if ($params['action']['entityType'] != 'avatar-change') {
         return;
     }
     $userId = $params['action']['userId'];
     $avatarId = $params['action']['entityId'];
     $avatar = UAVATARS_BOL_Service::getInstance()->findLastByAvatarId($avatarId);
     if ($avatar === null) {
         return;
     }
     $staticUrl = OW::getPluginManager()->getPlugin('uavatars')->getStaticUrl();
     OW::getDocument()->addStyleSheet($staticUrl . 'style.css');
     OW::getDocument()->addScript($staticUrl . 'script.js');
     $avatars = UAVATARS_BOL_Service::getInstance()->findByUserId($userId, array(0, 2));
     UAVATARS_CLASS_PhotoBridge::getInstance()->initPhotoFloatBox();
     $js = UTIL_JsGenerator::newInstance();
     if (count($avatars) == 1) {
         $avatarUrl = UAVATARS_BOL_Service::getInstance()->getAvatarUrl($avatars[0]);
         $imgUniqId = uniqid('uavatar_');
         $data['content'] = '<div class="ua-newsfeed-avatars-wrap">
             <a id="' . $imgUniqId . '" class="ua-newsfeed-avatar ua-newsfeed-current-avatar ow_border" href="javascript://">
                 <img src="' . $avatarUrl . '" />
             </a>
             </div>';
         if (UAVATARS_CLASS_PhotoBridge::getInstance()->isPhotoExists($avatars[0]->photoId)) {
             $js->jQueryEvent('#' . $imgUniqId, 'click', 'UAVATARS.setPhoto(event.data.photoId);', array('event'), array('photoId' => $avatars[0]->photoId));
         }
     } else {
         $currentAvatarUrl = UAVATARS_BOL_Service::getInstance()->getAvatarUrl($avatars[0]);
         $prevAvatarUrl = UAVATARS_BOL_Service::getInstance()->getAvatarUrl($avatars[1]);
         $currentUniqId = uniqid('uavatar_');
         $prevUniqId = uniqid('uavatar_');
         $data['content'] = '<div class="ua-newsfeed-avatars-wrap">
             <a id="' . $prevUniqId . '" class="ua-newsfeed-avatar ua-newsfeed-prev-avatar ow_border" href="javascript://">
                 <img src="' . $prevAvatarUrl . '" />
             </a>
             <a id="' . $currentUniqId . '" class="ua-newsfeed-avatar ua-newsfeed-current-avatar ow_border" href="javascript://">
                 <img src="' . $currentAvatarUrl . '" />
             </a>
             </div>';
         if (UAVATARS_CLASS_PhotoBridge::getInstance()->isPhotoExists($avatars[0]->photoId)) {
             $js->jQueryEvent('#' . $currentUniqId, 'click', 'UAVATARS.setPhoto(event.data.photoId);', array('event'), array('photoId' => $avatars[0]->photoId));
         }
         if (UAVATARS_CLASS_PhotoBridge::getInstance()->isPhotoExists($avatars[1]->photoId)) {
             $js->jQueryEvent('#' . $prevUniqId, 'click', 'UAVATARS.setPhoto(event.data.photoId);', array('event'), array('photoId' => $avatars[1]->photoId));
         }
     }
     OW::getDocument()->addOnloadScript($js);
     $event->setData($data);
 }
Beispiel #13
0
 public function onUpdateInfo(OW_Event $event)
 {
     $params = $event->getParams();
     $data = $event->getData();
     if ($params["entityType"] != self::ENTITY_TYPE) {
         return;
     }
     foreach ($data as $groupId => $info) {
         $group = $this->service->findGroupById($groupId);
         $group->status = $info["status"];
         $this->service->saveGroup($group);
     }
 }
 public function onBeforeRender()
 {
     parent::onBeforeRender();
     $event = new BASE_CLASS_EventCollector(self::EVENT_NAME, array('userId' => $this->userId));
     OW::getEventManager()->trigger($event);
     $event = new OW_Event(self::EVENT_PROCESS_TOOLBAR, array('userId' => $this->userId), $event->getData());
     OW::getEventManager()->trigger($event);
     $addedData = $event->getData();
     if (empty($addedData)) {
         $this->setVisible(false);
         return;
     }
     $this->initToolbar($addedData);
 }
Beispiel #15
0
 public function ping($params)
 {
     $commands = json_decode($params["commands"], true);
     $commandsResult = array();
     foreach ($commands as $command) {
         $event = new OW_Event(self::PING_EVENT . '.' . trim($command["name"]), $command["params"]);
         OW::getEventManager()->trigger($event);
         $event = new OW_Event(self::PING_EVENT, array("command" => $command["name"], "params" => $command["params"]), $event->getData());
         OW::getEventManager()->trigger($event);
         $data = $event->getData();
         $data = empty($data) ? new stdClass() : $data;
         $commandsResult[] = array('name' => $command["name"], 'data' => $data);
     }
     $this->assign("commands", $commandsResult);
 }
Beispiel #16
0
 public function onUpdateInfo(OW_Event $event)
 {
     $params = $event->getParams();
     $data = $event->getData();
     if ($params['entityType'] != self::ENTITY_TYPE) {
         return;
     }
     foreach ($data as $photoId => $info) {
         $status = $info['status'] == BOL_ContentService::STATUS_APPROVAL ? PHOTO_BOL_PhotoDao::STATUS_APPROVAL : PHOTO_BOL_PhotoDao::STATUS_APPROVED;
         $photo = $this->service->findPhotoById($photoId);
         $photo->status = $status;
         PHOTO_BOL_PhotoDao::getInstance()->save($photo);
         OW::getEventManager()->trigger(new OW_Event(PHOTO_CLASS_EventHandler::EVENT_ON_PHOTO_CONTENT_UPDATE, array('id' => $photoId)));
     }
 }
Beispiel #17
0
 public function index()
 {
     $request = json_decode($_POST['request'], true);
     $stack = $request['stack'];
     $responseStack = array();
     foreach ($stack as $c) {
         $event = new OW_Event(self::PING_EVENT . '.' . trim($c['command']), $c['params']);
         OW::getEventManager()->trigger($event);
         $event = new OW_Event(self::PING_EVENT, $c, $event->getData());
         OW::getEventManager()->trigger($event);
         $responseStack[] = array('command' => $c['command'], 'result' => $event->getData());
     }
     echo json_encode(array('stack' => $responseStack));
     exit;
 }
Beispiel #18
0
    public function onItemRender(OW_Event $event)
    {
        $params = $event->getParams();
        if (!in_array($params['entityType'], array(self::TYPE_TAG_ME, self::TYPE_TAG_MY_PHOTO))) {
            return;
        }
        $tagId = intval($params['entityId']);
        $tag = UTAGS_BOL_Service::getInstance()->findTagById($tagId);
        $photoId = empty($tag->copyPhotoId) ? $tag->photoId : $tag->copyPhotoId;
        if ($tag === null) {
            return;
        }
        UTAGS_CLASS_PhotoBridge::getInstance()->initPhotoFloatBox();
        $data = $event->getData();
        $data['url'] = 'javascript://';
        $data["contentImage"] = UTAGS_CLASS_PhotoBridge::getInstance()->getPreviewSrc($photoId);
        $uniqId = $params['key'];
        $js = UTIL_JsGenerator::newInstance();
        $js->addScript('UTAGS_Require();');
        $js->addScript('var busy = false; $("#' . $uniqId . '").click(function( e ) {
            if ( !$(e.target).is("a") ) {
                if (busy) return false;
                busy = true;
                UTAGS_Require(function( app ) {
                    busy = false;
                    app.PhotoLauncher.setPhoto({$photoId});
                    
                    app._afterPhotoActivate = function( photo ) {
                        if ( photo.fetched )
                            photo.showTags({$tagIds});
                        else
                            photo.afterFetch = function() {
                                photo.showTags({$tagIds});
                                photo.afterFetch = null;
                            };

                        app._afterPhotoActivate = null;
                    };
                });
            }
        });;', array("photoId" => $tag->photoId, "tagIds" => array((int) $tag->id)));
        OW::getDocument()->addOnloadScript($js->generateJs());
        $event->setData($data);
    }
Beispiel #19
0
 public function onAfterAsk(OW_Event $event)
 {
     $params = $event->getParams();
     $data = $event->getData();
     $questionId = $params['questionId'];
     $invitationId = $params['id'];
     $userId = $params['userId'];
     $recipientId = $params['recipientId'];
     $special = $params['special'];
     $questionText = UTIL_String::truncate($data['question'], 100, '...');
     $questionUrl = OW::getRouter()->urlForRoute('equestions-question', array('qid' => $questionId));
     $userAvatars = BOL_AvatarService::getInstance()->getDataForUserAvatars(array($userId));
     $userAvatar = $userAvatars[$userId];
     $uniqId = uniqid('question_notification_');
     $string = array('key' => 'equestions+invitation_string', 'vars' => array('question' => '<a id="' . $uniqId . '" href="' . $questionUrl . '" >' . $questionText . '</a>', 'user' => '<a href="' . $userAvatar['url'] . '">' . $userAvatar['title'] . '</a>'));
     $questionSettings = array('userContext' => array((int) $userId), 'questionId' => $questionId, 'relationId' => $questionId);
     $invitationEvent = new OW_Event('invitations.add', array('pluginKey' => 'equestions', 'entityType' => self::INVITATION_ASK, 'entityId' => $invitationId, 'userId' => $recipientId, 'time' => time(), 'action' => self::ACTION_ASK), array('string' => $string, 'avatar' => $userAvatar, 'questionSettings' => $questionSettings, 'uniqId' => $uniqId));
     OW::getEventManager()->trigger($invitationEvent);
 }
 public function onUpdateInfo(OW_Event $event)
 {
     $params = $event->getParams();
     $data = $event->getData();
     if ($params["entityType"] != self::ENTITY_TYPE) {
         return;
     }
     foreach ($data as $entityId => $info) {
         $statusActive = $info["status"] == BOL_ContentService::STATUS_ACTIVE;
         $status = $statusActive ? "approved" : "approval";
         // Set tags status
         BOL_TagService::getInstance()->setEntityStatus(VIDEO_BOL_ClipService::TAGS_ENTITY_TYPE, $entityId, $statusActive);
         // Set rates status
         BOL_RateService::getInstance()->setEntityStatus(VIDEO_BOL_ClipService::RATES_ENTITY_TYPE, $entityId, $statusActive);
         $entityDto = $this->service->findClipById($entityId);
         $entityDto->status = $status;
         $this->service->saveClip($entityDto);
     }
 }
Beispiel #21
0
 public function onInviteDublicate(OW_Event $event)
 {
     $params = $event->getParams();
     if ($params['entityType'] != self::INVITATION_JOIN) {
         return;
     }
     $data = $event->getData();
     $oldData = $params['oldData'];
     $data['users'] = array_merge($oldData['users'], $data['users']);
     $userCount = count($data['users']);
     if ($userCount > 1) {
         $data['string']['key'] = 'groups+invitation_join_string_2';
         $data['string']['vars']['user2'] = $oldData['string']['vars']['user1'];
     }
     if ($userCount > 2) {
         $data['string']['key'] = 'groups+invitation_join_string_many';
     }
     $event->setData($data);
 }
Beispiel #22
0
 public function onPingNotifications(OW_Event $event)
 {
     if (!OW::getUser()->isAuthenticated()) {
         return null;
     }
     $service = SKADATEIOS_ABOL_Service::getInstance();
     $menu = $service->getMenu(OW::getUser()->getId());
     $counter = $service->getNewItemsCount($menu);
     $data = array('menu' => $menu, 'counter' => $counter);
     $eventData = $event->getData();
     if (empty($eventData)) {
         $data = array('menu' => $menu, 'counter' => $counter);
     } else {
         if (is_array($eventData)) {
             $data = array_merge($eventData, $data);
         }
     }
     $event->setData($data);
     return $data;
 }
Beispiel #23
0
 public function onItemRender(OW_Event $event)
 {
     $params = $event->getParams();
     $data = $event->getData();
     if (empty($data["tagId"])) {
         return;
     }
     $script = '$(".ow_newsfeed_item_picture a", "#' . $params['autoId'] . '").on("click", function(e) { UTAGS_Require(function( app ) {
         app._afterPhotoActivate = function( photo ) {
             if ( photo.fetched )
                 photo.showTags(' . json_encode(array((int) $data["tagId"])) . ');
             else
                 photo.afterFetch = function() {
                     photo.showTags(' . json_encode(array((int) $data["tagId"])) . ');
                     photo.afterFetch = null;
                 };
                 
             app._afterPhotoActivate = null;
         };
     });});';
     OW::getDocument()->addOnloadScript($script);
 }
Beispiel #24
0
 public function onBeforeQuestionAdd(OW_Event $event)
 {
     $params = $event->getParams();
     $data = $event->getData();
     if (empty($params['settings']['context']['type']) || $params['settings']['context']['type'] != 'groups') {
         return;
     }
     if (!$this->isActive()) {
         return;
     }
     $context = $params['settings']['context'];
     $service = GROUPS_BOL_Service::getInstance();
     $groupId = (int) $context['id'];
     $group = $service->findGroupById($groupId);
     $url = $service->getGroupUrl($group);
     $title = UTIL_String::truncate(strip_tags($group->title), 100, '...');
     $context['label'] = $title;
     $context['url'] = $url;
     $data['settings']['context'] = $context;
     $data['privacy'] = 'groups';
     $event->setData($data);
 }
Beispiel #25
0
 public function onGetClassInstance(OW_Event $event)
 {
     $params = $event->getParams();
     if (!empty($params['className']) && $params['className'] == 'BASE_CLASS_JoinUploadPhotoField') {
         $rClass = new ReflectionClass('FileField');
         $arguments = array();
         if (!empty($params['arguments'])) {
             $arguments = $params['arguments'];
         }
         $instance = $rClass->newInstanceArgs($arguments);
         $event->setData($instance);
     }
     if (!empty($params['className']) && $params['className'] == 'BASE_CLASS_AvatarFieldValidator') {
         $rClass = new ReflectionClass('BASE_MCLASS_JoinAvatarFieldValidator');
         $arguments = array();
         if (!empty($params['arguments'])) {
             $arguments = $params['arguments'];
         }
         $instance = $rClass->newInstanceArgs($arguments);
         $event->setData($instance);
     }
     return $event->getData();
 }
Beispiel #26
0
 public function questionsFieldGetValue(OW_Event $e)
 {
     $params = $e->getParams();
     $data = $e->getData();
     if (!empty($params['fieldName']) && $params['fieldName'] == 'googlemap_location' && !empty($params['value'])) {
         $location = $params['value'];
         if (!empty($location['json'])) {
             $locationDto = new GOOGLELOCATION_BOL_Location();
             $locationDto->entityId = (int) $params['userId'];
             $locationDto->address = !empty($location['address']) ? $location['address'] : "";
             $locationDto->lat = (double) $location['latitude'];
             $locationDto->lng = (double) $location['longitude'];
             $locationDto->northEastLat = (double) $location['northEastLat'];
             $locationDto->northEastLng = (double) $location['northEastLng'];
             $locationDto->southWestLat = (double) $location['southWestLat'];
             $locationDto->southWestLng = (double) $location['southWestLng'];
             $locationDto->json = !empty($location['json']) ? $location['json'] : "";
             $locationDto->entityType = GOOGLELOCATION_BOL_LocationDao::ENTITY_TYPE_USER;
             $location = get_object_vars($locationDto);
             $data = $location['address'];
         }
     }
     $e->setData($data);
 }
Beispiel #27
0
 public function testapi($params)
 {
     $commands = array(array('name' => 'mailbox_api_ping', 'params' => array('lastRequestTimestamp' => 0)));
     $commandsResult = array();
     foreach ($commands as $command) {
         //            pv($command);
         $event = new OW_Event('base.ping' . '.' . trim($command["name"]), $command["params"]);
         OW::getEventManager()->trigger($event);
         $event = new OW_Event('base.ping', array("command" => $command["name"], "params" => $command["params"]), $event->getData());
         OW::getEventManager()->trigger($event);
         $commandsResult[] = array('name' => $command["name"], 'data' => $event->getData());
     }
     //        pv($commandsResult);
     exit('end');
 }
Beispiel #28
0
 public function onCoverAdd(OW_Event $event)
 {
     if (!OW::getConfig()->getValue('uheader', 'photo_share')) {
         return;
     }
     $params = $event->getParams();
     $coverPath = $params['path'];
     $userId = $params['userId'];
     $data = $event->getData();
     if (!empty($data['photoId'])) {
         return;
     }
     $photoId = $this->addPhoto($userId, $coverPath, "", "", false);
     if ($photoId === null) {
         return;
     }
     if ($data !== null) {
         $data['photoId'] = $photoId;
     }
     $event->setData($data);
 }
Beispiel #29
0
 public function onUserUpdate(OW_Event $event)
 {
     $data = $event->getData();
     if (!empty($data['accountType'])) {
         $genderToAccountTypeList = SKADATE_BOL_AccountTypeToGenderService::getInstance()->findAll();
         foreach ($genderToAccountTypeList as $value) {
             if ($value->accountType == $data['accountType']) {
                 $data['sex'] = $value->genderValue;
             }
         }
     } else {
         if (!empty($data['sex'])) {
             $genderToAccountTypeList = SKADATE_BOL_AccountTypeToGenderService::getInstance()->findAll();
             /* @var $value SKADATE_BOL_AccountTypeToGender */
             foreach ($genderToAccountTypeList as $value) {
                 if ($value->genderValue == $data['sex']) {
                     $data['accountType'] = $value->accountType;
                 }
             }
         }
     }
     $event->setData($data);
 }
 public function onUpdateInfo(OW_Event $event)
 {
     $params = $event->getParams();
     $data = $event->getData();
     if ($params["entityType"] != self::ENTITY_TYPE) {
         return;
     }
     foreach ($data as $topicId => $info) {
         $status = $info['status'] == BOL_ContentService::STATUS_APPROVAL ? FORUM_BOL_ForumService::STATUS_APPROVAL : FORUM_BOL_ForumService::STATUS_APPROVED;
         $topicDto = $this->service->findTopicById($topicId);
         $topicDto->status = $status;
         $this->service->saveOrUpdateTopic($topicDto);
     }
 }