From 3cb598fe605820613424d2ae0c349b1a63e68224 Mon Sep 17 00:00:00 2001 From: Julien Cabillot Date: Sun, 12 May 2019 00:52:42 -0400 Subject: [PATCH] ok --- lib/Download.php | 10 +++--- lib/PremiumizeMe.php | 76 ++++++++++++++++++++++++++++++-------------- templates/status.php | 6 ++++ 3 files changed, 64 insertions(+), 28 deletions(-) diff --git a/lib/Download.php b/lib/Download.php index 87059c3..8aa08a9 100644 --- a/lib/Download.php +++ b/lib/Download.php @@ -26,11 +26,11 @@ class Download { $myDownload = new Download(); $myDownload->db2Inst($dbRet); - $myDownload->updateState('downloading'); + // $myDownload->updateState('downloading'); - $myDownload->addEvent([ - 'state' => 'downloading' - ]); + // $myDownload->addEvent([ + // 'state' => 'downloading' + // ]); return $myDownload; } @@ -136,7 +136,7 @@ class Download { { echo json_encode('Traitement'); if ('cgi-fcgi' === php_sapi_name()) { - fastcgi_finish_request(); + //fastcgi_finish_request(); } $toDownload = self::findNextJob(); diff --git a/lib/PremiumizeMe.php b/lib/PremiumizeMe.php index 6b21382..e4b37cd 100644 --- a/lib/PremiumizeMe.php +++ b/lib/PremiumizeMe.php @@ -10,20 +10,26 @@ class PremiumizeMe { */ static function getLink($url) { $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(); - 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_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields)); $curlResult = curl_exec($ch); - curl_close($ch); + curl_close($ch); $data = json_decode($curlResult); + $retour = get_object_vars($data->content[0]); + return $retour; + +//TODO: regérer le reste :) + + // TODO : exception et non exit bourrin 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.

Erreur exacte :
'.$data->statusmessage; @@ -103,6 +109,29 @@ class PremiumizeMe { 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 * @@ -111,13 +140,14 @@ class PremiumizeMe { public static function get(Download $element) { // 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); - - 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->updateState('dupp'); return false; @@ -126,12 +156,12 @@ class PremiumizeMe { // TODO : gérer les erreurs ici !!!! $element->addEvent([ 'state' => 'converted', - 'premURL' => $premInfos['location'], - 'filename' => $premInfos['filename'] + 'premURL' => $premInfos['link'], + 'filename' => $premInfos['path'] ]); - - $fp = fopen(DOWNLOADINGDIR.DIRECTORY_SEPARATOR.$premInfos['filename'], 'w+'); - $ch = curl_init($premInfos['location']); +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_FOLLOWLOCATION, true); @@ -142,7 +172,7 @@ class PremiumizeMe { $retour = curl_getinfo($ch); curl_close($ch); fclose($fp); - +var_dump('end'); $element->updateState('downloaded'); $element->addEvent([ 'state' => 'downloaded', @@ -163,10 +193,10 @@ class PremiumizeMe { return false; } - $element->updateFilename($premInfos['filename']); + $element->updateFilename($premInfos['path']); rename( - DOWNLOADINGDIR.DIRECTORY_SEPARATOR.$premInfos['filename'], - DOWNLOADEDDIR.DIRECTORY_SEPARATOR.$premInfos['filename'] + DOWNLOADINGDIR.DIRECTORY_SEPARATOR.$premInfos['path'], + DOWNLOADEDDIR.DIRECTORY_SEPARATOR.$premInfos['path'] ); $element->updateState('downloaded'); diff --git a/templates/status.php b/templates/status.php index b36c6a6..72c91f5 100644 --- a/templates/status.php +++ b/templates/status.php @@ -56,7 +56,13 @@ foreach([ $listAdded, $listDownloading, $listDownloaded, $listDupp ] as $cat) { + <?= $element['from']; ?> + format('d/m/Y'); ?>