]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Refs #650. Replaced count_annotations().
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sat, 12 Feb 2011 23:29:36 +0000 (23:29 +0000)
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sat, 12 Feb 2011 23:29:36 +0000 (23:29 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@8188 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/classes/ElggEntity.php
views/default/core/river/footer.php

index 7bed1af7ced437bc395aae4f5f2c0c65c8227904..ea2a329d9e011aba0f6468ab90fa8673ecf4431d 100644 (file)
@@ -489,6 +489,22 @@ abstract class ElggEntity extends ElggData implements
                return remove_private_setting($this->getGUID(), $name);
        }
 
+       /**
+        * Helper function to return annotation calculation results
+        *
+        * @param string $name        The annotation name.
+        * @param string $calculation A valid MySQL function to run its values through
+        */
+       private function getAnnotationCalculation($name, $calculation) {
+               $options = array(
+                       'guid' => $this->getGUID(),
+                       'annotation_name' => $name,
+                       'annotation_calculation' => $calculation
+               );
+
+               return elgg_get_annotations($options);
+       }
+
        /**
         * Adds an annotation to an entity.
         *
@@ -565,7 +581,7 @@ abstract class ElggEntity extends ElggData implements
         * @return int
         */
        function countAnnotations($name = "") {
-               return count_annotations($this->getGUID(), "", "", $name);
+               return $this->getAnnotationCalculation($name, 'count');
        }
 
        /**
@@ -576,7 +592,7 @@ abstract class ElggEntity extends ElggData implements
         * @return int
         */
        function getAnnotationsAvg($name) {
-               return get_annotations_avg($this->getGUID(), "", "", $name);
+               return $this->getAnnotationCalculation($name, 'avg');
        }
 
        /**
@@ -587,7 +603,7 @@ abstract class ElggEntity extends ElggData implements
         * @return int
         */
        function getAnnotationsSum($name) {
-               return get_annotations_sum($this->getGUID(), "", "", $name);
+               return $this->getAnnotationCalculation($name, 'sum');
        }
 
        /**
@@ -598,7 +614,7 @@ abstract class ElggEntity extends ElggData implements
         * @return int
         */
        function getAnnotationsMin($name) {
-               return get_annotations_min($this->getGUID(), "", "", $name);
+               return $this->getAnnotationCalculation($name, 'min');
        }
 
        /**
@@ -609,7 +625,7 @@ abstract class ElggEntity extends ElggData implements
         * @return int
         */
        function getAnnotationsMax($name) {
-               return get_annotations_max($this->getGUID(), "", "", $name);
+               return $this->getAnnotationCalculation($name, 'max');
        }
 
        /**
@@ -622,10 +638,11 @@ abstract class ElggEntity extends ElggData implements
                $type = $this->getType();
                $params = array('entity' => $this);
                $number = elgg_trigger_plugin_hook('comments:count', $type, $params, false);
+
                if ($number) {
                        return $number;
                } else {
-                       return count_annotations($this->getGUID(), "", "", "generic_comment");
+                       return $this->getAnnotationCalculation('generic_comment', 'count');
                }
        }
 
@@ -639,10 +656,11 @@ abstract class ElggEntity extends ElggData implements
                $type = $this->getType();
                $params = array('entity' => $this);
                $number = elgg_trigger_plugin_hook('likes:count', $type, $params, false);
+
                if ($number) {
                        return $number;
                } else {
-                       return count_annotations($this->getGUID(), "", "", "likes");
+                       return $this->getAnnotationCalculation('likes', 'count');
                }
        }
 
index 04f7d8daab8e0a246cc998ca27ef445f64bb8481..ee9d5dc58fe7ceb831bfe211634c40f8cf4028fa 100644 (file)
@@ -11,7 +11,7 @@ if ($item->annotation_id != 0 || !$object) {
        return true;
 }
 
-$comment_count = count_annotations($object->getGUID(), '', '', 'generic_comment');
+$comment_count = $object->countComments();
 
 $options = array(
        'guid' => $object->getGUID(),