forked from wallabag/wallabag
implement #1123
This commit is contained in:
@ -421,6 +421,26 @@ class Database {
|
||||
return $id;
|
||||
}
|
||||
|
||||
public function getPreviousArticle($id, $user_id)
|
||||
{
|
||||
$sql = "SELECT id FROM entries WHERE id = (SELECT max(id) FROM entries WHERE id < ?) AND user_id=? AND is_read=0";
|
||||
$params = array($id, $user_id);
|
||||
$query = $this->executeQuery($sql, $params);
|
||||
$id_entry = $query->fetchAll();
|
||||
$id = $id_entry[0][0];
|
||||
return $id;
|
||||
}
|
||||
|
||||
public function getNextArticle($id, $user_id)
|
||||
{
|
||||
$sql = "SELECT id FROM entries WHERE id = (SELECT min(id) FROM entries WHERE id > ?) AND user_id=? AND is_read=0";
|
||||
$params = array($id, $user_id);
|
||||
$query = $this->executeQuery($sql, $params);
|
||||
$id_entry = $query->fetchAll();
|
||||
$id = $id_entry[0][0];
|
||||
return $id;
|
||||
}
|
||||
|
||||
|
||||
public function updateContent($id, $content, $user_id)
|
||||
{
|
||||
|
||||
@ -310,11 +310,16 @@ class Poche
|
||||
if ( Tools::isAjaxRequest() ) {
|
||||
echo 1;
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
Tools::redirect();
|
||||
}
|
||||
break;
|
||||
case 'archive_and_next' :
|
||||
$nextid = $this->store->getNextArticle($id, $this->user->getId());
|
||||
$this->store->archiveById($id, $this->user->getId());
|
||||
Tools::logm('archive link #' . $id);
|
||||
Tools::redirect('?view=view&id=' . $nextid);
|
||||
break;
|
||||
case 'archive_all' :
|
||||
$this->store->archiveAll($this->user->getId());
|
||||
Tools::logm('archive all links');
|
||||
@ -516,6 +521,20 @@ class Poche
|
||||
$flattr->checkItem($entry['url'], $entry['id']);
|
||||
}
|
||||
|
||||
# previous and next
|
||||
$previous = FALSE;
|
||||
$previous_id = $this->store->getPreviousArticle($id, $this->user->getId());
|
||||
$next = FALSE;
|
||||
$next_id = $this->store->getNextArticle($id, $this->user->getId());
|
||||
|
||||
if ($this->store->retrieveOneById($previous_id, $this->user->getId())) {
|
||||
$previous = TRUE;
|
||||
}
|
||||
if ($this->store->retrieveOneById($next_id, $this->user->getId())) {
|
||||
$next = TRUE;
|
||||
}
|
||||
$navigate = $arrayName = array('previous' => $previous, 'previousid' => $previous_id, 'next' => $next, 'nextid' => $next_id);
|
||||
|
||||
# tags
|
||||
$tags = $this->store->retrieveTagsByEntry($entry['id']);
|
||||
|
||||
@ -523,7 +542,8 @@ class Poche
|
||||
'entry' => $entry,
|
||||
'content' => $content,
|
||||
'flattr' => $flattr,
|
||||
'tags' => $tags
|
||||
'tags' => $tags,
|
||||
'navigate' => $navigate
|
||||
);
|
||||
}
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user