Example #1
0
 public function modTagsTrendingHTML($group = null)
 {
     $tags = new StreamTag();
     $trendingTags = $tags->getTrending($group);
     $tmpl = new StreamTemplate();
     $tmpl->set('title', JText::_('COM_STREAM_LABEL_TRENDING_TAGS'));
     $tmpl->set('trendingTags', $trendingTags);
     if (!is_null($group)) {
         // Filter tags in viewed group
         $tmpl->set('groupId', $group->id);
     }
     $html = $tmpl->fetch('stream.tag.trending');
     return $html;
 }
Example #2
0
 /**
  * Delete a message
  */
 public function delete()
 {
     $my = JXFactory::getUser();
     $message_id = JRequest::getVar('message_id');
     $stream = JTable::getInstance('Stream', 'StreamTable');
     $stream->load($message_id);
     if (!$my->authorise('stream.message.delete', $stream)) {
         // No reason this code would ever get here!
         exit;
     }
     // Remove trending tags data
     $tagsTrend = new StreamTag();
     $rawData = json_decode($stream->raw);
     $rawData->tags = isset($rawData->tags) ? $rawData->tags : '';
     $tagsArray = explode(',', trim($rawData->tags, ','));
     foreach ($tagsArray as $tag) {
         // trim hashes
         $tag = trim($tag, '#');
         // remove trending data
         $tagsTrend->updateTrending($tag, $stream->group_id, false);
     }
     $stream->delete();
     // Delete related comments
     StreamComment::deleteComments($message_id);
     // Unattach all files
     $user = JXFactory::getUser($stream->user_id);
     $links = StreamMessage::getLinks($stream->message);
     if (!empty($links)) {
         $userLinks = $user->getParam('links');
         foreach ($links as $row) {
             $link = JTable::getInstance('Link', 'StreamTable');
             $link->load(array('link' => $row));
             $link->removeUser($user->id);
             $link->store();
             $userLinks = JXUtility::csvRemove($userLinks, $link->id);
         }
         $user->setParam('links', $userLinks);
         $user->save();
     }
     // @todo: delete attachments
     // Upgrade group stats if necessary
     if (JRequest::getVar('group_id')) {
         $group = JTable::getInstance('Group', 'StreamTable');
         $group->load(JRequest::getVar('group_id'));
         $group->setParam('message_count', $streamModel->countStream(array('group_id' => $group->id)));
         $group->setParam($stream->type . '_count', $streamModel->countStream(array('group_id' => $group->id, 'type' => $stream->type)));
         $group->store();
     }
     $data = array();
     $data['id'] = $message_id;
     header('Content-Type: text/json');
     echo json_encode($data);
     exit;
 }
}
?>
				</div>
     
				<div class="message-content-text">
					<?php 
echo StreamMessage::format($stream->message);
?>
				</div>
		
				<?php 
echo StreamMessage::getAttachmentHTML($stream);
?>

				<?php 
echo StreamTag::getTagsHTML($stream);
?>

				<div class="message-content-topic topic-container-parent" style="display: none;">
					<ul class="topic-container">
						<?php 
$topics = array();
if (strlen($stream->topics) > 0) {
    $topics = explode(',', $stream->topics);
}
foreach ($topics as $topic) {
    ?>
							<li class="stream-topics-element">
								<a href="#"><?php 
    echo $topic;
    ?>