<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type" />
</head><body>
<?php
$ident = $_GET['id'];
function connect_curl($url)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$strona = curl_exec($curl);
curl_close($curl);
return $strona;
}
function Konwertuj_Date($data) {
$formatowanie = explode(" ", $data);
// no i teraz tak :
// formatowanie[0] -> dzień tygodnia
// formatowanie[1] -> nazwa miesiąca
// formatowanie[2] -> rok dodania
// formatowanie[3] -> olać
// formatowanie[4] -> godzinka
if (strlen($formatowanie[0]) == 1) {
$dzien = "0$formatowanie[0]"; }
else { $dzien = $formatowanie[0]; }
if ($formatowanie[1] == "sty") { $miesiac = "01"; } else
if ($formatowanie[1] == "lut") { $miesiac = "02"; } else
if ($formatowanie[1] == "mar") { $miesiac = "03"; } else
if ($formatowanie[1] == "kwi") { $miesiac = "04"; } else
if ($formatowanie[1] == "maj") { $miesiac = "05"; } else
if ($formatowanie[1] == "cze") { $miesiac = "06"; } else
if ($formatowanie[1] == "lip") { $miesiac = "07"; } else
if ($formatowanie[1] == "sie") { $miesiac = "08"; } else
if ($formatowanie[1] == "wrz") { $miesiac = "09"; } else
if ($formatowanie[1] == "lis") { $miesiac = "11"; } else
if ($formatowanie[1] == "gru") { $miesiac = "12"; } else { $miesiac = "10";}
$rok = "20$formatowanie[2]";
// jezeli godzina ma tylko 4 znaki, to nie ma zera na początku i trzeba dodać
if (strlen($formatowanie[4]) == 4) { $godzina = "0$formatowanie[4]"; } else $godzina = $formatowanie[4];
$txt = "$rok-$miesiac-$dzien $godzina";
return $txt;
}
function Konwertuj_Rozmiar($rozmiar) {
if (strpos($rozmiar, 'kB') > 0) {
$rozmiar1 = explode(" ", $rozmiar);
$rozmiar = $rozmiar1[0];
} else {
$rozmiar1 = explode(",", $rozmiar);
$rozmiar2 = explode(" ", $rozmiar1[1]);
$rozmiar2[0] = $rozmiar2[0] . "00";
$rozmiar = ($rozmiar1[0] * 1024) + $rozmiar2[0];
}
return $rozmiar;
}
// pobieramy stronkę do zmiennej
$strona = connect_curl("http://chomikuj.pl/$ident");
/* ta krótka procedurka jest stworzona, aby wylistować wszystkie katalogi z danego chomika no i przy okazji pliki w każdym katalogu*/
$poz1 = strpos($strona, 'CT_TW_TreeUpdatePanel">') + strlen('CT_TW_TreeUpdatePanel">');
$poz2 = strpos($strona, 'CT_TW_NewFolderLink');
$wynik = substr($strona, $poz1, $poz2-$poz1);
$katalogi = explode('<a href=', $wynik);
for ($i = 1 ; $i < sizeof($katalogi) ; $i++) {
$poz1 = strpos($katalogi[$i], '"') + 1;
$poz2 = strpos($katalogi[$i], '" onclick="return');
$tmp = substr($katalogi[$i], $poz1, $poz2-$poz1);
if ($tmp != '') { #echo "$tmp <br />";
ListujKatalog($tmp, $ident);
}
}
/* koniec procedurek listujących */
function ListujKatalog($nazwa_katalogu, $identyfikator) {
$strona = connect_curl("http://chomikuj.pl$nazwa_katalogu");
// teraz pobieramy tylko pliki znajdujące się w danym katalogu
$poz1 = strpos($strona, '<div class="navigation">');
$poz2 = strlen($strona);
// tutaj w wyniku mamy "zaszyfrowaną listę plików"
$wynik1 = substr($strona, $poz1, $poz2-$poz1);
$poz1 = strpos($wynik1, '<div class="fileItemEven">') + strlen('<div class="fileItemEven">');
$poz2 = strlen($wynik1);
$wynik1 = substr($wynik1, $poz1, $poz2-$poz1);
$info_o_pliku = explode('<table class="fileItemHd" cellspacing="0">', $wynik1);
for ($i = 1 ; $i < sizeof($info_o_pliku) ; $i++) {
// pobieranie urla do pliku (dokladnego)
$poz1 = strpos($info_o_pliku[$i], '<a href="') + strlen('<a href="');
$poz2 = strpos($info_o_pliku[$i], '" id="FileNameAnchor');
$odnosnik = addslashes(strip_tags(substr($info_o_pliku[$i], $poz1, $poz2-$poz1)));
// pobieranie nazwy pliku
$pos1 = strpos($info_o_pliku[$i], 'class="FileName" onclick="return ') + strlen('class="FileName" onclick="return ');
$pos2 = strlen($info_o_pliku[$i]);
$info_o_pliku[$i] = substr($info_o_pliku[$i], $pos1, $pos2-$pos1);
$pos1 = strpos($info_o_pliku[$i], ');">') + strlen(');">');
$pos2 = strpos($info_o_pliku[$i], '</a></td>');
$nazwa_pliku = addslashes(strip_tags(substr($info_o_pliku[$i], $pos1, $pos2-$pos1)));
// pobieranie rozmiaru pliku
$pos1 = strpos($info_o_pliku[$i], '<div class="fInfoDiv">') + strlen('<div class="fInfoDiv">');
$pos2 = strlen($info_o_pliku[$i]);
$info_o_pliku[$i] = substr($info_o_pliku[$i], $pos1, $pos2-$pos1);
$pos1 = 0;
$pos2 = strpos($info_o_pliku[$i], '</div></td>');
$rozmiar = strip_tags(Konwertuj_Rozmiar(substr($info_o_pliku[$i], $pos1, $pos2-$pos1)));
// pobieranie ilosci pobrań :)
$pos1 = strpos($info_o_pliku[$i], '<span class="dnCount">') + strlen('<span class="dnCount">');
$pos2 = strpos($info_o_pliku[$i], '</span></div></td>');
$pobrano = strip_tags(substr($info_o_pliku[$i], $pos1, $pos2-$pos1));
// pobieranie daty dodania
$pos1 = strpos($info_o_pliku[$i], '<span class="fileDate">') + strlen('<span class="fileDate">');
$pos2 = strlen($info_o_pliku[$i]);
$info_o_pliku[$i] = substr($info_o_pliku[$i], $pos1, $pos2-$pos1);
$pos1 = 0;
$pos2 = strpos($info_o_pliku[$i], '</span></div></td>');
$data_dodania = substr($info_o_pliku[$i], $pos1, $pos2-$pos1);
$data_dodania = str_replace('<b>', '', $data_dodania);
$data_dodania = Konwertuj_Date(strip_tags($data_dodania));
$pos1 = strpos($info_o_pliku[$i], 'style="display:none">') + strlen('style="display:none">');
$pos2 = strlen($info_o_pliku[$i]);
$info_o_pliku[$i] = substr($info_o_pliku[$i], $pos1, $pos2-$pos1);
$pos1 = 0;
$pos2 = strpos($info_o_pliku[$i], '</div>');
$opis = addslashes(strip_tags(substr($info_o_pliku[$i], $pos1, $pos2-$pos1)));
if ($odnosnik != '') {
#echo "--> Url : $odnosnik, $nazwa_pliku, $rozmiar kB, $pobrano razy, $data_dodania<br />\n-->Opis: $opis<br />";
// tutaj jest zapisywanie aktualnego pliku do bazy danych :)
require_once('mysql_connect.php');
// najpierw musimy sprawdzic, czy juz taki plik istnieje. Jeżeli istnieje, to do bazy danych zapiszemy tylko informację,
// że plik był niedawno sprawdzany i że istnieje, więc nie będzie go trzeba sprawdzać ponownie przez okreslony okres czasu
#echo "pobiera ...";
$query1 = "SELECT file_chomik_name, file_folder FROM chomik_file WHERE file_chomik_name = '$identyfikator' AND file_folder = '$odnosnik'";
$result1 = mysql_query($query1);
$row = mysql_fetch_array ($result1, MYSQL_NUM);
if ($row) {
// jeżeli znaleziono
$query2 = "UPDATE `weer_weer`.`chomik_file` SET `last_checked` = NOW(), `file_downloads` = '$pobrano', `file_opis` = '$opis' WHERE file_chomik_name = '$identyfikator' AND file_folder = '$odnosnik'";
$result2 = mysql_query($query2);
echo "<font color = blue>Plik <b>$nazwa_pliku</b> już istnieje, aktualizacja pliku..</font><br />";
} else {
// jeżeli natomiast jeszcze nie istnieje w naszej bazie danych, to go dodajemy
$query = "INSERT INTO chomik_file (file_name, file_chomik_name, file_folder, file_size, file_downloads, file_added, file_opis) VALUES ('$nazwa_pliku', '$identyfikator', '$odnosnik', '$rozmiar', '$pobrano', '$data_dodania', '$opis')";
$result = mysql_query ($query);
if ($result) {
echo "<font color = green>Plik <b>$nazwa_pliku</b> został dodany poprawnie</font><br />";
} else {
echo "<font color = red>Plik <b>$nazwa_pliku</b> nie mógł zostać dodany</font><br />";
}
}
$odnosnik = '';
}
}
}
/* Uwaga! Podczas dodawania są usuwane wszystkie tagi html, takie jak <B> <I> oraz wszystkie inne, i zastępowane są również znaki specjalne,
takie jak ' czy / , dzięki czemu będzie można to zapisać w bazie danych. Używana do tego jest metoda addslashes, natomiast aby to później odczytać
należy użyć stripslashes. Użyto na : opis, nazwa_pliku i odnosnik.
*/
?>