From 269eaeed0b51f7c688beb9856c1a6021764ef75e Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Wed, 20 Apr 2016 15:35:39 +0200 Subject: Move \OC\Tagging to PSR-4 --- lib/private/Tagging/Tag.php | 89 +++++++++++++++++++++++++++++++++++++++ lib/private/Tagging/TagMapper.php | 78 ++++++++++++++++++++++++++++++++++ lib/private/tagging/tag.php | 89 --------------------------------------- lib/private/tagging/tagmapper.php | 78 ---------------------------------- 4 files changed, 167 insertions(+), 167 deletions(-) create mode 100644 lib/private/Tagging/Tag.php create mode 100644 lib/private/Tagging/TagMapper.php delete mode 100644 lib/private/tagging/tag.php delete mode 100644 lib/private/tagging/tagmapper.php (limited to 'lib/private') diff --git a/lib/private/Tagging/Tag.php b/lib/private/Tagging/Tag.php new file mode 100644 index 00000000000..e35ac433e00 --- /dev/null +++ b/lib/private/Tagging/Tag.php @@ -0,0 +1,89 @@ + + * @author Morris Jobke + * + * @copyright Copyright (c) 2016, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see + * + */ + +namespace OC\Tagging; + +use \OCP\AppFramework\Db\Entity; + +/** + * Class to represent a tag. + * + * @method string getOwner() + * @method void setOwner(string $owner) + * @method string getType() + * @method void setType(string $type) + * @method string getName() + * @method void setName(string $name) + */ +class Tag extends Entity { + + protected $owner; + protected $type; + protected $name; + + /** + * Constructor. + * + * @param string $owner The tag's owner + * @param string $type The type of item this tag is used for + * @param string $name The tag's name + */ + public function __construct($owner = null, $type = null, $name = null) { + $this->setOwner($owner); + $this->setType($type); + $this->setName($name); + } + + /** + * Transform a database columnname to a property + * + * @param string $columnName the name of the column + * @return string the property name + * @todo migrate existing database columns to the correct names + * to be able to drop this direct mapping + */ + public function columnToProperty($columnName){ + if ($columnName === 'category') { + return 'name'; + } elseif ($columnName === 'uid') { + return 'owner'; + } else { + return parent::columnToProperty($columnName); + } + } + + /** + * Transform a property to a database column name + * + * @param string $property the name of the property + * @return string the column name + */ + public function propertyToColumn($property){ + if ($property === 'name') { + return 'category'; + } elseif ($property === 'owner') { + return 'uid'; + } else { + return parent::propertyToColumn($property); + } + } +} diff --git a/lib/private/Tagging/TagMapper.php b/lib/private/Tagging/TagMapper.php new file mode 100644 index 00000000000..364dbc99b4d --- /dev/null +++ b/lib/private/Tagging/TagMapper.php @@ -0,0 +1,78 @@ + + * @author Bernhard Reiter + * @author Morris Jobke + * + * @copyright Copyright (c) 2016, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see + * + */ + +namespace OC\Tagging; + +use \OCP\AppFramework\Db\Mapper, + \OCP\AppFramework\Db\DoesNotExistException, + \OCP\IDBConnection; + +/** + * Mapper for Tag entity + */ +class TagMapper extends Mapper { + + /** + * Constructor. + * + * @param IDBConnection $db Instance of the Db abstraction layer. + */ + public function __construct(IDBConnection $db) { + parent::__construct($db, 'vcategory', 'OC\Tagging\Tag'); + } + + /** + * Load tags from the database. + * + * @param array|string $owners The user(s) whose tags we are going to load. + * @param string $type The type of item for which we are loading tags. + * @return array An array of Tag objects. + */ + public function loadTags($owners, $type) { + if(!is_array($owners)) { + $owners = array($owners); + } + + $sql = 'SELECT `id`, `uid`, `type`, `category` FROM `' . $this->getTableName() . '` ' + . 'WHERE `uid` IN (' . str_repeat('?,', count($owners)-1) . '?) AND `type` = ? ORDER BY `category`'; + return $this->findEntities($sql, array_merge($owners, array($type))); + } + + /** + * Check if a given Tag object already exists in the database. + * + * @param Tag $tag The tag to look for in the database. + * @return bool + */ + public function tagExists($tag) { + $sql = 'SELECT `id`, `uid`, `type`, `category` FROM `' . $this->getTableName() . '` ' + . 'WHERE `uid` = ? AND `type` = ? AND `category` = ?'; + try { + $this->findEntity($sql, array($tag->getOwner(), $tag->getType(), $tag->getName())); + } catch (DoesNotExistException $e) { + return false; + } + return true; + } +} + diff --git a/lib/private/tagging/tag.php b/lib/private/tagging/tag.php deleted file mode 100644 index e35ac433e00..00000000000 --- a/lib/private/tagging/tag.php +++ /dev/null @@ -1,89 +0,0 @@ - - * @author Morris Jobke - * - * @copyright Copyright (c) 2016, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see - * - */ - -namespace OC\Tagging; - -use \OCP\AppFramework\Db\Entity; - -/** - * Class to represent a tag. - * - * @method string getOwner() - * @method void setOwner(string $owner) - * @method string getType() - * @method void setType(string $type) - * @method string getName() - * @method void setName(string $name) - */ -class Tag extends Entity { - - protected $owner; - protected $type; - protected $name; - - /** - * Constructor. - * - * @param string $owner The tag's owner - * @param string $type The type of item this tag is used for - * @param string $name The tag's name - */ - public function __construct($owner = null, $type = null, $name = null) { - $this->setOwner($owner); - $this->setType($type); - $this->setName($name); - } - - /** - * Transform a database columnname to a property - * - * @param string $columnName the name of the column - * @return string the property name - * @todo migrate existing database columns to the correct names - * to be able to drop this direct mapping - */ - public function columnToProperty($columnName){ - if ($columnName === 'category') { - return 'name'; - } elseif ($columnName === 'uid') { - return 'owner'; - } else { - return parent::columnToProperty($columnName); - } - } - - /** - * Transform a property to a database column name - * - * @param string $property the name of the property - * @return string the column name - */ - public function propertyToColumn($property){ - if ($property === 'name') { - return 'category'; - } elseif ($property === 'owner') { - return 'uid'; - } else { - return parent::propertyToColumn($property); - } - } -} diff --git a/lib/private/tagging/tagmapper.php b/lib/private/tagging/tagmapper.php deleted file mode 100644 index 364dbc99b4d..00000000000 --- a/lib/private/tagging/tagmapper.php +++ /dev/null @@ -1,78 +0,0 @@ - - * @author Bernhard Reiter - * @author Morris Jobke - * - * @copyright Copyright (c) 2016, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see - * - */ - -namespace OC\Tagging; - -use \OCP\AppFramework\Db\Mapper, - \OCP\AppFramework\Db\DoesNotExistException, - \OCP\IDBConnection; - -/** - * Mapper for Tag entity - */ -class TagMapper extends Mapper { - - /** - * Constructor. - * - * @param IDBConnection $db Instance of the Db abstraction layer. - */ - public function __construct(IDBConnection $db) { - parent::__construct($db, 'vcategory', 'OC\Tagging\Tag'); - } - - /** - * Load tags from the database. - * - * @param array|string $owners The user(s) whose tags we are going to load. - * @param string $type The type of item for which we are loading tags. - * @return array An array of Tag objects. - */ - public function loadTags($owners, $type) { - if(!is_array($owners)) { - $owners = array($owners); - } - - $sql = 'SELECT `id`, `uid`, `type`, `category` FROM `' . $this->getTableName() . '` ' - . 'WHERE `uid` IN (' . str_repeat('?,', count($owners)-1) . '?) AND `type` = ? ORDER BY `category`'; - return $this->findEntities($sql, array_merge($owners, array($type))); - } - - /** - * Check if a given Tag object already exists in the database. - * - * @param Tag $tag The tag to look for in the database. - * @return bool - */ - public function tagExists($tag) { - $sql = 'SELECT `id`, `uid`, `type`, `category` FROM `' . $this->getTableName() . '` ' - . 'WHERE `uid` = ? AND `type` = ? AND `category` = ?'; - try { - $this->findEntity($sql, array($tag->getOwner(), $tag->getType(), $tag->getName())); - } catch (DoesNotExistException $e) { - return false; - } - return true; - } -} - -- cgit v1.2.3