summaryrefslogtreecommitdiffstats
path: root/ajax
diff options
context:
space:
mode:
authorGregor Tätzner <gregor@freenet.de>2012-08-03 18:25:46 +0200
committerGregor Tätzner <gregor@freenet.de>2012-08-03 18:25:46 +0200
commitfbcac103cf685326f5a873760998672c7f93f039 (patch)
tree5fcdf361a0e90bf2195e9fed5352e80ebfa9bd7d /ajax
parent58824771f2bc86f912d39e6485a70ee489bc262a (diff)
Fixed several issues in delete folder functions
Diffstat (limited to 'ajax')
-rw-r--r--ajax/deletefolder.php24
-rw-r--r--ajax/populateroot.php5
2 files changed, 22 insertions, 7 deletions
diff --git a/ajax/deletefolder.php b/ajax/deletefolder.php
index bf975c6c3..a0ea611e9 100644
--- a/ajax/deletefolder.php
+++ b/ajax/deletefolder.php
@@ -15,19 +15,31 @@ OCP\JSON::checkLoggedIn();
OCP\JSON::checkAppEnabled('news');
OCP\JSON::callCheck();
+function printError() {
+ OCP\JSON::error(array('data' => array('message' => $l->t('Error removing folder.'))));
+ OCP\Util::writeLog('news','ajax/deletefolder.php: Error removing folder: '.$_POST['folderid'], OCP\Util::ERROR);
+ exit();
+}
+
$userid = OCP\USER::getUser();
$folderid = trim($_POST['folderid']);
$foldermapper = new OC_News_FolderMapper();
-$success = $foldermapper->deleteById($folderid);
-$l = OC_L10N::get('news');
+$folder = $foldermapper->find($folderid);
+$popfolder = $foldermapper->populate($folder);
-if(!$success) {
- OCP\JSON::error(array('data' => array('message' => $l->t('Error removing folder.'))));
- OCP\Util::writeLog('news','ajax/deletefolder.php: Error removing folder: '.$_POST['folderid'], OCP\Util::ERROR);
- exit();
+// delete child folder
+$children = $popfolder->getChildren();
+foreach ($children as $child) {
+ if ($child instanceOf OC_News_Folder) {
+ if(!$foldermapper->deleteById($child->getId()))
+ printError();
+ }
}
+if(!$foldermapper->deleteById($folderid))
+ printError();
+
OCP\JSON::success(array('data' => array( 'folderid' => $folderid )));
diff --git a/ajax/populateroot.php b/ajax/populateroot.php
index a408c25ec..73b986a3e 100644
--- a/ajax/populateroot.php
+++ b/ajax/populateroot.php
@@ -4,8 +4,11 @@ OCP\JSON::checkLoggedIn();
OCP\JSON::checkAppEnabled('news');
$foldermapper = new OC_News_FolderMapper(OCP\USER::getUser());
+$l = new OC_l10n('news');
-$allfeeds = $foldermapper->populate('Everything', 0);
+$folder = new OC_News_Folder($l->t('Everything'), 0);
+
+$allfeeds = $foldermapper->populate($folder);
if ($allfeeds) {
$feedid = isset( $_GET['feedid'] ) ? $_GET['feedid'] : null;