/** * @brief get the class id of a given app/class name pair or all class ids of the given app * @param $app app id * @param $class class name defined in the app's info.xml or null to fetch all class IDs of the given app * @return id, array or false, if the class doesn't exist */ private static function getClassId($app, $class = null) { $return = array(); if ($class == null) { // get all classes of $app if (!isset(self::$classIdsStmt)) { self::$classIdsStmt = OCP\DB::prepare("SELECT id FROM *PREFIX*notification_classes WHERE appid = ?"); } $result = self::$classIdsStmt->execute(array($app)); while (($row = $result->fetchOne()) !== false) { $return[] = (int) $row; } } else { if (!isset(self::$classIdStmt)) { self::$classIdStmt = OCP\DB::prepare("SELECT id FROM *PREFIX*notification_classes WHERE appid = ? AND name = ?"); } $result = self::$classIdStmt->execute(array($app, $class)); if (($row = $result->fetchOne()) !== false) { $return = (int) $row; } } if (!count($return)) { return self::parseAppNotifications($app, $class); } return $return; }