From 140eaa8b12253bf984d7741c363dde46dfbfdb15 Mon Sep 17 00:00:00 2001 From: Jan Michel Date: Mon, 20 Apr 2015 23:18:14 +0200 Subject: [PATCH] added rooms to presenter --- presenter/.gitignore | 1 + presenter/.kateproject | 4 ++++ presenter/currentstate | 1 + presenter/getPic.pl | 25 ++++++++++++++++---- presenter/getfiles.pl | 15 +++++++++++- presenter/index.pl | 42 +++++++++++---------------------- presenter/presenter | 1 - presenter/scripts.js | 16 +++++++------ presenter/showPic.pl | 19 ++++++++++++--- presenter/showroom.pl | 51 ++++++++++++++++++++++++++++++++++++++++ presenter/store/.empty | 0 presenter/style.css | 28 ++++++++++++---------- presenter/uploadFiles.pl | 13 +++++++--- 13 files changed, 156 insertions(+), 60 deletions(-) create mode 100644 presenter/.gitignore create mode 100644 presenter/.kateproject create mode 120000 presenter/currentstate delete mode 120000 presenter/presenter create mode 100755 presenter/showroom.pl create mode 100644 presenter/store/.empty diff --git a/presenter/.gitignore b/presenter/.gitignore new file mode 100644 index 0000000..435e7d1 --- /dev/null +++ b/presenter/.gitignore @@ -0,0 +1 @@ +.kateproject.d/ diff --git a/presenter/.kateproject b/presenter/.kateproject new file mode 100644 index 0000000..4bc5cd7 --- /dev/null +++ b/presenter/.kateproject @@ -0,0 +1,4 @@ +{ + "name": "Presenter" +, "files": [ { "git": 1 } ] +} diff --git a/presenter/currentstate b/presenter/currentstate new file mode 120000 index 0000000..17fb8d9 --- /dev/null +++ b/presenter/currentstate @@ -0,0 +1 @@ +/dev/shm/currentstate \ No newline at end of file diff --git a/presenter/getPic.pl b/presenter/getPic.pl index 53f1c28..bf1d77b 100755 --- a/presenter/getPic.pl +++ b/presenter/getPic.pl @@ -1,11 +1,28 @@ #!/usr/bin/perl use CGI::Carp qw(warningsToBrowser fatalsToBrowser); +use CGI; print "Content-type: text/html\n\n"; -open FILE, "<", "presenter"; -my @data = ; -close FILE; -my $f = $data[0]; +my $cgi = new CGI(); + + +my $room = $cgi->param('room'); +if (!($room =~ /^[a-zA-Z0-9]+$/) || !(-d "store/$room")) { + print "Invalid room"; + return 1; +} + +my $old = $cgi->param('old'); +my $timer = 0; +my $f; +do { + open FILE, "<", "store/$room/currentstate"; + my @data = ; + close FILE; + $f = $data[0]; + chomp($f); + sleep(1) if($f eq $old); + }while($timer++ < 30 && $f eq $old); print $f; \ No newline at end of file diff --git a/presenter/getfiles.pl b/presenter/getfiles.pl index c917f1f..5010e7e 100755 --- a/presenter/getfiles.pl +++ b/presenter/getfiles.pl @@ -1,11 +1,24 @@ #!/usr/bin/perl use CGI::Carp qw(warningsToBrowser fatalsToBrowser); +use CGI; print "Content-type: text/html\n\n"; -my @files = qx(cd store; ls -1 * | sort); + +my $cgi = new CGI(); + + +my $room = $cgi->param('room'); +if (!($room =~ /^[a-zA-Z0-9]+$/) || !(-d "store/$room")) { + print "Invalid room"; + return 1; +} + +my $cmd = "cd store;cd $room; ls -1 -v"; +my @files = qx($cmd); print ""; diff --git a/presenter/index.pl b/presenter/index.pl index 4994e3d..ff8d763 100755 --- a/presenter/index.pl +++ b/presenter/index.pl @@ -3,14 +3,7 @@ use CGI::Carp qw(warningsToBrowser fatalsToBrowser); print "Content-type: text/html\n\n"; -use Data::Dumper; -use warnings; -use strict; -use utf8; -binmode(STDIN, ":utf8"); -binmode(STDOUT, ":utf8"); -use URI::Escape qw(uri_unescape uri_escape); print < @@ -21,27 +14,20 @@ print < + +

Remote Presenter

+ - - +my @files = qx(cd store; ls -1 -v ); -
Files -
 
- - - -HDOC - -print ""; - - - - - +foreach my $f (@files) { + chomp($f); + print "