Exemple #1
0
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.'));
        }
    }
Exemple #2
0
        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