1 |
<?php |
2 |
require_once dirname(__FILE__) . '/inc/auth.inc.php'; |
3 |
require_once dirname(__FILE__) . '/../app/app.php'; |
4 |
|
5 |
function removeSlashes(&$item, $key){ |
6 |
$item = stripslashes($item); |
7 |
} |
8 |
|
9 |
if (isset($_POST['opml']) || isset($_POST['add'])) { |
10 |
|
11 |
// Load config and old OPML |
12 |
$conf = Spyc::YAMLLoad(dirname(__FILE__).'/../custom/config.yml'); |
13 |
$PlanetConfig = new PlanetConfig($conf); |
14 |
if ($PlanetConfig->getName() === '') { |
15 |
$PlanetConfig->setName($oldOpml->getTitle()); |
16 |
} |
17 |
$oldOpml = OpmlManager::load(dirname(__FILE__).'/../custom/people.opml'); |
18 |
$newOpml = new opml(); |
19 |
$newOpml->title = $PlanetConfig->getName(); |
20 |
|
21 |
// Remove slashes if needed |
22 |
if (get_magic_quotes_gpc() && isset($_POST['opml'])) { |
23 |
array_walk_recursive($_POST['opml'], 'removeSlashes'); |
24 |
} |
25 |
// Delete/Save feeds |
26 |
if (isset($_POST['delete']) || isset($_POST['save'])){ |
27 |
foreach ($_POST['opml'] as $person){ |
28 |
if (isset($_POST['delete'])) { |
29 |
//delete mode, check if to be deleted |
30 |
if (!isset($person['delete'])){ |
31 |
$newOpml->entries[] = $person; |
32 |
} |
33 |
} else { |
34 |
$newOpml->entries[] = $person; |
35 |
} |
36 |
} |
37 |
} |
38 |
|
39 |
// Add feed |
40 |
if (isset($_POST['add'])){ |
41 |
if ('http://' != $_POST['url']) { |
42 |
//autodiscover feed |
43 |
$feed = new SimplePie(); |
44 |
$feed->enable_cache(false); |
45 |
$feed->set_feed_url($_POST['url']); |
46 |
$feed->init(); |
47 |
$feed->handle_content_type(); |
48 |
$person['name'] = $feed->get_title(); |
49 |
$person['website'] = $feed->get_permalink(); |
50 |
$person['feed'] = $feed->feed_url; |
51 |
|
52 |
$oldOpml->entries[] = $person; |
53 |
} |
54 |
$newOpml->entries = $oldOpml->entries; |
55 |
} |
56 |
|
57 |
// Backup old OPML |
58 |
OpmlManager::backup(dirname(__FILE__).'/../custom/people.opml'); |
59 |
|
60 |
// Save new OPML |
61 |
OpmlManager::save($newOpml, dirname(__FILE__).'/../custom/people.opml'); |
62 |
} |
63 |
header("Location: index.php"); |
64 |
die(); |