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)); }