<?php
class fetchedData{
	public $id 		= 0;
	public $site_id	= '';
	public $source_id	= '';
	public $category	= 0;
	public $group_id	= 0;
	public $isInner	= 0;
	public $title	= '';
	public $url	= '';
	public $url_md5	= '';
	public $fetch_ts	= 0;
	public $original_publish_ts	= 0;
	public $bypassCompare	= 0;
	public $published	= 0;
	public $image	= '';
	public $is_img	= 0;
	public $publishInterval	= 0;
	public $publishCount	= 0;
	
	private $source = '';
	public function __construct(&$source , $data){
		$this->source = $source;
		
		$this->site_id = $source->site_id;
		$this->source_id = $source->id;
		$this->group_id = $source->groupId;
		$this->category = $source->category;
		$this->isInner = $source->isInner;
		$this->bypassCompare = $source->bypassCompare;
		$this->publishInterval = $source->publishInterval;
		$this->publishCount = $source->publishCount;
		
		$this->title = $this->processTitle($data->title);
		$this->url = $this->processUrl($data->link);
		$this->original_publish_ts = $data->pubDate;
		
		// check publish 
		if ($this->original_publish_ts == 0){
			$this->original_publish_ts = date("U");
		}
	}
	
	public function save(){
		
		if($this->check())
		{
			$sql = "INSERT INTO rss_fetched_news
					set
						site_id = '".($this->site_id)."',
						source_id = '".($this->source_id)."',
						category = '".($this->category)."',
						group_id = '".($this->group_id)."',
						isInner = '".($this->isInner)."',
						title = '".($this->title)."',
						url = '".($this->url)."',
						url_md5 = '".($this->url_md5)."',
						fetch_ts = '".($this->fetch_ts)."',
						bypassCompare = '".($this->bypassCompare)."',
						original_publish_ts = '".($this->original_publish_ts)."',
						copied = '0' ,
						publishInterval = '".($this->publishInterval)."' ,
						publishCount = '".($this->publishCount)."'
					";
			$query = mysql_query($sql);
			if ($query !== false){
				$this->id = mysql_insert_id();
				return true;
			}else{
				return false;
			}
		}else{
			return false;
		}
		
	}
	
	private function check() {
		
		$this->fetch_ts = date("U");
		
		$sql = "SELECT count(*) FROM rss_fetched_news WHERE url_md5='".$this->url_md5."'";;
		$query = mysql_query($sql);
		$xn = mysql_fetch_array($query);
		if($xn["0"]>0){
			return false;
		}else{
			return true;
		}
		
	}
	
	private function processTitle($title){
		$title=str_replace("\n",'',$title);
		$title=str_replace("\r",'',$title);
		$title=str_replace("   ",' ',$title);
		$title=str_replace("  ",' ',$title);
		$title=str_replace("  ",' ',$title);
		$title=str_replace("  ",' ',$title);
		$title=str_replace('"','&quot;',$title);
		$title=str_replace("'",'&#039;',$title);
		
		$delar=explode("\n",$this->source->deleteTitle);
		//$dd=file_get_contents('dels.txt');
		foreach ($delar as $delword){
			$delword=trim($delword);
			$delword=str_replace('&quot;','"',$delword);
			$delword=str_replace('&#039;',"'",$delword);
			$delword=str_replace("\n","",$delword);
			$delword=str_replace("\r","",$delword);
			//$dd.=$delword."\n".$title."\n\n---------------\n\n";
			$title=str_replace($delword,'',$title);
		}//
		//file_put_contents('dels.txt',$dd);
		$title=$title.$this->source->postTitle;
		$title=$this->source->preTitle.$title;
		return $title;
	}//
	
	private function processUrl($link){
		$delar=explode("\n",$this->source->deleteURL);
		foreach ($delar as $delword){
			$delword=trim($delword);
			$link=str_replace($delword,'',$link);
		}//
		
		$link=$link.$this->source->postURL;
		$link=$this->source->preURL.$link;
		$this->url_md5 = md5($link);
		return $link;
	}//
}