<?php
class Download {
/**
* Funkcja konstrukcyjna - wykonywana przy tworzeniu klasy
* @param $path
* @return true
*/
function __construct($path='./'){
global $db, $_SERVER, $_SESSION;
if($_SERVER["REQUEST_URI"] == $_SERVER["PHP_SELF"]) {
/** $_SESSION['bugger'] = 1; **/
}
require($path.'config.php');
require($path.'smarty/Smarty.class.php');
$this->tpl = new Smarty();
if($_SESSION['bugger'] == 1) {
$this->exception('Zablokowany za próbe hackowania skryptu :)');
}
require($path.'mysql.class.php');
$this->tpl->assign('url',$db['url']);
$this->tpl->assign('files',$db['files']);
$this->tpl->assign('images',$db['images']);
if($_SESSION['zalogowany'] == 'true') {
$this->tpl->assign('admin',1);
$this->tpl->assign('login',$_SESSION['login']);
}
$this->url = $db['url'];
$this->files = $db['files'];
$this->images = $db['images'];
$this->osoby = $db['osoby'];
$this->perpage = $db['perpage'];
$this->types = $db['types'];
$this->sizes = $db['sizes'];
$this->debug = $db['debug'];
if($this->debug == 1
) { ini_set('display_errors','on'); } else { ini_set('display_errors','off'); }
/**
* Ponizszy kod obsluguje wyjatek wystapienia bledu w
* polaczeniu z baza danych wyswietlajac przyjemny komunikat
* pochodzacy z funkcji exception tej klasy
*/
try {
$this->mysql = new MySQL();
} catch (Exception $e) {
$this->exception('',$e);
}
return true;
}
/**
* Funkcja wykonywania zapytan z obsluga bledow
* @param $query
* @return unknown_type
*/
function query($query) {
try {
$x = $this->mysql->query($query);
} catch (Exception $e) {
$this->exception('',$e);
}
return $x;
}
/**
* Wywolanie tej funkcji niepozwoli niezalogowanemu na dostep
* @return unknown_type
*/
function TylkoZalogowany() {
if($_SESSION['status'] == '1') {
return true;
} else {
Header('Location: index.php'); }
}
/**
* Dodaje slashe do podanej zmiennej typu Array
*/
function DodajSlashe($zmienna) {
foreach($zmienna as $klucz=>$wartosc) {
}
return $zmienna;
}
/**
* Klasa obslugujaca wyjaki. Wyswietla podana wiadomosc debugujaca
* W przyjaznym dla oka wygladzie
* @param $message
*/
function exception($message='',$e='') {
$eg = $e->getTrace();
$message = $e->getMessage()." -> <u>({$eg[1]['file']} linia {$eg[1]['line']})</u>";
}
$this->tpl->assign('debug',$this->debug);
$this->tpl->assign('message',$message);
$this->tpl->display('exception.tpl');
}
####### STREFA TYPOWYCH FUNKCJI DOWNLOADU ######
/**
* Listowanie kategorii downloadu
* @return array
*/
function ListaKategorii() {
$x = $this->query("SELECT * FROM `PREFIX_category`");
$z[] = $y;
}
return $z;
}
/**
* Listowanie plikow kategorii
* @param $kategoria
* @return unknown_type
*/
function ListaPlikow($kategoria,$filtr,$limit1=1,$limit2=15) {
$warunek = "`nazwa` LIKE '%{$kategoria}%'";
} else {
$warunek = "`kategoria` = '{$kategoria}'";
}
$x = $this->query("SELECT * FROM `PREFIX_files` WHERE {$warunek} {$filtr} LIMIT {$limit1},{$limit2}");
$z[] = $y;
}
return $z;
}
/**
* Liczba plikow w kategorii
* @param $kategoria
* @return unknown_type
*/
function LiczbaPlikow($kategoria,$filtr) {
$warunek = "`nazwa` LIKE '%{$kategoria}%'";
} else {
$warunek = "`kategoria` = '{$kategoria}'";
}
$x = $this->query("SELECT `ID` FROM `PREFIX_files` WHERE {$warunek} {$filtr}");
}
/**
* Listowanie plikow
* @param $id
* @return unknown_type
*/
function Plik($id,$nolicznik=0) {
$x = $this->query("SELECT `file` FROM `PREFIX_files` WHERE `ID` = '{$id}'");
if($nolicznik == 0) {
$this->query("UPDATE `PREFIX_files` SET `licznikpobran` = `licznikpobran`+1 WHERE `ID` = '{$id}'");
}
return $y['file'];
}
/**
* Listowanie pliku pod edycje
* @param $id
* @return unknown_type
*/
function PlikEdit($id) {
$x = $this->query("SELECT * FROM `PREFIX_files` WHERE `ID` = '{$id}'");
$z = $y;
}
return $z;
}
/**
* Sprawdza czy delikwent jest zalogowany
* @return unknown_type
*/
function CzyZalogowany() {
if($_SESSION['zalogowany'] == 'true') {
return true;
} else {
return false;
}
}
function PoprawneDane($login,$haslo) {
if($this->osoby[$login] == $haslo) {
return true;
} else {
return false;
}
}
function ZapiszPlik($dane) {
// dane - $_POST
$dane = $this->DodajSlashe($dane);
$zapyt = "INSERT INTO `PREFIX_files` SET ";
foreach ($dane as $klucz=>$wartosc) {
if($wartosc == '') { return false; }
$zapyt .= ";;`{$klucz}` = '{$wartosc}';;";
}
#### TYPY PLIKOW DLA STRONY GLOWNEJ ####
$x[$typ]++;
} else {
$x[$typ] = 1;
}
file_put_contents
('templates/typy.txt',serialize($x)); #### EOF TYPY PLIKOW DLA STRONY GLOWNEJ ####
#### STATYSTYKI REDAKTOROW ####
$dodal = $dane['dodal'];
$y[$dodal]++;
} else {
$y[$dodal] = 1;
}
file_put_contents
('templates/stats.txt',serialize($y)); #### EOF STATYSTYKI REDAKTOROW ####
return $this->query($zapyt);
}
function EdytujPlik($dane,$id) {
// dane - $_POST
$dane = $this->DodajSlashe($dane);
$zapyt = "UPDATE `PREFIX_files` SET ";
foreach ($dane as $klucz=>$wartosc) {
if($wartosc == '') { return false; }
$zapyt .= ";;`{$klucz}` = '{$wartosc}';;";
}
$zapyt .= "WHERE `ID` = '{$id}'";
return $this->query($zapyt);
}
function LicznikMap() {
}
####### EOF STREFA TYPOWYCH FUNKCJI DOWNLOADU ######
}
?>