| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | 
							- <?php
 
- namespace Elgg\Likes;
 
- /**
 
-  * @access private
 
-  */
 
- class DataService {
 
- 	/**
 
- 	 * @var array [GUID => boolean]
 
- 	 */
 
- 	protected $current_user_likes = array();
 
- 	/**
 
- 	 * @var array [GUID => int]
 
- 	 */
 
- 	protected $num_likes = array();
 
- 	/**
 
- 	 * @param int $guid
 
- 	 * @param int $num
 
- 	 */
 
- 	public function setNumLikes($guid, $num) {
 
- 		$this->num_likes[$guid] = (int)$num;
 
- 	}
 
- 	/**
 
- 	 * @param int  $guid
 
- 	 * @param bool $is_liked
 
- 	 */
 
- 	public function setLikedByCurrentUser($guid, $is_liked) {
 
- 		$this->current_user_likes[$guid] = (bool)$is_liked;
 
- 	}
 
- 	/**
 
- 	 * @param int $entity_guid
 
- 	 * @return bool
 
- 	 */
 
- 	public function currentUserLikesEntity($entity_guid) {
 
- 		if (!isset($this->current_user_likes[$entity_guid])) {
 
- 			$this->current_user_likes[$entity_guid] = elgg_annotation_exists($entity_guid, 'likes');
 
- 		}
 
- 		return $this->current_user_likes[$entity_guid];
 
- 	}
 
- 	/**
 
- 	 * @param \ElggEntity $entity
 
- 	 * @return int
 
- 	 */
 
- 	public function getNumLikes(\ElggEntity $entity) {
 
- 		$guid = $entity->guid;
 
- 		if (!isset($this->num_likes[$guid])) {
 
- 			$this->num_likes[$guid] = likes_count($entity);
 
- 		}
 
- 		return $this->num_likes[$guid];
 
- 	}
 
- 	/**
 
- 	 * @return DataService
 
- 	 */
 
- 	public static function instance() {
 
- 		static $inst;
 
- 		if ($inst === null) {
 
- 			$inst = new self();
 
- 		}
 
- 		return $inst;
 
- 	}
 
- }
 
 
  |