verify($_POST['_csrf'], 'feedmanage')) { die('Invalid CSRF token!'); } $opmlFile = $PlanetConfig->getOpmlFile(); if (isset($_POST['upload']) && isset($_FILES['opml']) && is_uploaded_file($_FILES['opml']['tmp_name']) && $_FILES['opml']['size'] > 0) { OpmlManager::backup($opmlFile); $newOpml = new Opml(); $newOpml->parse(file_get_contents($_FILES['opml']['tmp_name'])); OpmlManager::save($newOpml, $opmlFile); } elseif (isset($_POST['opml']) || isset($_POST['add'])) { // Load old OPML $oldOpml = OpmlManager::load($opmlFile); if ($PlanetConfig->getName() === '') { $PlanetConfig->setName($oldOpml->getTitle()); } $newOpml = new Opml(); $newOpml->title = $PlanetConfig->getName(); // Remove slashes if needed if (isset($_POST['opml'])) { array_walk_recursive($_POST['opml'], 'removeSlashes'); } // Delete/Save feeds if (isset($_POST['delete']) || isset($_POST['save'])) { foreach ($_POST['opml'] as $person) { if (isset($_POST['delete'])) { //delete mode, check if to be deleted if (!isset($person['delete'])) { $newOpml->entries[] = $person; } } else { $newOpml->entries[] = $person; } } } // Add feed if (isset($_POST['add'])) { if ('http://' != $_POST['url']) { //autodiscover feed $feed = new SimplePie(); $feed->enable_cache(false); $feed->set_feed_url($_POST['url']); if (!$PlanetConfig->checkCertificates()) { $feed->set_curl_options([ CURLOPT_SSL_VERIFYHOST => false, CURLOPT_SSL_VERIFYPEER => false ]); } $feed->init(); $feed->handle_content_type(); $person['name'] = html_entity_decode($feed->get_title()); $person['website'] = $feed->get_permalink(); $person['feed'] = $feed->feed_url; $person['isDown'] = '0'; $oldOpml->entries[] = $person; } $newOpml->entries = $oldOpml->entries; } // Backup old OPML OpmlManager::backup($opmlFile); // Save new OPML OpmlManager::save($newOpml, $opmlFile); } header("Location: index.php"); die();