Example #1
0
 public function ajaxAddVideoTag($videoId, $userId)
 {
     $filter = JFilterInput::getInstance();
     $videoId = $filter->clean($videoId, 'int');
     $userId = $filter->clean($userId, 'int');
     if (!COwnerHelper::isRegisteredUser()) {
         return $this->ajaxBlockUnregister();
     }
     $response = new JAXResponse();
     $json = array();
     $my = CFactory::getUser();
     $videoModel = CFactory::getModel('videos');
     $tagging = new CVideoTagging();
     $video = JTable::getInstance('Video', 'CTable');
     $video->load($videoId);
     $user = CFactory::getUser($userId);
     if (empty($video->id) || !$video->tagAllow($my->id)) {
         $json['error'] = JText::_('COM_COMMUNITY_VIDEO_TAGGING_INVALID_VIDEO');
     } else {
         if (empty($userId) || empty($user->id)) {
             $json['error'] = JText::_('COM_COMMUNITY_VIDEO_TAGGING_INVALID_USER');
         } else {
             $tag = new stdClass();
             $tag->videoId = $videoId;
             $tag->userId = $userId;
             $tagId = $tagging->addTag($tag);
             $jsonString = '{}';
             if ($tagId > 0) {
                 $json['success'] = true;
                 $json['data'] = array('id' => $tagId, 'userId' => $userId, 'displayName' => $user->getDisplayName(), 'profileUrl' => CRoute::_('index.php?option=com_community&view=profile&userid=' . $userId, false), 'videoId' => $videoId, 'canRemove' => true);
                 //send notification emails
                 if ($video->groupid) {
                     $url = 'index.php?option=com_community&view=videos&task=video&groupid=' . $video->groupid . '&videoid=' . $video->id;
                 } else {
                     $url = 'index.php?option=com_community&view=videos&task=video&videoid=' . $video->id;
                 }
                 if ($my->id != $userId) {
                     // Add notification
                     $params = new CParameter('');
                     $params->set('url', $url);
                     $params->set('video', $video->title);
                     $params->set('video_url', $url);
                     CNotificationLibrary::add('videos_tagging', $my->id, $userId, JText::sprintf('COM_COMMUNITY_VIDEO_TAG_YOU'), '', 'videos.tagging', $params);
                 }
             } else {
                 $json['error'] = $tagging->getError();
             }
         }
     }
     die(json_encode($json));
 }