From 0968139016dac80db772858684111e448450e589 Mon Sep 17 00:00:00 2001 From: Ryan Voots Date: Thu, 16 Jun 2016 22:47:33 -0400 Subject: [PATCH] Differentiate between viewing and creating. --- app.pl | 101 ++++++++++++++++++++++++++++++++++++------------------ pastes.db | Bin 3072 -> 3072 bytes 2 files changed, 68 insertions(+), 33 deletions(-) diff --git a/app.pl b/app.pl index 85860fa..357aed1 100755 --- a/app.pl +++ b/app.pl @@ -5,9 +5,11 @@ use warnings; use FindBin qw($Bin); use lib "$Bin/lib"; use Data::Dumper; +use DBI; use Mojolicious::Lite; +my $dbh = DBI->connect("dbi:SQLite:dbname=pastes.db", "", "", {RaiseError => 1}); # hardcode some channels first my %channels = ( "freenode#perlbot" => "#perlbot (freenode)", @@ -16,31 +18,42 @@ my %channels = ( get '/' => sub { my $c = shift; - $c->stash({pastedata => q{}, channels => \%channels}); + $c->stash({pastedata => q{}, channels => \%channels, viewing => 0}); $c->render(template => "editor"); }; get '/pastebin' => sub {$_[0]->redirect_to('/')}; get '/paste' => sub {$_[0]->redirect_to('/')}; + post '/paste' => sub { my $c = shift; - $c->render(text => "post accepted!"); + + my @args = map {($c->param($_))} qw/paste user chan desc/; + + $dbh->do("INSERT INTO posts (paste, who, 'where', what, 'when') VALUES (?, ?, ?, ?, ?)", {}, @args, time()); + my $id = $dbh->last_insert_id('', '', 'posts', 'id'); + + $c->redirect_to('/pastebin/'.$id); + #$c->render(text => "post accepted! $id"); }; get '/pastebin/:pasteid' => sub { my $c = shift; my $pasteid = $c->param('pasteid'); - $c->stash({pastedata => q{ -use strict; -use warnings; + + my $row = $dbh->selectrow_hashref("SELECT * FROM posts WHERE id = ? LIMIT 1", {}, $pasteid); -use Data::Dumper; -use v5.24; + print Dumper($row); -say "Hello Perlbot"; - }, channels => \%channels}); + if ($row->{when}) { + $c->stash({pastedata => $row->{paste}, channels => \%channels, viewing => 1}); + $c->stash($row); + + $c->render(template => "editor"); + } else { +# 404 + } - $c->render(template => "editor"); }; app->start; @@ -73,7 +86,7 @@ __DATA__ display: none; } - #pastebin { + #paste { font-family: 'mono' } @@ -84,39 +97,53 @@ __DATA__ -
+
-
- - -
-
- - -
-
- - -
+ % if ($viewing) { +
+ Who: <%= $who %> +
+
+ When: <%= $when %> +
+
+ What: <%= $what %> +
+ % } else { +
+ + +
+
+ + +
+
+ + +
+ % }
- +
         
@@ -124,13 +151,17 @@ __DATA__ diff --git a/pastes.db b/pastes.db index bfd66e1047982b696893eb4c4fdd3db7ae432a22..55e4d0ce9a28cd01cc618715dfa32f8c408bb52a 100644 GIT binary patch literal 3072 zcmeI!J!lj`6ae6vd6%5Y%O)CsR^5{fT5OKQN)RjYav9IXr@HJDA4CM%>5F?0mCtrg-pRFJD^lW64*; zUdN01DUu_Ul5?CBLJDet8aqMNBDVwePW-1RkdvFEhRR}aj6kTSEV2sxD;21*VRL4N zHe#>YmeE>Ub;|WfuHBZwjopNDU6fqG-O}8G;Jb3C1Fs`z)yd-eIL(`;N!RZT?(Bw9 z91SM++xfv3pY~U{Q*}i})OoG$ESBmGeo-`d>59ALRMmk+QFUi|*NapKyW*-^_gmqw zmECX2p0v|_)!o}E$%nw^b52FwT}*n@V)qDqhfVklZ(#!-!2`GpeYgeJpax|)4Mixx z1TeP6zOgUtJ$ucbv#0E#I+jINfxl3JNh?n*Vi>ttMzJ5hcxcvK@ATNXw2h&jWalzqVf^8zLjmJ2l;p4c*5*jJaf5kD4SBM$` zj%rkKMB_N_Ng>`~UgO!+a01)Pt@fl0!WDUb3U`|W