summaryrefslogtreecommitdiffstats
path: root/lib/foldermapper.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/foldermapper.php')
-rw-r--r--lib/foldermapper.php198
1 files changed, 0 insertions, 198 deletions
diff --git a/lib/foldermapper.php b/lib/foldermapper.php
deleted file mode 100644
index 5d7145176..000000000
--- a/lib/foldermapper.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php
-/**
-* ownCloud - News app
-*
-* @author Alessandro Cosentino
-* Copyright (c) 2012 - Alessandro Cosentino <cosenal@gmail.com>
-*
-* This file is licensed under the Affero General Public License version 3 or later.
-* See the COPYING-README file
-*
-*/
-
-namespace OCA\News;
-
-/**
- * This class maps a feed to an entry in the feeds table of the database.
- */
-class FolderMapper {
-
- const tableName = '*PREFIX*news_folders';
-
- private $userid;
-
- public function __construct($userid = null) {
- if ($userid !== null) {
- $this->userid = $userid;
- }
- else {
- $this->userid = \OCP\USER::getUser();
- }
- }
-
-
- /**
- * @brief Returns the forest (list of trees) of folders children of $parentid
- * @param
- * @returns
- */
- public function childrenOf($parentid) {
- $folderlist = array();
- $stmt = \OCP\DB::prepare('SELECT * FROM ' . self::tableName .
- ' WHERE user_id = ? AND parent_id = ?');
- $result = $stmt->execute(array($this->userid, $parentid));
-
- while( $row = $result->fetchRow()) {
- $folderid = $row['id'];
- $folder = new Folder($row['name'], $folderid);
- $folder->setOpened($row['opened']);
- $children = self::childrenOf($folderid);
- $folder->addChildren($children);
- $folderlist[] = $folder;
- }
-
- return $folderlist;
- }
-
- /**
- * @brief Returns the forest (list of trees) of folders children of $parentid,
- * including the feeds that they contain
- * @param
- * @returns
- */
- public function childrenOfWithFeeds($parentid) {
-
- $feedmapper = new FeedMapper();
- $collectionlist = $feedmapper->findByFolderId($parentid);
-
- $stmt = \OCP\DB::prepare('SELECT * FROM ' . self::tableName .
- ' WHERE user_id = ? AND parent_id = ?');
- $result = $stmt->execute(array($this->userid, $parentid));
-
- while( $row = $result->fetchRow()) {
- $folderid = $row['id'];
- $folder = new Folder($row['name'], $folderid);
- $folder->setOpened($row['opened']);
- $children = self::childrenOfWithFeeds($folderid);
- $folder->addChildren($children);
- $collectionlist[] = $folder;
- }
-
- return $collectionlist;
- }
-
-
- /**
- * This is being used for consistency
- */
- public function findById($id){
- return $this->find($id);
- }
-
-
- /**
- * @brief Retrieve a folder from the database
- * @param id The id of the folder in the database table.
- * @returns an instance of OC_News_Folder
- */
- public function find($id) {
- $stmt = \OCP\DB::prepare('SELECT *
- FROM ' . self::tableName .
- ' WHERE user_id = ? AND id = ?');
- $result = $stmt->execute(array($this->userid, $id));
-
- $row = $result->fetchRow();
- $folder = new Folder($row['name'], $row['id']);
- $folder->setOpened($row['opened']);
-
- return $folder;
- }
-
- /**
- * @brief Store the folder and all its feeds into the database
- * @param folder the folder to be saved
- * @returns The id of the folder in the database table.
- */
- public function save(Folder $folder) {
- $query = \OCP\DB::prepare('
- INSERT INTO ' . self::tableName .
- '(name, parent_id, user_id, opened)
- VALUES (?, ?, ?, ?)
- ');
-
- $name = $folder->getName();
-
- if(empty($name)) {
- $l = \OC_L10N::get('news');
- $name = $l->t('no name');
- }
-
- $parentid = $folder->getParentId();
-
- $params=array(
- $name,
- $parentid,
- $this->userid,
- $folder->getOpened()
- );
- $query->execute($params);
- $folderid = \OCP\DB::insertid(self::tableName);
-
- $folder->setId($folderid);
- return $folderid;
- }
-
-
- /**
- * @brief Updates the folder
- * @param folder the folder to be updated
- */
- public function update(Folder $folder) {
- $query = \OCP\DB::prepare('UPDATE ' . self::tableName
- . ' SET name = ?, opened = ?' . ' WHERE id = ?');
-
- $params = array($folder->getName(), $folder->getOpened(), $folder->getId());
- $query->execute($params);
- return true;
- }
-
- /**
- * @brief Delete the folder and all its feeds from the database
- * @param folder the folder to be deleted (an instance of OCA\News\Folder)
- * @returns true if the folder has been deleted, false if an error occurred
- */
- public function delete(Folder $folder) {
- $folderid = $folder->getId();
- return deleteById(folderid);
- }
-
- /**
- * @brief Delete the folder and all its feeds from the database
- * @param folder the folder to be deleted (an instance of OCA\News\Folder)
- * @returns true if the folder has been deleted, false if an error occurred
- */
- public function deleteById($folderid) {
- if ($folderid == null) {
- return false;
- }
-
- // delete child folders
- $stmt = \OCP\DB::prepare('SELECT id FROM ' . self::tableName .' WHERE parent_id = ? AND user_id = ?');
- $result = $stmt->execute(array($folderid, $this->userid));
- while ($row = $result->fetchRow()) {
- if (!self::deleteById($row['id']))
- return false;
- }
-
- $stmt = \OCP\DB::prepare('DELETE FROM ' . self::tableName .' WHERE id = ? AND user_id = ?');
- $result = $stmt->execute(array($folderid, $this->userid));
-
- $feedMapper = new FeedMapper($this->userid);
- //TODO: handle the value that the execute returns
- if(!$feedMapper->deleteAll($folderid))
- return false;
-
- return true;
- }
-
-} \ No newline at end of file