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->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();

76
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&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;
}
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');

6
templates/status.php

@ -56,7 +56,13 @@ foreach([ $listAdded, $listDownloading, $listDownloaded, $listDupp ] as $cat) {
<tr class="<?= $element['cstate']; ?>">
<td><?= $nameLink; ?></td>
<td>
<?php
if (array_key_exists('from', $element)) {
?>
<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>
</td>
<td><?= $element['time']->format('d/m/Y'); ?></td>

Loading…
Cancel
Save