148 lines
4.4 KiB
PHP
148 lines
4.4 KiB
PHP
<?php
|
|
|
|
class Settings
|
|
{
|
|
const DEBUG = true;
|
|
const TEXT_ENC = 'UTF-8';
|
|
}
|
|
|
|
require_once '../../class_management.php';
|
|
require_once '../../inc/rss.php';
|
|
|
|
function getCurl($sUrl, $bHeader=false, $asPostData=array())
|
|
{
|
|
$oCurl = curl_init();
|
|
|
|
curl_setopt($oCurl, CURLOPT_URL, $sUrl);
|
|
curl_setopt($oCurl, CURLOPT_HEADER, $bHeader);
|
|
if(!empty($asPostData))
|
|
{
|
|
curl_setopt($oCurl, CURLOPT_POST, count($asPostData));
|
|
curl_setopt($oCurl, CURLOPT_POSTFIELDS, $asPostData);
|
|
}
|
|
|
|
curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, true);
|
|
|
|
//Fake browser
|
|
curl_setopt($oCurl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
|
|
//if($this->sReferer!='') curl_setopt($oCurl, CURLOPT_REFERER, $this->sReferer);
|
|
curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, false);
|
|
//if($bHeader) curl_setopt($oCurl, CURLOPT_FOLLOWLOCATION, true);
|
|
|
|
//Cookies
|
|
//$sCookies = $this->getCookies();
|
|
//if($sCookies!='') curl_setopt($oCurl, CURLOPT_COOKIE, $sCookies);
|
|
$fCookieJar = tempnam('/tmp','cookie');
|
|
curl_setopt($oCurl, CURLOPT_COOKIESESSION, true);
|
|
curl_setopt($oCurl, CURLOPT_COOKIEJAR, $fCookieJar);
|
|
curl_setopt($oCurl, CURLOPT_COOKIEFILE, $fCookieJar);
|
|
|
|
$sContent = curl_exec($oCurl);
|
|
|
|
curl_close($oCurl);
|
|
//$this->sReferer = $sUrl;
|
|
return $sContent;
|
|
}
|
|
|
|
function parseTop10()
|
|
{
|
|
$asDesc = array
|
|
(
|
|
'title'=>'Rarbg RSS Feed',
|
|
'link'=>'',
|
|
'copyright'=>'Powered by Franzz. RSS Feed Generator under GPLv3 License',
|
|
'description'=>'Rarbg RSS Feed',
|
|
'language'=>'en',
|
|
'webmaster_mail'=>'franzz@gmail.com'
|
|
);
|
|
$oFeed = new Feed($asDesc);
|
|
|
|
$sDomain = 'https://rarbg.to';
|
|
$oDom = new DOMDocument();
|
|
$sContent = getCurl($sDomain.'/torrents.php?category=14;17;42;44;45;46;47;48&search=&order=seeders&by=DESC');
|
|
//$sContent = file_get_contents('test.html');
|
|
@$oDom->loadHTML($sContent);
|
|
$oBody = $oDom->getElementsByTagName('body')->item(0);
|
|
$aoLines = $oDom->getElementsByTagName('tr');
|
|
foreach($aoLines as $oLine)
|
|
{
|
|
if($oLine->getAttribute('class')=='lista2')
|
|
{
|
|
$asArticle = array();
|
|
$aoCols = $oLine->getElementsByTagName('td');
|
|
foreach($aoCols as $iIndex=>$oCol)
|
|
{
|
|
|
|
switch($iIndex)
|
|
{
|
|
case 1:
|
|
$aoLinks = $oCol->getElementsByTagName('a');
|
|
foreach($aoLinks as $oLink)
|
|
{
|
|
$sHref = $oLink->getAttribute('href');
|
|
switch(substr($sHref, 0, 9))
|
|
{
|
|
//Title & link
|
|
case '/torrent/':
|
|
$iCount = '|'.$sHref;
|
|
$asArticle['title'] = $oLink->nodeValue;
|
|
$sLinkPath = str_replace('#comments', '', $sHref);
|
|
$asArticle['link'] = $sDomain.$sLinkPath;
|
|
$asArticle['guid'] = substr($sLinkPath, -7);
|
|
$sHover = $oLink->getAttribute('onmouseover');//return overlib('<img src=\'//dyncdn.me/static/over/1c74b4cde890fc95be77ac253297c45e50a05f98.jpg\' border=0>')
|
|
preg_match('/'.preg_quote('src=\\\'').'(?P<url>.+)'.preg_quote('\\\' border').'/', $sHover, $asMatch);
|
|
$sImg = 'https:'.$asMatch['url'];
|
|
break;
|
|
//Author
|
|
case '/torrents': // /torrents.php?imdb=tt3647498
|
|
$sImdbLink = 'http://www.imdb.com/title/'.str_replace('/torrents.php?imdb=', '', $sHref);
|
|
$sMovieSearchLink = $sHref;
|
|
break;
|
|
}
|
|
}
|
|
$aoSpans = $oLine->getElementsByTagName('span');
|
|
foreach($aoSpans as $oSpan)
|
|
{
|
|
if($oSpan->getAttribute('style')=='color:DarkSlateGray')
|
|
{
|
|
$sMovieType = $oSpan->nodeValue;
|
|
$sImdb = strstr($sMovieType, 'IMDB');
|
|
$asArticle['category'] = trim(strstr($sMovieType, 'IMDB', true));
|
|
}
|
|
}
|
|
break;
|
|
case 2:
|
|
$asArticle['pub_date'] = $oCol->nodeValue;
|
|
break;
|
|
case 3:
|
|
$sSize = $oCol->nodeValue;
|
|
break;
|
|
case 4:
|
|
$iSeeder = $oCol->nodeValue;
|
|
break;
|
|
case 5:
|
|
$iLeecher = $oCol->nodeValue;
|
|
break;
|
|
case 7:
|
|
$asArticle['author'] = $oCol->nodeValue;
|
|
break;
|
|
}
|
|
}
|
|
$asArticle['description'] = '<img src="'.$sImg.'" />'.
|
|
'<br />'.$sImdb.'<a href="'.$sImdbLink.'" target="_blank" style="margin-left:5px;vertical-align:middle"><img src="https://dyncdn.me/static/20/images/imdb_thumb.gif" /></a>'.
|
|
'<br />Size: '.$sSize.
|
|
'<br />S/L: <span style="color:green;">'.$iSeeder.'</span>/<span style="color:orange;">'.$iLeecher.'</span>'.
|
|
'<br /><a href="'.$sDomain.$sMovieSearchLink.'" target="_blank">Movie search</a>';
|
|
|
|
//die(print_r($asArticle, true));
|
|
|
|
$oFeed->addItem($asArticle);
|
|
}
|
|
}
|
|
|
|
return $oFeed->getFeed();
|
|
}
|
|
|
|
echo parseTop10();
|
|
|
|
?>
|