Ejemplo n.º 1
0
 /**
  * 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');
     }
 }
Ejemplo n.º 2
0
 /**
  *
  * 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;
 }