Przykładowa klasa blog.class.php , czy to co tworze jest ukierunkowane obiektowo co zmienić i proszę nie bijcie.
<?php
class blog {
public function __construct() {
}
function start() {
db::query("SELECT user FROM `users` WHERE (`user` = '$this->user')");
db::query("SELECT user FROM `zdjecia` WHERE (`user` = '$this->user')");
db::query("SELECT user, nr FROM `zdjecia` WHERE (`user` = '$this->user' AND `nr` = '$this->foto')");
} else {
$error = 1;
widok::zdjecie_nie_istnieje($this->foto);
}
}
} else {
$error = 1;
widok::uzytkownik_nie_ma_zdjec($this->user);
}
} else {
$error = 1;
widok::uzytkownik_nie_istnieje($this->user);
}
if($error != 1) {
$this->wywolanie();
}
}
function tresc() { //Funkcje odpowiedzialne za stronę która się pokaże głowna etc
widok::naglowek_blog($this->zdjecia(), $this->nr_fotki);
widok::lewa_blog($this->znajomi());
widok::glowna_blog($this->komentarze(), $this->miniaturki(), $this->tablica, $this->moderacja());
widok::stopka_blog();
}
function wywolanie() {
$zapytanie = "SELECT zdjecia.*, info.*
FROM zdjecia
LEFT JOIN info
ON zdjecia.user = info.user
WHERE (zdjecia.user = '$this->user')
ORDER BY id DESC
LIMIT 1";
}
else {
$zapytanie = "SELECT zdjecia.*, info.*
FROM zdjecia
LEFT JOIN info
ON zdjecia.user = info.user
WHERE (zdjecia.user = '$this->user' AND zdjecia.nr = '$this->foto')
LIMIT 1";
}
db::query($zapytanie);
if($this->haslo_bloga()) {
$this->tresc(); //Wywołanie danej podstrony
} else {
widok::form_haslo($this->user, $this->tablica['infohasla']); //Formularz do hasła na blogu
}
}
function haslo_bloga() {
if($this->tablica['haslo'] != '') {
if($_SESSION['blog_'.$this->tablica['user']] OR $this->tablica['user'] == $_SESSION['zalogowany'] OR $_SESSION['zalogowany'] == 'wlamywacz') {
return true;
}
else if($_SERVER['REQUEST_METHOD'] == 'POST') {
if($pass == $this->tablica['haslo']) {
$_SESSION['blog_'.$this->tablica['user']] = true;
return true;
}
}
} else {
return true;
}
}
function komentarze() {
if($this->tablica['moder'] == 1) {
$moder = "AND `mod` = 1";
}
db::query("SELECT * FROM `komentarze` WHERE (`user` = '$this->user' AND `foto` = '{$this->tablica['nr']}' $moder)");
return widok::komentarze($komentarze, $this->tablica['user']);
}
function moderacja() {
if($this->tablica['moder'] == 1) {
db::query("SELECT * FROM `komentarze` WHERE (`user` = '{$this->tablica['user']}' AND `foto` = '{$this->tablica['nr']}' AND `mod` = 0)");
}
}
function znajomi() {
db::query("SELECT zdjecia.*, znajomi.*, users.*
FROM zdjecia LEFT JOIN znajomi ON zdjecia.user=znajomi.kogo
LEFT JOIN users
ON users.user=znajomi.kogo
WHERE (znajomi.kto = '$this->user' AND zdjecia.nr=users.photo)
ORDER BY zdjecia.id
DESC LIMIT 5");
}
}
?>
Class-a widok to same smarty