consolidate all repos to one for archive
This commit is contained in:
@@ -0,0 +1,158 @@
|
||||
<?php
|
||||
/*
|
||||
Controller za oglase. Vključuje naslednje standardne akcije:
|
||||
index: izpiše vse oglase
|
||||
show: izpiše posamezen oglas
|
||||
create: izpiše obrazec za vstavljanje oglasa
|
||||
store: vstavi obrazec v bazo
|
||||
edit: izpiše vmesnik za urejanje oglasa
|
||||
update: posodobi oglas v bazi
|
||||
delete: izbriše oglas iz baze
|
||||
*/
|
||||
|
||||
|
||||
|
||||
class ads_controller
|
||||
{
|
||||
|
||||
|
||||
public function index()
|
||||
{
|
||||
//s pomočjo statične metode modela, dobimo seznam vseh oglasov
|
||||
//$ads bo na voljo v pogledu za vse oglase index.php
|
||||
$ads = Ad::all();
|
||||
|
||||
//pogled bo oblikoval seznam vseh oglasov v html kodo
|
||||
require_once('views/ads/index.php');
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function show()
|
||||
{
|
||||
//preverimo, če je uporabnik podal informacijo, o oglasu, ki ga želi pogledati
|
||||
if (!isset($_GET['id'])) {
|
||||
if(isset($_SESSION["USER_ID"]))
|
||||
{
|
||||
$ads = Ad::findUser($_SESSION["USER_ID"]);
|
||||
require_once('views/ads/myAdds.php');
|
||||
}
|
||||
else
|
||||
{
|
||||
return call('pages', 'error');
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$ad = Ad::find($_GET['id']);
|
||||
require_once('views/ads/show.php');
|
||||
}
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
if(!isset($_SESSION["USER_ID"])){
|
||||
header("Location: /admin/index.php");
|
||||
die();
|
||||
}
|
||||
// Izpišemo pogled z obrazcem za vstavljanje oglasa
|
||||
$categorys = Categorys::all();
|
||||
require_once('views/ads/create.php');
|
||||
}
|
||||
|
||||
public function store()
|
||||
{
|
||||
if(!isset($_SESSION["USER_ID"])){
|
||||
header("Location: /admin/index.php");
|
||||
die();
|
||||
}
|
||||
// Obdelamo podatke iz obrazca (views/ads/create.php), akcija pričakuje da so podatki v $_POST
|
||||
// Tukaj bi morali podatke še validirati, preden jih dodamo v bazo
|
||||
|
||||
// Pokličemo metodo za ustvarjanje novega oglasa
|
||||
$ad = Ad::insert($_POST["title"], $_POST["description"], $_FILES["image"], $_POST['categorys']);
|
||||
|
||||
//ko je oglas dodan, imamo v $ad podatke o tem novem oglasu
|
||||
//uporabniku lahko pokažemo pogled, ki ga bo obvestil o uspešnosti oddaje oglasa
|
||||
call('ads', 'show');
|
||||
}
|
||||
|
||||
public function edit()
|
||||
{
|
||||
if(!isset($_SESSION["USER_ID"])){
|
||||
header("Location: /admin/index.php");
|
||||
die();
|
||||
}
|
||||
// Ob klicu akcije se v URL poda GET parameter z ID-jem oglasa, ki ga urejamo
|
||||
// Od modela pridobimo podatke o oglasu, da lahko predizpolnimo vnosna polja v obrazcu
|
||||
if (!isset($_GET['id'])) {
|
||||
return call('pages', 'error');
|
||||
}
|
||||
$ad = Ad::find($_GET['id']);
|
||||
require_once('views/ads/edit.php');
|
||||
}
|
||||
|
||||
public function update()
|
||||
{
|
||||
if(!isset($_SESSION["USER_ID"])){
|
||||
header("Location: /admin/index.php");
|
||||
die();
|
||||
}
|
||||
// Obdelamo podatke iz obrazca (views/ads/edit.php), ki pridejo v $_POST.
|
||||
// Pričakujemo, da je v $_POST podan tudi ID oglasa, ki ga posodabljamo.
|
||||
if (!isset($_POST['id'])) {
|
||||
return call('pages', 'error');
|
||||
}
|
||||
// Naložimo oglas
|
||||
$ad = Ad::find($_POST['id']);
|
||||
// Pokličemo metodo, ki posodobi obstoječi oglas v bazi
|
||||
$ad->update($_POST["title"], $_POST["description"]);
|
||||
|
||||
header("Location: /admin/index.php?controller=ads&action=show");
|
||||
die();
|
||||
}
|
||||
|
||||
public function addImg()
|
||||
{
|
||||
if(!isset($_SESSION["USER_ID"])){
|
||||
header("Location: /admin/index.php");
|
||||
die();
|
||||
}
|
||||
|
||||
if (!isset($_GET['id'])) {
|
||||
return call('pages', 'error');
|
||||
}
|
||||
if(isset($_POST['submit']))
|
||||
{
|
||||
$ad = Ad::find($_GET['id']);
|
||||
$id = $ad->addImg($_FILES["image"]);
|
||||
header("Location: /admin/index.php?controller=ads&action=show");
|
||||
die();
|
||||
}
|
||||
else
|
||||
{
|
||||
$ad = Ad::find($_GET['id']);
|
||||
require_once('views/ads/addImg.php');
|
||||
}
|
||||
}
|
||||
|
||||
public function delete()
|
||||
{
|
||||
if(!isset($_SESSION["USER_ID"])){
|
||||
header("Location: /admin/index.php");
|
||||
die();
|
||||
}
|
||||
// Obdelamo zahtevo za brisanje oglasa. Akcija pričakuje, da je v URL-ju podan ID oglasa.
|
||||
if (!isset($_GET['id'])) {
|
||||
return call('pages', 'error');
|
||||
}
|
||||
// Poiščemo oglas
|
||||
$ad = Ad::find($_GET['id']);
|
||||
// Kličemo metodo za izbris oglasa iz baze.
|
||||
$ad->delete();
|
||||
|
||||
header("Location: /admin/index.php?controller=ads&action=show");
|
||||
die();
|
||||
}
|
||||
}
|
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
/*
|
||||
Enostaven primer controlletja, ki ne uporablja modela.
|
||||
Njegova naloga je, da vrača statične HTML strani, kot je stran z napako.
|
||||
Uporabili smo ga tudi za prikaz vmesnika, ki demonstrira uporabi API-ja.
|
||||
*/
|
||||
|
||||
class pages_controller {
|
||||
|
||||
public function error() {
|
||||
// Izpiše pogled s sporočilom o napaki
|
||||
require_once('views/pages/error.php');
|
||||
}
|
||||
|
||||
public function api(){
|
||||
if(isset($_SESSION["USER_ID"]) && $_SESSION["ADM"] == 1){
|
||||
//Prikaži vmesnik za upravljanje z API-jem
|
||||
require_once('views/pages/api.php');
|
||||
}
|
||||
}
|
||||
|
||||
public function api1(){
|
||||
if(isset($_SESSION["USER_ID"]) && $_SESSION["ADM"] == 1){
|
||||
//Prikaži vmesnik za upravljanje z API-jem
|
||||
require_once('views/pages/api1.php');
|
||||
}
|
||||
}
|
||||
|
||||
public function logout(){
|
||||
|
||||
require_once('views/pages/logout.php');
|
||||
}
|
||||
|
||||
public function login(){
|
||||
|
||||
if(isset($_POST["submit"])){
|
||||
//Preveri prijavne podatke
|
||||
if(($user = User::validate_login($_POST["username"], $_POST["password"])) != null){
|
||||
//Zapomni si prijavljenega uporabnika v seji in preusmeri na index.php
|
||||
$_SESSION["USER_ID"] = $user->id;
|
||||
$_SESSION["ADM"] = $user->adm;
|
||||
header("Location: /admin/index.php");
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
require_once('views/pages/login.php');
|
||||
}
|
||||
|
||||
public function register(){
|
||||
$error = "";
|
||||
if(isset($_POST["submit"]))
|
||||
{
|
||||
//Preveri, če uporabniško ime že obstaja
|
||||
if(User::username_exists($_POST["username"]))
|
||||
{
|
||||
$error = "Uporabniško ime že obstaja!";
|
||||
}
|
||||
else if($_POST["password"] != $_POST["repeat_password"])
|
||||
{
|
||||
$error = "Gesli se ne ujemata!";
|
||||
}
|
||||
else{
|
||||
User::createUser($_POST["username"], $_POST["password"], $_POST["email"], $_POST["ime"], $_POST["priimek"], $_POST["naslov"], $_POST["posta"], $_POST["telefon"]);
|
||||
header("Location: /admin/index.php?controller=pages&action=login");
|
||||
die();
|
||||
}
|
||||
}
|
||||
require_once('views/pages/register.php');
|
||||
}
|
||||
}
|
||||
?>
|
Reference in New Issue
Block a user