mirror of
https://github.com/wallabag/wallabag.git
synced 2024-11-26 19:11:07 +00:00
[RSS] introducing query param 'limit' to restrict the number of items to display in RSS feeds.
This commit is contained in:
parent
af5c371e95
commit
7fe8a9adc4
2 changed files with 12 additions and 5 deletions
|
@ -784,10 +784,11 @@ class Poche
|
||||||
*
|
*
|
||||||
* @param $token
|
* @param $token
|
||||||
* @param $user_id
|
* @param $user_id
|
||||||
* @param $tag_id
|
* @param $tag_id if $type is 'tag', the id of the tag to generate feed for
|
||||||
* @param string $type
|
* @param string $type the type of feed to generate
|
||||||
|
* @param int $limit the maximum number of items (0 means all)
|
||||||
*/
|
*/
|
||||||
public function generateFeeds($token, $user_id, $tag_id, $type = 'home')
|
public function generateFeeds($token, $user_id, $tag_id, $type = 'home', $limit = 0)
|
||||||
{
|
{
|
||||||
$allowed_types = array('home', 'fav', 'archive', 'tag');
|
$allowed_types = array('home', 'fav', 'archive', 'tag');
|
||||||
$config = $this->store->getConfigUser($user_id);
|
$config = $this->store->getConfigUser($user_id);
|
||||||
|
@ -814,8 +815,13 @@ class Poche
|
||||||
$entries = $this->store->getEntriesByView($type, $user_id);
|
$entries = $this->store->getEntriesByView($type, $user_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if $limit is set to zero, use all entries
|
||||||
|
if (0 == $limit) {
|
||||||
|
$limit = count($entries);
|
||||||
|
}
|
||||||
if (count($entries) > 0) {
|
if (count($entries) > 0) {
|
||||||
foreach ($entries as $entry) {
|
for ($i = 0; $i < min(count($entries), $limit); $i++) {
|
||||||
|
$entry = $entries[$i];
|
||||||
$newItem = $feed->createNewItem();
|
$newItem = $feed->createNewItem();
|
||||||
$newItem->setTitle($entry['title']);
|
$newItem->setTitle($entry['title']);
|
||||||
$newItem->setSource(Tools::getPocheUrl() . '?view=view&id=' . $entry['id']);
|
$newItem->setSource(Tools::getPocheUrl() . '?view=view&id=' . $entry['id']);
|
||||||
|
|
|
@ -102,7 +102,8 @@ class Routing
|
||||||
$this->wallabag->login($this->referer);
|
$this->wallabag->login($this->referer);
|
||||||
} elseif (isset($_GET['feed']) && isset($_GET['user_id'])) {
|
} elseif (isset($_GET['feed']) && isset($_GET['user_id'])) {
|
||||||
$tag_id = (isset($_GET['tag_id']) ? intval($_GET['tag_id']) : 0);
|
$tag_id = (isset($_GET['tag_id']) ? intval($_GET['tag_id']) : 0);
|
||||||
$this->wallabag->generateFeeds($_GET['token'], filter_var($_GET['user_id'],FILTER_SANITIZE_NUMBER_INT), $tag_id, $_GET['type']);
|
$limit = (isset($_GET['limit']) ? intval($_GET['limit']) : 0);
|
||||||
|
$this->wallabag->generateFeeds($_GET['token'], filter_var($_GET['user_id'],FILTER_SANITIZE_NUMBER_INT), $tag_id, $_GET['type'], $limit);
|
||||||
}
|
}
|
||||||
|
|
||||||
//allowed ONLY to logged in user
|
//allowed ONLY to logged in user
|
||||||
|
|
Loading…
Reference in a new issue