Yet another cleanup

remotes/origin/ldap_group_count
Thomas Tanghus 13 years ago
parent 1da90fab84
commit b54b0b2153
  1. 53
      lib/private/tags.php
  2. 2
      tests/lib/tags.php

@ -121,21 +121,7 @@ class Tags implements \OCP\ITags {
* @return boolean. * @return boolean.
*/ */
public function isEmpty() { public function isEmpty() {
$sql = 'SELECT COUNT(*) FROM `' . self::TAG_TABLE . '` ' return count($this->tags) === 0;
. 'WHERE `uid` = ? AND `type` = ?';
try {
$stmt = \OCP\DB::prepare($sql);
$result = $stmt->execute(array($this->user, $this->type));
if (\OCP\DB::isError($result)) {
\OCP\Util::writeLog('core', __METHOD__. ', DB error: ' . \OCP\DB::getErrorMessage($result), \OCP\Util::ERROR);
return false;
}
return ((int)$result->fetchOne() === 0);
} catch(\Exception $e) {
\OCP\Util::writeLog('core', __METHOD__.', exception: '.$e->getMessage(),
\OCP\Util::ERROR);
return false;
}
} }
/** /**
@ -184,6 +170,10 @@ class Tags implements \OCP\ITags {
$tagId = $tag; $tagId = $tag;
} elseif(is_string($tag)) { } elseif(is_string($tag)) {
$tag = trim($tag); $tag = trim($tag);
if($tag === '') {
\OCP\Util::writeLog('core', __METHOD__.', Cannot use empty tag names', \OCP\Util::DEBUG);
return false;
}
$tagId = $this->array_searchi($tag, $this->tags); $tagId = $this->array_searchi($tag, $this->tags);
} }
@ -234,11 +224,15 @@ class Tags implements \OCP\ITags {
* Add a new tag. * Add a new tag.
* *
* @param string $name A string with a name of the tag * @param string $name A string with a name of the tag
* @return false|string the id of the added tag or false if it already exists. * @return false|string the id of the added tag or false on error.
*/ */
public function add($name) { public function add($name) {
$name = trim($name); $name = trim($name);
if($name === '') {
\OCP\Util::writeLog('core', __METHOD__.', Cannot add an empty tag', \OCP\Util::DEBUG);
return false;
}
if($this->hasTag($name)) { if($this->hasTag($name)) {
\OCP\Util::writeLog('core', __METHOD__.', name: ' . $name. ' exists already', \OCP\Util::DEBUG); \OCP\Util::writeLog('core', __METHOD__.', name: ' . $name. ' exists already', \OCP\Util::DEBUG);
return false; return false;
@ -280,6 +274,12 @@ class Tags implements \OCP\ITags {
public function rename($from, $to) { public function rename($from, $to) {
$from = trim($from); $from = trim($from);
$to = trim($to); $to = trim($to);
if($to === '' || $from === '') {
\OCP\Util::writeLog('core', __METHOD__.', Cannot use empty tag names', \OCP\Util::DEBUG);
return false;
}
$id = $this->array_searchi($from, $this->tags); $id = $this->array_searchi($from, $this->tags);
if($id === false) { if($id === false) {
\OCP\Util::writeLog('core', __METHOD__.', tag: ' . $from. ' does not exist', \OCP\Util::DEBUG); \OCP\Util::writeLog('core', __METHOD__.', tag: ' . $from. ' does not exist', \OCP\Util::DEBUG);
@ -318,6 +318,8 @@ class Tags implements \OCP\ITags {
$names = array($names); $names = array($names);
} }
$names = array_map('trim', $names); $names = array_map('trim', $names);
array_filter($names);
$newones = array(); $newones = array();
foreach($names as $name) { foreach($names as $name) {
if(($this->in_arrayi( if(($this->in_arrayi(
@ -492,9 +494,9 @@ class Tags implements \OCP\ITags {
*/ */
public function addToFavorites($objid) { public function addToFavorites($objid) {
if(!$this->hasTag(self::TAG_FAVORITE)) { if(!$this->hasTag(self::TAG_FAVORITE)) {
$this->add(self::TAG_FAVORITE, true); $this->add(self::TAG_FAVORITE);
} }
return $this->tagAs($objid, self::TAG_FAVORITE, $this->type); return $this->tagAs($objid, self::TAG_FAVORITE);
} }
/** /**
@ -504,7 +506,7 @@ class Tags implements \OCP\ITags {
* @return boolean * @return boolean
*/ */
public function removeFromFavorites($objid) { public function removeFromFavorites($objid) {
return $this->unTag($objid, self::TAG_FAVORITE, $this->type); return $this->unTag($objid, self::TAG_FAVORITE);
} }
/** /**
@ -512,13 +514,17 @@ class Tags implements \OCP\ITags {
* *
* @param int $objid The id of the object * @param int $objid The id of the object
* @param string $tag The id or name of the tag * @param string $tag The id or name of the tag
* @return boolean Returns false on database error. * @return boolean Returns false on error.
*/ */
public function tagAs($objid, $tag) { public function tagAs($objid, $tag) {
if(is_string($tag) && !is_numeric($tag)) { if(is_string($tag) && !is_numeric($tag)) {
$tag = trim($tag); $tag = trim($tag);
if($tag === '') {
\OCP\Util::writeLog('core', __METHOD__.', Cannot add an empty tag', \OCP\Util::DEBUG);
return false;
}
if(!$this->hasTag($tag)) { if(!$this->hasTag($tag)) {
$this->add($tag, true); $this->add($tag);
} }
$tagId = $this->array_searchi($tag, $this->tags); $tagId = $this->array_searchi($tag, $this->tags);
} else { } else {
@ -549,6 +555,10 @@ class Tags implements \OCP\ITags {
public function unTag($objid, $tag) { public function unTag($objid, $tag) {
if(is_string($tag) && !is_numeric($tag)) { if(is_string($tag) && !is_numeric($tag)) {
$tag = trim($tag); $tag = trim($tag);
if($tag === '') {
\OCP\Util::writeLog('core', __METHOD__.', Tag name is empty', \OCP\Util::DEBUG);
return false;
}
$tagId = $this->array_searchi($tag, $this->tags); $tagId = $this->array_searchi($tag, $this->tags);
} else { } else {
$tagId = $tag; $tagId = $tag;
@ -579,6 +589,7 @@ class Tags implements \OCP\ITags {
} }
$names = array_map('trim', $names); $names = array_map('trim', $names);
array_filter($names);
\OCP\Util::writeLog('core', __METHOD__ . ', before: ' \OCP\Util::writeLog('core', __METHOD__ . ', before: '
. print_r($this->tags, true), \OCP\Util::DEBUG); . print_r($this->tags, true), \OCP\Util::DEBUG);

@ -130,7 +130,7 @@ class Test_Tags extends PHPUnit_Framework_TestCase {
$tagger = $this->tagMgr->load($this->objectType); $tagger = $this->tagMgr->load($this->objectType);
foreach($objids as $id) { foreach($objids as $id) {
$tagger->tagAs($id, 'Family'); $this->assertTrue($tagger->tagAs($id, 'Family'));
} }
$this->assertEquals(1, count($tagger->getTags())); $this->assertEquals(1, count($tagger->getTags()));

Loading…
Cancel
Save