Julien Cabillot 1 year ago
parent
commit
3cb598fe60
3 changed files with 64 additions and 28 deletions
  1. 10
      lib/Download.php
  2. 76
      lib/PremiumizeMe.php
  3. 6
      templates/status.php

10
lib/Download.php

@ -26,11 +26,11 @@ class Download {
$myDownload = new Download(); $myDownload = new Download();
$myDownload->db2Inst($dbRet); $myDownload->db2Inst($dbRet);
$myDownload->updateState('downloading');
// $myDownload->updateState('downloading');
$myDownload->addEvent([
'state' => 'downloading'
]);
// $myDownload->addEvent([
// 'state' => 'downloading'
// ]);
return $myDownload; return $myDownload;
} }
@ -136,7 +136,7 @@ class Download {
{ {
echo json_encode('Traitement'); echo json_encode('Traitement');
if ('cgi-fcgi' === php_sapi_name()) { if ('cgi-fcgi' === php_sapi_name()) {
fastcgi_finish_request();
//fastcgi_finish_request();
} }
$toDownload = self::findNextJob(); $toDownload = self::findNextJob();

76
lib/PremiumizeMe.php

@ -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&eacute;l&eacute;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&eacute;l&eacute;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['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_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');

6
templates/status.php

@ -56,7 +56,13 @@ foreach([ $listAdded, $listDownloading, $listDownloaded, $listDupp ] as $cat) {
<tr class="<?= $element['cstate']; ?>"> <tr class="<?= $element['cstate']; ?>">
<td><?= $nameLink; ?></td> <td><?= $nameLink; ?></td>
<td> <td>
<?php
if (array_key_exists('from', $element)) {
?>
<img src="/img/ip.png" height=16 width=16 title="<?= $element['from']; ?>" alt="<?= $element['from']; ?>"> <img src="/img/ip.png" height=16 width=16 title="<?= $element['from']; ?>" alt="<?= $element['from']; ?>">
<?php
}
?>
<a href="<?= $element['url']; ?>"><img src="/img/link.png" height=16 width=16></a> <a href="<?= $element['url']; ?>"><img src="/img/link.png" height=16 width=16></a>
</td> </td>
<td><?= $element['time']->format('d/m/Y'); ?></td> <td><?= $element['time']->format('d/m/Y'); ?></td>

Loading…
Cancel
Save