1 <?php
2   include('db_login.php');
3   require_once('DB.php');
4   require_once('config.php');
5
6   // Sprawdzenie, czy uytkownik si zalogowa
7   session_start();
8
9  $stop=FALSE;
10 $found_error=FALSE;
11  // Wywietlenie nagwka
12   $smarty->assign('blog_title',$blog_title);
13   $smarty->display('header.tpl');
14
15   if (!isset($_SESSION['username'])) {
16     echo 'Prosz si <a href="login.php">zalogowa</a>.';
17     $stop=TRUE;
18   }
19   // pobranie zmiennych formularza
20   $post_id=$_POST[id_artykulu];
21   $title=$_POST['tytul'];
22   $body=$_POST['tresc'];
23   $action=$_POST['akcja'];
24   $category_id=$_POST['id_kategorii'];
25   $user_id=$_SESSION["uzytkownik_id"];
26
27   // Nawizanie poczenia z baz danych.
28   $connection = DB::connect("mysql://$db_username:$db_password@$db_host/$db_database");
29  if (!$connection) {
30     die("Nie mona nawiza poczenia z baz danych: <br>". DB::errorMessage());
31   }
32   if ($_GET['akcja']=="usuwanie" and !$stop) {
33       $get_post_id=$_GET[id_artykulu];
34       $get_post_id=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes
($get_post_id) : $get_post_id);
35     $user_id=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes
($user_id) : $user_id);
36       $query = "delete from artykuly where id_artykulu='".$post_id."' and
37         id_uzytkownika='".$user_id."'";
38       $result = $connection->query($query);
39       if (DB::isError($result)) {
40           die ("Nie mona wykona zapytania do bazy danych: <br>". $query. " ".
41 DB::errorMessage($result));
42       }
43       echo ("Pomylnie usunito wiersz.<br>");
44       $stop="TRUE";
45   }
46
47   //edycja rekordu, pobranie identyfikatora z adresu URL
48   if ($_GET[id_artykulu] AND !$stop) {
49     $get_post_id=$_GET[id_artykulu];
50     $get_post_id=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes($get_post_id) : $get_post_id);
51     $query = "SELECT * FROM uzytkownicy NATURAL JOIN artykuly NATURAL JOIN kategorie
52 where id_artykulu = $get_post_id";
53     $result = $connection->query($query);
54     if (DB::isError($result)) {
55         die ("Nie mona wykona zapytania do bazy danych:<br />". $query. " ". DB::errorMessage($result));
56     }
57     while ($result_row = $result->fetchRow(DB_FETCHMODE_ASSOC)) {
58     $posts[]=$result_row;
59     }
60     $smarty->assign('akcja','edycja');
61     $smarty->assign('artykuly', $posts);
62     //pobranie kategorii
63     $query = "SELECT id_kategorii, kategoria FROM kategorie";
64     $smarty->assign('kategorie', $connection->getAssoc($query));
65     $smarty->display('post_form.tpl');
66     $stop="TRUE";
67  }
68
69  //Przesano formularz. Sprawdzenie, czy chodzi o operacj dodawania, czy edycji?
70  if ($_POST['submit'] AND !$stop)
71  {
72      //sprawdzenie poprawnoci pl
73      if ($title == ""){
74         echo ("Tytu nie moe by pusty.<br>");
75         $found_error=TRUE;
76         $stop="TRUE";
77      }
78      if ($body == ""){
79         echo ("Tre nie moe by pusta.<br>");
80         $found_error=TRUE;
81         $stop="TRUE";
82      }
83      //Weryfikacja przebiega pomylnie. Mona przesa zapytanie do bazy danych.
84      if ($_POST['akcja']=="dodawanie" AND !$stop) {
85      $category_id=mysql_real_escape_string(get_magic_quotes_gpc() ?
stripslashes($category_id) : $category_id);
86         $title=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes
($title) : $title);
87         $body=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes
($body) : $body);
88         $user_id=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes
($user_id) : $user_id);
89         $query = "insert into artykuly values (NULL,
90 "."'".$category_id."','".$user_id."','".$title."','".$body."', NULL)";
91       $result = $connection->query($query);
92       if (DB::isError($result))
93       {
94           die ("Nie mona wykona zapytania do bazy danych: <br>". $query. " ".  DB::errorMessage($result));
95       }
96       echo ("Pomylnie dodano artyku.<br>");
97       $stop="TRUE";
98    }
99  }
100    if ($_POST['akcja']=="edycja" and !$stop) {
101    $category_id=mysql_real_escape_string(get_magic_quotes_gpc() ?
stripslashes($category_id) : $category_id);
102     $title=mysql_real_escape_string(get_magic_quotes_gpc() ?
stripslashes($title) : $title);
103     $body=mysql_real_escape_string(get_magic_quotes_gpc() ?
stripslashes($body) : $body);
104     $user_id=mysql_real_escape_string(get_magic_quotes_gpc() ?
stripslashes($user_id) : $user_id);
105     $post_id=mysql_real_escape_string(get_magic_quotes_gpc() ?
stripslashes($post_id) : $post_id);
106
107        $query = "update artykuly set id_kategorii ='".$category_id."',
108   tytul ='".$title."',tresc='".$body."' where id_artykulu='" .$post_id."'
109    and uzytkownik_id='".$user_id."'";
110        $result = $connection->query($query);
111        if (DB::isError($result)) {
112            die ("Nie mona wykona zapytania do bazy danych: <br>". $query. " ".
113 DB::errorMessage($result));
114        }
115        echo ("Rekord pomylnie zaktualizowano.<br>");
116        $stop="TRUE";
117     }
118  if (!$stop) {
119      //wywietlenie pustego formularza
120      //utworzenie pustej pozycji
121      $result_row=array('tytul'=>NULL,'tresc'=>NULL);
122      $posts[]=$result_row;
123      //pobranie kategorii
124      $query = "SELECT id_kategorii, kategoria FROM kategorie";
125      $smarty->assign('kategorie', $connection->getAssoc($query));
126      $smarty->assign('artykuly', $posts);
127      $smarty->assign('akcja','dodawanie');
128      $smarty->display('post_form.tpl');
129   }
130
131   if ($found_error) {
132      //przypisanie poprzednich wartoci
133      //ponowne wywietlenie formularza
134      $result_row=array ('tytul'=>"$title",'tresc' =>
         "$body",'id_artykulu'=>"$post_id");
135      $posts[]=$result_row;
136      $smarty->assign('artykuly', $posts);
137      $smarty->assign('artykuly', $posts);
138      $smarty->display('post_form.tpl');
139  }
140  // Wywietlenie stopki
141   $smarty->display('footer.tpl');
142
143 ?>
