mirror of
https://github.com/vichan-devel/vichan.git
synced 2024-11-24 23:50:11 +01:00
Fix 55ch cancer; can now see next page of posts, ?/recent uses templating system
This commit is contained in:
parent
af403e1119
commit
7b1a5bb0e8
@ -2270,6 +2270,7 @@ function mod_recent_posts($lim) {
|
||||
error($config['error']['noaccess']);
|
||||
|
||||
$limit = (is_numeric($lim))? $lim : 25;
|
||||
$last_time = (isset($_GET['last']) && is_numeric($_GET['last'])) ? $_GET['last'] : 0;
|
||||
|
||||
$mod_boards = array();
|
||||
$boards = listBoards();
|
||||
@ -2290,37 +2291,29 @@ function mod_recent_posts($lim) {
|
||||
$query .= sprintf('SELECT *, %s AS `board` FROM ``posts_%s`` UNION ALL ', $pdo->quote($board['uri']), $board['uri']);
|
||||
}
|
||||
// Remove the last "UNION ALL" seperator and complete the query
|
||||
$query = preg_replace('/UNION ALL $/', ') AS `all_posts` ORDER BY `time` DESC LIMIT ' . $limit, $query);
|
||||
$query = query($query) or error(db_error());
|
||||
$query = preg_replace('/UNION ALL $/', ') AS `all_posts` WHERE (`time` < :last_time OR NOT :last_time) ORDER BY `time` DESC LIMIT ' . $limit, $query);
|
||||
$query = prepare($query);
|
||||
$query->bindValue(':last_time', $last_time);
|
||||
$query->execute() or error(db_error($query));
|
||||
$posts = $query->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
$body = '<h4>Viewing last '.$limit.' posts</h4>
|
||||
<p>View <a href="?/recent/25"> 25 </a>|<a href="?/recent/50"> 50 </a>|<a href="?/recent/100"> 100 </a></p>
|
||||
<a href="javascript:void(0)" id="erase-local-data" style="float:right; clear:both">Erase local data</a></div>';
|
||||
foreach ($posts as $post) {
|
||||
foreach ($posts as &$post) {
|
||||
openBoard($post['board']);
|
||||
if (!$post['thread']) {
|
||||
// Still need to fix this:
|
||||
$po = new Thread($post, '?/', $mod, false);
|
||||
$string = $po->build(true);
|
||||
$string = '<div class="post-wrapper" data-board="'.$post['board'].'"><hr/><a class="eita-link" id="eita-'.$post['board'].'-'.$post['id'].'" href="?/'.$post['board'].'/res/'.$post['id'].'.html#'.$post['id'].'">/'.$post['board'].'/'.$post['id'].'</a><br>' . $string;
|
||||
$post['built'] = $po->build(true);
|
||||
} else {
|
||||
$po = new Post($post, '?/', $mod);
|
||||
$string = $po->build(true);
|
||||
$string = '<div class="post-wrapper" data-board="'.$post['board'].'"><hr/><a class="eita-link" id="eita-'.$post['board'].'-'.$post['id'].'" href="?/'.$post['board'].'/res/'.$post['thread'].'.html#'.$post['id'].'">/'.$post['board'].'/'.$post['id'].'</a><br>' . $string;
|
||||
$post['built'] = $po->build(true);
|
||||
}
|
||||
$body .= $string . '</div>';
|
||||
$last_time = $post['time'];
|
||||
}
|
||||
|
||||
echo Element('page.html', array(
|
||||
'config' => $config,
|
||||
'mod' => $mod,
|
||||
'hide_dashboard_link' => true,
|
||||
'title' => _('Recent posts'),
|
||||
'subtitle' => '',
|
||||
'nojavascript' => false,
|
||||
'is_recent_posts' => true,
|
||||
'body' => $body
|
||||
echo mod_page(_('Recent posts'), 'mod/recent_posts.html', array(
|
||||
'posts' => $posts,
|
||||
'limit' => $limit,
|
||||
'last_time' => $last_time
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -1,6 +1,14 @@
|
||||
<script src="{{ config.additional_javascript_url }}js/mod/recent_posts.js"></script>
|
||||
{% if posts|count %}
|
||||
{% if not posts|count %}
|
||||
<p style="text-align:center" class="unimportant">({% trans 'There are no active posts.' %})</p>
|
||||
{% else %}
|
||||
|
||||
<h4>Viewing last {{ limit|e }} posts</h4>
|
||||
<p>View <a href="?/recent/25"> 25 </a>|<a href="?/recent/50"> 50 </a>|<a href="?/recent/100"> 100 </a></p>
|
||||
<a href="javascript:void(0)" id="erase-local-data" style="float:right; clear:both">Erase local data</a></div>
|
||||
{% for post in posts %}
|
||||
<div class="post-wrapper" data-board="{{ post.board }}"><hr/><a class="eita-link" id="eita-{{ post.board }}-{{ post.id or post.thread }}" href="?/{{ post.board }}/res/{{ post.id or post.thread }}.html#{{ post.id or post.thread }}">/{{ post.board }}/{{ post.id }}</a><br>
|
||||
{{ post.built }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<a href="/mod.php?/recent/{{ limit }}&last={{ last_time }}">Next {{ limit }} posts</a>
|
||||
|
Loading…
Reference in New Issue
Block a user