X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FAnonymousFave%2FFave_tally.php;h=7a44c2350ded41b77920e92962a12e5d79f05f9b;hb=8b32ac85d8cbfe1be03836af461d80fddd54fc6c;hp=0eaa3fdc76eadb0485b666ec1e5951919fd57b5c;hpb=21708f0fa3e0950e8060ed240b4da0c643aad2fd;p=quix0rs-gnu-social.git diff --git a/plugins/AnonymousFave/Fave_tally.php b/plugins/AnonymousFave/Fave_tally.php index 0eaa3fdc76..7a44c2350d 100644 --- a/plugins/AnonymousFave/Fave_tally.php +++ b/plugins/AnonymousFave/Fave_tally.php @@ -36,7 +36,7 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php'; /** * Data class for favorites tally * - * A class representing a total number of times a notice has been favorited + * A class representing a total number of times a notice has been favored * * @category Action * @package StatusNet @@ -44,7 +44,6 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php'; * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 * @link http://status.net/ */ - class Fave_tally extends Memcached_DataObject { ###START_AUTOCODE @@ -85,7 +84,6 @@ class Fave_tally extends Memcached_DataObject * * @return array list of key field names */ - function keys() { return array_keys($this->keyTypes()); @@ -103,7 +101,6 @@ class Fave_tally extends Memcached_DataObject * 'K' for primary key: for compound keys, add an entry for each component; * 'U' for unique keys: compound keys are not well supported here. */ - function keyTypes() { return array('notice_id' => 'K'); @@ -119,8 +116,6 @@ class Fave_tally extends Memcached_DataObject * * @return array magic three-false array that stops auto-incrementing. */ - - function sequenceKey() { return array(false, false, false); @@ -133,7 +128,6 @@ class Fave_tally extends Memcached_DataObject * * @return User_flag_profile found object or null */ - function pkeyGet($kv) { return Memcached_DataObject::pkeyGet('Fave_tally', $kv); @@ -146,10 +140,8 @@ class Fave_tally extends Memcached_DataObject * * @return Fave_tally $tally the tally data object */ - static function increment($noticeID) { - common_debug("XXXXXXXXX Fave_tally::increment()"); $tally = Fave_tally::ensureTally($noticeID); $orig = clone($tally); @@ -158,8 +150,10 @@ class Fave_tally extends Memcached_DataObject if (!$result) { $msg = sprintf( - _m("Couldn't update favorite tally for notice ID %d."), - $notice_id + // TRANS: Server exception. + // TRANS: %d is the notice ID (number). + _m("Could not update favorite tally for notice ID %d."), + $noticeID ); throw new ServerException($msg); } @@ -174,11 +168,8 @@ class Fave_tally extends Memcached_DataObject * * @return Fave_tally $tally the tally data object */ - static function decrement($noticeID) { - common_debug("XXXXXXXXX Fave_tally::decrement()"); - $tally = Fave_tally::ensureTally($noticeID); if ($tally->count > 0) { @@ -188,8 +179,10 @@ class Fave_tally extends Memcached_DataObject if (!$result) { $msg = sprintf( - _m("Couldn't update favorite tally for notice ID %d."), - $notice_id + // TRANS: Server exception. + // TRANS: %d is the notice ID (number). + _m("Could not update favorite tally for notice ID %d."), + $noticeID ); throw new ServerException($msg); } @@ -200,27 +193,27 @@ class Fave_tally extends Memcached_DataObject /** * Ensure a tally exists for a given notice. If we can't find - * one create one. + * one create one with the total number of existing faves * * @param integer $noticeID * * @return Fave_tally the tally data object */ - static function ensureTally($noticeID) { - $tally = Fave_tally::staticGet('notice_id', $notice_id); + $tally = Fave_tally::staticGet('notice_id', $noticeID); if (!$tally) { - common_debug("Fave_tally::ensureTally - creating tally for notice " . $notice_id); $tally = new Fave_tally(); - $tally->notice_id = $notice_id; - $tally->count = 0; + $tally->notice_id = $noticeID; + $tally->count = Fave_tally::countExistingFaves($noticeID); $result = $tally->insert(); if (!$result) { $msg = sprintf( - _m("Couldn't create favorite tally for notice ID %d."), - $notice_id + // TRANS: Server exception. + // TRANS: %d is the notice ID (number). + _m("Could not create favorite tally for notice ID %d."), + $noticeID ); throw new ServerException($msg); } @@ -228,4 +221,20 @@ class Fave_tally extends Memcached_DataObject return $tally; } + + /** + * Count the number of faves a notice already has. Used to initalize + * a tally for a notice. + * + * @param integer $noticeID ID of the notice to count faves for + * + * @return integer $total total number of time the notice has been favored + */ + static function countExistingFaves($noticeID) + { + $fave = new Fave(); + $fave->notice_id = $noticeID; + $total = $fave->count(); + return $total; + } }