use PicoFarad\Router; use PicoFarad\Response; use PicoFarad\Request; use PicoFarad\Session; use PicoFarad\Template; // Refresh all feeds, used when Javascript is disabled Router\get_action('refresh-all', function () { Model\Feed\refresh_all(); Session\flash(t('Your subscriptions are updated')); Response\redirect('?action=unread'); }); // Edit feed form Router\get_action('edit-feed', function () { $id = Request\int_param('feed_id'); $values = Model\Feed\get($id); $values += array('feed_group_ids' => Model\Group\get_feed_group_ids($id)); Response\html(Template\layout('edit_feed', array('values' => $values, 'errors' => array(), 'nb_unread_items' => Model\Item\count_by_status('unread'), 'groups' => Model\Group\get_all(), 'menu' => 'feeds', 'title' => t('Edit subscription')))); }); // Submit edit feed form Router\post_action('edit-feed', function () { $values = Request\values(); $values += array('enabled' => 0, 'download_content' => 0, 'rtl' => 0, 'cloak_referrer' => 0, 'feed_group_ids' => array(), 'create_group' => ''); list($valid, $errors) = Model\Feed\validate_modification($values); if ($valid) { if (Model\Feed\update($values)) { Session\flash(t('Your subscription has been updated.')); Response\redirect('?action=feeds'); } else { Session\flash_error(t('Unable to edit your subscription.')); } }
return $feeds; } $groups = Model\Group\get_feeds_map(); foreach ($feeds as &$feed) { $feed_id = $feed['id']; $feed['feed_group_ids'] = array(); if (isset($groups[$feed_id])) { $feed['feed_group_ids'] = $groups[$feed_id]; } } return $feeds; }); // Get one feed $server->register('feed.info', function ($feed_id) { $result = Model\Feed\get($feed_id); $result['feed_group_ids'] = Model\Group\get_feed_group_ids($feed_id); return $result; }); // Add a new feed $server->register('feed.create', function ($url) { try { $result = Model\Feed\create($url); } catch (PicoFeedException $e) { $result = false; } catch (UnexpectedValueException $e) { $result = false; } Model\Config\write_debug(); return $result; }); // Delete a feed