summaryrefslogtreecommitdiffstats
path: root/bin/app.pl
blob: b450be94d10a024a429730c1b8969905879f47f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/usr/bin/env perl
use warnings;
use strict;

use Dancer;
use DBI;
use Time::localtime;

my $dbfile = 'ksiazki.db';
my $dbh = DBI->connect("dbi:SQLite:dbname=$dbfile", "", "");

get '/' => sub
{
	my $sth = $dbh->prepare("select * from ksiazki;") or die "Nie mozna spreparowac zapytania";
	$sth->execute() or die "Nie mozna wykonac zapytania";
	my @result;
	(@result)=@{$sth->fetchall_arrayref} or die "blad przy pobieraniu danych";
	
	#   |kolejne rekordy|kolejne pola rekordow
	#return ${$result[2]}[4];	
	template 'main_page.tt',
	{
		'table' => \@result
	}
};

get '/req/:book' => sub
{
	#TODO:Zamienic if'y na odpowiednie zapytania sql
	my ($id,$who) = split (/,/,params->{book});
	my $sth=$dbh->prepare("select can_borrow from ksiazki where id=?") or die "Nie mozna spreparowac zapytania";
	$sth->execute($id) or die "Nie mozna wykonac";
	my $can_borrow = $sth->fetchrow_array or die "Nie mozna pobrac danych";
	if ($can_borrow == 1) 
	{
		my $sth=$dbh->prepare("select who from ksiazki where id=?") or die "Nie mozna spreparowac zapytania";
		$sth->execute($id) or die "Nie mozna wykonac";
		my $who_from_base = $sth->fetchrow_array or die "Nie mozna pobrac danych";
		my $when_borrow='wzieta: ';
		if ($who_from_base ne 'nikt') #Jesli jest zapisane, ze ksiazka jest wzieta przez kogos, to znaczy ze teraz zostaje zwrocona
		{
			$who='nikt';
			$when_borrow='zwrocona: ';
		}
		
		my ($year,$mon,$mday,$hour,$min,$sec);
		$year = localtime->year() + 1900;
		$mon = localtime->mon() +1 ; #Miesiace zaczynamy liczyc od 1, a nie od 0, wiec zeby styczen mial numer 1 dodajemy 1
		$mday = localtime->mday();
		$hour = localtime->hour();
		$min = localtime->min();
		$sec = localtime->sec();
		$when_borrow = $when_borrow."$hour:$min:$sec, $mday $mon $year";
		
		$sth = $dbh->prepare("update ksiazki set state=not state,who=?,comment=? where id=?") or die "Nie mozna spreparowac zapytania";
		$sth->execute($who,$when_borrow,$id) or die "Nie mozna wykonac zapytania";
		return 0;
	}
	elsif ($can_borrow == 0)
	{
		return 1;
	}
	else #Stalo sie cos dziwnego...
	{
		return "-1";
	}
};

post '/res' => sub #do zrobienia, rezerwacja
{
	#return params->{book_id};
	return "Not implemented yet";
};

dance;