<?php 
/**
 * Library to read forensiq scores from redis read server
 * 
 * @author Janaki
 * 01/25/2018
 *
 */

class Forensiq{   
    private $redis_read;
    const REDIS_READ_HOST = '192.168.17.177';
    const REDIS_READ_PORT = '6379';
    
    /**
     * Pass redis read connection if available
     * @param object $redis_read
     */
    public function __construct($redis_read = false){
        if(!$redis_read){
            var_dump("creating redis connection");
            $this->redis_read = new Redis();
            $this->redis_read->pconnect(self::REDIS_READ_HOST, self::REDIS_READ_PORT);
        }
        else{
            $this->redis_read = $redis_read;
        }
    }
    
    /**
     * Returns forensiq score for parameters $product (&p), affiliate id (&a) and domain (&rd) in forensiq url.
     * @param string $product
     * @param string $aid
     * @param string $domain
     */
    public function getScore($product, $aid, $domain){        
        $key = $product."::".$aid."::".$domain;
        $hash = "forensiq_scores";
        return (float)$this->redis_read->hGet($hash, $key);
    }
}
?>