summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/tags.php18
1 files changed, 13 insertions, 5 deletions
diff --git a/lib/tags.php b/lib/tags.php
index 2eaa603c1a3..e2e1a83dd94 100644
--- a/lib/tags.php
+++ b/lib/tags.php
@@ -233,17 +233,25 @@ class Tags implements \OCP\ITags {
return false;
}
try {
- \OCP\DB::insertIfNotExist(self::TAG_TABLE,
+ $result = \OCP\DB::insertIfNotExist(
+ self::TAG_TABLE,
array(
'uid' => $this->user,
'type' => $this->type,
'category' => $name,
- ));
- } catch(\Exception $e) {
- \OCP\Util::writeLog('core', __METHOD__.', exception: '.$e->getMessage(),
- \OCP\Util::ERROR);
+ )
+ );
+ if (\OCP\DB::isError($result)) {
+ \OCP\Util::writeLog('core', __METHOD__. 'DB error: ' . \OCP\DB::getErrorMessage($result), \OCP\Util::ERROR);
return false;
+ } elseif((int)$result === 0) {
+ \OCP\Util::writeLog('core', __METHOD__.', Tag already exists: ' . $name, \OCP\Util::DEBUG);
}
+ } catch(\Exception $e) {
+ \OCP\Util::writeLog('core', __METHOD__.', exception: '.$e->getMessage(),
+ \OCP\Util::ERROR);
+ return false;
+ }
$id = \OCP\DB::insertid(self::TAG_TABLE);
\OCP\Util::writeLog('core', __METHOD__.', id: ' . $id, \OCP\Util::DEBUG);
$this->tags[$id] = $name;