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 {} ?>