mirror of
https://github.com/wallabag/wallabag.git
synced 2025-01-20 21:58:09 +00:00
alternative random function to fix #1082
This commit is contained in:
parent
d523c99399
commit
6b60741600
2 changed files with 13 additions and 6 deletions
|
@ -411,6 +411,14 @@ class Database {
|
|||
|
||||
return $count;
|
||||
}
|
||||
public function getRandomId($row, $user_id) {
|
||||
$sql = "SELECT id FROM entries WHERE user_id=? LIMIT 1 OFFSET ? ";
|
||||
$params = array($user_id, $row);
|
||||
$query = $this->executeQuery($sql, $params);
|
||||
|
||||
return $query->fetchAll();
|
||||
}
|
||||
|
||||
|
||||
public function updateContent($id, $content, $user_id)
|
||||
{
|
||||
|
|
|
@ -393,13 +393,12 @@ class Poche
|
|||
|
||||
/* For some unknown reason I can't get displayView() to work here (it redirects to home view afterwards). So here's a dirty fix which redirects directly to URL */
|
||||
case 'random':
|
||||
$id = 0;
|
||||
while ($this->store->retrieveOneById($id,$this->user->getId()) == null) {
|
||||
$count = $this->store->getEntriesByViewCount($view, $this->user->getId());
|
||||
$id = rand(1,$count);
|
||||
}
|
||||
$count = $this->store->getEntriesByViewCount($view, $this->user->getId());
|
||||
$id_query = $this->store->getRandomId(rand(1,$count)-1, $this->user->getId());
|
||||
$id = $id_query[0];
|
||||
Tools::logm('get a random article');
|
||||
Tools::redirect('?view=view&id=' . $id);
|
||||
Tools::redirect('?view=view&id=' . $id[0]);
|
||||
|
||||
//$this->displayView('view', $id);
|
||||
break;
|
||||
default:
|
||||
|
|
Loading…
Reference in a new issue