From 44fd0e29f4d856058f3bac3a3581d00919420169 Mon Sep 17 00:00:00 2001 From: cweiske Date: Mon, 26 Oct 2009 18:52:02 +0000 Subject: introduce voting config value and provide current user voting status in getBookmarks() git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@431 b3834d28-1941-0410-a4f8-b48e95affb8f --- src/SemanticScuttle/Service/Bookmark.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/SemanticScuttle/Service/Bookmark.php') diff --git a/src/SemanticScuttle/Service/Bookmark.php b/src/SemanticScuttle/Service/Bookmark.php index a48624b..34a819c 100644 --- a/src/SemanticScuttle/Service/Bookmark.php +++ b/src/SemanticScuttle/Service/Bookmark.php @@ -432,6 +432,10 @@ class SemanticScuttle_Service_Bookmark extends SemanticScuttle_DbService * - if the $user is set and IS the logged-in user, then * get all bookmarks. * + * In case voting is enabled and a user is logged in, + * each bookmark array contains two additional keys: + * 'hasVoted' and 'vote'. + * * @param integer $start Page number * @param integer $perpage Number of bookmarks per page * @param integer $user User ID @@ -601,6 +605,18 @@ class SemanticScuttle_Service_Bookmark extends SemanticScuttle_DbService if ($hash) { $query_4 .= ' AND B.bHash = "'. $hash .'"'; } + + //Voting system + if ($GLOBALS['enableVoting'] && $userservice->isLoggedOn()) { + $currentuser = $userservice->getCurrentUser(); + $vs = SemanticScuttle_Service_Factory::get('Vote'); + $query_1 .= ', !ISNULL(V.bId) as hasVoted, V.vote as vote'; + $query_2 .= ' LEFT JOIN ' . $vs->getTableName() . ' AS V' + . ' ON B.bId = V.bId' + . ' AND V.uId = ' . (int)$currentuser['uId']; + } + + $query = $query_1 . $query_2 . $query_3 . $query_4 . $query_5; if (!($dbresult = & $this->db->sql_query_limit($query, intval($perpage), intval($start)))) { -- cgit v1.2.3