/** * Add like by Anonymous user * * @param int $post_like_count * * @access private */ private function userAnonymousLike($post_like_count) { // get user IP address if (($ip = Filter::ip()) !== false) { // stored IP addresses $liked_ips = $this->getPostMeta(self::POST_LIKED_USERS_IP_KEY, true); if (!$liked_ips || array_search($ip, $liked_ips) === false) { // if IP not in array $liked_ips[] = $ip; // add IP to array } // unlike the post if (self::isAlreadyLiked($this->post_id)) { // find the key $ip_key = array_search($ip, $liked_ips); // remove user IP from array unset($liked_ips[$ip_key]); // Remove user IP from post meta // -1 count post meta $post_like_count = $this->subtractionLikeCount($post_like_count); $this->updatePostLikeMeta($liked_ips, $post_like_count); // generate response $this->response(0, $post_like_count); } else { //like the post // Add user IP to post meta // +1 count post meta $this->updatePostLikeMeta($liked_ips, ++$post_like_count); // generate response // update count on frontend $this->response(1, $post_like_count); } } else { $this->response('ip', 'error'); } }
/** * * get current usr ip address * * @return string|boolean if the ip addrss is bad return false else return ip address * @access private */ private function getUserIp() { $ip = Filter::ip(); return $ip; }