Count annotations.
public countAnnotations ( string $name = "" ) : integer | ||
$name | string | The type of annotation. |
Résultat | integer |
/** * Count how many people have liked an entity. * * @param ElggEntity $entity * * @return int Number of likes */ function likes_count($entity) { $type = $entity->getType(); $params = array('entity' => $entity); $number = elgg_trigger_plugin_hook('likes:count', $type, $params, false); if ($number) { return $number; } else { return $entity->countAnnotations('likes'); } }
public function testElggEnityGetAndSetAnnotations() { $this->assertIdentical($this->entity->getAnnotations(array('annotation_name' => 'non_existent')), array()); // save entity and check for annotation $this->entity->annotate('non_existent', 'foo'); $annotations = $this->entity->getAnnotations(array('annotation_name' => 'non_existent')); $this->assertIsA($annotations[0], '\\ElggAnnotation'); $this->assertIdentical($annotations[0]->name, 'non_existent'); $this->assertEqual($this->entity->countAnnotations('non_existent'), 1); // @todo belongs in Annotations API test class $this->assertIdentical($annotations, elgg_get_annotations(array('guid' => $this->entity->getGUID()))); $this->assertIdentical($annotations, elgg_get_annotations(array('guid' => $this->entity->getGUID(), 'type' => 'object'))); $this->assertIdentical(false, elgg_get_annotations(array('guid' => $this->entity->getGUID(), 'type' => 'object', 'subtype' => 'fail'))); // clear annotation $this->assertTrue($this->entity->deleteAnnotations()); $this->assertEqual($this->entity->countAnnotations('non_existent'), 0); // @todo belongs in Annotations API test class $this->assertIdentical(array(), elgg_get_annotations(array('guid' => $this->entity->getGUID()))); $this->assertIdentical(array(), elgg_get_annotations(array('guid' => $this->entity->getGUID(), 'type' => 'object'))); }