From 0b4de847a93357160dc4acb3de651a7ee08a10df Mon Sep 17 00:00:00 2001 From: Thomas Tanghus Date: Mon, 23 Sep 2013 13:27:43 +0200 Subject: [PATCH] Added more error checking in add() --- lib/tags.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/tags.php b/lib/tags.php index 2eaa603c1a..e2e1a83dd9 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;