aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-02-06 19:56:06 +0000
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-02-06 19:56:06 +0000
commit1a792bebc590cdcfc1b888a33209df92be51400d (patch)
tree87e913b42593b74713a9280b7a7ea3ca4bb2f93e
parentcfaa89dd2d32bc3c17d55def95a1fd49187e1667 (diff)
downloadelgg-1a792bebc590cdcfc1b888a33209df92be51400d.tar.gz
elgg-1a792bebc590cdcfc1b888a33209df92be51400d.tar.bz2
moved the count comments and likes functions into the ElggEntity class
git-svn-id: http://code.elgg.org/elgg/trunk@8047 36083f99-b078-4883-b0ff-0f9b5a30f544
-rw-r--r--engine/classes/ElggEntity.php37
-rw-r--r--engine/lib/elgglib.php53
-rw-r--r--engine/lib/views.php21
-rw-r--r--mod/blog/views/default/object/blog.php2
-rw-r--r--mod/file/views/default/object/file.php2
-rw-r--r--mod/groups/views/default/object/groupforumtopic.php2
-rw-r--r--mod/pages/views/default/object/page_top.php2
-rw-r--r--views/default/core/likes/display.php2
8 files changed, 63 insertions, 58 deletions
diff --git a/engine/classes/ElggEntity.php b/engine/classes/ElggEntity.php
index 5e43ab582..13b08a122 100644
--- a/engine/classes/ElggEntity.php
+++ b/engine/classes/ElggEntity.php
@@ -593,6 +593,40 @@ abstract class ElggEntity extends ElggData implements
}
/**
+ * Count the number of comments attached to this entity.
+ *
+ * @return int Number of comments
+ * @since 1.8.0
+ */
+ function countComments() {
+ $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");
+ }
+ }
+
+ /**
+ * Count how many people have liked this entity.
+ *
+ * @return int Number of likes
+ * @since 1.8.0
+ */
+ function countLikes() {
+ $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");
+ }
+ }
+
+ /**
* Gets an array of entities with a relationship to this entity.
*
* @param string $relationship Relationship type (eg "friends")
@@ -887,8 +921,11 @@ abstract class ElggEntity extends ElggData implements
* @param string $size The size its for.
*
* @return bool
+ * @deprecated 1.8 See getIconURL() for the plugin hook to use
*/
public function setIcon($url, $size = 'medium') {
+ elgg_deprecated_notice("icon_override on an individual entity is deprecated", 1.8);
+
$url = sanitise_string($url);
$size = sanitise_string($size);
diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php
index 3e8b9d43d..66477785e 100644
--- a/engine/lib/elgglib.php
+++ b/engine/lib/elgglib.php
@@ -334,59 +334,6 @@ function elgg_get_external_file($type, $location) {
}
/**
- * Returns the HTML for "likes" and "like this" on entities.
- *
- * @param ElggEntity $entity The entity to like
- *
- * @return string|false The HTML for the likes, or false on failure
- *
- * @since 1.8
- * @see @elgg_view core/likes/display
- */
-function elgg_view_likes($entity) {
- if (!($entity instanceof ElggEntity)) {
- return false;
- }
-
- $params = array('entity' => $entity);
-
- return elgg_view('core/likes/display', $params);
-}
-
-/**
- * Count the number of likes attached to an entity
- *
- * @param ElggEntity $entity The entity to count likes for
- *
- * @return int Number of likes
- * @since 1.8
- */
-function elgg_count_likes($entity) {
- if ($likeno = elgg_trigger_plugin_hook('likes:count', $entity->getType(),
- array('entity' => $entity), false)) {
- return $likeno;
- } else {
- return count_annotations($entity->getGUID(), "", "", "likes");
- }
-}
-
-/**
- * Count the number of comments attached to an entity
- *
- * @param ElggEntity $entity The entity to count comments for
- *
- * @return int Number of comments
- */
-function elgg_count_comments($entity) {
- if ($commentno = elgg_trigger_plugin_hook('comments:count', $entity->getType(),
- array('entity' => $entity), false)) {
- return $commentno;
- } else {
- return count_annotations($entity->getGUID(), "", "", "generic_comment");
- }
-}
-
-/**
* Returns a list of files in $directory.
*
* Only returns files. Does not recurse into subdirs.
diff --git a/engine/lib/views.php b/engine/lib/views.php
index 72cfeb2b6..d76456d83 100644
--- a/engine/lib/views.php
+++ b/engine/lib/views.php
@@ -1098,6 +1098,27 @@ function elgg_view_latest_comments($owner_guid, $type = 'object', $subtype = '',
);
return elgg_view('layout/objects/module', $params);
}
+
+/**
+ * Returns the HTML for "likes" on entities.
+ *
+ * @param ElggEntity $entity The entity to like
+ *
+ * @return string|false The HTML for the likes, or false on failure
+ *
+ * @since 1.8.0
+ * @see @elgg_view core/likes/display
+ */
+function elgg_view_likes($entity) {
+ if (!($entity instanceof ElggEntity)) {
+ return false;
+ }
+
+ $params = array('entity' => $entity);
+
+ return elgg_view('core/likes/display', $params);
+}
+
/**
* Wrapper function for the image block display pattern.
*
diff --git a/mod/blog/views/default/object/blog.php b/mod/blog/views/default/object/blog.php
index 3c5003310..78470d6be 100644
--- a/mod/blog/views/default/object/blog.php
+++ b/mod/blog/views/default/object/blog.php
@@ -28,7 +28,7 @@ $date = elgg_view_friendly_time($blog->publish_date);
// The "on" status changes for comments, so best to check for !Off
if ($blog->comments_on != 'Off') {
- $comments_count = elgg_count_comments($blog);
+ $comments_count = $blog->countComments();
//only display if there are commments
if ($comments_count != 0) {
$text = elgg_echo("comments") . " ($comments_count)";
diff --git a/mod/file/views/default/object/file.php b/mod/file/views/default/object/file.php
index 89367feb3..5fcd2a023 100644
--- a/mod/file/views/default/object/file.php
+++ b/mod/file/views/default/object/file.php
@@ -37,7 +37,7 @@ $file_icon = elgg_view('file/icon', array(
$tags = elgg_view('output/tags', array('tags' => $file->tags));
$date = elgg_view_friendly_time($file->time_created);
-$comments_count = elgg_count_comments($file);
+$comments_count = $file->countComments();
//only display if there are commments
if ($comments_count != 0) {
$text = elgg_echo("comments") . " ($comments_count)";
diff --git a/mod/groups/views/default/object/groupforumtopic.php b/mod/groups/views/default/object/groupforumtopic.php
index c6f9da4b4..6d4902c87 100644
--- a/mod/groups/views/default/object/groupforumtopic.php
+++ b/mod/groups/views/default/object/groupforumtopic.php
@@ -28,7 +28,7 @@ $date = elgg_view_friendly_time($topic->time_created);
$comments_link = '';
$comments_text = '';
-$num_comments = elgg_count_comments($topic);
+$num_comments = $topic->countComments();
if ($num_comments != 0) {
$last_comment = $topic->getAnnotations("generic_comment", 1, 0, "desc");
$commenter = $last_comment[0]->getOwnerEntity();
diff --git a/mod/pages/views/default/object/page_top.php b/mod/pages/views/default/object/page_top.php
index 9770dce23..89ef25572 100644
--- a/mod/pages/views/default/object/page_top.php
+++ b/mod/pages/views/default/object/page_top.php
@@ -39,7 +39,7 @@ $date = elgg_view_friendly_time($annotation->time_created);
$editor_text = elgg_echo('pages:strapline', array($date, $editor_link));
$tags = elgg_view('output/tags', array('tags' => $page->tags));
-$comments_count = elgg_count_comments($page);
+$comments_count = $page->countComments();
//only display if there are commments
if ($comments_count != 0 && !$revision) {
$text = elgg_echo("comments") . " ($comments_count)";
diff --git a/views/default/core/likes/display.php b/views/default/core/likes/display.php
index 680486863..5b59c7215 100644
--- a/views/default/core/likes/display.php
+++ b/views/default/core/likes/display.php
@@ -38,7 +38,7 @@ if (!elgg_annotation_exists($guid, 'likes')) {
}
$list = '';
-$num_of_likes = elgg_count_likes($vars['entity']);
+$num_of_likes = $vars['entity']->countLikes();
if ($num_of_likes) {
// display the number of likes
if ($num_of_likes == 1) {