From bb5205053e9ae9e584df9715dafd85f9c576f248 Mon Sep 17 00:00:00 2001 From: cweiske Date: Wed, 28 Oct 2009 22:15:14 +0000 Subject: implement rewriteVotings() and unittest the method git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@448 b3834d28-1941-0410-a4f8-b48e95affb8f --- src/SemanticScuttle/Service/Vote.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/SemanticScuttle/Service/Vote.php') diff --git a/src/SemanticScuttle/Service/Vote.php b/src/SemanticScuttle/Service/Vote.php index 168040d..89088f0 100644 --- a/src/SemanticScuttle/Service/Vote.php +++ b/src/SemanticScuttle/Service/Vote.php @@ -261,17 +261,18 @@ class SemanticScuttle_Service_Vote extends SemanticScuttle_DbService * Re-calculates all votings for all bookmarks * and updates the voting values in the bookmarks * table. + * This is mainly meant to be an administrative method + * to fix a broken database. * * @return void */ public function rewriteVotings() { - throw new Exception('Not implemented yet'); - //FIXME - $bm = SemanticScuttle_Service_Factory::get('Bookmark'); - $sql = 'UPDATE ' . $bm->getTableName() . ' as B SET bVoting = ' + $bm = SemanticScuttle_Service_Factory::get('Bookmark'); + $query = 'UPDATE ' . $bm->getTableName() . ' as B SET bVoting = ' . '(SELECT SUM(vote) FROM ' . $this->getTableName() . ' as V' . ' WHERE V.bId = B.bId GROUP BY bid)'; + $this->db->sql_query($query); } -- cgit v1.2.3