?> " class="media-left"> <img style="width: 48px; height: 48px;" src="<?php echo $NeoFrag->user->avatar($message['avatar'], $message['sex']); ?> " data-toggle="tooltip" title="<?php echo $message['username']; ?> " alt="" /> </a> <div class="media-body"> <p class="media-heading"><a href="<?php echo url('forum/topic/' . $message['topic_id'] . '/' . url_title($message['topic_title']) . '.html'); ?> #<?php echo $message['message_id']; ?> " data-toggle="tooltip" title="<?php echo $message['topic_title']; ?> "><?php echo str_shortener(strip_tags(str_replace('<br />', ' ', bbcode($message['message']))), 150); ?> </a></p> <?php echo icon('fa-clock-o') . ' ' . time_span($message['date']); ?> </div> </div> <?php }
echo i18n('messages', $topic['count_messages'], $topic['count_messages']); ?> <br /> <?php echo i18n('views', $topic['views'], $topic['views']); ?> </td> <td> <?php if ($topic['count_messages']) { ?> <div><a href="<?php echo url('forum/topic/' . $topic['topic_id'] . '/' . url_title($topic['title']) . ($topic['count_messages'] > $NeoFrag->config->forum_messages_per_page ? '/page/' . ceil($topic['count_messages'] / $NeoFrag->config->forum_messages_per_page) : '') . '.html#message_' . $topic['last_message_id']); ?> "><?php echo icon('fa-comment-o') . ' ' . str_shortener(strip_tags(str_replace('<br />', ' ', bbcode($topic['message']))), 35); ?> </a></div> <div><?php echo icon('fa-user') . ' ' . ($topic['last_user_id'] ? $NeoFrag->user->link($topic['last_user_id'], $topic['last_username']) : '<i>' . i18n('guest') . '</i>') . ' ' . icon('fa-clock-o') . ' ' . time_span($topic['last_message_date']); ?> </div> <?php } else { ?> <?php echo i18n('no_answer'); ?> <?php } ?>
function strtolink($string, $is_html = FALSE) { if ($is_html) { $offset = 0; $string = '>' . $string; while ($offset < strlen($string) && preg_match('_>([^<]+(</)?)_', $string, $match, PREG_OFFSET_CAPTURE, $offset)) { $offset = $match[1][1]; if (!isset($match[2])) { $replacement = strtolink($match[1][0]); $string = substr_replace($string, $replacement, $offset, strlen($match[1][0])); $offset += strlen($replacement); } else { $offset += strlen($match[1][0]); } } return substr($string, 1); } //regex by @diegoperini $string = preg_replace_callback('_(?:(?:https?|ftp)://)(?:\\S+(?::\\S*)?@)?(?:(?!10(?:\\.\\d{1,3}){3})(?!127(?:\\.\\d{1,3}){3})(?!169\\.254(?:\\.\\d{1,3}){2})(?!192\\.168(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\x{00a1}-\\x{ffff}0-9]+-?)*[a-z\\x{00a1}-\\x{ffff}0-9]+)(?:\\.(?:[a-z\\x{00a1}-\\x{ffff}0-9]+-?)*[a-z\\x{00a1}-\\x{ffff}0-9]+)*(?:\\.(?:[a-z\\x{00a1}-\\x{ffff}]{2,})))(?::\\d{2,5})?(?:/[^\\s]*)?_iuS', function ($match) { return '<a href="' . $match[0] . '">' . str_shortener($match[0], 50) . '</a>'; }, $string); return preg_replace_callback('_@((?:"(.+?)")|([^@\\s]+))_', function ($match) { static $users; if ($users === NULL) { foreach (NeoFrag::loader()->db->select('user_id', 'username')->from('nf_users')->where('deleted', FALSE)->get() as $user) { $users[$user['user_id']] = $user['username']; } } return ($user_id = array_search($username = $match[3] ?: $match[2], $users)) !== FALSE ? NeoFrag::loader()->user->link($user_id, $username, '@') : $match[0]; }, $string); }
<?php if ($forum['last_title']) { ?> <div class="media last-message"> <div class="media-left"> <img class="media-object img-circle" style="max-height: 40px; max-width: 40px;" src="<?php echo $NeoFrag->user->avatar($forum['avatar'], $forum['sex']); ?> " alt="" /> </div> <div class="media-body"> <h5 class="media-heading"><a href="<?php echo url('forum/topic/' . $forum['topic_id'] . '/' . url_title($forum['last_title']) . ($forum['last_count_messages'] > $NeoFrag->config->forum_messages_per_page ? '/page/' . ceil($forum['last_count_messages'] / $NeoFrag->config->forum_messages_per_page) : '') . '.html#message_' . $forum['last_message_id']); ?> "><i class="fa fa-comment-o"></i> <?php echo str_shortener($forum['last_title'], 40); ?> </a></h5> <?php echo icon('fa-user') . ' ' . ($forum['user_id'] ? $NeoFrag->user->link($forum['user_id'], $forum['username']) : '<i>Visiteur</i>') . ' ' . icon('fa-clock-o') . ' ' . time_span($forum['last_message_date']); ?> </div> </div> <?php } else { ?> <div style="margin-top: 15px;">Pas de message</div> <?php } } ?>
echo i18n('topics', $forum['count_topics'], $forum['count_topics']) . '<br />' . i18n('messages', $forum['count_messages'], $forum['count_messages']); } ?> </td> <td> <?php if (!$forum['url']) { ?> <?php if ($forum['last_title']) { ?> <div><a href="<?php echo url('forum/topic/' . $forum['topic_id'] . '/' . url_title($forum['last_title']) . ($forum['last_count_messages'] > $NeoFrag->config->forum_messages_per_page ? '/page/' . ceil($forum['last_count_messages'] / $NeoFrag->config->forum_messages_per_page) : '') . '.html#message_' . $forum['last_message_id']); ?> "><?php echo icon('fa-comment-o') . ' ' . str_shortener($forum['last_title'], 40); ?> </a></div> <div><?php echo icon('fa-user') . ' ' . ($forum['user_id'] ? $NeoFrag->user->link($forum['user_id'], $forum['username']) : '<i>' . i18n('guest') . '</i>') . ' ' . icon('fa-clock-o') . ' ' . time_span($forum['last_message_date']); ?> </div> <?php } else { ?> <?php echo i18n('no_message'); ?> <?php } }
if (!empty($data['news'])) { ?> <ul class="list-group"> <?php foreach ($data['news'] as $news) { ?> <li class="list-group-item"> <span class="label label-default pull-right"><?php echo $news['category_title']; ?> </span> <a href="<?php echo url('news/' . $news['news_id'] . '/' . url_title($news['title']) . '.html'); ?> "><?php echo str_shortener($news['title'], 35); ?> </a> </li> <?php } ?> </ul> <?php } else { ?> <div class="panel-body text-center"> <?php echo i18n('no_news_from_author'); ?> </div>