public static function formatLapse($date) { $now = new JDate(); $dateDiff = JXDate::timeDifference($date->toUnix(), $now->toUnix()); if ($dateDiff['days'] > 0) { if ($dateDiff['days'] < 30) { $lapse = JText::sprintf(JXString::isPlural($dateDiff['days']) ? 'JXLIB_LAPSED_DAY_MANY' : 'JXLIB_LAPSED_DAY', $dateDiff['days']); } else { $lapse = self::formatDate($date, false); } } elseif ($dateDiff['hours'] > 0) { $lapse = JText::sprintf(JXString::isPlural($dateDiff['hours']) ? 'JXLIB_LAPSED_HOUR_MANY' : 'JXLIB_LAPSED_HOUR', $dateDiff['hours']); } elseif ($dateDiff['minutes'] > 0) { $lapse = JText::sprintf(JXString::isPlural($dateDiff['minutes']) ? 'JXLIB_LAPSED_MINUTE_MANY' : 'JXLIB_LAPSED_MINUTE', $dateDiff['minutes']); } else { if ($dateDiff['seconds'] == 0) { $lapse = JText::_("JXLIB_LAPSED_MOMENT_AGO"); } else { $lapse = JText::sprintf(JXString::isPlural($dateDiff['seconds']) ? 'JXLIB_LAPSED_SECOND_MANY' : 'JXLIB_LAPSED_SECOND', $dateDiff['seconds']); } } return $lapse; }
/** * * */ private function _streamShowLikes($stream) { $my = JXFactory::getUser(); $canUnlike = false; $likeHTML = ''; $likeUsers = array(); $likeCount = $stream->countLike(); if ($likeCount == 0) { $likeHTML = JText::_('COM_STREAM_LIKE_THIS_NONE'); } else { $likes = explode(',', $stream->likes); foreach ($likes as $key => $val) { //@todo: need to make sure the user is valid and does exist $likes[$key] = JXFactory::getUser($val); } foreach ($likes as $user) { $likeUsers[] = '<a href="' . $user->getURL() . '">' . $user->name . '</a>'; } $likeHTML = implode(", ", $likeUsers); $likeHTML = JXString::isPlural(count($likeUsers)) ? JText::sprintf('COM_STREAM_LIKE_THIS_MANY_LIST', $likeHTML) : JText::sprintf('COM_STREAM_LIKE_THIS_LIST', $likeHTML); } $doILike = $stream->isLike($my->id); $likeResponse = array(); $likeResponse['html'] = $likeHTML; $likeResponse['label'] = $doILike ? JText::_('COM_STREAM_UNLIKE_LABEL') : JText::_('COM_STREAM_LIKE_LABEL'); return $likeResponse; }
/** * Get all current likes */ public function showlikes() { $comment_id = JRequest::getVar('comment_id'); $comment = JTable::getInstance('Comment', 'StreamTable'); $comment->load($comment_id); $likes = $comment->likes ? explode(',', $comment->likes) : null; $likeUsers = array(); $likesHTML = ''; if ($likes) { foreach ($likes as $key => $val) { $likeUsers[] = JXFactory::getUser($val)->name; } $likesHTML = implode(", ", $likeUsers); $likesHTML = JXString::isPlural(count($likeUsers)) ? JText::sprintf('COM_STREAM_LIKE_THIS_MANY_LIST', $likesHTML) : JText::sprintf('COM_STREAM_LIKE_THIS_LIST', $likesHTML); } $data['likes'] = $likesHTML; header('Content-Type: text/json'); echo json_encode($data); exit; }