All pastes #918243 Raw Edit

digg api wrapper

public php v1 · immutable
#918243 ·published 2008-02-26 00:30 UTC
rendered paste body
<?phpclass digg	{	public $appkey;	public function __construct($appkey)		{		$this->appkey=urlencode($appkey);		}		public function get_friends($user)		{		$offset=0;		$friends=array();		while(count($friends)==($offset*100))			{			$actual_offset=100*$offset;			$url="http://services.digg.com/user/" . $user . "/friends?appkey=" . $this->appkey . "&type=php&count=100&offset=" . $actual_offset;			$result=unserialize(curl_get($url));			$friend = $result->users;			foreach($friend as $element)				{				$friends[]=$element->name;				}			$offset++;			}				return $friends;		}			public function get_user($user)		{		$user=urlencode($user);		$url="http://services.digg.com/user/" . $user . "?appkey=" . $this->appkey . "&type=php&count=100";		$result=unserialize(curl_get($url));				$user=$result->users;		$user=$user[0];				$user_info['name']=$user->name;		$user_info['icon']=$user->icon;		$user_info['registered']=$user->registered;		$user_info['profileviews']=$user->profileviews;				return $user_info;		}			public function get_fans($user)		{		$offset=0;		$fans=array();		while(count($fans)==($offset*100))			{			$actual_offset=100*$offset;			$url="http://services.digg.com/user/" . $user . "/fans?appkey=" . $this->appkey . "&type=php&count=100&offset=" . $actual_offset;			$result=unserialize(curl_get($url));			$fan = $result->users;			foreach($fan as $element)				{				$fans[]=$element->name;				}			$offset++;			}				return $fans;		}			public function get_topics()		{		$url="http://services.digg.com/topics?appkey=" . $this->appkey . "&type=php";		$result=unserialize(curl_get($url));		$topic=$result->topics;		$i=0;		foreach($topic as $element)			{			$topics[$i]['name']=$element->name;			$topics[$i]['short']=$element->short_name;			$i++;			}		return $topics;		}			public function get_stories($type=null, $topic=null, $container=null, $minsubmit=null, $maxsubmit=null, $minpromote=null, $maxpromote=null, $count=null, $offset=null, $domain=null)		{		if($minsubmit) $minsubmit=strtotime($minsubmit);		if($maxsubmit) $maxsubmit=strtotime($maxsubmit);		if($minpromote) $minpromote=strtotime($minpromote);		if($maxpromote) $maxpromote=strtotime($maxpromote);		if($count>100) $count=100; 		if($domain) $domain=urlencode($domain);				$url="http://services.digg.com/stories";		if($topic) $url.="/topic/" . $topic;		if($container) $url.="/container/" . $container;		if($type=="popular") $url.="/popular";		if($type=="upcoming") $url.="/upcoming";						$url.="?appkey=" . $this->appkey . "&type=php";		if($minsubmit) $url.="&min_submit_date=" . $minsubmit;		if($maxsubmit) $url.="&max_submit_date=" . $maxsubmit;		if($minpromote) $url.="&min_promote_date=" . $minpromote;		if($maxpromote) $url.="&max_promote_date=" . $maxpromote;		if($count) $url.="&count=" . $count;		if($offest) $url.="&offset=" .$offset;		if($domain) $url.="&domain=" . $domain;				$result=unserialize(curl_get($url));		$story=$result->stories;		$stories=parse_stories($story);		return $stories;		}			public function get_story($ids)		{		$url="http://services.digg.com/stories/";		if(count($ids)>1)			{			$ids=implode(",",$ids);			$url.=$ids;			}		else			{			if(is_array($ids))				{				$url.=$ids[0];				}			else				{				$url.=$ids;				}			}		$url.="?appkey=" . $this->appkey . "&type=php";		$result=unserialize(curl_get($url));				$story=$result->stories;		$stories=parse_stories($story);		return $stories;		}			public function get_user_submitted($user, $minsubmit=null, $maxsubmit=null, $minpromote=null, $maxpromote=null, $count=null, $offset=null, $domain=null)		{		$user=urlencode($user);		if($minsubmit) $minsubmit=strtotime($minsubmit);		if($maxsubmit) $maxsubmit=strtotime($maxsubmit);		if($minpromote) $minpromote=strtotime($minpromote);		if($maxpromote) $maxpromote=strtotime($maxpromote);		if($count>100) $count=100; 		if($domain) $domain=urlencode($domain);		$url="http://services.digg.com/user/" . $user . "/submissions?appkey=" . $this->appkey . "&type=php";		if($minsubmit) $url.="&min_submit_date=" . $minsubmit;		if($maxsubmit) $url.="&max_submit_date=" . $maxsubmit;		if($minpromote) $url.="&min_promote_date=" . $minpromote;		if($maxpromote) $url.="&max_promote_date=" . $maxpromote;		if($count) $url.="&count=" . $count;		if($offset) $url.="&offset=" . $offset;		if($domain) $url.="&domain=" . $domain;				$result=unserialize(curl_get($url));		$story=$result->stories;		$stories=parse_stories($story);		return $stories;		}		public function get_diggs($type=null, $mindate=null, $maxdate=null, $count=null, $offset=null)		{		if($mindate) $mindate=strtotime($mindate);		if($maxdate) $maxdate=strtotime($maxdate);		if($count>100) $count=100;		$url="http://services.digg.com/stories/";		if($type=="popular") $url.="/popular/";		if($type=="upcoming") $url.="/upcoming/";		$url.="diggs";		$url.="?appkey=" . $this->appkey . "&type=php";		if($mindate) $url.="&min_date=" . $mindate;		if($maxdate) $url.="&max_date=" . $maxdate;		if($count) $url.="&count=" . $count;		if($offset) $url.="&offset=" . $offset;				$result=unserialize(curl_get($url));		$digg=$result->diggs;		$diggs=parse_diggs($digg);		return $diggs;		}		public function get_story_diggs($ids, $mindate=null, $maxdate=null, $count=null, $offset=null)		{		$url="http://services.digg.com/stories/";		if($mindate) $mindate=strtotime($mindate);		if($maxdate) $maxdate=strtotime($maxdate);		if($count>100) $count=100;		if(count($ids)>1)			{			$ids=implode(",",$ids);			$url.=$ids;			}		else			{			if(is_array($ids))				{				$url.=$ids[0];				}			else				{				$url.=$ids;				}			}		$url.="/diggs?appkey=" . $this->appkey . "&type=php";		if($mindate) $url.="&min_date=" . $mindate;		if($maxdate) $url.="&max_date=" . $maxdate;		if($count) $url.="&count=" . $count;		if($offset) $url.="&offset=" . $offset;		$result=unserialize(curl_get($url));				$digg=$result->diggs;		$diggs=parse_diggs($digg);		return $diggs;		}			public function get_user_diggs($user, $mindate=null, $maxdate=null, $count=null, $offset=null)		{		if($mindate) $mindate=strtotime($mindate);		if($maxdate) $maxdate=strtotime($maxdate);		if($count>100) $count=100;		$url="http://services.digg.com/users/";		if(count($user)>1)			{			$user=implode(",",$user);			$url.=$user;			}		else			{			if(is_array($user))				{				$url.=$user[0];				}			else				{				$url.=$user;				}			}					$url.="/diggs?appkey=" . $this->appkey . "&type=php";		if($mindate) $url.="&min_date=" . $mindate;		if($maxdate) $url.="&max_date=" . $maxdate;		if($count) $url.="&count=" . $count;		if($offset) $url.="&offset=" . $offset;		$result=unserialize(curl_get($url));				$digg=$result->diggs;		$diggs=parse_diggs($digg);		return $diggs;		}			public function get_user_story_digg($user, $story)		{		$user=urlencode($user);		$url="http://services.digg.com/story/" . $story . "/user/" . $user . "/digg?appkey=" . $this->appkey . "&type=php";		$result=unserialize(curl_get($url));		$digg=$result->diggs;		$diggs=parse_diggs($digg);		return $diggs;		}			public function get_comments($type=null, $mindate=null, $maxdate=null, $count=null, $offset=null)			{		if($mindate) $mindate=strtotime($mindate);		if($maxdate) $maxdate=strtotime($maxdate);		if($count>100) $count=100;		$url="http://services.digg.com/stories/";		if($type=="popular") $url.="/popular/";		if($type=="upcoming") $url.="/upcoming/";		$url.="comments?appkey=" . $this->appkey . "&type=php";		if($mindate) $url.="&min_date=" . $mindate;		if($maxdate) $url.="&max_date=" . $maxdate;		if($count) $url.="&count=" . $count;		if($offset) $url.="&offset=" . $offset;				$result=unserialize(curl_get($url));		$comment=$result->comments;		$comments=parse_comments($comment);				return $comments;		}		public function get_story_comments($ids, $mindate=null, $maxdate=null, $count=null, $offset=null)		{		if($mindate) $mindate=strtotime($mindate);		if($maxdate) $maxdate=strtotime($maxdate);		if($count>100) $count=100;		$url="http://services.digg.com/stories/";		if(count($ids)>1)			{			$ids=implode(",",$ids);			$url.=$ids;			}		else			{			if(is_array($ids))				{				$url.=$ids[0];				}			else				{				$url.=$ids;				}			}		$url.="/comments?appkey=" . $this->appkey . "&type=php";		if($mindate) $url.="&min_date=" . $mindate;		if($maxdate) $url.="&max_date=" . $maxdate;		if($count) $url.="&count=" . $count;		if($offset) $url.="&offset=" . $offset;		$result=unserialize(curl_get($url));		$comment=$result->comments;		$comments=parse_comments($comment);		return $comments;		}			public function get_user_comments($user, $mindate=null, $maxdate=null, $count=null, $offset=null)		{		if($mindate) $mindate=strtotime($mindate);		if($maxdate) $maxdate=strtotime($maxdate);		if($count>100) $count=100;		$url="http://services.digg.com/users/";		if(count($user)>1)			{			$user=implode(",",$user);			$url.=$user;			}		else			{			if(is_array($user))				{				$url.=$user[0];				}			else				{				$url.=$user;				}			}		$url.="/comments?appkey=" . $this->appkey . "&type=php";			if($mindate) $url.="&min_date=" . $mindate;		if($maxdate) $url.="&max_date=" . $maxdate;		if($count) $url.="&count=" . $count;		if($offset) $url.="&offset=" . $offset;		$result=unserialize(curl_get($url));		$comment=$result->comments;		$comments=parse_comments($comment);		return $comments;		}			public function get_comment_replies($story_id, $comment_id, $count=null, $offset=null)		{		if($count>100) $count=100;		$url="http://services.digg.com/story/" . $story_id . "/comment/" . $comment_id ."/replies?appkey=" . $this->appkey . "&type=php";		if($count) $url.="&count=" . $count;		if($offset) $url.="&offset=" . $offset;				$result=unserialize(curl_get($url));		$comment=$result->comments;		$comments=parse_comments($comment);		return $comments;		}	}function parse_stories($array)	{	$i=0;	foreach($array as $element)		{		$stories[$i]['id']=$element->id;		$stories[$i]['link']=$element->link;		$stories[$i]['submit_time']=$element->submit_date;		$stories[$i]['diggs']=$element->diggs;		$stories[$i]['comments']=$element->comments;		$stories[$i]['title']=$element->title;		$stories[$i]['description']=$element->description;		$stories[$i]['href']=$element->href;		$stories[$i]['status']=$element->status;		if($stories[$i]['status']=="popular") $stories[$i]['promote_time']=$element->promote_date;				$stories[$i]['submitter']=$element->user->name;		$stories[$i]['topic']=$element->topic->name;		$i++;		}	return $stories;	}	function parse_diggs($array)	{	$i=0;	foreach($array as $element)		{		$diggs[$i]['time']=$element->date;		$diggs[$i]['story_id']=$element->story;		$diggs[$i]['digg_id']=$element->id;		$diggs[$i]['user']=$element->user;		$diggs[$i]['story_status']=$element->status;		$i++;		}	return $diggs;	}	function parse_comments($array)	{	$i=0;	foreach($array as $element)		{		$comments[$i]['time']=$element->date;		$comments[$i]['story_id']=$element->story;		$comments[$i]['comment_id']=$element->id;		$comments[$i]['up']=$element->up;		$comments[$i]['down']=$element->down;		$comments[$i]['replies']=$element->replies;		if(isset($element->replyto)) $comments[$i]['replyto']=$element->replyto;		$comments[$i]['user']=$element->user;		$comments[$i]['text']=$element->content;		$i++;		}	return $comments;	}function curl_get($url)	{	$ch = curl_init();	curl_setopt($ch, CURLOPT_URL, $url);	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);	curl_setopt($ch, CURLOPT_HEADER, false);	curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0");	$str = curl_exec($ch);	curl_close($ch);		return $str;	}class DiggAPIDigg	{}class DiggAPIEvents	{}class DiggAPIStories{}class DiggAPIComment{}class DiggAPITopics	{}class DiggAPITopic	{}class DiggAPIContainer	{}class DiggAPIUsers	{}class DiggAPIUser	{}class DiggAPIStory	{}class DiggAPIError	{}?>