summaryrefslogtreecommitdiffstats
path: root/ajax
diff options
context:
space:
mode:
authorAlessandro Cosentino <cosenal@gmail.com>2012-08-10 00:12:38 -0400
committerAlessandro Cosentino <cosenal@gmail.com>2012-08-10 00:12:38 -0400
commita077e4ea2f34d3406373b7d3705162a44f527ace (patch)
tree7bdcfeeb6463e6e553ed072fe5353a65a47925b9 /ajax
parent98614791fb9cc79920405d2e07030a2411dc6f4a (diff)
importing opml becomes simple for debugging reasons (ignore SimplePie issues for now)
Diffstat (limited to 'ajax')
-rw-r--r--ajax/.createfeed.php.kate-swpbin0 -> 160 bytes
-rw-r--r--ajax/createfeed.php8
-rw-r--r--ajax/importopml.php89
3 files changed, 73 insertions, 24 deletions
diff --git a/ajax/.createfeed.php.kate-swp b/ajax/.createfeed.php.kate-swp
new file mode 100644
index 000000000..f3c2a36a4
--- /dev/null
+++ b/ajax/.createfeed.php.kate-swp
Binary files differ
diff --git a/ajax/createfeed.php b/ajax/createfeed.php
index 627b0e36b..728cf4844 100644
--- a/ajax/createfeed.php
+++ b/ajax/createfeed.php
@@ -10,7 +10,7 @@
*
*/
-register_shutdown_function("shutdown");
+//register_shutdown_function("shutdown");
/* handle the case of fatal error */
function shutdown() {
@@ -40,10 +40,10 @@ $feedid = $feedmapper->findIdFromUrl($feedurl);
$l = OC_L10N::get('news');
-if ($feedid == null) {
+if ($feedid === null) {
$feed = OC_News_Utils::fetch($feedurl);
- if ($feed != null) {
+ if ($feed !== null) {
$feedid = $feedmapper->save($feed, $folderid);
}
} else {
@@ -52,7 +52,7 @@ if ($feedid == null) {
exit();
}
-if($feed == null || !$feedid) {
+if($feed === null || !$feedid) {
OCP\JSON::error(array('data' => array('message' => $l->t('Error adding feed.'))));
OCP\Util::writeLog('news','ajax/createfeed.php: Error adding feed: '.$_POST['feedurl'], OCP\Util::ERROR);
exit();
diff --git a/ajax/importopml.php b/ajax/importopml.php
index 3aaccd840..04b745db6 100644
--- a/ajax/importopml.php
+++ b/ajax/importopml.php
@@ -41,38 +41,87 @@ if ($parsed == null) {
bailOut($l->t('An error occurred while parsing the file.'));
}
-// $ch is the handler for the curl connection
-function addFeed($feedurl, $folderid, $ch) {
- $data = array('feedurl' => $feedurl, 'folderid' => $folderid);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
- $result = curl_exec($ch);
+$data = $parsed->getData();
+
+function createFeed($feedurl, $folderid) {
+ $feedmapper = new OC_News_FeedMapper();
+ $feedid = $feedmapper->findIdFromUrl($feedurl);
+
+ $l = OC_L10N::get('news');
- if($result === false) {
- bailOut(curl_error($ch));
+ if ($feedid === null) {
+ $feed = OC_News_Utils::fetch($feedurl);
+
+ if ($feed !== null) {
+ $feedid = $feedmapper->save($feed, $folderid);
+ }
} else {
- bailOut($result);
+ OCP\Util::writeLog('news','ajax/createfeed.php: Error adding feed: '. $feedurl, OCP\Util::ERROR);
+ return false;
}
-}
-$data = $parsed->getData();
-$url = OCP\Util::linkToAbsolute('news', 'ajax/createfeed.php');
-$ch = curl_init($url);
-curl_setopt($ch, CURLOPT_POST, TRUE);
-curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
+ if($feed === null || !$feedid) {
+ OCP\Util::writeLog('news','ajax/createfeed.php: Error adding feed: '. $feedurl, OCP\Util::ERROR);
+ return false;
+ }
+
+ return true;
+}
+$countadded = 0;
foreach($data as $collection) {
if ($collection instanceOf OC_News_Feed) {
$feedurl = $collection->getUrl();
$folderid = 0;
- addFeed($feedurl, $folderid, $ch);
+ if (createFeed($feedurl, $folderid)) {
+ $countadded++;
+ }
}
}
-addFeed(null, null, $ch);
-$result = curl_exec($ch);
-curl_close($ch);
-
-OCP\JSON::success(array('data' => array('title'=>$parsed->getTitle(), 'count'=>$parsed->getCount())));
+// // $ch is the handler for the curl connection
+// function addFeed($feedurl, $folderid, $ch) {
+//
+// $data = array('feedurl' => $feedurl, 'folderid' => $folderid);
+// curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
+// $result = curl_exec($ch);
+// $status = curl_getinfo($ch);
+//
+// if($result === false) {
+// bailOut(curl_error($ch));
+// } else {
+// bailOut($status['http_code'] . $status['url']);
+// }
+// }
+
+// $url = OCP\Util::linkToAbsolute('news', 'ajax/createfeed.php');
+// $ch = curl_init($url);
+// if ($ch != false) {
+// curl_setopt($ch, CURLOPT_POST, TRUE);
+// curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
+// curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
+// curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
+// curl_setopt($ch, CURLOPT_USERPWD, 'acosenti:nopass');
+//
+//
+// foreach($data as $collection) {
+// if ($collection instanceOf OC_News_Feed) {
+// $feedurl = $collection->getUrl();
+// $folderid = 0;
+// addFeed($feedurl, $folderid, $ch);
+// }
+// }
+//
+// addFeed(null, null, $ch);
+// $result = curl_exec($ch);
+//
+// curl_close($ch);
+// } else {
+// bailOut($l->t('An error occurred while adding the feeds.'));
+// }
+
+OCP\JSON::success(array('data' => array('title'=>$parsed->getTitle(), 'count'=>$parsed->getCount(),
+ 'countsuccess'=>$countadded)));