prepare('DELETE FROM item WHERE feed_id = :feed'); $itemDelete->bindValue(':feed', $feed['id']); if (!$itemDelete->execute()) add_error(Data::error($db)['error']); $feedDelete = $db->prepare('DELETE FROM feed WHERE id = :feed'); $feedDelete->bindValue(':feed', $feed['id']); if ($feedDelete->execute()) { add_info('Feed “' . htmlentities($feed['title']) . '” deleted successfully'); } else { add_error(Data::error($db)['error']); } frc_redirect('/feeds'); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { $isNew = $_POST['id'] == 'new'; if ($isNew) { $result = Feed::add($_POST['url'], $db); } else { $toEdit = Feed::retrieveById($_POST['id'], $db); $result = $toEdit ? Feed::update($toEdit, $_POST['url'], $db) : ['error' => "Feed {$_POST['id']} not found"]; } if (key_exists('ok', $result)) { add_info('Feed saved successfully'); frc_redirect('/feeds'); } add_error($result['error']); $feedId = 'error'; } if ($feedId == 'new') { $title = 'Add RSS Feed'; $feed = [ 'id' => $_GET['id'], 'url' => '']; } else { $title = 'Edit RSS Feed'; if ($feedId == 'error') { $feed = ['id' => $_POST['id'] ?? '', 'url' => $_POST['url'] ?? '']; } elseif (!($feed = Feed::retrieveById((int) $feedId, $db))) not_found(); } page_head($title); ?>