@ -10,20 +10,26 @@ class PremiumizeMe {
*/
*/
static function getLink ( $url ) {
static function getLink ( $url ) {
$fields = [
$fields = [
'method' => 'directdownloadlink' ,
'params[login]' => getenv ( 'PREM_CID' ),
'params[pass]' => getenv ( 'PREM_PIN' ),
'params[link]' => $url
];
$httpFields = http_build_query ( $fields );
'customer_id' => getenv ( 'PREM_CID' ),
'pin' => getenv ( 'PREM_PIN' ),
'src' => $url
];
$ch = curl_init ();
$ch = curl_init ();
curl_setopt ( $ch , CURLOPT_URL , 'http://api.premiumize.me/pm-api/v1.php?' . $httpFields );
curl_setopt ( $ch , CURLOPT_URL , 'https://www.premiumize.me/api/transfer/directdl' );
curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , true );
curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , true );
curl_setopt ( $ch , CURLOPT_POST , 1 );
curl_setopt ( $ch , CURLOPT_POSTFIELDS , http_build_query ( $fields ));
$curlResult = curl_exec ( $ch );
$curlResult = curl_exec ( $ch );
curl_close ( $ch );
curl_close ( $ch );
$data = json_decode ( $curlResult );
$data = json_decode ( $curlResult );
$retour = get_object_vars ( $data -> content [ 0 ]);
return $retour ;
//TODO: regérer le reste :)
// TODO : exception et non exit bourrin
// TODO : exception et non exit bourrin
if ( 400 === $data -> status ) {
if ( 400 === $data -> status ) {
echo 'Erreur : Je ne supporte pas de fournisseur, merci de revenir a la page des téléchargement et d\'en choisir un autre.<br><br>Erreur exacte :<br>' . $data -> statusmessage ;
echo 'Erreur : Je ne supporte pas de fournisseur, merci de revenir a la page des téléchargement et d\'en choisir un autre.<br><br>Erreur exacte :<br>' . $data -> statusmessage ;
@ -103,6 +109,29 @@ class PremiumizeMe {
return $retour ;
return $retour ;
}
}
public static function getCache ()
{
$fields = [
'customer_id' => getenv ( 'PREM_CID' ),
'pin' => getenv ( 'PREM_PIN' ),
'items' => [ 'http://uploaded.net/file/ilrlophk' ]
];
$ch = curl_init ();
curl_setopt ( $ch , CURLOPT_URL , 'https://www.premiumize.me/api/cache/check' );
curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , true );
curl_setopt ( $ch , CURLOPT_POST , 1 );
curl_setopt ( $ch , CURLOPT_POSTFIELDS , http_build_query ( $fields ));
$curlResult = curl_exec ( $ch );
curl_close ( $ch );
$data = json_decode ( $curlResult );
$retour = get_object_vars ( $data );
return $retour ;
}
/**
/**
* Telecharge le fichier
* Telecharge le fichier
*
*
@ -111,13 +140,14 @@ class PremiumizeMe {
public static function get ( Download $element )
public static function get ( Download $element )
{
{
// On le creer tout de suite pour eviter des conflits de process
// On le creer tout de suite pour eviter des conflits de process
touch ( DOWNLOADINGDIR . DIRECTORY_SEPARATOR . $element -> filename );
//touch(DOWNLOADINGDIR.DIRECTORY_SEPARATOR.$element->filename);
var_dump ( $premInfos );
exit ();
//PremiumizeMe::getCache();
// Pour le moment nous ne gérons que des cas avec un seul fichier retourné
$premInfos = PremiumizeMe :: getLink ( $element -> url );
$premInfos = PremiumizeMe :: getLink ( $element -> url );
if ( file_exists ( DOWNLOADINGDIR . DIRECTORY_SEPARATOR . $premInfos [ 'filename ' ]) || file_exists ( DOWNLOADEDDIR . DIRECTORY_SEPARATOR . $premInfos [ 'filename ' ])) {
var_dump ( 'test' );
if ( file_exists ( DOWNLOADINGDIR . DIRECTORY_SEPARATOR . $premInfos [ 'path ' ]) || file_exists ( DOWNLOADEDDIR . DIRECTORY_SEPARATOR . $premInfos [ 'path ' ])) {
$element -> addEvent ([ 'state' => 'dupp' ]);
$element -> addEvent ([ 'state' => 'dupp' ]);
$element -> updateState ( 'dupp' );
$element -> updateState ( 'dupp' );
return false ;
return false ;
@ -126,12 +156,12 @@ class PremiumizeMe {
// TODO : gérer les erreurs ici !!!!
// TODO : gérer les erreurs ici !!!!
$element -> addEvent ([
$element -> addEvent ([
'state' => 'converted' ,
'state' => 'converted' ,
'premURL' => $premInfos [ 'locat io n' ],
'filename' => $premInfos [ 'filename ' ]
'premURL' => $premInfos [ 'link ' ],
'filename' => $premInfos [ 'path ' ]
]);
]);
$fp = fopen ( DOWNLOADINGDIR . DIRECTORY_SEPARATOR . $premInfos [ 'filename ' ], 'w+' );
$ch = curl_init ( $premInfos [ 'locat io n' ]);
var_dump ( 'dl' );
$fp = fopen ( DOWNLOADINGDIR . DIRECTORY_SEPARATOR . $premInfos [ 'path ' ], 'w+' );
$ch = curl_init ( $premInfos [ 'link ' ]);
curl_setopt ( $ch , CURLOPT_FILE , $fp );
curl_setopt ( $ch , CURLOPT_FILE , $fp );
curl_setopt ( $ch , CURLOPT_FOLLOWLOCATION , true );
curl_setopt ( $ch , CURLOPT_FOLLOWLOCATION , true );
@ -142,7 +172,7 @@ class PremiumizeMe {
$retour = curl_getinfo ( $ch );
$retour = curl_getinfo ( $ch );
curl_close ( $ch );
curl_close ( $ch );
fclose ( $fp );
fclose ( $fp );
var_dump ( 'end' );
$element -> updateState ( 'downloaded' );
$element -> updateState ( 'downloaded' );
$element -> addEvent ([
$element -> addEvent ([
'state' => 'downloaded' ,
'state' => 'downloaded' ,
@ -163,10 +193,10 @@ class PremiumizeMe {
return false ;
return false ;
}
}
$element -> updateFilename ( $premInfos [ 'filename ' ]);
$element -> updateFilename ( $premInfos [ 'path ' ]);
rename (
rename (
DOWNLOADINGDIR . DIRECTORY_SEPARATOR . $premInfos [ 'filename ' ],
DOWNLOADEDDIR . DIRECTORY_SEPARATOR . $premInfos [ 'filename ' ]
DOWNLOADINGDIR . DIRECTORY_SEPARATOR . $premInfos [ 'path ' ],
DOWNLOADEDDIR . DIRECTORY_SEPARATOR . $premInfos [ 'path ' ]
);
);
$element -> updateState ( 'downloaded' );
$element -> updateState ( 'downloaded' );