From a02dc65816998ec35975339dbad1627c2e5fb444 Mon Sep 17 00:00:00 2001 From: www-data Date: Tue, 2 Dec 2014 11:24:48 +0100 Subject: [PATCH 1/1] new initial commit --- Server/JOURNAL | 28 + Server/logintesi.sql | 195 ++++ Server/server/tesi/.idea/compiler.xml | 22 + .../.idea/copyright/profiles_settings.xml | 3 + Server/server/tesi/.idea/description.html | 1 + Server/server/tesi/.idea/encodings.xml | 4 + Server/server/tesi/.idea/misc.xml | 12 + Server/server/tesi/.idea/modules.xml | 8 + Server/server/tesi/.idea/project-template.xml | 3 + .../tesi/.idea/scopes/scope_settings.xml | 5 + Server/server/tesi/.idea/uiDesigner.xml | 124 ++ Server/server/tesi/.idea/vcs.xml | 6 + Server/server/tesi/.idea/workspace.xml | 1003 +++++++++++++++++ .../tesi/com/company/DirectoryWatcher.class | Bin 0 -> 4523 bytes .../tesi/com/company/EmailSender.class | Bin 0 -> 3847 bytes .../tesi/com/company/EsNameParser.class | Bin 0 -> 4764 bytes .../out/production/tesi/com/company/MD5.class | Bin 0 -> 2110 bytes .../tesi/com/company/dbConnect.class | Bin 0 -> 9424 bytes .../production/tesi/com/company/esercizi.xml | 5 + .../production/tesi/com/company/global.class | Bin 0 -> 854 bytes .../tesi/com/company/guestServer.class | Bin 0 -> 2899 bytes .../tesi/com/company/httpget$MyHandler.class | Bin 0 -> 2506 bytes .../production/tesi/com/company/httpget.class | Bin 0 -> 2274 bytes .../production/tesi/com/company/keystore.bks | Bin 0 -> 2258 bytes .../production/tesi/com/company/keystore.crt | Bin 0 -> 897 bytes .../production/tesi/com/company/keystore.jks | Bin 0 -> 2252 bytes .../tesi/com/company/personalServer.class | Bin 0 -> 2302 bytes .../tesi/com/company/suString.class | Bin 0 -> 2637 bytes .../tesi/com/company/superServer.class | Bin 0 -> 3533 bytes .../tesi/com/company/xmlOperation.class | Bin 0 -> 3946 bytes .../testi/com/company/DeleteFileExample.class | Bin 0 -> 1115 bytes .../testi/com/company/EmailSender.class | Bin 0 -> 4937 bytes .../testi/com/company/EsNameParser.class | Bin 0 -> 4701 bytes .../testi/com/company/dbConnect.class | Bin 0 -> 11241 bytes .../production/testi/com/company/esercizi.xml | 3 + .../testi/com/company/guestServer.class | Bin 0 -> 2968 bytes .../testi/com/company/httpget$MyHandler.class | Bin 0 -> 2344 bytes .../testi/com/company/httpget.class | Bin 0 -> 2222 bytes .../production/testi/com/company/keystore.bks | Bin 0 -> 2258 bytes .../production/testi/com/company/keystore.crt | Bin 0 -> 897 bytes .../production/testi/com/company/keystore.jks | Bin 0 -> 2252 bytes .../testi/com/company/personalServer.class | Bin 0 -> 2705 bytes .../testi/com/company/suString.class | Bin 0 -> 2629 bytes .../testi/com/company/superServer.class | Bin 0 -> 3319 bytes .../src/com/company/DeleteFileExample.class | Bin 0 -> 916 bytes .../src/com/company/DirectoryWatcher.class | Bin 0 -> 4627 bytes .../src/com/company/DirectoryWhatcer.java | 147 +++ .../tesi/src/com/company/EmailSender.class | Bin 0 -> 3205 bytes .../tesi/src/com/company/EmailSender.java | 110 ++ .../tesi/src/com/company/EsNameParser.class | Bin 0 -> 3814 bytes .../tesi/src/com/company/EsNameParser.java | 144 +++ Server/server/tesi/src/com/company/MD5.class | Bin 0 -> 1713 bytes Server/server/tesi/src/com/company/MD5.java | 46 + Server/server/tesi/src/com/company/Makefile | 2 + .../tesi/src/com/company/dbConnect.class | Bin 0 -> 9152 bytes .../tesi/src/com/company/dbConnect.java | 355 ++++++ .../server/tesi/src/com/company/esercizi.xml | 10 + .../server/tesi/src/com/company/esercizi.xml~ | 4 + .../server/tesi/src/com/company/global.class | Bin 0 -> 964 bytes .../server/tesi/src/com/company/global.java | 16 + .../tesi/src/com/company/guestServer.class | Bin 0 -> 2288 bytes .../tesi/src/com/company/guestServer.java | 80 ++ .../src/com/company/httpget$MyHandler.class | Bin 0 -> 1780 bytes .../server/tesi/src/com/company/httpget.class | Bin 0 -> 1852 bytes .../server/tesi/src/com/company/httpget.java | 79 ++ .../server/tesi/src/com/company/keystore.bks | Bin 0 -> 2258 bytes .../server/tesi/src/com/company/keystore.crt | Bin 0 -> 897 bytes .../server/tesi/src/com/company/keystore.jks | Bin 0 -> 2252 bytes .../tesi/src/com/company/personalServer.class | Bin 0 -> 1778 bytes .../tesi/src/com/company/personalServer.java | 56 + .../tesi/src/com/company/suString.class | Bin 0 -> 2502 bytes .../server/tesi/src/com/company/suString.java | 96 ++ .../tesi/src/com/company/superServer.class | Bin 0 -> 2822 bytes .../tesi/src/com/company/superServer.java | 59 + .../tesi/src/com/company/testEsname.class | Bin 0 -> 475 bytes .../tesi/src/com/company/xmlOperation.class | Bin 0 -> 3261 bytes .../tesi/src/com/company/xmlOperation.java | 136 +++ Server/server/tesi/src/go.sh | 3 + Server/server/tesi/tesi.iml | 11 + Server/webApp/.prova.php.swp | Bin 0 -> 12288 bytes Server/webApp/esercizi/aalbero.xml | 16 + Server/webApp/esercizi/demorgan.xml | 27 + Server/webApp/esercizi/demorgan2.xml | 27 + Server/webApp/esercizi/risolvibile.xml | 35 + Server/webApp/esercizi/tautologia.xml | 15 + Server/webApp/esercizi/test.xml | 12 + Server/webApp/index.html | 17 + Server/webApp/index.html~ | 17 + Server/webApp/login.css | 16 + Server/webApp/login.js | 65 ++ Server/webApp/login.js~ | 66 ++ Server/webApp/login.php | 41 + Server/webApp/login.php~ | 42 + Server/webApp/logout.js | 18 + Server/webApp/logout.php | 7 + Server/webApp/main.php | 41 + Server/webApp/printEs.php | 13 + Server/webApp/prova.html~ | 12 + Server/webApp/prova.js | 72 ++ Server/webApp/prova.pho | 0 Server/webApp/prova.pho~ | 0 Server/webApp/prova.php | 39 + Server/webApp/prova.php~ | 44 + Server/webApp/prova.txt | 2 + Server/webApp/prova.txt~ | 0 Server/webApp/serverRequest.php | 54 + Server/webApp/upload.php | 53 + Server/webApp/upload.php~ | 33 + Server/webApp/util.php | 41 + Server/webApp/xmlPharse.php | 11 + public_html/esercizi/demorgan2.xml | 27 + public_html/esercizi/risolvibile.xml | 35 + public_html/esercizi/test.xml | 12 + public_html/esercizi/triviale.xml | 15 + public_html/index.html | 17 + public_html/index.html~ | 17 + public_html/login.css | 16 + public_html/login.js | 65 ++ public_html/login.js~ | 66 ++ public_html/login.php | 41 + public_html/login.php~ | 42 + public_html/logout.js | 18 + public_html/logout.php | 7 + public_html/main.php | 41 + public_html/printEs.php | 13 + public_html/prova.html~ | 12 + public_html/prova.js | 72 ++ public_html/prova.pho | 0 public_html/prova.pho~ | 0 public_html/prova.php | 39 + public_html/prova.php~ | 44 + public_html/prova.txt | 2 + public_html/prova.txt~ | 0 public_html/serverRequest.php | 54 + public_html/upload.php | 53 + public_html/upload.php~ | 33 + public_html/util.php | 41 + public_html/xmlPharse.php | 11 + 138 files changed, 4405 insertions(+) create mode 100644 Server/JOURNAL create mode 100644 Server/logintesi.sql create mode 100644 Server/server/tesi/.idea/compiler.xml create mode 100644 Server/server/tesi/.idea/copyright/profiles_settings.xml create mode 100644 Server/server/tesi/.idea/description.html create mode 100644 Server/server/tesi/.idea/encodings.xml create mode 100644 Server/server/tesi/.idea/misc.xml create mode 100644 Server/server/tesi/.idea/modules.xml create mode 100644 Server/server/tesi/.idea/project-template.xml create mode 100644 Server/server/tesi/.idea/scopes/scope_settings.xml create mode 100644 Server/server/tesi/.idea/uiDesigner.xml create mode 100644 Server/server/tesi/.idea/vcs.xml create mode 100644 Server/server/tesi/.idea/workspace.xml create mode 100644 Server/server/tesi/out/production/tesi/com/company/DirectoryWatcher.class create mode 100644 Server/server/tesi/out/production/tesi/com/company/EmailSender.class create mode 100644 Server/server/tesi/out/production/tesi/com/company/EsNameParser.class create mode 100644 Server/server/tesi/out/production/tesi/com/company/MD5.class create mode 100644 Server/server/tesi/out/production/tesi/com/company/dbConnect.class create mode 100644 Server/server/tesi/out/production/tesi/com/company/esercizi.xml create mode 100644 Server/server/tesi/out/production/tesi/com/company/global.class create mode 100644 Server/server/tesi/out/production/tesi/com/company/guestServer.class create mode 100644 Server/server/tesi/out/production/tesi/com/company/httpget$MyHandler.class create mode 100644 Server/server/tesi/out/production/tesi/com/company/httpget.class create mode 100644 Server/server/tesi/out/production/tesi/com/company/keystore.bks create mode 100644 Server/server/tesi/out/production/tesi/com/company/keystore.crt create mode 100644 Server/server/tesi/out/production/tesi/com/company/keystore.jks create mode 100644 Server/server/tesi/out/production/tesi/com/company/personalServer.class create mode 100644 Server/server/tesi/out/production/tesi/com/company/suString.class create mode 100644 Server/server/tesi/out/production/tesi/com/company/superServer.class create mode 100644 Server/server/tesi/out/production/tesi/com/company/xmlOperation.class create mode 100644 Server/server/tesi/out/production/testi/com/company/DeleteFileExample.class create mode 100644 Server/server/tesi/out/production/testi/com/company/EmailSender.class create mode 100644 Server/server/tesi/out/production/testi/com/company/EsNameParser.class create mode 100644 Server/server/tesi/out/production/testi/com/company/dbConnect.class create mode 100644 Server/server/tesi/out/production/testi/com/company/esercizi.xml create mode 100644 Server/server/tesi/out/production/testi/com/company/guestServer.class create mode 100644 Server/server/tesi/out/production/testi/com/company/httpget$MyHandler.class create mode 100644 Server/server/tesi/out/production/testi/com/company/httpget.class create mode 100644 Server/server/tesi/out/production/testi/com/company/keystore.bks create mode 100644 Server/server/tesi/out/production/testi/com/company/keystore.crt create mode 100644 Server/server/tesi/out/production/testi/com/company/keystore.jks create mode 100644 Server/server/tesi/out/production/testi/com/company/personalServer.class create mode 100644 Server/server/tesi/out/production/testi/com/company/suString.class create mode 100644 Server/server/tesi/out/production/testi/com/company/superServer.class create mode 100644 Server/server/tesi/src/com/company/DeleteFileExample.class create mode 100644 Server/server/tesi/src/com/company/DirectoryWatcher.class create mode 100644 Server/server/tesi/src/com/company/DirectoryWhatcer.java create mode 100644 Server/server/tesi/src/com/company/EmailSender.class create mode 100644 Server/server/tesi/src/com/company/EmailSender.java create mode 100644 Server/server/tesi/src/com/company/EsNameParser.class create mode 100644 Server/server/tesi/src/com/company/EsNameParser.java create mode 100644 Server/server/tesi/src/com/company/MD5.class create mode 100644 Server/server/tesi/src/com/company/MD5.java create mode 100644 Server/server/tesi/src/com/company/Makefile create mode 100644 Server/server/tesi/src/com/company/dbConnect.class create mode 100644 Server/server/tesi/src/com/company/dbConnect.java create mode 100644 Server/server/tesi/src/com/company/esercizi.xml create mode 100644 Server/server/tesi/src/com/company/esercizi.xml~ create mode 100644 Server/server/tesi/src/com/company/global.class create mode 100644 Server/server/tesi/src/com/company/global.java create mode 100644 Server/server/tesi/src/com/company/guestServer.class create mode 100644 Server/server/tesi/src/com/company/guestServer.java create mode 100644 Server/server/tesi/src/com/company/httpget$MyHandler.class create mode 100644 Server/server/tesi/src/com/company/httpget.class create mode 100644 Server/server/tesi/src/com/company/httpget.java create mode 100644 Server/server/tesi/src/com/company/keystore.bks create mode 100644 Server/server/tesi/src/com/company/keystore.crt create mode 100644 Server/server/tesi/src/com/company/keystore.jks create mode 100644 Server/server/tesi/src/com/company/personalServer.class create mode 100644 Server/server/tesi/src/com/company/personalServer.java create mode 100644 Server/server/tesi/src/com/company/suString.class create mode 100644 Server/server/tesi/src/com/company/suString.java create mode 100644 Server/server/tesi/src/com/company/superServer.class create mode 100644 Server/server/tesi/src/com/company/superServer.java create mode 100644 Server/server/tesi/src/com/company/testEsname.class create mode 100644 Server/server/tesi/src/com/company/xmlOperation.class create mode 100644 Server/server/tesi/src/com/company/xmlOperation.java create mode 100755 Server/server/tesi/src/go.sh create mode 100644 Server/server/tesi/tesi.iml create mode 100644 Server/webApp/.prova.php.swp create mode 100644 Server/webApp/esercizi/aalbero.xml create mode 100644 Server/webApp/esercizi/demorgan.xml create mode 100644 Server/webApp/esercizi/demorgan2.xml create mode 100644 Server/webApp/esercizi/risolvibile.xml create mode 100644 Server/webApp/esercizi/tautologia.xml create mode 100644 Server/webApp/esercizi/test.xml create mode 100755 Server/webApp/index.html create mode 100755 Server/webApp/index.html~ create mode 100755 Server/webApp/login.css create mode 100755 Server/webApp/login.js create mode 100755 Server/webApp/login.js~ create mode 100755 Server/webApp/login.php create mode 100755 Server/webApp/login.php~ create mode 100755 Server/webApp/logout.js create mode 100755 Server/webApp/logout.php create mode 100755 Server/webApp/main.php create mode 100755 Server/webApp/printEs.php create mode 100755 Server/webApp/prova.html~ create mode 100755 Server/webApp/prova.js create mode 100755 Server/webApp/prova.pho create mode 100755 Server/webApp/prova.pho~ create mode 100755 Server/webApp/prova.php create mode 100755 Server/webApp/prova.php~ create mode 100755 Server/webApp/prova.txt create mode 100755 Server/webApp/prova.txt~ create mode 100755 Server/webApp/serverRequest.php create mode 100755 Server/webApp/upload.php create mode 100755 Server/webApp/upload.php~ create mode 100755 Server/webApp/util.php create mode 100755 Server/webApp/xmlPharse.php create mode 100644 public_html/esercizi/demorgan2.xml create mode 100644 public_html/esercizi/risolvibile.xml create mode 100644 public_html/esercizi/test.xml create mode 100644 public_html/esercizi/triviale.xml create mode 100755 public_html/index.html create mode 100755 public_html/index.html~ create mode 100755 public_html/login.css create mode 100755 public_html/login.js create mode 100755 public_html/login.js~ create mode 100755 public_html/login.php create mode 100755 public_html/login.php~ create mode 100755 public_html/logout.js create mode 100755 public_html/logout.php create mode 100755 public_html/main.php create mode 100755 public_html/printEs.php create mode 100755 public_html/prova.html~ create mode 100755 public_html/prova.js create mode 100755 public_html/prova.pho create mode 100755 public_html/prova.pho~ create mode 100755 public_html/prova.php create mode 100755 public_html/prova.php~ create mode 100755 public_html/prova.txt create mode 100755 public_html/prova.txt~ create mode 100755 public_html/serverRequest.php create mode 100755 public_html/upload.php create mode 100755 public_html/upload.php~ create mode 100755 public_html/util.php create mode 100755 public_html/xmlPharse.php diff --git a/Server/JOURNAL b/Server/JOURNAL new file mode 100644 index 0000000..9714212 --- /dev/null +++ b/Server/JOURNAL @@ -0,0 +1,28 @@ +### Librerie ### +- installare: apache, php5, php5-mysql, mysql-server, openjdk-8-jdk + +### Database ### +- aggiungere a logintesi.sql USE logintesi; se non c'e' +- mysql -u root -p + create database logintesi; +- mysql < ~claudio/tesi_applet/logintesi.sql -u root -p + +### Php server ### +- mkdir Server && cd Server && tar -zxvf ../Server.tar.gz +- cp -R ~claudio/tesi_applet/Server/webApp/* /var/www/html/ +- chown -R www-data:www-data esercizi +- serverRequest.php: /localhost, impostare password +- login.php: /localhost, impostare password +- username e password admin sono nel db, tabella admin + mysql -u root -p logintesi + mysql> insert into admin values("admin","AdMin#@"); +- xmlPharse.php: ~claudio/tesi_applet/Server/server/tesi/src/com/company/esercizi.xml + +### Java server ### +- vim ~/tesi_applet/Server/server/tesi/src/com/company/global.java + editare home, servername, ... +- cp ~claudio/tesi_applet/Server/java-8-oracle/jre/lib/ext/* /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/ + PERCHE' IL CLASSPATH NON FUNZIONA?? +- javac *.java +- cd /home/claudio/tesi_applet/Server/server/tesi/src + java com.company.superServer diff --git a/Server/logintesi.sql b/Server/logintesi.sql new file mode 100644 index 0000000..ec57f9c --- /dev/null +++ b/Server/logintesi.sql @@ -0,0 +1,195 @@ +-- phpMyAdmin SQL Dump +-- version 4.0.10deb1 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Generato il: Nov 14, 2014 alle 16:45 +-- Versione del server: 5.5.38-0ubuntu0.14.04.1 +-- Versione PHP: 5.5.9-1ubuntu4.4 + +USE logintesi; + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; + +-- +-- Database: `logintesi` +-- + +-- -------------------------------------------------------- + +-- +-- Struttura della tabella `admin` +-- + +CREATE TABLE IF NOT EXISTS `admin` ( + `username` varchar(30) COLLATE utf8_bin NOT NULL, + `password` varchar(30) COLLATE utf8_bin NOT NULL, + UNIQUE KEY `username` (`username`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; + +-- +-- Dump dei dati per la tabella `admin` +-- + +INSERT INTO `admin` (`username`, `password`) VALUES +('danilo.berardinelli', '123stella'); + +-- -------------------------------------------------------- + +-- +-- Struttura della tabella `aggprova` +-- + +CREATE TABLE IF NOT EXISTS `aggprova` ( + `chiave` varchar(50) COLLATE utf8_bin NOT NULL, + `time` double NOT NULL, + `checks` int(11) NOT NULL, + PRIMARY KEY (`chiave`), + UNIQUE KEY `key` (`chiave`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; + +-- +-- Dump dei dati per la tabella `aggprova` +-- + +INSERT INTO `aggprova` (`chiave`, `time`, `checks`) VALUES +('10157426982320510', 1415145803639, 1), +('10244937857444543', 1415284664538, 1), +('10308106918353456', 1415243065790, 1), +('10385651273134167', 1415289922479, 1), +('10414239987472834', 1415285560312, 1), +('1097785784725414', 1415284853312, 1), +('10983265112121106', 1415242393295, 1), +('1286713061377424', 1415036978051, 1), +('1408285479764558', 1415278883075, 1), +('1490801371315190', 1415285333816, 1), +('1741331087669285', 1415811578318, 1), +('18516070104459806', 1415276863684, 1), +('2217380018747176', 1415145507080, 1), +('2260502250327125', 1415284745047, 1), +('2473377684156933', 1415284628252, 1), +('2504043195911198', 1415285115955, 1), +('2686774762838581', 1415278911038, 1), +('2744239278608085', 1415036291300, 1), +('2956509786688513', 1415271435934, 1), +('2961042458190883', 1415277033282, 1), +('3109253928772677', 1415284540445, 1), +('3311335330604631', 1415237862686, 1), +('3486758220086141', 1415242975878, 1), +('3571361357113219', 1415285156048, 1), +('4091389111256716', 1415025754182, 1), +('42848425102166715', 1415242068918, 1), +('4457124515989723', 1415811050681, 1), +('4577865146663611', 1415285170075, 1), +('4796791993070257', 1415288554998, 1), +('5005653368852396', 1415285312682, 1), +('5226217037177487', 1415145721770, 1), +('5308112899337743', 1415037335958, 1), +('5362524692721963', 1415811381242, 1), +('5382075363462279', 1415272904986, 1), +('5650512812480934', 1415271249954, 1), +('5735648814288922', 1415036889526, 1), +('62029084106069252', 1415241839377, 1), +('6712150141518271', 1415285510994, 1), +('6786243849285602', 1415811389915, 1), +('6992436366972266', 1415242705239, 1), +('7106071695334106', 1415811170493, 1), +('7158700078303143', 1415284726466, 1), +('7307203380313108', 1415819825863, 1), +('75372031101482498', 1415284519581, 1), +('7703030541673651', 1415272914342, 1), +('8065501483698608', 1415819808393, 1), +('8468895456378674', 1415241733824, 1), +('8760904545449404', 1415285230458, 1), +('8838732364680254', 1415271877269, 1), +('9576830372163956', 1415283251776, 1); + +-- -------------------------------------------------------- + +-- +-- Struttura della tabella `confmail` +-- + +CREATE TABLE IF NOT EXISTS `confmail` ( + `user` varchar(50) COLLATE utf8_bin NOT NULL, + `pass` varchar(50) COLLATE utf8_bin NOT NULL, + `hash` varchar(50) COLLATE utf8_bin NOT NULL, + `time` double DEFAULT NULL, + UNIQUE KEY `user` (`user`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; + +-- -------------------------------------------------------- + +-- +-- Struttura della tabella `connessi` +-- + +CREATE TABLE IF NOT EXISTS `connessi` ( + `user` varchar(50) COLLATE utf8_bin NOT NULL, + `tempkey` varchar(50) COLLATE utf8_bin NOT NULL, + `thread` tinyint(1) NOT NULL, + `time` double NOT NULL, + UNIQUE KEY `tempkey` (`tempkey`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; + +-- +-- Dump dei dati per la tabella `connessi` +-- + +INSERT INTO `connessi` (`user`, `tempkey`, `thread`, `time`) VALUES +('danilo.berardinelli@studio.unibo.it', '2545550210880139', 0, 1415975986391); + +-- -------------------------------------------------------- + +-- +-- Struttura della tabella `esercizi` +-- + +CREATE TABLE IF NOT EXISTS `esercizi` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `esercizio` varchar(20) COLLATE utf8_bin NOT NULL, + `utente` varchar(50) COLLATE utf8_bin NOT NULL, + `click` int(11) NOT NULL, + `time` double NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=4 ; + +-- +-- Dump dei dati per la tabella `esercizi` +-- + +INSERT INTO `esercizi` (`id`, `esercizio`, `utente`, `click`, `time`) VALUES +(1, 'tautologia.xml', 'danilo.berardinelli@studio.unibo.it', 1, 1415923860705), +(2, 'tautologia.xml', 'danilo.berardinelli@studio.unibo.it', 1, 1415975624027), +(3, 'tautologia.xml', 'danilo.berardinelli@studio.unibo.it', 3, 1415975983857); + +-- -------------------------------------------------------- + +-- +-- Struttura della tabella `utenti` +-- + +CREATE TABLE IF NOT EXISTS `utenti` ( + `user` varchar(50) COLLATE utf8_bin NOT NULL, + `pass` varchar(15) COLLATE utf8_bin NOT NULL, + UNIQUE KEY `user` (`user`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; + +-- +-- Dump dei dati per la tabella `utenti` +-- + +INSERT INTO `utenti` (`user`, `pass`) VALUES +('danilo.berardinelli@studio.unibo.it', '123stella'); + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/Server/server/tesi/.idea/compiler.xml b/Server/server/tesi/.idea/compiler.xml new file mode 100644 index 0000000..9a8b7e5 --- /dev/null +++ b/Server/server/tesi/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/Server/server/tesi/.idea/copyright/profiles_settings.xml b/Server/server/tesi/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..e7bedf3 --- /dev/null +++ b/Server/server/tesi/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/Server/server/tesi/.idea/description.html b/Server/server/tesi/.idea/description.html new file mode 100644 index 0000000..db5f129 --- /dev/null +++ b/Server/server/tesi/.idea/description.html @@ -0,0 +1 @@ +Simple Java application that includes a class with main() method \ No newline at end of file diff --git a/Server/server/tesi/.idea/encodings.xml b/Server/server/tesi/.idea/encodings.xml new file mode 100644 index 0000000..d821048 --- /dev/null +++ b/Server/server/tesi/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Server/server/tesi/.idea/misc.xml b/Server/server/tesi/.idea/misc.xml new file mode 100644 index 0000000..728f444 --- /dev/null +++ b/Server/server/tesi/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Server/server/tesi/.idea/modules.xml b/Server/server/tesi/.idea/modules.xml new file mode 100644 index 0000000..d9c1a63 --- /dev/null +++ b/Server/server/tesi/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Server/server/tesi/.idea/project-template.xml b/Server/server/tesi/.idea/project-template.xml new file mode 100644 index 0000000..1f08b88 --- /dev/null +++ b/Server/server/tesi/.idea/project-template.xml @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/Server/server/tesi/.idea/scopes/scope_settings.xml b/Server/server/tesi/.idea/scopes/scope_settings.xml new file mode 100644 index 0000000..922003b --- /dev/null +++ b/Server/server/tesi/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/Server/server/tesi/.idea/uiDesigner.xml b/Server/server/tesi/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/Server/server/tesi/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Server/server/tesi/.idea/vcs.xml b/Server/server/tesi/.idea/vcs.xml new file mode 100644 index 0000000..6564d52 --- /dev/null +++ b/Server/server/tesi/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Server/server/tesi/.idea/workspace.xml b/Server/server/tesi/.idea/workspace.xml new file mode 100644 index 0000000..7ff99c0 --- /dev/null +++ b/Server/server/tesi/.idea/workspace.xml @@ -0,0 +1,1003 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Control flow issues + + + + + InfiniteLoopStatement + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1415700559063 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No facets are configured + + + + + + + + + + + + + + + 1.8 + + + + + + + + tesi + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Server/server/tesi/out/production/tesi/com/company/DirectoryWatcher.class b/Server/server/tesi/out/production/tesi/com/company/DirectoryWatcher.class new file mode 100644 index 0000000000000000000000000000000000000000..cfca5342478875e98298e8ae940897ae8e701b02 GIT binary patch literal 4523 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 Ra!=(wNF%jm_pScY{{sR)mm>fG literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/tesi/com/company/EmailSender.class b/Server/server/tesi/out/production/tesi/com/company/EmailSender.class new file mode 100644 index 0000000000000000000000000000000000000000..f7d68c063aa822f8b76faecf2f27ec70df78a0ea GIT binary patch literal 3847 zcmcgvX?q)26@ITQX{5+;l%1rN9BL>O%GR>A?EMS;0KV`5@0}UjSU!9ti-+-1NqtP7{4HdV^{j!3`1d=k;m5Xz6yfSn^%dt_}-i>bmDW z;J6jSrX0^Fr)K)TVf%)FRxv!^v~^#1O-Dd+s#U}HNhNEB=Lw{bn6~NPE^x7Lwe0^V z=inLYbj+zx=gniLZJcb>CJlE&pR~xyjX7oAIzt=ebHq&gQzk9QkCmNTk-xfb&lXSA zbkiyscExb%8r8I?O+DZVwDrk5vbBcgn|0l#pRNlGoGHpP#qk9`&$ZROs=(g(Ym@GD zZNo2)n>AyczSFA)ky+o>ZLjXE5;w8HCn%xQhW%?wJ6fr@6n0{!Y}9?zv58Jn9`U_# z{7I+OC{LYsooSPn#nFixv3ug!P&wvC9F`1K6r%#Ey6e>GxX}7y!>93-TsK_bG(0Mx zc+`lx2yBhZErnbHw#eL}{dYQ*+0*poVS%1Fa+$9dKs>jx}6PRF?3j3F^2T0g70YfF22V!T$1at*nHpe z1`Rt*-(9hHPWgi2kLYFJac2j^pmeSGx@@ts1$IkIW(JvjgPvy%mP%u#xDI-4(;K4j9sp-4ljelO5Ah z@D~k#m0I_%rQgcZ)$lirvl3$1b;?$tD+XF!uL7Ox^fXq4JQ+@aQzlwqht)Oe4w3^}aKGF|RQx#1_|P|G7AMd;(AKfu*9$t`XjDWTX|U&d14g&eR&y0lcD!+qiohq z%Ac5(&3xmEXKmEB4fmL=Z-W({m^ihfg{~=w?$z{4Wl@&EZOfdn_Mv!ZUeY|YZo-&h zmISSG3OIVw(tn8k1vjFbWhRugAYQ^p zPCNpESMcdaJfGp-Uzmd^9BLv_=x?H}FwjJ@kWV&|D&$j5qzn0U6G|bkG?BRyNO>jK z{ro%!_8>{UvgpAk>_Z1XtMj;?-2Ge+;1K#SO4QxqJ-7?6;uCKS^cMjoEl32Ew4p7a zq!r14l6Is5N?MW*C~1pA8^$mmT9UX(3@s7++Qsun=8-)+2X(wZw;`vsu<@S$+@``4 zNQLBPlF5+Vvhy0+Lo&C3>{#M$&20-`UYF|(2yqSDPY&>KejYn`#m=GRJa&=j8cNM$ z_t}9t>={bu)4V}xp*x?R$6mheXcp1tKV zwuaQLm!XE#&=tD4E|NmwzbtZZ=f5m+-^qVj+8_h_2tx-9FaSkpxB=U67~Qy$!Mq8# z@b3*U#3s`1sEQ6uiS49!!W3ONFM3c55~+?2yyHPiJ;jh;!bP0M ztCa{q_l_?S>VN&eDy||AFq=`;y_If7aB%Y>z z_e&4qacZd32b1(g50d|-iYbNKDyUFd1?NDrI;vobKQqnK=ZQ?<0)EV0rQC<{Bugy& EKLDB-H2?qr literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/tesi/com/company/EsNameParser.class b/Server/server/tesi/out/production/tesi/com/company/EsNameParser.class new file mode 100644 index 0000000000000000000000000000000000000000..6b5cef6a3ad2e4d6b2f72417f843da1b1296395d GIT binary patch literal 4764 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 XHt7yP8kD~Rc*LLd7I=-83Xc8*FGS5o literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/tesi/com/company/dbConnect.class b/Server/server/tesi/out/production/tesi/com/company/dbConnect.class new file mode 100644 index 0000000000000000000000000000000000000000..982753efe4d954c4cab731209a6a7f0219916ef8 GIT binary patch literal 9424 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 + + aalbero.xml + tautologia.xml + diff --git a/Server/server/tesi/out/production/tesi/com/company/global.class b/Server/server/tesi/out/production/tesi/com/company/global.class new file mode 100644 index 0000000000000000000000000000000000000000..dc419800ebbb452cdfdda7c641dc07f256d97a8f GIT binary patch literal 854 zcmb7C*>2N76g`t>aS|636DTQ5DQg$-kcCo2g^(%`NTDDF<$YpIGO1%n_9UTv5wFM( zNIdWXd=%o2la##j;Cpu3jk^Z+H0~RCsPU0D zjyAl2#|6|G)_oZ(@hbKrSALZYc6%tMg8L%q^NxyS(0@)v$6-KKf$9o>;u&Z#T=YX% zC>aLJqXwD`*+Dq+7|c`etfRun`yk?Y#XS)^TcT!DFPb~$aTqDlNh1vGErXRt-Y7L* zM)OB9km?1)+Rkp5njD9ph{kHmz&n|YdS3KV^n8lgZJNpNib!gI5zMNAq#3GhHym;L z#v(Z5eLw68pOhI#uD>8Jb;3#HdatFXD$gq%y$loAaGhbFYjOPZBvQQNMsg|wDY)`t zC3zgVn){sJL=_f8zTRlIo*bCCtUbMzSZ~D{p2jAwq_O(5hEqQ{bm~s?(8LBT6IW3) zv56W9TIHNiM4SJ2LGOD*&s7Xh|6??7an;V3k$2L8Zb$VF_ zYPbLk)R(*rD&*TM{v{N(R>~E%$`naiilin*5|kooBFqpMEtKpH@;D(Q%WB6BKMCL9rsfB`8(4UM47OVg^mT aNz_0AIU*|2%of=y$`sda?ocj+yMF=C)U$N} literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/tesi/com/company/guestServer.class b/Server/server/tesi/out/production/tesi/com/company/guestServer.class new file mode 100644 index 0000000000000000000000000000000000000000..dbbf2f70587f05ad65b4d2d5fb5c237faf968d59 GIT binary patch literal 2899 zcmcImNp}=g6#ibP(^V-72!RY0Km#IXfV7ARbU+}HAsE8Y5oiRZ(y1gxI#o?|bpUZ5 zaGp^FCmeC%29?e^<{XzU-0>say64Cdzt>|0+NFI?zpi@szI(s#-mh-gAOHON8-NG# zgN9Bd>d=8B8Xm_{1;;dm@q~gWHAHY+E@mBukyJ3EK|?}?C4WcdGNxf1wt^EH>XFbe zft0+Ol%X62u7*aW6`a)23{OQy{`zvss+dx7O2uh;=!}Y|RGd}tw1(w)M!~ZhR^U0g zJg?vd4fo+i1urRhS-~p;k&K(1uzUey;DkA4o{l<}AI)S^(Rh3yo;UT-X_M{P{=))G z+W*t5qH8-jwCZ#L1LxIYd|EWgV{VGE2zisir)TsO?7gX8m;5kNciwPVz{Nn>j_G zRn3Py+t0@h4b!Kk?9-ba9ko1bq->w#S$@`Y_Gc~cj6^R>6HS@USd@8eXN-C3ovb@$ z_PLH@WiqzwkmZtDOwyK@aUC;NCL_or7;0#okVhCw@vM`Qwm|c&2qVM!@JXLOAz7-% zGU9$`7H2!-2`sK=J-`%2%5=Gta@jtw2x1TEm}6uk_$?;PGv9tXX{CKKC7QW$-%L*I zG1K{0=H+ybYNyZ@yh;gEXaZW?&3Z{|hbm2pxpmX$M+J!!iurnZyi^psW})q(9Ky9_YR-1l2YfDI0v$hQvZAa zD)z3*C=!@AX88ee(6zmzn(V33mcp!(BO-93M^2E16;o0Fa#!{EtjN(Nu&5OEwr9S= zDt;#8Ta$9!WJ$O3VD961s0^csnNC~Ih`{P%#$dc6@W574q6Dw{ZmAgMss%!`<7t^F z#i7_(Ei~ywlH;bgjo`xV{T+QgF*017XDh3ns5ax~v)Vyn%c54w9kdX#Q7P&y%WVZO z&RDrydrHn@{*I=ynQ@X%x{hz!4kz8>AjCcriOUh`B(0u~BLdw8YZZm`+(|=bY7T}g z2{JE*+Kg{{EYkdZJ@aF2$TO1`+W0r#34tztLvl>f$Q4>eqM{`=2G9q%6CT~omuYx$}mKN{9CDrW#5!umqY&`qAu0CBSO7ld-C z8JIyh(KU_QJu`?TR!u`0T%Cg&3;%?=8EA=V%xTbbm}`W&zgrQEOC01vYA{!9~Z7@oaTaCIL z76%e9k%^^GA@LPlGipnqmP%V06q6c}hP!gO`;t7;(8jBaIQG8*S;ZX7@;R2zV0l93 zF~ZZhM^avqr+jZrHPjqdUV%E$l|%bgHUMH=Oz{1v2C{|cu#9UHRK8*@Knq%7P!z3* z@l9$AR$>?05vNFwQYIEEegn3GSH%flYS@dI;dThluD9lxhUV5n5CED-^w)6fvE)=7v;y4AqlT}$D z4v}j=#oH{GB`!2tzv1w#rR c18$<5mwzL1izO8F0D2W13^T|f9u48}zZpy2Hvj+t literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/tesi/com/company/httpget$MyHandler.class b/Server/server/tesi/out/production/tesi/com/company/httpget$MyHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..0db2b2c775f6c069d124582da0ef3ea32f1da35d GIT binary patch literal 2506 zcma)8S$h*z7=EWsGGQ19l(IxwDw`=#q9Uki*;1$tbdeTNK*j0gm<&v3(pd@-cf?)P zU%@puLFIXTy!7$s_yg4U%uGsBih40;``&Lk-+9k>=8wOA`4zy6_))_)%xIX!c?}nE zQN!zaBa0KOaS4}ITv73+hAd`Oyrn_IOcrm;{;F)=krG3LiaBY(lucDmg@$)glTBTP zrQ({3>ndy&^BSIlqrz3uP_dvOGh#Vba7;mOVeq1Y)Tmn(3UU*cBc{UnIpLi*=4`I? zO}M6EUo<>R&XdJdP`7*qt0tS{hEuhLr$Dbbj_^ip!}kS6J0?tbzR0g(IL%@`2pTmJ z>|VkTGk|)es-RGauzu(i9T7xWUwDhcD~?m`^i7k%ni!T*s-9Q~g&!!`+-1KyH|o;8 z8PM)(PXwXooC}55l;K}97LB4!6UEuUvz!_sJuV~M6iY0(I2{I!FrZWz^OP#w_2yXU zFWAM|a}$g~Gy==v1vI*W726gy!#-)6!uPv?)-s^u2Zj?^ zhVYCZWFt5`?M7D^s zo(ey@62UT7E6|p%*$0BafppKhps(4SwExfNH z(D4C2RIqM2VH9la3oH(p}>tj;By>vH=$adD!bfI!a*5_Q5;8<98tE?Vd+DUx8&dOAmn}K{SQiZ`QWd;51 zQ|qkAw0?v2jkh^nxKfs0(x&bDoaY*>=d9bT7Uw;~6d1r(zNref^MUQ*$NSFNGaMD! zE9}$z9zeMtiFdNiM2q{di(@?oU^kxSjL#AVX@ttkpGaX9*KY4`p=a_y3%yfAKOt30 zpONXoZ%|9=hsa)ffK{bTKJyS7hpYSa7S`m`Y+6{`LawClUytAOY76V`w6LD$ z`byb+RxWI4p+BE(VdFh)FJ}{Na!+rr{ z@Yye7ob~c7Yh{IX@(gR*M3lC>SW8<+u@C#1&N6)-z!3jLE+B`4%zKvBfamZ$r4C0g z;1EZC6w_gjZgO;lF=c2qP29^IG1bX2$k8h(@i@}>kWr8DNHjF*ZwS5Ii_hqfbEn%O z82=DaC#fxuGM1Go8|6w7nZLQUjEYk#POBJG@v4e(wop`5xOj%&S$-4zCNr3#Qi^7# W>F_mPI(1bz& literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/tesi/com/company/httpget.class b/Server/server/tesi/out/production/tesi/com/company/httpget.class new file mode 100644 index 0000000000000000000000000000000000000000..95933471df42fcaf1c0123c9ae63f57e3d9a3749 GIT binary patch literal 2274 zcma)7T~`xV6y1}r31Mt(FetWK#IKMD(^{p}D6Jrrv_aGWO10I=8B& zBA86#MherIN#ZLx&dN_IiLX=m24y*!>%~pXtGLyJ+qjd$AyiUWz+w_hD(bz`BugK6prG7itki>ui~MCp1I9g!>-kZt3WH+ws5EFhUW=SLE@@qTmFQCXl{5( zL2SyY2?go0Ws94^dR4d!Mzu~)rtFwTeaUbwId3~-{;EZcY}s_yb^bRDdsAQa{l<#$ ziwaU+qi*@P1L1BeIGrm$F`gNE-LO~mitk$XN^!X53Vf@s&lwGFiCVP{1xkrb8iqx> znS;9&#Gke>d&BXej3kZp0kn8~rSE<>l>YsaHXA##F7F4rdT{eW&jiUIs`!SvMj>H( zR6J5)sL+{+=?zmfe9N&t6;;-wVy)PQAGl0x>D_tx-vpv=V6&v2aG%LipAPHd1-5Pr zKdeh@MW1DfDq#>=D^T}5$jPIhs&F-U@Cm2;!sB?NOCO%u?R^aao@w|28yYqx^S-@?+!d|i z$8f0&l7ho~8|JG|gvlc_d#*cyZMQBtxLLgwQAWlu`&OcMeVkSH><}Bs$O^j74+vyrS>iCyqG(=kwsX% zQ@$ZcOmVJQSvOkW^3M1Z54e0Ou%fm}SV* z8l_Ardyw&I?keIcG4eeA8YV(Cyw!mNk_(( zeQZaFEG@D`8VA$JlI2AmQeIuxIoEssg7?SI_x|43bzk56z5xIL0RWIt-76jME>hyK zJl{&~!CNi5g)1)s0PhnxfD9!CUI-=oQ%HXMUQ1tH9CN<`1bB(s`j8<2@WerMo@j^; zBi-kLfiM`H$H~ zDM|}t^e~VvgvILWVR5eesE>iL`hVm9e;_)j`tMLcUVw)ViU1HDM8fDG2&4>4`;|Np zFu|uhj6_C1YTr{sq=}BJmb?r@%);+=#|eY_?{$-!3)=3_7Fu8h8MjPdyzohEj!kMw z{Amkcvc%plIFiaA`Pz}f&>~Ies?(NP7OlPeISAKcj};j*U6}IM&&1^2BzE2n%=gAAc?BQCb0PzG3-}~2ewjKg*tlYiZW%15Sr6}lrqzGry9?t10q}teqy(Y& z*NQ#>mx4=NSCre#*JQ4M7d(Nv?@nZi`oWEVhq!-P`yqk=O_bVIJNo9!0O+YbEhy|6 zTDj5^#EZJ6a%ETUv*eY0Um4X+-Yl{7OPX%4*IB?3w_??1=!9lD3(ziBc+^5^YdwKa zOoLo1b$6_F27Mp~oc%4%ISdeMK*8U`S=I_PWnt#g&4-ZTJi(@t6L{cpL2aI zhWPHHkt%bCXyp-4F{27hpRd{72SSxsFB6X|3j}^4A=kcDD{DDflQ1 ze`1G|O?%8}E#}^Peai$is`8$#vcME$GdjDZ$k;dG5J9;Ynl&_|`Ch*RIxk1fqBxXd zj~O4C2>(oG>l_Ph@}M*UvuaS!wh|W4&yXD{m~ftV=yz9Rha=YRXcRFFMEb`}j?*PX zqI%WXmma1qN@{3?^qaCzQkmy$3BTK))YKdX%o15kReiarp^!tH*(C1pCxtH#gW-0r z+K91~;=uAEzo#9Wd$^4^NUe%mGkaXknsE$vnQ5^^JZDtyh!|BtUcCV>H2)?X;f?*) z>~~sXN2>Ix_}5&o;;Hq)$(^IG#z(m7EBZKJ9o`YQD)(XH*6~R0=i3~2l@=&Cr)qID z+HrCYbK@C5N66>>#g_C981nhTWwXCL`teuZw@2i#4we!4Lg@OniE&}LONRs2&rKGh zojSZ*779A!;oM>uX?v*EbrQ+GU7hub)@rN#yeH6GsH9`1T|kH&HawLd&>z}Ow*W*}aokispz?ZFR$4C3k38^?GJ(Bn@ayC#%o z(hQ9}ITatOlE5)@eorm@`m1Z_^_HzOl=%c*V&`}RcReXQM%?%vvB1>SdR�khk85 zlGFq843vvVTHhPR5sUCnLZ#@~0~hxO4SF_VGu+XL<_4o?66|f6EJSF8+2m92rQNXm z#)M+6q-Rwtg+51*ujwspC3L?nTf8!TUwGj^MbyKCsO(H@#dIg8>5N=ttI?_ezxm2w zH@C{-@ynHg$+8-+n9a|rM*=#JHQMde+BFH>{g&2y_EvWJ7gP)!^O>B}XImccIp=P< zRFke2JJd7z6Pz`XLg_OmH7I-B=UTMQ2XyK5EzZ-pbcVJ1xG~|R`C>UQiJBqc8r}29 zYb)n?bbrm1)va9OwC8T6x_Ww1Q`s*~LunF4U~tU6qk8tbBk0b{mMeq~n+!%<@)@n5 z8@N?rIiZfNQ&Ah_Np)qh^)1D=MlD_4L<2l3fy{iI74eKuqd+c>bXaVmDWYX8EVFB+ zxRBoyrG@pq;h1HRtw@!nmQ*ZLeXZbYi-l6Z+br`*gy5t-n{(vNa}ZP;nA2}v9tAHN z0~M+amZ1U1$J?fFDfQW_rM7%*v$Oi_QNHS7^ojNIN2f|`9ZsbLP;^3Xeohc~hkR#r z{M?i)BdJoO@(4$+`kl%I_H}&(vTAQ&t*ggDC^awWVx472gn-xJvbW>*MfErKaIoAP+PmE-9$=SuG*<-K)J zW~~rIt#cyt9QB=76rF3*dtfL-4cR&*O%6`VXe!e;D^z-8Gw~|^@PS`STuo(3+e{k= ze|PJ=k1Ahl7wc?8GS6@$nH-x30Y*G!x04rB-iHq-IodWBqfsyG*>DdT3813vqMAx9 SBLyX(^opQe>Rv^z%J?r8quvMr literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/tesi/com/company/keystore.crt b/Server/server/tesi/out/production/tesi/com/company/keystore.crt new file mode 100644 index 0000000000000000000000000000000000000000..e60e9dbf2908624e14c1d804c061f6e25664204a GIT binary patch literal 897 zcmXqLVy-o4VoF`W%*4pV#KIgBn8`E5 zP{4o>#NiNTPs-29PtQw)iLfI?_zZYJYPf`1OY<_5@(rPUZWv$2Knf(!EG(Ron3tK8 zuaJ~llvtFKnU|WAlW8C)&TD95Xkct$WMph&WEKVFni?7ynL@ercTf|f5^|t0vNA9? zG4eAQG%<29H8CH)$8+ZrJ9gH0?(VSt>bm6hy`OV5dO4~t2ItM!O}#%;WzXf$584e3 zmz2&s+%T*5a8&m}x5$|xv+^XSzwX^I{eMdD%y{_%*Exrooq3l0$Wr*D;~=*Gg`RuB zy4UZs{{=K%DUm5S zYsA5+IkOYYBE4PysQgcJ?TqJ; z*rLmHU2dcCN~XGYQA9)yTTid3Nf3yBec=+Akkf&Su(oWMbno3AZ8v!5!^J&o(`DDtsGQ_;SNT z^FzBH^fcK7@3MUMOpA5CZiMD8N3NY;C%!nq@oUnARXD$+E7aF|&$>&#zpF80Oqe*0ptcYo{MN9#xHAP@+AQox^uppwX5 zRG(`UlIMwJ?18~cgFrA4ng%^YpJGF(umMm23FZX=7zj#(ezvf^SHJtyBu@NFA<>D_ zza`jwia1wvcb0jp{l{X9uH2(qNqH>mW!(3L%?z(SmQ*crv`-^;ybS13^4qZxp7`zt zzIENdC>9iK*BIxla5za3!ZOkC^3^%t*vsJ{vC<9$3P`+PF3p`&=Scm;FT?2gp0tr5421a0aH zwZR{M6)WTM9uha?8Qi&=#=5g|YJJx=d+Umy)J2^Hxjq;@0;qf)QoxsV`W1t9zk~Uh zL^!Twp(h5^v*fZDxniGQW)44qt1I?8uSezf5gq5~;LN}SwwPr37rXlBF-k%?wQr+p^wiYke zFOhtuBke|ybyt;2n2nJ==fYNM!7*CD<`d>^HD-tBZ6d5%)W&%nInv@pDkO9r4L=!=%%*%9F11qnF*?-E z*I`5wy0(bz4o5A$q1tUWH#Sb(OMt&Nx(!CJUDio(=Mf#*7MW+2N9`*3{1nnYjW@0h!6)-F^n{afZ8Z|=A(cuWdURcB|7jN6 znxg1u(N}w@j4Tr%ZiP^+2rF_?zSBEuGj;$=vA2%S>@X^n(t0MyjJ$Y^?6!n=b9?k= znPx|@)_pKwZ9+%}%Zad5P!m)cmAUNX*=?C$xiBGeFv+dRKRdN(>^*a6E2br4F0H1~ zW>z$Ze^s1gT1`l%W3-JsEA&NsM@l!Y_LARo2e75n+6r2Fy4Ns4Z#ym`+EqZMFrNKk zuSS#bv)S$;VVZHCxs1hlVM7U*AY0^XqMC0+zZ6=ma#b!gl4~kcPA}1%FmUyN7JvG_ zOvFn2e?`5cq3{IQBpnJ{lPjWbktc8)p0&NT%I$J>UWisVr z*ttBJuAn2$)2Y^88&p#wt>w@_#b8;&GVncIYW^(za)?=^F11qDjB6n8mjnTiVO!RI zgZ8xxOW&!vPC}8c50Nj&f@k}mRCz;+>eRZPDlK{PxhX$Dd7FAa`54k5uW%S@l(A~@ zIZ$OG51&WP(D9RfGAnJ%1qg&|Q_tN!^-?UASfSr9zm*|bFs0|a+rv;zsX>Jv%4w6) zd+}`L8`&d?yv3pBV)OQ%M9DrZedlqm7Nuys35jqbvjb$>a?Qa^y6c`ad1{Q!QU=u; zA+AiG8yQyQc>eB%fY+rgKi}~e!N<+-gYUmHTvFVOF@=wZ*z3{K2P6N?Mws1s99k0u zg2bX}kVrHQOe%zc0WcT}v34*rg{?{mOe=F?&Q%<3|{^&vQ!-6S3?*6KOG3Vbbju!pn9m3D==|=G(`%Al% z0^I^VeJCU{*#|8t#I35PipHWb7_1rw?{I=RRWt_o7ykbTq5-o1H09)CKxn|}lT!j9 zz%&2=rMwmLEGg#DA*7UsAtK9LkLB6!@{G!syuQIU2Yt{T%MIYBut|*kmcqFLBMc|~ zj^3+RZi$TOq^885cL^n{)2w`@RCw4MD+(P&n#qxGez*O50$Q~sxS%U0H?qqixx>&t z$2ylHoV}V_lYQ)&n&TpMosi!J(dR1p?kjzGPFJw)^LZol>eVlPN9MHmH$+Y9#J$F< zS-V-6_wui-LObK~tgGRb+acqx~FbNG%qF%yaD zdSX2f^yeJCGn8d>yrVouGdd^G-qhew{@9C<3hoXCDg7Q3sWp`j%yubM&9p8Lqf|MMKWEtoS$j403 z`6BW1CQ3{51w!Iow0$*p-}I+JH#8kO{Ug?tT83X7l3@%i)b`8>7*aIwDM5(V*$%qD zMK6-rY1lJOj2=R6iS(G8p%Q#)3+$5g L8#c~;Me6?rty9`+ literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/tesi/com/company/personalServer.class b/Server/server/tesi/out/production/tesi/com/company/personalServer.class new file mode 100644 index 0000000000000000000000000000000000000000..81fabd779821d9ca0f46eebe72eeaca57a3f9f38 GIT binary patch literal 2302 zcma)8TUQfT6#gb8Oc+Ona5HEXYil7~rWXq>T3e-BtpP8gAg#Sjk^>A(X5w5>dc)qU z4}I)k@R=?NU1inP=l-Ft)rYpl%`{B$pc+a+p%_o(3J$DrPhsz)cmi8d{}9E8b7y1G(Rl zoDb#lQ42oCCrOwZ@+c%xls1HlISofJpTt5EmWo9cODb#y&AwY$5`ltrcF|lm?;4H> z4BxknTrQi7Sf>>QvA`ll7d$K4_g9L!pdm<&sK;Z2!&o0L@6EtvMS=~?o-MvMmwmapJQw&0cw{>rAa zVw8pFyN+q+gtsg_hSyxME#WXdwNwu<;g@ZTl+J1tVPM(DInOg!vX&oErK{1~O1bW_ z|49mG_U3X{BIbn-*FKq-T7yVIcSEqn{J85lq9C2_^F$DO&h=1uL^|d&v#zRT%Qdcs zK{*TvxiCx8w(H-KiOYH!yVx_H6-0^0@{~EWC38NUn-iWWZt<0+Ed-*1UbtHj<-l?s zI#7uD{#;-dmL|+{1UK7NiM;lNc<)^Qu2 zg4QVD9qpszd7RYo0!}iPon_oYMu(3;MW|yL%%|t+DNDz930hsEF=5FiuHCyMI3HSe zQFuB&#b?Z0)A2dJ(D5Z!b=<>yZ(WuZn49p7Vw zU~HS-f>Os1k`)^@*ofE8O9&K!0o+K6BSL|5~RYz;R5w&5G0<5VZ2W2X^6tWKkX zHa{B6DR--%74%ofuwiVU*vTw>HHpTFV86}F`=PV%a!oC&U^P7IsKtD(YfnDi(~hE3 zB`U)cZW_)$UG404ws2p~>#jzpnRLzHZjPL}_HACR(sg3a4*i9O3g=e*K$PS>huhZ?lexyLb$i;YHEARh^|BPQ zdB-FQw(HaJ!H5z~?UZL01mBWgzBLM-MH6CjBKZKt^t4hF?EXGS0m> zvjHVDu#VW^uV|Xg48<#m|AE9hnlppzP}eBagaNKSXy)2Ztq!!Hlh02VY27%6Ll`6{ zQ?-X74D*YYVK5FQI=#pUV$?|CCA>^~uaK&fSEZaHMZv2W;mX*QHGWH9k2jH=-9Srr zAoB=n1=H4n>JT|nB;uwA>f|1hXurA6(PpaN4nM?bcA$c1YSBy#)-{gq(Rc`bf}T>xDoC#} zWAMVb&$svi*6@gX70F4W2pr|3e++HJDb3oQVC{yvUL*p z8^+H>b&Xg(B9iO;lkq!7BlK^vCP`jqqj-%dwjspp5$0)>Fox6gd;$fW!5gg7FmB>3 z-b8}d4o4a>+DhUroMX%nSe^4c$;v&hRdbx@!)W>o_f@?8FN+jYae+rDT>hr2!oX$A Gz4ISue?G$i literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/tesi/com/company/suString.class b/Server/server/tesi/out/production/tesi/com/company/suString.class new file mode 100644 index 0000000000000000000000000000000000000000..d504a2d2bfabf90c903f51731d2b2b290d710dc9 GIT binary patch literal 2637 zcma)7T~ixX7=BI?*sxt7Kp?F`3sxW>w5i}nX&@G;Rccz)L?}hEOA^D8NBX) z@V3JZm)e_@v7_USH~s-Hz4s?{rq$={CS(JP)5+xQ+4nu?J zIFBU-w^Vqrq#}S%0UK z%Z7Y!7=6`kqarYr%9eKH{O{?-{dlF8u9l5rAtBILv1XalLb$9os#Og$e!P_Xg~9(aLE3R7ic@<9&Xx1kTDiEYn>7L*JS*0Y1lmSof3Hcz z6~Nr-!;%Emov!NHM|br-O9ZA#pet<@iaJ5?{P{QKcSiWo<9xPSD%;AmDHjcIoJQn| zoG3MC7=Zzotpdq6j(7&xKE0XPOvy&vO7MwnHh?XMfizseTPzBznc5j?cz_KJ-{4yfoA^${LvZ;fwiIMFqy8A%GD8@7-Fh|yIH%VKVm8~5n zhIfLQFBYoX*2N{Si0rmrUZC9X$2q==@dIV;)c5xCMdG>Q#AA0=;xzn* z*lcxgAy3{X&^F==_^ZdA84RBelfW212j}_W0TljO7!Y`yvpAnjHaeouA)ayK!7#^8 z%h-hx&NX`hF5(j3x?~=?N^breKK_8z3wYL_!<+KXdy^y4I(!G1jgHjO5r{vq3k<9zzLY66pFp<)qXdOeI`^Rj(W`eL;7!uJ}Q zf+-;`54=PNuF&YgRgz{IH%M>t>7hN)Bpr($p=-?o?zMpTSjS)D!J~vfW`P^B_uxHD zbFZI28&V61v`8TKnKL|-UDG)8FGiG*te*um9cgO1Jk$U$2 zjsU0qeH`lioE~DteT8&B@lf}l9J*h$N@RiuPNJJig$QdFQ%LiDonlC>N9pZA#?o4f zv4Ici1+DiuY8I_XMZldcBOE2s+Q#Y+~eo!KPGevF$gWCxEhbdv1NHnMg> K3oKZYEdB?loL8Ix literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/tesi/com/company/superServer.class b/Server/server/tesi/out/production/tesi/com/company/superServer.class new file mode 100644 index 0000000000000000000000000000000000000000..74de9bce48e54e913536876b8d82472ed0b2c37e GIT binary patch literal 3533 zcma)9*>@XP9sb7KmB!GP`RYEP6KZ2#Enc+6QGRci8PTkBSxbn z4y7z%EiEmDvQw5egtfE=WH+WIK%r1}IJ}ex>QWbNCww-<=s-BTM99Su^+E-@aeH z^qJc@=$l zkHCE@uETrf<9>nnsaT6b0`FJx0en#4f{G3JklcJYfsd&8C_W}1A5Y)`6`#O^a`TW} zeNsLimLeZf@hLni@aZHzgU1s1tcuU!^D4IC3j$vh_>ziU__DxPRP4dy0$&yQnu4xd zZO8TxC}*Y{BwL-zS=(s!2Wv#MryAEL;rk5j=H7y*=uofyu%u*1yCbtLBNwY%Y zwv(gWW&Lp1T{ivvlzYPTvv~z;L%ELa8mH`{WlR!CvFfbt1sIm6U~@y{589p;I4pt_ zyT6VdMnyr=vvQ$Nq;2uc$@_je7erl^%VngVjBjQO6J|NcI)Mq+lEB>pUuQ9~j#xbc z-w=30;7NgttN{%o4mx_i}vAnE(-ZrSl zYHs;d%U&jHbrP=t+5WMZ?eVb9w#?4KLuA z8h(Wr>3I#m#%~mCl14UGbI=XK5)gPv!*B6BHkmNMTPnWk`POV&;P)E-Aocho{uJrj z$R=nCgv2e4wE}6ypXrFYlUM3R!(W1M$0=he(cs#nGpCuxjBUWDA^+LPg2Sd}!eVZ; zx~Yk<5jA4eyN80UO`y;>4PApJpLb1T1{fK$!Yt}t0}*xOxg0~wkYGF=t2&OHa>0P= z4AN6UH+2|uxN))!!R{7%L_(W#gSM?}g)YZ!(KQ*zjS-lI87s<>lcQ3#{jF$&VAYGG zDcdNsLk@OUV?^GpR>*$u|G~bVs^r^CN7Usp$eWl4|5G0loQP(BD|JU!Q%-r+iXV;N zkuW7!G|$KpZXGk7S+^9#W<6DDStvtMs?|lxJ4LJu)dz8R+4X!ggmK`G$)3)Z=v#4g z8KSY}q~a|l4x@$fwjQKD+ofBj^P}0#xK8rM6E#~Bge|J^m}y>?NJUR{7V)F9#nKyp}72Z-wv9oeNN&3BWh= z*%cgW*w3{VBH(p+J$FgG0k`mk#BEQbgLhZp-%DtlUO@XiI%?>gM;D(pi1B$OYDi9m zuOo|4Q(F6T=&7MM-LZteX}x0s{prpnTsN(EE+Cce(n-2z32Vu1U0MVHApr@UoYth) zFJd5_)RRltFuiL5`tBMwrmkPaU|Q8xJ-MfbO{vX`xFOxGck5~mTNI^+8};rQUX|8# zZ5}t(u=NVIrF-VFJ+-5TA)VR`U%}3F?-F)R>%9xuo$d?d_DQ+@dOzh}y83r1wT8Wy zuHH}Eb9jZHJ!t2T0l>laeD-62zSxWuZ` z^6$i5I7|vg6yuoSdjNl<{zqx^X3phF+|Bgah8J;+t9DxXEHap4797A+cq@*R!x)~R zwYM>YPT(=zgJ}p_{s7*_vjk3(=XtbWr6ZC8Zx?unz&nHgdj;MlU=o>6;3`G*UIRlQ bD=;fy37it-MuHvJW~m6|X@^Y>+Hm^6yhqR< literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/tesi/com/company/xmlOperation.class b/Server/server/tesi/out/production/tesi/com/company/xmlOperation.class new file mode 100644 index 0000000000000000000000000000000000000000..143c10475b0b01f0e7839a6fbf6b84549cfa31cb GIT binary patch literal 3946 zcmbVPYj+dZ72PAty7G98LB=8C87BnnU{H89!6qbN8-nWxu?@zQCXA(tJy_C+(a2z+ z4M}O6v}w}^EzpL(8~0rxtqizL-;dP~{n8)MpOLltq3*t;nenJ5=|gL2=H7G9J@=fw z&p9*mmw(=S2f!};S;cmo642uqR}n#4AfuudhP=EeFrgxjQz|B5%F$_osX9E4tO^Zj zDaq9#4=av>iZieUiYl7m2$WPbOT*JDR!PlfoRuce#W5n!nTg}PiVL_XCm)fQkH+zm z+{S)7;Zt(-X%(;IGjV)YPTr`)=kR%fF9>{5 zLA;|?5txxNzte&4p4Li1(pXgK&+iT`cXP<(a*0y5`qFq*os*QbS-WVw5 z#tnN!AJ4j*t+bv!rrV~Rd%~zQX%-c%?n_&_6#oT1Ka)C_%MKO{TX#$=FAqrDhVIaU z@Dvm@^;z~r>U74+?MU@xjhvBps92M+(h63F*1D~9$y=Qn6fF>Ue)& zWz{iknu?f~g62xNrj=CE9m4wQ=+vjI9txS6t^wQ8E~!up&(3HkmjYtAswRSi&8R_{T||L(H^A9iKzF@?{NIaZSOx#pV0( zCvaWESMXI0Z{h}Rxk*bFrC+1ANrpA-z)lTc!`B7Aq2ZhOmV$b@{LrvIZDd*mzOCUq z(vc>Ab0`Hgd>3yqX&0UNcPbTV{yu3{!z{k1;rsZ3h9BZbOqX0{x4@4z`~<@qeu|qK zZsE3q2G@sDA;Wynv}kx+;dAqCUa8Tgk{4nF-o)t=nr9Z1gJK%lpnS z41w1qf+nkoXs!ax=ZszusuANHy(a)m&J9~%+|w9ND!2c{GUkL)q!Eqg_B(urjF)6< z-*X?E|LrL%dvBMOclZ!c&>CjPlUBtZ^3KK8?d2o3o~9S|1fy$`t=cw-cEShPP3k_g zD4#LQ+|UCFJD2PyeztpzR8;{tiAlXU;9|#T@t!DX;cL%!zB4hQWgq4!=DtDgrsM-0rFd6(uYGI|$}J8e zc!JlMD@@=?jjkmEpv7(H`EFZxfbH_@~Zn@_@jRSnGs&T#9hI*co zWC*J%Tf@?yt3(WHV_A(xx zMO@xD-eLg26yIH&-1{`&I4ckx#0p9tr-$3Qwv#~ZVyI6ttUV026TJ+7hybJ+@D!e< zg>G2rL6PHWMtPQTUcg}&x)%vdoSM&a9-+14-2FkGvl`F2AVz7q7kvb_mezL=@~4JAZ~VPbHU2#-=aM(q!|`%mE{bdC(# zn#A)k@d9#`$TU64bnD``#t1PKv~)B;y*EI;D?oj(hq@jhY=#iF0)(v)!n+Y$z*Y!> zqXNeSMg@)wj0v0&^bhR|WG7Ntgq!w06DNbzzvrd?jsK5{ZSTQEldOMMPJ)F&ezuLy zF8tMN7?MY?He&x%ZM=>*$OZU?bv58=2rDU>B)TTorpQy4Jmradfjrq{t4Kyl7-zmt z;XG#-a2YSr#${TFKWafRcncm>z^W%nk(=_GfuPP(u*;O=t3-Aurp9dI}0aX01F zNsM;=I=L2N@kYSnjS!1Zyg!TE|AEK?dz??C5>!;2iRbt04XiBr6St9i8x6AEE1`DZ M#M$$dMexGE0FJ|+djJ3c literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/testi/com/company/DeleteFileExample.class b/Server/server/tesi/out/production/testi/com/company/DeleteFileExample.class new file mode 100644 index 0000000000000000000000000000000000000000..0e024f6be1e65e6bb8858cd0e1041bd07ba263f2 GIT binary patch literal 1115 zcmaJ=+fEZv6kVs3&M*uV%S}b3;DrLxX#o{!MaoSdDw>p#puQZYhdMa73{wN2;urXg z4<$rg z8Wc=Qiy==r6?wVOX_&`?iu(#4Xh`Crf<*<77!pOxwZdhFj?B~!LwwDv3Wj9aa>Z8N z*%QGw-?Pb*DtjikcX(jQd&?LP-&%(ZV`bBG4Ep=rJvP>bEkdzr*<#~}JH9OnMC)+N zWf;o5E+6ps+_1S@Gb&+VxwS%+cAvr-dYfL$GbEgFjEsYAkc}f#_@U*wl9LBDO5Xnu zN`{_F$jx`pxgRN|TG6{1w2D^`%t#xFxg<0zwdv@`0D~UsY$>5&bLoxk)uhb1Tt1h} z&*!srm%&Rq3MeXgtYaBZ7>56T;cDHot0K^`f|8C^tPy+KI!sriLRH6gtfQo0L&qkT z7)F}9(w;8@F5fC+_c>**X6d;X?B~VM@l;A4{cjf-`Yxa^_6~#@Qf)JB#ck_HqNy#K zidTOiE60bSaLD1+CH}l&FR7OyF$nHZZsNI%aOkr2#x_-2kBwPJ_S38 z+(Wb`nnn!MS#O=M;u_t$a2+FLk>JnhAUdFQhS+YZ;}r4oOaq-CF!2eAGbp>KP|48M zfR^f}r2)Nxo{#7zcd9o!suIz65~WzAVM-FE6fgmm)^2F%A?3Zup%05Br$E|^lzfH6 vNO5V3*O0{xj1or?aoogM#8x8Tc*F$4#(yBE;MR92s|s$%DdGRtdM literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/testi/com/company/EmailSender.class b/Server/server/tesi/out/production/testi/com/company/EmailSender.class new file mode 100644 index 0000000000000000000000000000000000000000..e4c00d69024be9ad3fa90489529dd6011bedcefe GIT binary patch literal 4937 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 L@-Y65gJ}9M6RJs( literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/testi/com/company/EsNameParser.class b/Server/server/tesi/out/production/testi/com/company/EsNameParser.class new file mode 100644 index 0000000000000000000000000000000000000000..bc79739b268fc5bacd36412b0ab8d9326a7555cf GIT binary patch literal 4701 zcma)A`F9i78NE*$X~wcJAP^u734{P%Q2}FIv4lWO<6sPB3&zl9ERSu0tP!J;F$q~q z(j*Yb1{9|YDQQVtmy$HK4W#Lk7FyaSUH*dp*gv719Nhb6G`3vq6F5in_V0b~-uu4q znOk?ReFC5k{|aF>aw=>Uc@4cG_;DlzANoQ#iYMjgsSu9g=@6d5v-0zthUZK10=`v> z<9IQIm+);BFNZJTgcq2Z(~Ukl+BPHT8w8ht~>n<31_TN>V0aYn`25bl%v z&Bra*u$r$?Px$rZ%TCMoYe@-LQ7)?P>Nzn$4u1-lJP7 z*)DV{c6TZ#Ft<5r_Qd(i>Y1bQ#$1cuV{F&0oMElu28PoXm|0QTd{FPz<7qw972j!F zsZ1Bgl?-P~`xA_blz?dBoX(W=A?D6WneokRH)XPUn`R8Xhi1y!^Qm-)VQtovwrL#| zsB$Lv#rt~F@vP%aF8+v_%=Z`>d*isdT&)&X3oQEbWt?A1tDZ4|So*bWF}Kjrc4^{EqJ((;uHuw`)oF?o_tytsIHh8 zj7gm6Oj$X5Q#Yw2068ORW;zNj`tS5A_R%b{D9aG0ZJmv2LlQ`r14%QVv58>T%%vnS zo-0jR(>8KcPHYlaFaTveGC%jP3*(&0mh0%&x zNruDt4SuWQcVYYY>G_N>!LsaNMt#jO==#r}^9GoEtw#dQlO8}saOPI=Lx z3M;+QHeR{O0;j;VG32+kA2gCYMuqIUmxxB!zH};OF;UcFz!+Ov6syKL$jivy^6xBTbo{t!I+FUNwbea4)A}{E2X}7gtARz4%^iaB;v1{{ppRUKQt# z%83J(z`O~87)>w>#%*5&Rbd8q*66kq>18l-v!8q5qS>6L%GBvZomCSBYbSKxwXU%* zYZw#gHC5T*0LUUCtw}cvsHqJuz@{XEIy;L z683$39lqA<@V7>kAq0jH+%gQcxq1-V)|#q8l(Y;ZG>FoK5>q1KtC-?L?NyZdFpR17 z0g(tQ^=ed&1}>sIrd-Fg)*(!fLuR>ibI%s!9cB~-q z1(;6IqIiJ)i`aS)6mhk*b(ZtqaRPw!Ch38SjS8^?0Bbe`V>@rs1L#(95It*eJ zt`T^NV<$pfvl4L~f&Emx|pg_NaJV#a^MJm27{3^{kZM z#@yQojBqizRI!g-wqbvP+jrTmao~)9ZDiio>zGf1@8i#5r^bVp5K3f+aQ_e%wA2n_ z;Z2mVc)&m4X=2hPQYZ<9N=XD_0cs@?j0Ix~<&sciYGlzc9$Z^~9wjk#7>n1+f!HM} zD3Vq_Kwx}?@)Ut;zzL^x$$JbDI=z;o4-uY+QB4$95a@cs)j*KHNq{>D@gc%%6X0V6 z_c_A*5}`doC{GdK(**Y|f+C!yr(jVyh%uA`kmOR5^6+(Cn6Mn!UjZjiLrLbI4YV1#1vISfj+6ne(D zg-e(3-}H%ei7xl5ZLRU{(GoJmn>Zt~)TPR~MpfSRQ!a>Q-c)B+#a**nw0fmBQaOmK zene{{oW)AGHbNq*NKc?%xrC*)5t1&OifqoQjV$w~#hw13zh3e7iHy4RmAf``B0@9} zRW9IcR0&+brmDh09PgI93n-2H;JASmV*_e5cph3*?MJ{rpbSJ6+FCqraW_JOTO#Tc` zQaggQT81vxRN5**x6{|m$ka{22C+kwBE^~?yM=~>yh;lF>Zjmk3{u4&CocJDe^l(E z%eesDh_y7=x?)dY>K$Zxb}8dP*>v9>92WfdUx+WTSlpJy0y#Fq1=Ko&Rx7ZvAa}l^ zUAYU3zNj?*lq>gU|GMhP$|CNlqxIF1y74{r%6w`e6jeyMGN9B4qJjArvE0)}WEDje zWh5F+IgZXeg{(UsVDk8!5|DAOeBJn!Wq8$zSP7hDR60eVPZRjpx$;fId6MhT(!$%wGg=&_2qaZIc(dDS!IZQx4c9q| zBS3q5918rjx`~8JTJi-7{1Ti31^hePA&7rFz+#MRX9SXwr&cD31OkQJAcV{eJ~B{E R_*M7|{T}{;&dK0q{SV(db0Gi# literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/testi/com/company/dbConnect.class b/Server/server/tesi/out/production/testi/com/company/dbConnect.class new file mode 100644 index 0000000000000000000000000000000000000000..c6a1217a55e0bc56a8d7e541708a7cbca8024f5d GIT binary patch literal 11241 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 literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/testi/com/company/esercizi.xml b/Server/server/tesi/out/production/testi/com/company/esercizi.xml new file mode 100644 index 0000000..2d06edb --- /dev/null +++ b/Server/server/tesi/out/production/testi/com/company/esercizi.xml @@ -0,0 +1,3 @@ + + albero.xml + \ No newline at end of file diff --git a/Server/server/tesi/out/production/testi/com/company/guestServer.class b/Server/server/tesi/out/production/testi/com/company/guestServer.class new file mode 100644 index 0000000000000000000000000000000000000000..cc9ff21e80b5589383b8a731bc67641baa06433c GIT binary patch literal 2968 zcmcImS#uOs6#i~9neH?Vgdl`wkq9nHfQ%cW6J$vMK|@#ufr+4YCY_|oqs8233s6`>0&TG}t(%U|d5B1~ud{ zA)g%S%2iO%un5N$cpBQ^s|e&hl*^=w6Dm%sn36^hsW_$LVFiz9ScOLwJf`7VJT8|f z6g;Wn20W$UX$8+Hcvc|kySZ^I5HR|WnUm(plw$=c-_NHqnf^>9>Y>s`+p&X90?Rx8 zQ>*i!K%&nbwgl$)+m1C5P7GPz0dpwNoz{LgXXX!@o-N#>4PX#%Wy-Vid1Vm0nT|QiYy_`zz$o+WCv#RIV5USfHxrn-@!e)2 zYGp*H=g4*vUBUCDFo~w%1pzJNhF;FvVM`LU#CqE;E2^U#8+5G2It4H4cnL3)4Nwumj8gj*Hol@zXgJ`V`TYTeB|jj@pinFYsk-)ABr*DJc|=(u#oM&}&&J0e!_z zR0~rgq1->G<7>^V;^-SeMRM z4GKbZPn67~j@Fq`0`o?#AVwKt?dYs`9!TCLr6DF~N6ex}j+TX0QTbrVUDe|uk~2-< zs*2akhCwyg%#C|J(0z`An8xW6*+*jAai1g{2eZHbsg z%r$vXkb&}?mW%4SW;)5-nCWdLxJ1XU&OTZU50wYq_4O?34Zr!UcAW0AsMT`EC4_8L zi&`VOtl;J0D|eet$U)8fNIvw(m~_r{0@HRl0++=h_A!x+oSjb2>ggO5=q^d?Fr??o zG-RZ*g=aq zfSBs~5e-E&_Rk=ZT{DfQ-7`pL*G@wjSXYFaPJEB%8EDyQ%xTq&m}?}s6fv)e`9|V5 zv33S6lr2a%8HvUsT3c>9ixGn_MJ!AwOTMp4D>GP>HI!*APOCF$%Npu5mZY1Fif1E9 zr>#cC^HQU^h-II4z865rJfUISV zYoZvdX0R$N;~0r)td=QX8>M_*S~b)nu0MyC{xwB(oMTZnL;LkS8vrpT#`ysy?>^UY zQHbuo2<4rvl`Vc1tGOVTTyQVWR67 zc?^gGpM7M+Nn|66eMck~2I%z;@LLjnMAJirr?|5bcan-nFo;dWmt?$(-o=U@W0&<9 ztp!`K6$)cEp_dvec8Ydv!*;%3z`JEHs(6qG;V#m5fjGpRcah{v#Q^TcJ*-o^*ol5d zOAu`WyBSePa+i<59@cLIluIl_Qo&vY`xNX~kWp|z!M(uW=;q^J$X-GR1T}zO1qbg^ Na411XhiTq`?7!)P?O^}_ literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/testi/com/company/httpget$MyHandler.class b/Server/server/tesi/out/production/testi/com/company/httpget$MyHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..2426f4af0c64b76e1465cb63580be0eea1e4a78e GIT binary patch literal 2344 zcma)8Yj+bx7=ETrGU>8VXv-xiP`PMIfv8;66bhsQEwrg^0mZ7gO~!O#yPNK%G~Vz6 z-u?)m`4Uvl@%YK(@kgo8Y?6|+#p8#a+xxtidFOd&_OHKx{SCk={AAz-6b(${9Ro9% zH86+kX`I`F8@MU)uEcu=(kM#YGGL&X#{0UT*Ubl7@}U8VkF8329 zBtDU-NGwX&5_cr-3Z%~3t{sjFbZ3Wd3M9t7vJ&W>v|Uw z+j`zyOoWSeAkZ^a8@JrDqkI8#!gZBD=2$_XC^|4%@|JS^s+L>JErwyWqQb*#_z?!M z7^@0ovoSV^+?=bz7#k>mMftgLs$E(w5m-?pI!fuQvUv7cUIYwJlQF!;>N=Je@+Y)+g` z$flGL*w?+XG0du<>bZd$R~Grp`!1QCxT^2a-Z;SxVZkf>75f;>NpBr@BxJ z^^Km$4$T(?23n`qerwYDJ>L#lpULceL3>G-94}B9#9qE`0x$BZ>*B|HjZ7N*$&~R!4X7_|Hh>6PZL` z@)xAK@H=Ea`4s6}PtcQ3Wl~RJaJZ$&vGz zX}!>2$3P}s$IeF>$fq6=%f`@6GM{?P0QRGd3UH~uwTIhR&gy(%mZwV z^|Kga!U{~#Q4I6dzkyyH!*Tu-*z|dVIZn|A@G4&8DB$RIoaAVgqf?A2#lF@|uO6LY zd^|dYjPWg|+JJ{VEq60&8zYQb?|Pn*4-+*?ZGA)y*?Gz?aD|e8xQUd+MTvsMn8e!> om)Jr`T;})+zj1zK>QyQvXyO{3O>*3YDI8{RaBVODgAO76FDF1#7ytkO literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/testi/com/company/httpget.class b/Server/server/tesi/out/production/testi/com/company/httpget.class new file mode 100644 index 0000000000000000000000000000000000000000..740b7057bbc6980aa45e69ff2359a45171b9cb2b GIT binary patch literal 2222 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�khk85 zlGFq843vvVTHhPR5sUCnLZ#@~0~hxO4SF_VGu+XL<_4o?66|f6EJSF8+2m92rQNXm z#)M+6q-Rwtg+51*ujwspC3L?nTf8!TUwGj^MbyKCsO(H@#dIg8>5N=ttI?_ezxm2w zH@C{-@ynHg$+8-+n9a|rM*=#JHQMde+BFH>{g&2y_EvWJ7gP)!^O>B}XImccIp=P< zRFke2JJd7z6Pz`XLg_OmH7I-B=UTMQ2XyK5EzZ-pbcVJ1xG~|R`C>UQiJBqc8r}29 zYb)n?bbrm1)va9OwC8T6x_Ww1Q`s*~LunF4U~tU6qk8tbBk0b{mMeq~n+!%<@)@n5 z8@N?rIiZfNQ&Ah_Np)qh^)1D=MlD_4L<2l3fy{iI74eKuqd+c>bXaVmDWYX8EVFB+ zxRBoyrG@pq;h1HRtw@!nmQ*ZLeXZbYi-l6Z+br`*gy5t-n{(vNa}ZP;nA2}v9tAHN z0~M+amZ1U1$J?fFDfQW_rM7%*v$Oi_QNHS7^ojNIN2f|`9ZsbLP;^3Xeohc~hkR#r z{M?i)BdJoO@(4$+`kl%I_H}&(vTAQ&t*ggDC^awWVx472gn-xJvbW>*MfErKaIoAP+PmE-9$=SuG*<-K)J zW~~rIt#cyt9QB=76rF3*dtfL-4cR&*O%6`VXe!e;D^z-8Gw~|^@PS`STuo(3+e{k= ze|PJ=k1Ahl7wc?8GS6@$nH-x30Y*G!x04rB-iHq-IodWBqfsyG*>DdT3813vqMAx9 SBLyX(^opQe>Rv^z%J?r8quvMr literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/testi/com/company/keystore.crt b/Server/server/tesi/out/production/testi/com/company/keystore.crt new file mode 100644 index 0000000000000000000000000000000000000000..e60e9dbf2908624e14c1d804c061f6e25664204a GIT binary patch literal 897 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 L8#c~;Me6?rty9`+ literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/testi/com/company/personalServer.class b/Server/server/tesi/out/production/testi/com/company/personalServer.class new file mode 100644 index 0000000000000000000000000000000000000000..03678d6fbef9c8f4e23e83a0a51e8a2cc33e1788 GIT binary patch literal 2705 zcma)8>r+%^82_DR*>^b{L_p9rRJ1ZcW%I5pYDk(CB8q8bsfXnN2bOczb5XIIm3F`1 zGrKyIe(8fvE=|ldeXi+?GfmS>Gxc}$A^W}O>@FTc6Adi?PL!#Si6 zWJsy)w$pm%uEiy@KDA9HOVo>F7He*ttK6KRg%uKSwarB99)AeYzq12&?Y{99PTPd{94R?nG z)$uK^%`$Y6M^VAT5}yVKI&I4`((=+u$MAf|I^Y`)lM%5Qd_!p2w3GXNFY9{@z|hB~ zZQDI9v5_fF&SD>NOfSGDGC-L{MVVdx(2(I6gGIhFRzx7k`R+4mBkP&A#S0XsC7QJ* zib@w@9&>y2ahd%ww^w)RTI6V_MBfWfReheG9^0p9gX9I}cU+*CRjEMjvwbIR>@j7k z>q;}&CIirr#7+&ZSfyaW%xo7jrr~*<7r3C|1-z(Weh~GHGS#peYY6RZ`Yzwh3>uDx zm+-QNSMaKa*YLWAH}Iy0HmRbq@LkV#jJDA+1{GVoZvBRhn>4(Iw~5V6Uy7O1@DAP; zcu&Lo_&~wp+owRr^&yj3kSI-ny)W`cB)C> za}8hMB0=Aj)bJ&C636LSi)qvFm1IRWCmBg^M^9Jha{4zjh*I!Nkla5o$}(gxP8&Yx zTUOYhHEu8t4%x*fQP2{$f62JGWqYuiLT^jkj72;w=Td!hS6(g1Xy^xZVtO`fSc3}I z-2S2&HIUD>RLmIGus0I49!s~v^#?-t=iF7C2XW61zgd9IGrcKFRC;#ji0%aOvoo4o zWciE1fqb{F{9iuOxu8aGF@!l5iN?$>XX_SRnbqJllgQsUnXKT1T8;$? z!Q5#T@P{(KOVDOE7hA&^m&3-No|U|@mruj=C<=31N+vW}DU{&=EKg@_mlszDlweLA za`d!;CO(7BU?K7GjL7ci>l%@r9PDh*U$ooEgA6nxiY0uim!byC_~tfYC6=QXE3ls24WSdSiLZl%TT_=c$Fi0cjPru7c|j{ET!9tbjb9#yn=f!XOmj8@NL7xN`(^&~ne z7pMLZ_4Y9LdvTOnd!f==W1t~uD~>KaNR6w!^&x)6WX|%H5XGP9#y)0L;1BfBav7tz zf&HwUC}a7BmD0=FIY^x?D7#6QV*-6r{E)!I{DmTL_$GrErF2pQ)<5)1!4c|5@W_7@ Ca-K{8 literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/testi/com/company/suString.class b/Server/server/tesi/out/production/testi/com/company/suString.class new file mode 100644 index 0000000000000000000000000000000000000000..d8301c942011fc6788a692523afe4548439880fa GIT binary patch literal 2629 zcma)7%W@k<6g@4CtVhQ2Ba($dNnK>7f`7p;q;7TN!FN3siyn(?e5#>+;hA2$E#mn0Jx64 z2Y$>uvEYFX^B%adD4QkO+>ySIrM2wDUD<+Qe0pl2{y%4mf(t*py& z!>Lra^oqbxGE>@#@!Qpkd$CF_RW0kqd|Y6lVp!?YY`LuMCG|>GARJ0=YfrRTK`Z8C zjg?{3RjcZS*zr>C7dpRXf;8hu6kU4-&XjZ2TDiEU6>0?PJ1y3>1lmDjZ?{Rr62Nr# zVF`ljO;xqbw=3GNkpyZa;7;lJqDBxrf96g3of6*vB$ug{%4TLdG8YLw>PBRVoG6u| zwnH>(do+P_77?775J{DP5XibUJB@=r~>Jz#)Ah#C)Q)uijutZqYtt@tKwLIH0 zoVT5K3(@HR(CozHZ{xGpriehKA#f+Oc-SJfGOt$UXwAbifY&Vjbg2`>s8y9&2Joax zwQ?r6q{~~}+q|4t zKk1*V>4j{rtU|-4iVU*6%rO-?e52wjXnlYiDlXunifPOUc&%QMj`LPGw#D zuWlKSmV6#ETUvRRekHUVo@XspYMad$V<@z|Y*`_8ElWVY_B@*5Zx5Ey#77<6XPich6p^g zhvDK`9(ue6f(r=q{A;*`DO|<^{dX~9;EZseiUg@%f?cBG{1x^tt{TC6WZ}UaMmcLk zh!g5)O>fX~Q^4v+NqAe_-E3f3!(DvNHA}VZWjHl;A#w z#(c`elp{LqFgPjX^miMlAqEA{av@60V?-DwpK$~KMWPN+o@+!cS4HtYCfK{U%EaG7 zEj>-te%M~49}Xub37xH=p#M-~6a96f=Y46Q|C5Kv|@pFmFzx7 zj-Ya`H(JM8DNo;TaMK*@XH&;O@&G~W6>{>ajg)_EqkP_|xCzpj#2}Fbh$VrWSm*dL zMU*8bse6z%q_atM_>h80>gyzWh4M71n{#2#Nx{xS`4=81Zi>m_mR`5WcnWdul0`bf zo(X{~a)`l0oRbCCUgWn81ZI)D8Yy?nccqcB?^#wdVpg_;B-vyK NS@V7f%o-_~`w!85N{avh literal 0 HcmV?d00001 diff --git a/Server/server/tesi/out/production/testi/com/company/superServer.class b/Server/server/tesi/out/production/testi/com/company/superServer.class new file mode 100644 index 0000000000000000000000000000000000000000..44b721fb31960237377f1fa74a51beafa3f7483d GIT binary patch literal 3319 zcma)9`*$2w9sf)=$=#hy9^KNGY10>$HU-)#l=9dV6jLf~w6^J4?l2@N00D}=lF~Ni}iD7w%Oez_LyX6=icx8^L^Z# zzyIgGzW}%uADGyQi8NFilO_bFOcddzaaLg3LA}uVm6HnCccJ;^yBMkJZ$0-d_yn3so%b(AKy0d9eh{ddl@{6$I^J*#P{(7 z6Pxgaz>@+`nb?M>1)edn9X}L!R^Uely7zm&7u{_jHMH}DfzFZ2gfh^d_k4A%Rz9PG zF?puMoov41%F+oLczWH~?2L+DXu!_9m9oQ6Rr<3|SgWd_pn@3{3{zoQdcJ|RL#Oj+ z<&1Pn(w}k)QQ-Mg!`h(XYI#jM@AxWm!m#8N3i(3ComLU$yQXR?jF#GnHy3Rfq-R^y zj}-$YCn(%8P4BKvD4}v|ffvm>N7QT~ssxJk)O2~$z}6+^$#7Kqa!LgUrAy9Pttq6R z>z6Rn&yk8Bsq@;=R2Wj%_T?;zn@K=Tg$6y_e063jHHiG0m@5J9-t(@iMqb4yty2b5 zRI+*nV42qG@R%&ed0Pg1OdXXWg*#47%k5SDnB?wvoVLfgiJv*g|X^f#(E%BJjMxPuT%1aynY5)B;x>r0?{jr7Cx8L@eBZ z8x7p<6f0%rOxA+PDY$_*BYjUg5lhZ)e@8BIE4*Z2u+_*?47Hyxw}~e> z>it(NysCp(-KwAgA`9~HkpgkC@N4|Wz`EEzbE)w-~yExdu>QPEhQik{b7zqjxQT+;h*T6ha@6K)Id;Ex72YW?jk9FKsc?gjp2 z;m@dZvLspE5=JtJ)I?5T&ceKQ;a$AfaI;-aJPAl?4YH;GbpQ**po#BdlUR6P!_y|& zQU`6Q-hbvSYnO8**3(w>%xb*3Y=W?Z+oN7KIXHdVIhrHGz_w+i1e>-|VW20fj1*;X zPY}picKy&!-LrP=(W09=sRdT2Dzh?8_Rs+}DQhLhGdQ$!Ngp?P*`Kj{&I)>14OF9h z-oWrs%Lr=B?iHraQbUb_v92M#Xe8d(v;PVuJ`;}Dd|w|e@u|=imj`2~4~Kj%e3wmp z(+Ykxj4sO!V_UNlyFTMe6*<9a-XOClTKZx5^oVwC-%7GE3eDnNmTlVX)Tb%Cp&`E9 ztwjCq|3iJVRH(O)Ks485cU|Ql&!W2#Xg83^s$Eb6LeD)C0rEnR(~D?Xe_8T_63ip7>xI z3#6;C1w*{_>7NdMc(#D`$~TAK2EV&*n1k_lOy0$3cf7e4yZLS<3}oHIRR%ZX7Vc2E z;{|kL75Dy??Z{_Sb#xw$pU39WmF-S_08vLe*SUbqxZODiGuO3%o^iWt4py$)?yjSE z0e$0h=+B9mAT%Lur%A{T%wtt9V`mnS9lvo7t8c2~n(Uf+tj(FWX=irTu`YY*8 zJ8(VjA$J}-D7g!#h~Fe}D-*dIaeIi!Jx0!_c?o|J`*>j8flIiPM@tSLVHkhIep%3!MqP@M8=_BU=W^ZsfV`i z!l$WEUjX({=V#GN{aqNr0ZK4;xEBZcoub9h;XcNk!N)j+!z`43{1r#|mSU9eGODA@ z_Yl1~hWn{uFHiSTdeBX+&oSQP{8u8+JAHwBX^c_l1*9&MkP-NTzzKnq@!u(dae*%i ooaPg_Ou@dZa0omg@FjsS3p^M9KZ$vDo?gATa=1)}MRZ~y=R literal 0 HcmV?d00001 diff --git a/Server/server/tesi/src/com/company/DeleteFileExample.class b/Server/server/tesi/src/com/company/DeleteFileExample.class new file mode 100644 index 0000000000000000000000000000000000000000..25a7db8d4b1ff9c6ca6775bc6c81df7ad1634be9 GIT binary patch literal 916 zcmZuvT~8B16g|_H&URTSmM;~-7QYHecMGVMA}ESa6-`P^P+x}a&@Ap(%GSW|@X24` zGd{G5B>n(@k}<|RTMWUno4s@A&OPUzy?1{8`ThgI3O01)FvD?ELtaM$1!ZP4xP{vs zcXV*fsK{OA-P2H1>zs~xENHmTv8W@95{JoQF{IZV--*^4lEt~V45{ZqLo#G*jxV>{ z-kxmjh&`7gDNi^)!$k3Y?Ld4IrYroWS&v$d->fR&P(2d%$5$eZ^GO^PV$kbByJgFl zj-r@&Azc~8o2?_^g{~|qDg&b!V=!V`Cos>F?bQ!%(A+2Fl2x{>@^ZOEdzD-^u!Lof z6$20OkYVzFL7Q#IZOE2^N2nNhj8$UKJBRs3T)$B;P(_7f&A=0s8K!!=@ z}q(h+({VdHd2mZSff1 zT|m~44X@Z_NK%aj`a)4wVv@E=M-@;)}4;61GGESLmv$Cjo+EjO;k=rfFrg4$ODKPROCl zK{nkBB7;d>C10g}Mv}n5vr{B?bIC4JwS^7_zF_tn(x>3NU1$`@bfD)3$#h_JF!U9J zbetQGT}>fIPGa&3jXq0+s@yCzvV+huL^_9IVFVQ_T_vS!RQxHf(F=;Ee#7Fp{tJAQ NV=6^VHz=OK^k1si&-DNR literal 0 HcmV?d00001 diff --git a/Server/server/tesi/src/com/company/DirectoryWatcher.class b/Server/server/tesi/src/com/company/DirectoryWatcher.class new file mode 100644 index 0000000000000000000000000000000000000000..fb7ef98f5e0aba51d975356790d0781fe0a90dbb GIT binary patch literal 4627 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 RxSy>`T$k{_ldpuU-vdet*TMh* literal 0 HcmV?d00001 diff --git a/Server/server/tesi/src/com/company/DirectoryWhatcer.java b/Server/server/tesi/src/com/company/DirectoryWhatcer.java new file mode 100644 index 0000000..8b376a1 --- /dev/null +++ b/Server/server/tesi/src/com/company/DirectoryWhatcer.java @@ -0,0 +1,147 @@ +package com.company; + +import java.io.*; +import java.nio.file.Path; +import java.nio.file.StandardWatchEventKinds; +import java.nio.file.WatchEvent; +import java.nio.file.WatchEvent.Kind; +import java.nio.file.WatchKey; +import java.nio.file.WatchService; +import java.security.NoSuchAlgorithmException; +import java.sql.SQLException; +import java.util.ArrayList; + +// Simple class to watch directory events. +class DirectoryWatcher implements Runnable { + + private Path path; + + public DirectoryWatcher(Path path) { + this.path = path; + } + + //rimuove tutti gli elementi non validi + private void pulisciCartella() { + File dir = new File(global.locationEsercizi); + String[] lista=dir.list(); + for(String name : lista) + { + if (!EsNameParser.check(name)) + { + File file = new File(global.locationEsercizi+name); + if (file.delete()) + System.out.println("eliminato: "+name); + else + System.out.println("problema di eliminazione file"); + } + else + { + xmlOperation es=new xmlOperation(); + File car=new File(global.listaEsercizi); + if (car.exists()) { + dbConnect db=new dbConnect(); + try { + ArrayList esercizi=suString.stringToArrayList(db.dbQuery("4")); + boolean add=true; + for(String esercizio : esercizi) + { + if(esercizio.equals(name)) + add=false; + } + if(add) + es.add(name); + } catch (SQLException e) { + e.printStackTrace(); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InstantiationException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + } + } + } + } + + // print the events and the affected file + private void printEvent(WatchEvent event) throws IOException { + Kind kind = event.kind(); + if (kind.equals(StandardWatchEventKinds.ENTRY_CREATE)) + { + Path pathCreated = (Path) event.context(); + System.out.println("Entry created:" + pathCreated); + boolean check = EsNameParser.check(pathCreated.getFileName().toString()); + if(!check) + { + File file = new File(global.locationEsercizi+pathCreated.getFileName().toString()); + if(file.delete()) + System.out.println("eliminato"); + else + System.out.println("problema di eliminazione file"); + } + else + { + xmlOperation es=new xmlOperation(); + File dir=new File(global.listaEsercizi); + if (dir.exists()) + es.add(pathCreated.getFileName().toString()); + } + } + else if (kind.equals(StandardWatchEventKinds.ENTRY_DELETE)) + { + Path pathDeleted = (Path) event.context(); + System.out.println("Entry deleted:" + pathDeleted); + xmlOperation es=new xmlOperation(); + File dir=new File(global.listaEsercizi); + if (dir.exists()) + es.remove(pathDeleted.getFileName().toString()); + } + else if (kind.equals(StandardWatchEventKinds.ENTRY_MODIFY)) + { + Path pathModified = (Path) event.context(); + System.out.println("Entry modified:" + pathModified); + } + } + + @Override + public void run() { + try { + pulisciCartella(); + WatchService watchService = path.getFileSystem().newWatchService(); + path.register(watchService, StandardWatchEventKinds.ENTRY_CREATE, + StandardWatchEventKinds.ENTRY_MODIFY, StandardWatchEventKinds.ENTRY_DELETE); + + // loop forever to watch directory + while (true) { + WatchKey watchKey; + watchKey = watchService.take(); // this call is blocking until events are present + + // poll for file system events on the WatchKey + for (final WatchEvent event : watchKey.pollEvents()) { + printEvent(event); + } + + // if the watched directed gets deleted, get out of run method + if (!watchKey.reset()) { + System.out.println("No longer valid"); + watchKey.cancel(); + watchService.close(); + break; + } + } + + } catch (InterruptedException ex) { + System.out.println("interrupted. Goodbye"); + return; + } catch (IOException ex) { + ex.printStackTrace(); // don't do this in production code. Use a loggin framework + return; + } + } + +} diff --git a/Server/server/tesi/src/com/company/EmailSender.class b/Server/server/tesi/src/com/company/EmailSender.class new file mode 100644 index 0000000000000000000000000000000000000000..8c301a816fbd209639f2735efab060bba14ab534 GIT binary patch literal 3205 zcmcguS$7;q75++^nQpb(i$-?r_9`#2<*_uA#1In6BsjJO5|(T{a)J}Gv}VeqwtKpV z?jA*A4}pXw33~{e*>Tvh6OEh*!g6?mCwSy9@B?_^0AF>Fr5;;;<;( z{_>wU-vV$1e==|s=Xx-ThZT85k@qWdUXe!?c}$THXn5Q}56aV#35b@qmd36?vB;#}s);k>iS-0G+cbc6&2& z+|rrAZ^$5WB%QZj8B`4GQKM)#qgfsx3YyZySMb%2$s~9wbP}eNpy3CRhOe1;8DAH$ zR`rGqTok!sQF@6hcBJO~$|V_%*_Fr-7K%!Rz|PxES6pU^z%F%?`JyMIVi>x`a`{v_ ztwmtqb_y=ot~*1Q3uMWLlFl~q3cg|DoA?&j#fnR6b;)7s1>B-E>D1*zes$pt4_v-`FfrmJ0}b5G*iCccBq^svH~;;5XkBTju6-xJukmWJ`RMaQbufQpos z%O<{$A87cIi7R;3#82@v6F{jukjlmR)v=fuHu@8*G#;QMH4M7nYfNO zOuUH+4a+8ei{A-s8)usO16Ap|2c`1Fz_bkNs`{9eZ<+YLvU>ko_OHJ=!BeU)>yEE zkE&*}B~g77Qq35|mYZ$oY)*Ti-G3FRSAn>#%0hwuw4F*csxTTcV}W14d9!xpiP7-K z&N51ZDfge16{q1)|MWtG`q$m`ZH{}M434Y%R!ymE`ZN(Q(tJ61yGyTO}&e8)?`v*In@} zW3pxN&|_=4E>0b<+V-`;Q0IA*mN&ZQQngdI;`$*oB2~xbg)ov#vTk3M?B>Km$LF=h zrcAS?UFZ4x<9h5A^Y{$~a#`>jVlKX6=^j;l>Aui57kl{LI?C6XhAwr9lIv3UXgu;N zjYr<5@yH7`9(kw6Bd^tX1UvB<1m4ZBD%a~AhYCv&g~N;JDhw^6yD+?nOu@=5B3rPs zi^vtM+#+0>^eWZgxw=KE5{wQ76z=`GWKwGZwvbr zzyG|lVhMM)aKOr4!@;&F7mEh145#%L4p~`?d(b%+O+GxFA8KKEM6)zyIR9PzcehZq zG$L{>lv=pU;(m8u!#(*UExhdtc8z4!+Iz2HQ^MVM1xCV+Ttzn;A|o_DQ`OkVXQ~>v z^O@Qe2jFG87#L;%N-%L3Hsfv#;2t{t2=3+YL9Up<2+Hc2&V-p^3e@=AYA^*Bm;}!< zFfS1C3f_xXF@N z^4sBvowz9WqE2mKI%NJ!a8|=94wD+DG@J(6GvgZG$N$+JPf;ea3)A=sM}sM{fFI(= G==mS;A7#k^ literal 0 HcmV?d00001 diff --git a/Server/server/tesi/src/com/company/EmailSender.java b/Server/server/tesi/src/com/company/EmailSender.java new file mode 100644 index 0000000..1abf701 --- /dev/null +++ b/Server/server/tesi/src/com/company/EmailSender.java @@ -0,0 +1,110 @@ +package com.company; + +import java.util.Date; +import java.util.Properties; +import javax.mail.Message; +import javax.mail.MessagingException; +import javax.mail.Multipart; +import javax.mail.NoSuchProviderException; +import javax.mail.Session; +import javax.mail.Transport; +import javax.mail.internet.AddressException; +import javax.mail.internet.InternetAddress; +import javax.mail.internet.MimeBodyPart; +import javax.mail.internet.MimeMessage; +import javax.mail.internet.MimeMultipart; + + + +public class EmailSender { + private String user; + private String password; + private String host; + private String mittente; + private String destinatario; + private String oggetto; + private String mess; + + + EmailSender(String user, String password, String host, + String mittente, String destinatario, + String oggetto, String mess){ + + this.user = user; + this.password = password; + this.host = host; + this.mittente = mittente; + this.destinatario = destinatario; + this.oggetto = oggetto; + this.mess=mess; + } + + + // Metodo che si occupa dell'invio effettivo della mail + public void inviaEmail() { + int port = 465; //porta 25 per non usare SSL + + Properties props = new Properties(); + props.put("mail.smtp.auth", "true"); + props.put("mail.smtp.user", mittente); + props.put("mail.smtp.host", host); + props.put("mail.smtp.port", port); + + // commentare la riga seguente per non usare SSL + props.put("mail.smtp.starttls.enable","true"); + props.put("mail.smtp.socketFactory.port", port); + + // commentare la riga seguente per non usare SSL + props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); + props.put("mail.smtp.socketFactory.fallback", "false"); + + Session session = Session.getInstance(props, null); + session.setDebug(true); + + // Creazione delle BodyParts del messaggio + MimeBodyPart messageBodyPart1 = new MimeBodyPart(); + + try{ + // COSTRUZIONE DEL MESSAGGIO + Multipart multipart = new MimeMultipart(); + MimeMessage msg = new MimeMessage(session); + + // header del messaggio + msg.setSubject(oggetto); + msg.setSentDate(new Date()); + msg.setFrom(new InternetAddress(mittente)); + + // destinatario + msg.addRecipient(Message.RecipientType.TO, + new InternetAddress(destinatario)); + + // corpo del messaggio + messageBodyPart1.setText(mess); + multipart.addBodyPart(messageBodyPart1); + + // allegato al messaggio + /*DataSource source = new FileDataSource(allegato); + messageBodyPart2.setDataHandler(new DataHandler(source)); + messageBodyPart2.setFileName(allegato); + multipart.addBodyPart(messageBodyPart2);*/ + + // inserimento delle parti nel messaggio + msg.setContent(multipart); + + Transport transport = session.getTransport("smtps"); //("smtp") per non usare SSL + transport.connect(host, user, password); + transport.sendMessage(msg, msg.getAllRecipients()); + transport.close(); + + System.out.println("Invio dell'email Terminato"); + + }catch(AddressException ae) { + ae.printStackTrace(); + }catch(NoSuchProviderException nspe){ + nspe.printStackTrace(); + }catch(MessagingException me){ + me.printStackTrace(); + } + + } +} diff --git a/Server/server/tesi/src/com/company/EsNameParser.class b/Server/server/tesi/src/com/company/EsNameParser.class new file mode 100644 index 0000000000000000000000000000000000000000..d2cfbe33ba50d020e5bf7cd90bc216c0e457c275 GIT binary patch literal 3814 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 literal 0 HcmV?d00001 diff --git a/Server/server/tesi/src/com/company/MD5.java b/Server/server/tesi/src/com/company/MD5.java new file mode 100644 index 0000000..623f11f --- /dev/null +++ b/Server/server/tesi/src/com/company/MD5.java @@ -0,0 +1,46 @@ +package com.company; + +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + + +public class MD5 { + + MD5(){} + public static String digest(String filePath) { + InputStream inputStream = null; + try { + inputStream = new FileInputStream(global.locationEsercizi+filePath); + byte[] buffer = new byte[1024]; + MessageDigest digest = MessageDigest.getInstance("MD5"); + int numRead = 0; + while (numRead != -1) { + numRead = inputStream.read(buffer); + if (numRead > 0) + digest.update(buffer, 0, numRead); + } + byte [] md5Bytes = digest.digest(); + System.out.println(convertHashToString(md5Bytes)); + return convertHashToString(md5Bytes); + } catch (Exception e) { + return null; + } finally { + if (inputStream != null) { + try { + inputStream.close(); + } catch (Exception e) { } + } + } + } + + private static String convertHashToString(byte[] md5Bytes) { + String returnVal = ""; + for (int i = 0; i < md5Bytes.length; i++) { + returnVal += Integer.toString(( md5Bytes[i] & 0xff ) + 0x100, 16).substring(1); + } + return returnVal; + } +} diff --git a/Server/server/tesi/src/com/company/Makefile b/Server/server/tesi/src/com/company/Makefile new file mode 100644 index 0000000..2cc75ec --- /dev/null +++ b/Server/server/tesi/src/com/company/Makefile @@ -0,0 +1,2 @@ +all: + javac -cp "/tmp/ext/mysql-connector-java.jar:/tmp/ext/jdom-2.0.5.jar:/tmp/ext/mail-1.4.1.jar:." *.java diff --git a/Server/server/tesi/src/com/company/dbConnect.class b/Server/server/tesi/src/com/company/dbConnect.class new file mode 100644 index 0000000000000000000000000000000000000000..03ff58b2c3e3aad13dbd3c34995b9d3934e83e70 GIT binary patch literal 9152 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 Fe*qe(7Ty2= literal 0 HcmV?d00001 diff --git a/Server/server/tesi/src/com/company/dbConnect.java b/Server/server/tesi/src/com/company/dbConnect.java new file mode 100644 index 0000000..28d851c --- /dev/null +++ b/Server/server/tesi/src/com/company/dbConnect.java @@ -0,0 +1,355 @@ +package com.company; + +import java.sql.*; +import java.io.IOException; + +import java.math.BigInteger; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +import java.util.Random; + +import java.sql.Timestamp; + +import java.util.ArrayList; + +import java.lang.Double; + +public class dbConnect +{ + private static Connection db; + private static Statement stmt; + dbConnect() + {} + + + public static Long time() + { + java.util.Date date= new java.util.Date(); + Timestamp now=new Timestamp(date.getTime()); + return now.getTime(); + } + + //pulisce confmail e connessi da tutte le richieste maggiori di 10 minuti + private static void deletetmp() throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException + { + PreparedStatement preparedStmt = db.prepareStatement("DELETE FROM confmail WHERE time<=?"); + preparedStmt.setLong (1,(time()-600000)); + preparedStmt.execute(); + preparedStmt = db.prepareStatement("DELETE FROM connessi WHERE time<=?"); + preparedStmt.setLong (1,(time()-600000)); + preparedStmt.execute(); + } + + //divide la stringa in user e password + private static String splitUsrPass(String userAndPass, int code) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException + { + String user=null; + String pass=null; + ArrayList userPass= suString.stringToArrayList(userAndPass); + if(userPass.size()>=1) + user=userPass.get(0); + if(userPass.size()>=2) + pass=userPass.get(1); + + assert user != null; + if(!user.contains("@studio.unibo.it") && user.length()<16) + return "mail-error"; + else { + assert pass != null; + if(code==0) + return registration(user, pass); + else if(code==1) + return login(user, pass); + else if(code==2) + return recupero(user); + else + return "error"; + } + } + + //routin di gestione recupero pass + private static String recupero(String user) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException + { + ResultSet returnQuery=stmt.executeQuery("SELECT * FROM utenti where user='"+user+"'"); + if(returnQuery!=null) + { + if(returnQuery.next()) + { + EmailSender email = new EmailSender(global.email, + global.emailPass, + "smtp.gmail.com", + global.email, + user, + "OGGETTO: recupero password", + "la tua password è "+returnQuery.getString("pass")); + email.inviaEmail(); + return "mail-pass-ok"; + } + else + return "user-error"; + } + else + return "user-error"; + } + + + //routin di gestione della registrazione + private static String registration(String user, String pass) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException + { + String ran; + ResultSet returnQuery=stmt.executeQuery("SELECT * FROM utenti where user='"+user+"'"); + if(returnQuery!=null) + { + if(returnQuery.next()) + { + if(returnQuery.getString("user").compareTo(user)==0 && returnQuery.getString("pass").compareTo(pass)==0) + return "già-registrato"; + } + } + returnQuery=stmt.executeQuery("SELECT * FROM confmail where user='"+user+"'"); + if(returnQuery!=null) + { + if(returnQuery.next()) + { + ran=returnQuery.getString("hash"); + if(returnQuery.getString("pass").compareTo(pass)!=0) + { + PreparedStatement preparedStmt = db.prepareStatement("UPDATE confmail SET pass =? where user=?"); + preparedStmt.setString (1,pass); + preparedStmt.setString (2,user); + preparedStmt.execute(); + } + } + else + { + Random random = new Random(); + ran=String.valueOf(random.nextInt(100000000)+10000000)+String.valueOf(random.nextInt(100000000)+10000000)+String.valueOf(random.nextInt(100000000)+10000000); + //returnQuery=stmt.executeQuery("INSERT INTO confmail VALUES('"+user+"','"+pass+"',"+hash+"')"); + PreparedStatement preparedStmt = db.prepareStatement("INSERT INTO confmail (user,pass,hash,time) VALUES(?,?,?,?)"); + preparedStmt.setString (1,user); + preparedStmt.setString (2,pass); + preparedStmt.setString (3,ran); + preparedStmt.setDouble (4,(double)time()); + preparedStmt.execute(); + } + } + else + { + Random random = new Random(); + ran=String.valueOf(random.nextInt(100000000)+10000000)+String.valueOf(random.nextInt(100000000)+10000000)+String.valueOf(random.nextInt(100000000)+10000000); + //returnQuery=stmt.executeQuery("INSERT INTO confmail VALUES('"+user+"','"+pass+"',"+hash+"')"); + PreparedStatement preparedStmt = db.prepareStatement("INSERT INTO confmail (user,pass,hash,time) VALUES(?,?,?,?)"); + preparedStmt.setString (1,user); + preparedStmt.setString (2,pass); + preparedStmt.setString (3,ran); + preparedStmt.setDouble (4,(double)time()); + preparedStmt.execute(); + } + EmailSender email = new EmailSender(global.email, + global.emailPass, + "smtp.gmail.com", + global.email, + user, + "OGGETTO: Registrazione App", + "per confermare la tua email clicka sul link: http://"+global.serverName+"/test?id="+ran); + email.inviaEmail(); + return "mail-reg-ok"; + } + + //routin conferma registrazione + private static String confirmRegistration(String hash) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException + { + ResultSet returnQuery=stmt.executeQuery("SELECT * FROM confmail where hash='"+hash+"'"); + if(returnQuery!=null) + { + if(returnQuery.next()) + { + PreparedStatement preparedStmt = db.prepareStatement("INSERT INTO utenti (user,pass) VALUES(?,?)"); + preparedStmt.setString (1,returnQuery.getString("user")); + preparedStmt.setString (2,returnQuery.getString("pass")); + preparedStmt.execute(); + preparedStmt = db.prepareStatement("DELETE FROM confmail WHERE hash=?"); + preparedStmt.setString (1,hash); + preparedStmt.execute(); + return "registrazione-ok"; + } + } + return "registrazione-error"; + } + + //routin di gestione login + private static String login(String user, String pass) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException + { + + ResultSet returnQuery=stmt.executeQuery("SELECT * FROM utenti where user='"+user+"' and pass='"+pass+"'"); + if(returnQuery!=null) + { + if(returnQuery.next()) + { + if(returnQuery.getString("user").compareTo(user)==0 && returnQuery.getString("pass").compareTo(pass)==0) + return putConnessi(user); + } + } + return "login-error"; + } + + + //informazioni sulla connessione dell'utente + private String infoConnessi(String message) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException + { + ArrayList split= suString.stringToArrayList(message); + if(split.size()>=1) + { + ResultSet returnQuery=stmt.executeQuery("SELECT * FROM connessi WHERE tempkey='"+split.get(1)+"'"); + if(returnQuery!=null) + { + if(returnQuery.next()) + { + return "loggato"; + } + } + } + return "request-login"; + } + + //inserisce l'utente in connessi + private static String putConnessi(String user) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException + { + Random random = new Random(); + String ran=String.valueOf(random.nextInt(100000000)+10000000)+String.valueOf(random.nextInt(100000000)+10000000); + PreparedStatement preparedStmt = db.prepareStatement("INSERT INTO connessi (user,tempkey,thread,time) VALUES(?,?,?,?)"); + preparedStmt.setString (1,user); + preparedStmt.setString (2,ran); + preparedStmt.setBoolean (3,false); + preparedStmt.setDouble (4,(double)time()); + preparedStmt.execute(); + return ran; + } + + //segnalare morte di un thread + private String threadDead(String key) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException + { + PreparedStatement preparedStmt = db.prepareStatement("DELETE FROM confmail WHERE tempkey=?"); + preparedStmt.setString (1,key); + preparedStmt.execute(); + return "kill-ok"; + } + + //remposta il rimer dell'utente nella tabella connessi + private String connessiTimer(String key) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException + { + PreparedStatement preparedStmt = db.prepareStatement("UPDATE connessi SET time =? where tempkey=?"); + preparedStmt.setDouble (1,(double)time()); + preparedStmt.setString (2,key); + preparedStmt.execute(); + return "timer-settato"; + } + + private String exerciseAccept(String request) throws SQLException, IOException, NoSuchAlgorithmException { + ArrayList input=suString.stringToArrayList(request); + ResultSet returnQuery=stmt.executeQuery("SELECT * FROM connessi where tempkey='"+input.get(0)+"'"); + String utente=null; + if(returnQuery!=null) + { + if(returnQuery.next()) + utente=returnQuery.getString("user"); + } + if(utente!=null) + { + String[] esercizi=suString.stringToVectorString(EsNameParser.esName()); + for(String esercizio : esercizi) + { + if(esercizio.contentEquals(input.get(1)))//se l'esercizio esiste + { + if(MD5.digest(esercizio).contentEquals(input.get(2)))//se il digest è uguale + { + PreparedStatement preparedStmt = db.prepareStatement("INSERT INTO esercizi (esercizio,utente,click,time) VALUES(?,?,?,?)"); + preparedStmt.setDouble(4, Double.parseDouble(input.get(3))); + preparedStmt.setInt (3,Integer.valueOf(input.get(4))); + preparedStmt.setString (2,utente); + preparedStmt.setString (1,input.get(1)); + preparedStmt.execute(); + return "es-ok"; + } + } + } + } + return "es-err"; + } + + private String userExercise(String request) throws SQLException { + ArrayList arrayResult=new ArrayList(); + ArrayList input=suString.stringToArrayList(request); + String result=null; + ResultSet returnQuery=stmt.executeQuery("SELECT * FROM connessi where tempkey='"+input.get(0)+"'"); + String utente=null; + if(returnQuery!=null) + { + if(returnQuery.next()) + utente=returnQuery.getString("user"); + } + if(utente!=null) + { + returnQuery=stmt.executeQuery("SELECT * FROM esercizi where utente='"+utente+"'"); + while(returnQuery.next()) + { + arrayResult.add(returnQuery.getString("esercizio")+"/"+MD5.digest(returnQuery.getString("esercizio"))+"/"+returnQuery.getDouble("time")+"/"+returnQuery.getInt("click")); + } + result=suString.multiToString(arrayResult); + } + return result; + } + + private String cambiaPass(String request) throws ClassNotFoundException, SQLException, InstantiationException, IOException, IllegalAccessException { + ArrayList input=suString.stringToArrayList(request); + if(input.size()>=3) { + String result = login(input.get(0), input.get(1)); + if(!result.contains("err")) + { + PreparedStatement preparedStmt = db.prepareStatement("UPDATE utenti SET pass =? where user=?"); + preparedStmt.setString (1,input.get(2)); + preparedStmt.setString (2,input.get(0)); + preparedStmt.execute(); + return "cambiata"; + } + } + return "error"; + } + + public String dbQuery(String input) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException, NoSuchAlgorithmException { + Class.forName("com.mysql.jdbc.Driver").newInstance(); + db = DriverManager.getConnection("jdbc:mysql://localhost/logintesi", "root", "csc@CerCo!"); + stmt = db.createStatement(); + deletetmp(); + if (input.charAt(0) == '0') + return splitUsrPass(input.substring(2), 0); + else if (input.charAt(0) == '1') + return splitUsrPass(input.substring(2), 1); + else if (input.charAt(0) == '2') + return recupero(input.substring(2)); + else if (input.charAt(0) == '3') + return confirmRegistration(input.substring(1)); + else if (input.charAt(0) == '4') + return EsNameParser.esName(); + else if (input.charAt(0) == '5') + return infoConnessi(input.substring(2)); + else if (input.charAt(0) == '6') + return connessiTimer(input.substring(2)); + /*else if (input.charAt(0) == '7') + return threadDead(input.substring(2));*/ + /*else if(input.charAt(0)=='8') + return aggToClient(input.substring(2)); + else if(input.charAt(0)=='9') + return aggForClient(input.substring(2)); + else if(input.charAt(0)=='a' && input.charAt(1)=='0') + return check(input.substring(3));*/ + else if (input.charAt(0) == '8') + return exerciseAccept(input.substring(2)); + else if (input.charAt(0) == '9') + return userExercise(input.substring(2)); + else if(input.charAt(0)=='a' && input.charAt(1)=='0') + return cambiaPass(input.substring(3)); + return "error"; + } +} diff --git a/Server/server/tesi/src/com/company/esercizi.xml b/Server/server/tesi/src/com/company/esercizi.xml new file mode 100644 index 0000000..c28cd97 --- /dev/null +++ b/Server/server/tesi/src/com/company/esercizi.xml @@ -0,0 +1,10 @@ + + + aalbero.xml + tautologia.xml + demorgan.xml + triviale.xml + test.xml + risolvibile.xml + demorgan2.xml + diff --git a/Server/server/tesi/src/com/company/esercizi.xml~ b/Server/server/tesi/src/com/company/esercizi.xml~ new file mode 100644 index 0000000..47eb032 --- /dev/null +++ b/Server/server/tesi/src/com/company/esercizi.xml~ @@ -0,0 +1,4 @@ + + + aalbero.xml + diff --git a/Server/server/tesi/src/com/company/global.class b/Server/server/tesi/src/com/company/global.class new file mode 100644 index 0000000000000000000000000000000000000000..00f0bd35533715c090653b57adc696ae089dd94e GIT binary patch literal 964 zcmbVKTTc@~6#k~rcDvnDSnw{Qc;liwltKj|#)M!rA!t&=E19li8JO;DcDF?QMZTJS zF!8}3;Eyt%*^2PslMj2oJ!if-m+#EaU*CTKXk*L86c!vT)-Z`B2g??pICyF?aKJ6D zIA~d1bS}LS)!u;7Lj&LM64(~ z5PB#bY%)x06N*fk==`dK=M3XVW*`~76M5FnOd{WjG`-~R3w!EPu~V6hoU$AUr5S1k zj`;Q1B$? z&_o|)LOP^jLQ61_92I-nx7q|$#lvmObg6nLK9Z*!k%w7Kd$@x+4|g#~i@V&=XgJ!^ z#WLUa>}U+T|2?Jc%080d(|{JX{O>&Ru%}gcc$5t^Kfl09-${C|fJ@T&m{oJBeJ4lFcXQNzFGpiae918}HTN<{^CICqr2?ub a6S~xUlk5!YG=p7HgNja2`bWem;qhr5Ahl?0G-V^FHr$_Wbtuk3Rv} zi_cZ`Vzdc8IIQ9bj&h8t2xFY%n2HFF%i%;5UcgC?2^A_v6`Ydq7v&IFF^MUTX%#IP zRdE_;%&Y(o8VGw&Y^kaZyQG*4W@JmC~w4)PN-g6VKBaFqf z!pI0mdgmG1YYt=H?5uD^rf$8g!9jt;)!<=?p`+rOGpuZs5}8(Z%rkS8iNMdRGNmj@V16`@UDjU@IFIl z4bZgbu0THTn63}`gEb)6t=Acts^LRi({KZO88kv>T1%!OfiZ;kMG37VE=%eLa(33V zG<<}cfkojsHkHK5n58HJ6oj4^PQkW}oKL&t@MG#kotT+9VmKq$Khf~1M6j`LJbpDT z@~&yqo}WomM=*1so2xQTr{;+%hSqwXvz}%73i6Y$ZttpSzfslRts!HE^;zKt#6hmz zJry}WrWz9bW?$!z8>DEM&zm@$&j*V*i_3J&<~{yP?uOPxMGpcgY8kdZ7Uc~ zlhmrpm50vA=Y^GF7^v9NGtt~@$5Uoyk-@%URbk7~=)v0k8 zm-R4ZA>X^0)hV!ujj@Q2V^fTm(U#PC3GFeZjElF4ln$~_Xw&lLR&wf}b#z#kaKU)aw!-~gjYwi6?42nX2& z4zVeWvN;@P3pm0&jIrw&XJ6nLyM;+Yaf*G7IJ=E$JVz*o!5`6P5srNv!yNlLp658g g2@D=0^(O}D>mibl2oobG$h&zYOf?;(=nxM518i?LHvj+t literal 0 HcmV?d00001 diff --git a/Server/server/tesi/src/com/company/guestServer.java b/Server/server/tesi/src/com/company/guestServer.java new file mode 100644 index 0000000..1fb6ce9 --- /dev/null +++ b/Server/server/tesi/src/com/company/guestServer.java @@ -0,0 +1,80 @@ +package com.company; + +import java.io.*; + +import javax.net.ssl.*; + +class guestServer implements Runnable +{ + private SSLSocket socket; + + guestServer(SSLSocket client) + { + socket=client; + } + + public void run() + { + try + { + + //Reading the message from the client + InputStream is = socket.getInputStream(); + InputStreamReader isr = new InputStreamReader(is); + BufferedReader br = new BufferedReader(isr); + String requestMessage = br.readLine(); + System.out.println("ho ricevuto: "+requestMessage); + /*System.out.println("Message received from client is "+returnMessage); + dbConnect request=new dbConnect(); + String returnQuery=request.dbQuery(returnMessage); + OutputStream os = socket.getOutputStream(); + OutputStreamWriter osw = new OutputStreamWriter(os); + BufferedWriter bw = new BufferedWriter(osw); + System.out.println(returnQuery); + bw.write(returnQuery+"\n"); + bw.flush();*/ + if(requestMessage!=null) + { + dbConnect request = new dbConnect(); + String returnQuery; + if ( requestMessage.charAt(0) == '0' || + requestMessage.charAt(0) == '1' || + requestMessage.charAt(0) == '2' || + (requestMessage.charAt(0) == 'a' && requestMessage.charAt(1) == '0')) { + returnQuery = request.dbQuery(requestMessage); + OutputStream os = socket.getOutputStream(); + OutputStreamWriter osw = new OutputStreamWriter(os); + BufferedWriter bw = new BufferedWriter(osw); + bw.write(returnQuery + "\n"); + bw.flush(); + System.out.println("ho inviato: " + returnQuery); + } + else + { + returnQuery = request.dbQuery("5/" + requestMessage); + if (returnQuery.contains("request-login") || returnQuery.contains("request-error")) + { + OutputStream os = socket.getOutputStream(); + OutputStreamWriter osw = new OutputStreamWriter(os); + BufferedWriter bw = new BufferedWriter(osw); + bw.write(returnQuery + "\n"); + bw.flush(); + System.out.println("ho inviato: " + returnQuery); + } + else if (returnQuery.contains("loggato")) + { + personalServer nuovaConnessione = new personalServer(socket, requestMessage); + Thread t = new Thread(nuovaConnessione); + t.start(); + } + } + } + + } + catch (Exception e) + { + e.printStackTrace(); + } + + } +} diff --git a/Server/server/tesi/src/com/company/httpget$MyHandler.class b/Server/server/tesi/src/com/company/httpget$MyHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..7862be87ea690614f009e6b0aa355e994d87235b GIT binary patch literal 1780 zcmaJ?-B%Mw6#q>~cEY+A1gxf2M6nn^+_s`^gQ5ha1OgNSwMeVo>`s%#Wp~*RYL2Hb z?djj*voEo&=k)Zk$3Lp=olQc6M}3%k=g!>wyB~9B=G8xc{0ZPX4pp4Tw2B+Jsp2zy zuHp+6vY0u6Te!_J%W+3V7SkMeRj8QGVovg+B=d4-K?TP>39u;1mr`6(QNpq$D;#Bx zRgN`|b&ju8e1Hv(O^$7juNjnEwrfYT3_baA64UdZB^dh3wky`+{i+DIjH*K`O5JcR zImzeCrnj$$v8%fx((6&=haxx>fxbl3drwSKtce*3cCr!~=HpevPcRav_c^{vlG=GK zE(Vosg&*0T8*)4#x#GovDHd(%Rg->dBD%I`92y!fV1(nohFyG1fEvETLykupzK6k( zvMr7s4ON&7{n9{pC?>rU1-4sbI4$F+;Tvv4x2p4=>k2bsIPUwm0SGe=?5Lryd6n3#&p9=Z#QOe`qJ~(8 zd%n9U?P6bEZ7e0HP9^B=nrkJhSdc_7!eb>~ukIzKy!4J1If5L0hZ2RC^bwtWl7?)x z?adPPR3gTa?da5441u?VBYsy{zo?#7v6$dbxNEP@8ZP-nNR zO-N(#4JDzr41LG$SdQjfu-%4jPn{46sE1rJjCJd_3N_Q#P0ZU%bkz*s7p}!H)os!0 z-eVT6rFNIflp?RwLJx)%!=?y*x{qQ>7<3WntTXx2 zvb@@TNr79NMbDxlp6wKo&SE`|{5T?K!q}H_k#eyS$zDn4$9IcV@y@ArYZCg8)SGnM zGx^=3^pY_hFC@9or<+T7^qOo1hAA+DbM$I54AT>uqCxKgNf&7*R~hll#0#+JG-0?z zR7n;mh>qeinUE?gBaL3#`(?6;)aunHde)|XL%NX8r3W&R%JC!8#fHZ+=vb#Ya!A*N}B2I>3Q9+yQlyD_s=%~KEr{AeoS$Esv&}@ zByMY@{5**-!hJeizD#09!&jIMKXRRz!#u}A2kzi&4PCga;T{%~xX-bqA%&^%dpTUb z36~X)yoO$U%kdpYfn$}SWA$jobjnrXG3a^65#D0e^nKwoB<5_#mJ1Bg%-A+VY|$+X zhVFvxh_&E(NqC!PsY)8nuT^dNFc97m!;MT~-+W;jRnw^$Md{g2B{$Yk1=6k>t7a|7 z&{dSCbwIL$;8^2W=XgL^ONW-IN!xXNj)xRp(XKeA3_S9ae?RoxMduea3lu=q3mnP@ zIV`$?XNhGyWTNj$S*r*+8B)-39iK4tDmp55VtydXE2h6kku$In3S7qqiX_kL*u<8O zZR{|_w>Fn2W;h<{*v0pu@-Y$A@dQ6G^eaF|NFz^6(X|eQyjw1N!Y9f<>i7vyL)Rup zNr#0p!5LEclHr==J~!xJGo2%&8S3y^{d5RC(^0{m4m*sz=e!VSS=F(xj@lqGTspt7 zUfLHHxlEm_HUh_K6uiZ*QDG{mvOBFX`F?yc?+nAr%65${#}8^X*OQ{Wy{K6Q-mWaj!|aZM)`((|f_f*WN%|bR8)U ziSCnjd3*;@b3oA?d52LGo!oW$LM|N&E08WRA8I;Ny=l3Q6?mR-q;YDI3v&|prRh;* z-8C9mQVpj~&$I*v(ML0x;UgN*QTo$JpsxXvuF=kDkB=XNy&{1!OKUfqBn+n0!@ zc^%1A$7^VPi8PNrt)o+Y{Q*6SouA|E<=elqzY%ssdA|-$au0dCjBccHlcxP7uHpg7 z+eBoTPWusgOR5CNO%57iqx56M$vg~$pY splitQuery(String query) throws UnsupportedEncodingException + { + Map query_pairs = new LinkedHashMap(); + String[] pairs = query.split("&"); + for (String pair : pairs) + { + int idx = pair.indexOf("="); + query_pairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), URLDecoder.decode(pair.substring(idx + 1), "UTF-8")); + } + return query_pairs; + } + + @Override + public void run() { + try { + HttpServer server = HttpServer.create(new InetSocketAddress(global.portaHttpServer), 0); + server.createContext("/test", new MyHandler()); + server.setExecutor(null); // creates a default executor + server.start(); + }catch (Exception e) + { + e.printStackTrace(); + } + } + + static class MyHandler implements HttpHandler + { + public void handle(HttpExchange t) throws IOException + { + + /*String response = "This is the response"; + System.out.println("mannaggia santa"); + t.sendResponseHeaders(200, response.length()); + OutputStream os = t.getResponseBody(); + os.write(response.getBytes());*/ + URI req=t.getRequestURI(); + String query=req.getQuery(); + Map result=splitQuery(query); + String id=result.get("id"); + //System.out.println(id); + try + { + dbConnect request=new dbConnect(); + String returnQuery=request.dbQuery("3"+id); + t.sendResponseHeaders(200, returnQuery.length()); + OutputStream os = t.getResponseBody(); + os.write(returnQuery.getBytes()); + os.close(); + } + catch(SQLException e) + {} + catch(ClassNotFoundException c) + {} + catch(IllegalAccessException a) + {} + catch(InstantiationException i) + {} catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + } + } + +} diff --git a/Server/server/tesi/src/com/company/keystore.bks b/Server/server/tesi/src/com/company/keystore.bks new file mode 100644 index 0000000000000000000000000000000000000000..ecec32686813c5f809111c6f174fa5ad59e279dd GIT binary patch literal 2258 zcmchW`8$*g8^@n#jKLtw*cn?=6rLGO#L=OKEIGE(*olcLjX?=n#&ohAq>w!mNk_(( zeQZaFEG@D`8VA$JlI2AmQeIuxIoEssg7?SI_x|43bzk56z5xIL0RWIt-76jME>hyK zJl{&~!CNi5g)1)s0PhnxfD9!CUI-=oQ%HXMUQ1tH9CN<`1bB(s`j8<2@WerMo@j^; zBi-kLfiM`H$H~ zDM|}t^e~VvgvILWVR5eesE>iL`hVm9e;_)j`tMLcUVw)ViU1HDM8fDG2&4>4`;|Np zFu|uhj6_C1YTr{sq=}BJmb?r@%);+=#|eY_?{$-!3)=3_7Fu8h8MjPdyzohEj!kMw z{Amkcvc%plIFiaA`Pz}f&>~Ies?(NP7OlPeISAKcj};j*U6}IM&&1^2BzE2n%=gAAc?BQCb0PzG3-}~2ewjKg*tlYiZW%15Sr6}lrqzGry9?t10q}teqy(Y& z*NQ#>mx4=NSCre#*JQ4M7d(Nv?@nZi`oWEVhq!-P`yqk=O_bVIJNo9!0O+YbEhy|6 zTDj5^#EZJ6a%ETUv*eY0Um4X+-Yl{7OPX%4*IB?3w_??1=!9lD3(ziBc+^5^YdwKa zOoLo1b$6_F27Mp~oc%4%ISdeMK*8U`S=I_PWnt#g&4-ZTJi(@t6L{cpL2aI zhWPHHkt%bCXyp-4F{27hpRd{72SSxsFB6X|3j}^4A=kcDD{DDflQ1 ze`1G|O?%8}E#}^Peai$is`8$#vcME$GdjDZ$k;dG5J9;Ynl&_|`Ch*RIxk1fqBxXd zj~O4C2>(oG>l_Ph@}M*UvuaS!wh|W4&yXD{m~ftV=yz9Rha=YRXcRFFMEb`}j?*PX zqI%WXmma1qN@{3?^qaCzQkmy$3BTK))YKdX%o15kReiarp^!tH*(C1pCxtH#gW-0r z+K91~;=uAEzo#9Wd$^4^NUe%mGkaXknsE$vnQ5^^JZDtyh!|BtUcCV>H2)?X;f?*) z>~~sXN2>Ix_}5&o;;Hq)$(^IG#z(m7EBZKJ9o`YQD)(XH*6~R0=i3~2l@=&Cr)qID z+HrCYbK@C5N66>>#g_C981nhTWwXCL`teuZw@2i#4we!4Lg@OniE&}LONRs2&rKGh zojSZ*779A!;oM>uX?v*EbrQ+GU7hub)@rN#yeH6GsH9`1T|kH&HawLd&>z}Ow*W*}aokispz?ZFR$4C3k38^?GJ(Bn@ayC#%o z(hQ9}ITatOlE5)@eorm@`m1Z_^_HzOl=%c*V&`}RcReXQM%?%vvB1>SdR�khk85 zlGFq843vvVTHhPR5sUCnLZ#@~0~hxO4SF_VGu+XL<_4o?66|f6EJSF8+2m92rQNXm z#)M+6q-Rwtg+51*ujwspC3L?nTf8!TUwGj^MbyKCsO(H@#dIg8>5N=ttI?_ezxm2w zH@C{-@ynHg$+8-+n9a|rM*=#JHQMde+BFH>{g&2y_EvWJ7gP)!^O>B}XImccIp=P< zRFke2JJd7z6Pz`XLg_OmH7I-B=UTMQ2XyK5EzZ-pbcVJ1xG~|R`C>UQiJBqc8r}29 zYb)n?bbrm1)va9OwC8T6x_Ww1Q`s*~LunF4U~tU6qk8tbBk0b{mMeq~n+!%<@)@n5 z8@N?rIiZfNQ&Ah_Np)qh^)1D=MlD_4L<2l3fy{iI74eKuqd+c>bXaVmDWYX8EVFB+ zxRBoyrG@pq;h1HRtw@!nmQ*ZLeXZbYi-l6Z+br`*gy5t-n{(vNa}ZP;nA2}v9tAHN z0~M+amZ1U1$J?fFDfQW_rM7%*v$Oi_QNHS7^ojNIN2f|`9ZsbLP;^3Xeohc~hkR#r z{M?i)BdJoO@(4$+`kl%I_H}&(vTAQ&t*ggDC^awWVx472gn-xJvbW>*MfErKaIoAP+PmE-9$=SuG*<-K)J zW~~rIt#cyt9QB=76rF3*dtfL-4cR&*O%6`VXe!e;D^z-8Gw~|^@PS`STuo(3+e{k= ze|PJ=k1Ahl7wc?8GS6@$nH-x30Y*G!x04rB-iHq-IodWBqfsyG*>DdT3813vqMAx9 SBLyX(^opQe>Rv^z%J?r8quvMr literal 0 HcmV?d00001 diff --git a/Server/server/tesi/src/com/company/keystore.crt b/Server/server/tesi/src/com/company/keystore.crt new file mode 100644 index 0000000000000000000000000000000000000000..e60e9dbf2908624e14c1d804c061f6e25664204a GIT binary patch literal 897 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 L8#c~;Me6?rty9`+ literal 0 HcmV?d00001 diff --git a/Server/server/tesi/src/com/company/personalServer.class b/Server/server/tesi/src/com/company/personalServer.class new file mode 100644 index 0000000000000000000000000000000000000000..1d5b025844eeae87c029ea6158f5c3ad33ed9a6b GIT binary patch literal 1778 zcma)7TUQ%Z6#h@(yibxt7)WN)xnOznt!vc> zANv>jjH?8fEW7&bA95`p)O}`>lF)W7AF@xfuV;Vz+b4hi^ZQc(Gq7b`!b~3$xFX{! zW@XIb0|_4r&Abo`60XUJVn&FMWL(F`5rU%Xmw|mkPG`k-Bj0Hr|CKb4%Zr+mhNy%6s|Cgc088c z?QL%H>Z!HLFn0C^ORiq8ieQdy1|}=0VMl?ET?Ko{NvJDmfIv}p%!F?2>zZTECnT5( zn%HFs%&H3RAxB`GroMThdM(p}Wyu1bZM_EAJ8j#D>$v zcU;5pCpFxi#CCm_FbvurT{g@`%hC?=x=ryZpB~+~FQj~8xQ<>|pSu#t{3d$UM2MQ; z?MQO99p(|!zaGU%)$(nZTg2O`S6AxgvNwj8YyfeRN_EecVLaKcdS>cWIo_^!)*|RT zbZYY%upqP%t=Z%T5h3@#uG(e?m5MrM2jk(+g?f7m|0rlEV0!t|g}3Xjz0)({(t+*p z2H|VE0$)FlnpvlnZ*%+kOnTLXdQ&*niJ9R_-L%Czdm3+RH!Q8f>5WU!8_4h`f(VF> zq=zveHqJX~>AVxPH!1Q;)2}>vhUiSBkHONJBLuR)Ay`c3LM?=zA$){LI(r1^kbD?2 zBqtCdIYd#z=)(v-i=(6)!z9MZBa57$nXOS~;ra9g(XC_jTVzD6-Eey9X5)Zd9`YXoT*4Q{%go|g5XFBQ$ zQc?a$$0Bd~)h;~7Tt3sn8|~W^vYm*FFGM_sQlLt)$rj>=gdgw#59x*f8Had6XTZau zNEiSY>91rGgM@pWkiSgGPm^3Bnde?4@bCy kKj^P&nzCI$@Gm@+p#Dq42}pRCzJihXo60b97UO*XKPa)a>Hq)$ literal 0 HcmV?d00001 diff --git a/Server/server/tesi/src/com/company/personalServer.java b/Server/server/tesi/src/com/company/personalServer.java new file mode 100644 index 0000000..1d338eb --- /dev/null +++ b/Server/server/tesi/src/com/company/personalServer.java @@ -0,0 +1,56 @@ +package com.company; + +import java.io.BufferedWriter; +import java.io.OutputStream; +import java.io.OutputStreamWriter; + +import javax.net.ssl.*; + + +import java.util.ArrayList; + +class personalServer implements Runnable +{ + private SSLSocket socket; + private String key; + private String requestMessage; + + personalServer(SSLSocket client, String message) + { + socket=client; + ArrayList split= suString.stringToArrayList(message); + key=split.get(1); + requestMessage=message; + } + + public void run() + { + try + { + dbConnect request=new dbConnect(); + String returnQuery=request.dbQuery(requestMessage); + OutputStream os = socket.getOutputStream(); + OutputStreamWriter osw = new OutputStreamWriter(os); + BufferedWriter bw = new BufferedWriter(osw); + bw.write(returnQuery+"\n"); + bw.flush(); + System.out.println("ho inviato: "+returnQuery); + request.dbQuery("6/"+key); + socket.close(); + } + catch (Exception e) + { + try + { + e.printStackTrace(); + dbConnect request=new dbConnect(); + request.dbQuery("7/"+key); + } + catch (Exception k) + { + //k.printStackTrace(); + System.out.println("PANIC!"); + } + } + } +} diff --git a/Server/server/tesi/src/com/company/suString.class b/Server/server/tesi/src/com/company/suString.class new file mode 100644 index 0000000000000000000000000000000000000000..6d094cb15686bafdf7011cf7a689fbeb2ef34bdd GIT binary patch literal 2502 zcma)6T~k|C6kR6?+z@XdgaD$1@*yQ3l%QA(grudk)L;N>D3qctmn1_|L&D^vGxfQz z`U9MC?C`>4^(AHO==kD;KKVQR37u(motqnSLvNi!8!o(y zPvs*aA1m_lnG;C`s|wZx+81(#TqQ1G4+J*_981MaR-h}HD`eNI2YcDlhPIdIPItLd z$`$rEii@R^_9&SvR|JBAHVT7#Pgrv29H$TEi{tS)>r~wMx-IG4Vgt%owPpiNmHzR)LVwrB-OspoPK;)&=60 z@zzuQQ2&fpsITaT$C18t0s870h5aIVwD?ExcfVbpY-+RCo zl7Xc>?fGnBzj9xn{sb?B^nI{=!x&}(iQZb(=#$2&bCIn_%%;yCr&E9E-M9n-*bsXi~H|$=!c6gXA5YGiOo_a$Y zcazEOMjv>A*!Q#KeFm+OU%**8on~LaLIsTQS{>j84s`HK&p=?1D?i`#0op>(Ab#dT za0_VHH#->2hVsIep+CUE50HEg+x9cqllGWB?hn=AIKo`WUqhQG@&vu%&>+|CH7Hwt z$8PKx{d$Ze^8{|5)!>vzkL}|4-#@}XF`rGZ7=nxIPB_uUl?Og}S=)yodNGZD%#*-1 z?ynI1FeAI*cm-9#h!A5vFVKcjJ=GW?(~Sn?X})dT_cS1fLnr9i(#zI~cEZl{b1XZ| z;v+_u^UOj!8(Ds2jEvgxy2yEujNduJy8d=#jxhclD)n%OYv`2xx_*a;OK&$HHF%T9 z@LNa7!^bx2@YJNk5EPa=&w>+hlYKuzn8PGe{Jo7SoqH!7FVUtTC}swl)I$UvW@Npw z!+Z;7a*}b+34Bs%b8lxD%{etF-eYGa#c@gQS9qE{ec{0dsgw@(9~0O<>JH3Oy*ajP zo{gNt7@|5z6}FdfDTs&{Y+b!O(=7TSKC*z=dxE~R5U((L=Cljn5umi+b&-@HrS}Gp zFzf#wUDA9~bxJ*IlG@uZJ7Sy}&Cq@Kr-{NS!80j!Sf=tfXo3W(tk8Q&#Q1v&YdRg> zZyi!|;Tvid{o~US`PLYb#fINZBQkY5B10h#hA}Q)^SHF_#&mptoA601g57uW=62y0 lCt{1(ZqpUpxX4?4j(eAJ*YJhCF%y$bh+~xdB6HaA$$yX}JoNwo literal 0 HcmV?d00001 diff --git a/Server/server/tesi/src/com/company/suString.java b/Server/server/tesi/src/com/company/suString.java new file mode 100644 index 0000000..666febe --- /dev/null +++ b/Server/server/tesi/src/com/company/suString.java @@ -0,0 +1,96 @@ +package com.company; + +import java.util.ArrayList; +import java.util.Collections; + +public class suString +{ + suString() + {} + + + public static ArrayList stringToArrayList(String string) + { + ArrayList returnValue=new ArrayList(); + int j=0; + for(int i=0;i vectorStringToArrayList(String[] vectorString) + { + ArrayList returnValue=new ArrayList(); + Collections.addAll(returnValue, vectorString); + return returnValue; + } + + public static String arrayListToString (ArrayList arraylist) + { + String returnValue= ""; + for(int i=0;i arraylist) + { + String[] returnValue=new String[arraylist.size()]; + for(int i=0;i input) + { + String returnValue=null; + int size=input.size(); + for(int i=0;i stringToMultiArray(String input) + { + ArrayList result=new ArrayList(); + int j=0; + for(int i=0;i zjTjZf?F?fwmSevQcgVOCcQG85(Sp0hgYH65MhIasa2Jlrh#)E+Vq$h&4C6vyTt)&0 zgXu;R_qbrmNWqq|4rzu77w%=4l+lR{!wDH(xR2o^!~GI!cEpUBy;DM^x8tycD!&=# z5*qqq1|LW#g4`O`gK=7^O6V~|LbG?Q@3=mpYjNF(XaU=b8Ic|#SQoJM(0IR|bj~w8 zKt3}($nX$3P5zRX45t_#W;o682w6&&NRR_&+6wV~F`=U|l}>Uiz^w^xbqg&Dw&H3D zElV}-PRHV5ZZSNn;4wU|;0Zjb;3+YC8qX+rR?MEm^9(O2coAnLbZSY0mq-IvTYTagC?A6^fmRX=KP!g$yq#cp0xqXbqVOjlN0U$Y^_F7D1X; zW<<9`QEmx)Uo8?Jj#^v~i}lwOye^zsUI-Ai?PP@8#QuSUMAs<=Z{W>&hhwHDc{O;@EJar&?cOm)C_KGsZ?AG1p0E!2h7kow;8@r@Fl*YT*xiAr)=G_dDzGBwSsSi z9pB=7-qvCm2S9@25BPoUVIE9J+PBidLdPR%p0abm!l^0ZWs&o}lOdk8W2T|tJ172y zk_9^(UAO`)WVe?6{VqM8rA-M|(ow^$`?ux1!Fw#*nlp;UACDkUI{C_rE-M=gL*0@q1HD2QQg{QS$c*{ z^mYhBRfoF;LPfR)GAWxUNI<5%-ouaS={V8RIYYsg>EIG$)u`pnA%9Tqf3e zXBNPOFsW$COBb(;&NaW|bhM$gVTgw3^t5Ux<;i!lq1T`XBSh3~E@MYtX-O85;-+%P zMW>CMI>m8Sew&iApwN59{KB+t0&j2mE4E6K*{b zv8a!N+(voupZ1WzNdCGgXKv3@$zdy|JhCWK4sDHqpu~ zI!D#|X>9g2IQkoe{zkQt^q-siRcOzm``p|FaS*{J`g9Qyf*}j7G&a&3+A>@L57wiJ zSZc;jTIt0~3}7`z=uD6(j$kbedIvj6r%q!7y_{^s8F+CP9dsdY!W6xcT|hT}q9FZ3 zVfu{%^gD&<4??^|5%?3=<1cKd5jcU$IRbPuY-gZbpYCD$?_t=%a3jM`8i6?sq5d)_ e7;a*?nPC^hZU(;)&@K-tG3+4@_L2n^*!M4^tNhFW literal 0 HcmV?d00001 diff --git a/Server/server/tesi/src/com/company/superServer.java b/Server/server/tesi/src/com/company/superServer.java new file mode 100644 index 0000000..d755d9c --- /dev/null +++ b/Server/server/tesi/src/com/company/superServer.java @@ -0,0 +1,59 @@ +package com.company; + +import java.io.*; +import java.lang.Thread; +import java.security.*; +import javax.net.ssl.*; + +import java.nio.file.FileSystems; +import java.nio.file.Path; + + +class superServer +{ + public static void main(String[] args) + { + String ksName = global.home+global.keyStoreName; + char ksPass[] = global.keyStorePass.toCharArray(); + char ctPass[] = global.keyStorePass.toCharArray(); + + //thread di controllo directory esercizi + Path pathToWatch = FileSystems.getDefault().getPath(global.locationEsercizi); + DirectoryWatcher dirWatcher = new DirectoryWatcher(pathToWatch); + Thread dirWatcherThread = new Thread(dirWatcher); + dirWatcherThread.start(); + + //thread che si occupa del lato http + httpget regServer=new httpget(); + Thread httpServer=new Thread(regServer); + httpServer.start(); + + while(true) + { + try + { + KeyStore ks = KeyStore.getInstance("JKS"); + ks.load(new FileInputStream(ksName), ksPass); + KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); + kmf.init(ks, ctPass); + SSLContext sc = SSLContext.getInstance("TLS"); + sc.init(kmf.getKeyManagers(), null, null); + SSLServerSocketFactory ssf = sc.getServerSocketFactory(); + SSLServerSocket s= (SSLServerSocket) ssf.createServerSocket(global.portaServer); + System.out.println("Server started:"); + while(true) + { + SSLSocket c = (SSLSocket) s.accept(); + System.out.println("CSC: debug 1"); + guestServer guest=new guestServer(c); + Thread t=new Thread(guest); + t.start(); + } + } + catch (Exception e) + { + e.printStackTrace(); + } + } + } +} diff --git a/Server/server/tesi/src/com/company/testEsname.class b/Server/server/tesi/src/com/company/testEsname.class new file mode 100644 index 0000000000000000000000000000000000000000..4afb4d534db07a9a281170367da037cfa4dafcc8 GIT binary patch literal 475 zcmZvY%T59@6o&u8Kw%sKK~T9U>Sk~O8+Q;l23G`0Ff4FYurWhsre>xXeJow5ap42_ zP{vbS5E7fT=k)ad&ZXZ!pI-pZacYC3kim|PB1&28qHLprJ&t{j1BP_Z3q5_okaSxU z2J2GYNrwEu3*~Sb%w%*UWxNjT?5)=r_`&+z$k6Q(XbOf^6b@4Y&rwIt;{=v;#%~p&mlZhab>KqxwJvzoPu3jwlI2^=;+M5zc>$nOjCCoI! zMz#@0;HXDV$y^gwBNCx5V(0vy3xLk8dhIS=fZ8C^C!q0Nn;ck6M+Y5#*t}zl0F1C zCsHN1^|+mP5^{&7oLqP`of^za$8;?_)1}ZFxDGsbq3w)C4kzvOwUPdmOv{W*BQhtQ zgmuhPI-5z)yiT8;$SWna@{oat@rZ`y^UHSL&F0<6f#|@XH*=*UaMHk|c+9}#c!IV( zrY$?7{2F#FY8bc{8w@;&rv#oha0<_8XjIEr#LY>WY!i6az;nuxMdi)A2K$dDWLAMO z@H}47uyo!DE2DgfZ#%F(Z>5sb(O{JKDXRuv#7hQV#w!{c%1CVkui`ZZES=ma@VbH1 z*lOSnylLPqoMCJ|fAZNRBb{tB@V4S^$^4nS`v#*vm)^m<0`D1kA0IG220p|`20q5L zflu&)zzGAN;xhxE;|qZ=4Sb~#2-mSEO_!d0jk6m1BU#5jEE8@nlCsCFL^fqkNhcDQ z&Ljs0NDZ#cS&^KRh$QT^`e)6|RHTfli!s-5sej3z1sWE3w0K!RII51S5)})f9I?D> zr6Ri+EqX{sFKHi`2VY8@9#tmIIq44Bwp&T2j*Dvgc9&C%CFdiwlu0{mCvDQN7S_pL zN4oA*S+cCX!)K&Qot7HtMp^SRzX#Qd%Hu#$q+yL;ui{m)2AQzMWc5J$h>K6t_;ZoJPi6ZE2yWb}@cK1Y)6P?=ya zsRyi_%Mdkt&?^#lLDiee*7;R|Bm0Vwmtyn|tRp`ZP zL@C`w?FQ7G$992ko#uM5nNNl8JY5cQyl)n*^z4%8ES3}d1OeyPJx^12!9JVdL(E|QR|Ul|04p z@~{OhwF-+vSWL+{S+uw|K^9YFF+&!!WYHm)Ir5dqDD!3l z$M|*}Cvk!{PSVF6e5#FC3^_ack@0nfy8*1jzSs_=evj6}9 literal 0 HcmV?d00001 diff --git a/Server/server/tesi/src/com/company/xmlOperation.java b/Server/server/tesi/src/com/company/xmlOperation.java new file mode 100644 index 0000000..c4eff71 --- /dev/null +++ b/Server/server/tesi/src/com/company/xmlOperation.java @@ -0,0 +1,136 @@ +package com.company; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.security.NoSuchAlgorithmException; + +import org.jdom2.Document; +import org.jdom2.Element; +import org.jdom2.JDOMException; +import org.jdom2.input.SAXBuilder; +import org.jdom2.output.Format; +import org.jdom2.output.XMLOutputter; + + +public class xmlOperation { + + xmlOperation(){} + static private String pathName=global.listaEsercizi; + + public void create() { + + try { + + Element company = new Element("esercizi"); + Document doc = new Document(company); + doc.setRootElement(company); + + // new XMLOutputter().output(doc, System.out); + XMLOutputter xmlOutput = new XMLOutputter(); + + // display nice nice + xmlOutput.setFormat(Format.getPrettyFormat()); + xmlOutput.output(doc, new FileWriter(pathName)); + + System.out.println("File Saved!"); + } catch (IOException io) { + System.out.println(io.getMessage()); + } + } + + + + public void add(String name) + { + try { + + SAXBuilder builder = new SAXBuilder(); + File xmlFile = new File(pathName); + + Document doc = (Document) builder.build(xmlFile); + Element rootNode = doc.getRootElement(); + + + // add new age element + Element newEs = new Element("esercizio").setText(name).setAttribute("md5",MD5.digest(name)); + rootNode.addContent(newEs); + + XMLOutputter xmlOutput = new XMLOutputter(); + + // display nice nice + xmlOutput.setFormat(Format.getPrettyFormat()); + xmlOutput.output(doc, new FileWriter(pathName)); + + // xmlOutput.output(doc, System.out); + + System.out.println("File updated!"); + } catch (IOException io) { + io.printStackTrace(); + } catch (JDOMException e) { + e.printStackTrace(); + } + } + + public String getMD5(String name) + { + try { + + SAXBuilder builder = new SAXBuilder(); + File xmlFile = new File(pathName); + + Document doc = (Document) builder.build(xmlFile); + Element rootNode = doc.getRootElement(); + + for(Element esercizio:rootNode.getChildren()) + { + if(esercizio.getText().contentEquals(name)) + { + return esercizio.getAttribute("md5").toString(); + } + } + } catch (IOException io) { + io.printStackTrace(); + } catch (JDOMException e) { + e.printStackTrace(); + } + return null; + } + + public void remove(String name) + { + try { + + SAXBuilder builder = new SAXBuilder(); + File xmlFile = new File(pathName); + + Document doc = (Document) builder.build(xmlFile); + Element rootNode = doc.getRootElement(); + + for(Element esercizio:rootNode.getChildren()) + { + if(esercizio.getText().contentEquals(name)) + { + System.out.println("trovato"); + rootNode.removeContent(esercizio); + } + } + + XMLOutputter xmlOutput = new XMLOutputter(); + + // display nice nice + xmlOutput.setFormat(Format.getPrettyFormat()); + xmlOutput.output(doc, new FileWriter(pathName)); + + // xmlOutput.output(doc, System.out); + + System.out.println("File updated!"); + } catch (IOException io) { + io.printStackTrace(); + } catch (JDOMException e) { + e.printStackTrace(); + } + } + + +} diff --git a/Server/server/tesi/src/go.sh b/Server/server/tesi/src/go.sh new file mode 100755 index 0000000..4baa8fb --- /dev/null +++ b/Server/server/tesi/src/go.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +java -cp "/tmp/ext/mysql-connector-java.jar:/tmp/ext/jdom-2.0.5.jar:/tmp/ext/mail-1.4.1.jar:." com.company.superServer diff --git a/Server/server/tesi/tesi.iml b/Server/server/tesi/tesi.iml new file mode 100644 index 0000000..37cc804 --- /dev/null +++ b/Server/server/tesi/tesi.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Server/webApp/.prova.php.swp b/Server/webApp/.prova.php.swp new file mode 100644 index 0000000000000000000000000000000000000000..48d1c1c43ad2807ddf1c1bc4fcb50b6f74056bc2 GIT binary patch literal 12288 zcmeI2&ubGw6vwB6heBILk6xZ@zy#84>JKVtT18qK&{k|JLMdUAed#XU>@2g}#H|#) z2znG0QBVE}{t=>ogNSGU1HqGTHrs8gh6+6?Z{W+Y*?HghozG4VA=|3ntKWv%$|XVL zq!3SEJB_>LvUoNtgjOmxA0IYk8?_h6!C2Q5pGY4_?@5nI4bpW|jWk92J}JaU(p%DV(md%K_4rJBM|wkg zMKXOOk|yzB0!)AjFaajO1egF5U;<3wzaua|C&sbuD!>QWE?V>k@O0bv0J_o(%=^HW zS+Fa{fd);3wbrWAIw?c!qDJV;2xI`LwbHO1`bs)punCFU*3j{MtXNmGdO$xyc$nKX zTufJhRe_d_Fpym=LZP`>zqPQsZkghST1y?Rjdjc1wl+!?u)w9BEyN(}hfdza>p-!q zde|H!L8obKiX%Lhl}{=5j(7BSEX#45{? z?q;yr6zU$RoJ9&NQ1QXsCUaqscV!D|HK?Y|spU-<+gqmb{%z_TVQhL$SC}gw?p`04lY;CI2h4D2D9StbEGBG*C?HYj-MCBQ69qF zYYsju{{B>k!TiBRj2FDF+{8t5ev%NO2B9<$t)mW@mG9hWEY+76SDFj=8w<;;^_Ark v0UHK5W3Goz1zGJ~I-Z81V>|MIWv6z?$W+$A!U%QS+wpAreq5V3@816e^LRwI literal 0 HcmV?d00001 diff --git a/Server/webApp/esercizi/aalbero.xml b/Server/webApp/esercizi/aalbero.xml new file mode 100644 index 0000000..8591816 --- /dev/null +++ b/Server/webApp/esercizi/aalbero.xml @@ -0,0 +1,16 @@ + + + + + + + a + b + + + c + d + + + + diff --git a/Server/webApp/esercizi/demorgan.xml b/Server/webApp/esercizi/demorgan.xml new file mode 100644 index 0000000..1445f1f --- /dev/null +++ b/Server/webApp/esercizi/demorgan.xml @@ -0,0 +1,27 @@ + + + + + + + A + B + + + + + A + + + B + + + + + + + 13 + 60 + 5 + + diff --git a/Server/webApp/esercizi/demorgan2.xml b/Server/webApp/esercizi/demorgan2.xml new file mode 100644 index 0000000..1445f1f --- /dev/null +++ b/Server/webApp/esercizi/demorgan2.xml @@ -0,0 +1,27 @@ + + + + + + + A + B + + + + + A + + + B + + + + + + + 13 + 60 + 5 + + diff --git a/Server/webApp/esercizi/risolvibile.xml b/Server/webApp/esercizi/risolvibile.xml new file mode 100644 index 0000000..ee115e9 --- /dev/null +++ b/Server/webApp/esercizi/risolvibile.xml @@ -0,0 +1,35 @@ + + + + + A + + B + + + R + + + + A + B + + + R + + + + + A + + + + + B + + + 13 + 60 + 5 + + diff --git a/Server/webApp/esercizi/tautologia.xml b/Server/webApp/esercizi/tautologia.xml new file mode 100644 index 0000000..4c8d1c3 --- /dev/null +++ b/Server/webApp/esercizi/tautologia.xml @@ -0,0 +1,15 @@ + + + + + + A + A + + + + 13 + 60 + 5 + + diff --git a/Server/webApp/esercizi/test.xml b/Server/webApp/esercizi/test.xml new file mode 100644 index 0000000..4a1e680 --- /dev/null +++ b/Server/webApp/esercizi/test.xml @@ -0,0 +1,12 @@ + + + + + top + + + + + + + diff --git a/Server/webApp/index.html b/Server/webApp/index.html new file mode 100755 index 0000000..62e3446 --- /dev/null +++ b/Server/webApp/index.html @@ -0,0 +1,17 @@ + + + + + + + + + +

Benvenuto nella pagina di amministazione

+
+ + + +
+ + diff --git a/Server/webApp/index.html~ b/Server/webApp/index.html~ new file mode 100755 index 0000000..e566e53 --- /dev/null +++ b/Server/webApp/index.html~ @@ -0,0 +1,17 @@ + + + + + + + + + +

Benvenuto nella pagina di amministazione

+
+ + + +
+ + \ No newline at end of file diff --git a/Server/webApp/login.css b/Server/webApp/login.css new file mode 100755 index 0000000..dc4f5da --- /dev/null +++ b/Server/webApp/login.css @@ -0,0 +1,16 @@ +#login +{ + width:100%; + display:inline-block; + text-align:center; +} +#esTable +{ + display:block; + float:left; +} +#tabella +{ + display:block; + float:left; +} diff --git a/Server/webApp/login.js b/Server/webApp/login.js new file mode 100755 index 0000000..e9afdc4 --- /dev/null +++ b/Server/webApp/login.js @@ -0,0 +1,65 @@ +function change() +{ +/*Quando viene chiamata, modifica il campo "location" di document*/ +/*effettuando un redirect sulla pagina main.php*/ +document.location.href="./main.php"; +} + + + + +function login() +{ + var jsonlogin=new Object(); + jsonlogin.username=$('#username').val(); //recupero i dati di login dai rispettivi campi dell'HTML + jsonlogin.password=$('#password').val(); + var sendstr = JSON.stringify(jsonlogin); //creo il JSON di invio al server + $.ajax + ({ + type: 'POST', + url: 'login.php', + async: false, + contentType: 'application/json; charset=utf-8', + dataType: 'json', + data: sendstr, + success: function(response) + { //in caso di successo della richiesta viene eseguita questa funzione + if (response['result']=="login effettuato con successo") + //cioè se il server ha ritornato che l'utente è stato trovato con successo + change(); + else + $("#errlogin").fadeIn(); + setTimeout(function(){$("#errlogin").fadeOut()}, 2000); + + } + }); +} + + + + + +$(document).ready +( + function () + { + $("#errlogin").hide(); //nasconde i div di errore del login + //funzione che effettua login se bottone viene cliccato + $("#loginForm").click + ( + function() + { + login(); + } + ); + //funzione che effettua login se tasto "INVIO" viene cliccato + $("#password").keyup( + function(invio) + { + if(invio.keyCode == 13) { + login(); + } + + }); + } +); diff --git a/Server/webApp/login.js~ b/Server/webApp/login.js~ new file mode 100755 index 0000000..5866524 --- /dev/null +++ b/Server/webApp/login.js~ @@ -0,0 +1,66 @@ +function change() +{ +/*Quando viene chiamata, modifica il campo "location" di document*/ +/*effettuando un redirect sulla pagina main.php*/ +document.location.href="./prova.html"; +} + + + + +function login() +{ + var jsonlogin=new Object(); + jsonlogin.username=$('#username').val(); //recupero i dati di login dai rispettivi campi dell'HTML + jsonlogin.password=$('#password').val(); + window.alert($('#username').val()+$('#password').val()); + var sendstr = JSON.stringify(jsonlogin); //creo il JSON di invio al server + $.ajax + ({ + type: 'POST', + url: 'login.php', + async: false, + contentType: 'application/json; charset=utf-8', + dataType: 'json', + data: sendstr, + success: function(response) + { //in caso di successo della richiesta viene eseguita questa funzione + if (response['result']=="login effettuato con successo") + //cioè se il server ha ritornato che l'utente è stato trovato con successo + change(); + else + $("#errlogin").fadeIn(); + setTimeout(function(){$("#errlogin").fadeOut()}, 2000); + + } + }); +} + + + + + +$(document).ready +( + function () + { + $("#errlogin").hide(); //nasconde i div di errore del login + //funzione che effettua login se bottone viene cliccato + $("#loginForm").click + ( + function() + { + login(); + } + ); + //funzione che effettua login se tasto "INVIO" viene cliccato + $("#password").keyup( + function(invio) + { + if(invio.keyCode == 13) { + login(); + } + + }); + } +); diff --git a/Server/webApp/login.php b/Server/webApp/login.php new file mode 100755 index 0000000..4053a81 --- /dev/null +++ b/Server/webApp/login.php @@ -0,0 +1,41 @@ +"errore nella connessione al database"); + $ris=json_encode($arr); + echo $ris; + die; + } + else + { + $str="SELECT * FROM admin WHERE username='".$result->username."' AND password='".$result->password."';"; + $exists= mysqli_query($con,$str); + if (!($exists)) + { + $arr=array('result'=>"errore nella ricerca all'interno del database"); + $ris=json_encode($arr); + echo $ris; + die; + } + $res=mysqli_num_rows($exists); + if ($res==1) + { + $ID=mysqli_fetch_array($exists); + $_SESSION["username"]=$result->username; + $arr = array('result'=>"login effettuato con successo"); + $ris=json_encode($arr); + echo $ris; + } + else + { + $arr= array('result'=>"Utente non trovato"); + $ris=json_encode($arr); + echo $ris; + } + } + mysqli_close($con) +?> diff --git a/Server/webApp/login.php~ b/Server/webApp/login.php~ new file mode 100755 index 0000000..5206e97 --- /dev/null +++ b/Server/webApp/login.php~ @@ -0,0 +1,42 @@ +"errore nella connessione al database"); + $ris=json_encode($arr); + echo $ris; + die; + } + else + { + $str="SELECT * FROM admin WHERE username='danilo.berardinelli' AND password='123stella';"; + $exists= mysqli_query($con,$str); + if (!($exists)) + { + $arr=array('result'=>"errore nella ricerca all'interno del database"); + $ris=json_encode($arr); + echo $ris; + die; + } + $res=mysqli_num_rows($exists); + if ($res==1) + { + $ID=mysqli_fetch_array($exists); + $_SESSION["username"]=$result->username; + $arr = array('result'=>"login effettuato con successo"); + $ris=json_encode($arr); + echo $ris; + } + else + { + $arr= array('result'=>"Utente non trovato"); + $ris=json_encode($arr); + echo $ris; + } + + } + mysqli_close($con) +?> diff --git a/Server/webApp/logout.js b/Server/webApp/logout.js new file mode 100755 index 0000000..9817f6a --- /dev/null +++ b/Server/webApp/logout.js @@ -0,0 +1,18 @@ +function change() +{ + document.location.href="index.html"; +} +function logout() +{ + $.ajax({ + type: 'POST', + url: 'logout.php', + async: false + }).success + ( + function(response) + { + change(); + } + ); +} diff --git a/Server/webApp/logout.php b/Server/webApp/logout.php new file mode 100755 index 0000000..7060d00 --- /dev/null +++ b/Server/webApp/logout.php @@ -0,0 +1,7 @@ +"logout effettuato con successo"); + $ris=json_encode($arr); + echo $ris; +?> diff --git a/Server/webApp/main.php b/Server/webApp/main.php new file mode 100755 index 0000000..2866325 --- /dev/null +++ b/Server/webApp/main.php @@ -0,0 +1,41 @@ + + + + + + + + + + + + +
+ Select file to upload: + + +
+
+
+ + + + +
Lista Esercizi
+ + + + + + + + + diff --git a/Server/webApp/printEs.php b/Server/webApp/printEs.php new file mode 100755 index 0000000..6c4b6e8 --- /dev/null +++ b/Server/webApp/printEs.php @@ -0,0 +1,13 @@ +"; + + while (false !== ($file = readdir($handle))) { + if($file!="." && $file!="..") + echo "$file
"; + } + + closedir($handle); + } +?> diff --git a/Server/webApp/prova.html~ b/Server/webApp/prova.html~ new file mode 100755 index 0000000..0e3d827 --- /dev/null +++ b/Server/webApp/prova.html~ @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/Server/webApp/prova.js b/Server/webApp/prova.js new file mode 100755 index 0000000..62d03ef --- /dev/null +++ b/Server/webApp/prova.js @@ -0,0 +1,72 @@ +function update(event) +{ + var str; + if (event==null) + str='all'; + else{ + var object=event.target; + str=object.getAttribute("esercizio"); + } + var query="./serverRequest.php"; + var request=new Object(); + request.name=str; + var sendstr=JSON.stringify(request); + $.ajax({ + url:query, + type:"POST", + async: "true", + dataType: "json", + data:sendstr, + contentType: "application/json; charset=utf-8", + success:function(val) + { + $("#tabella").empty(); + $("#tabella").append(""); + $.each(val.esercizi, function(i, item) { + var id="es"+i; + for(j=0;j').attr('id',id_i)); + id_i="#"+id_i; + $(id_i).append($('"); + $.each(val.esercizi, function(i, item) { + var id="ex"+i; + $("#esTable").append($('').attr('id',id)); + $("#ex"+i).append($('
Nome EsercizioStudenteclick
Nome EsercizioStudenteClick').text(item.esercizio)); + $(id_i).append($('').text(item.risultati[j].utente)); + $(id_i).append($('').text(item.risultati[j].click)); + $(id_i).append($('').attr('risultato',item.risultati[j].click)); + } + }); + }, + }); +} + +function esList() +{ + var query="./xmlPharse.php"; + $.ajax({ + url:query, + type:"GET", + async: "true", + dataType: "json", + accepts: {json:"application/json"}, + success:function(val) + { + $("#esTable").empty(); + $("#esTable").append("
Nome Esercizio
').text(item)); + $("#ex"+i).append($('').attr('esercizio',item)); + $("#ex"+i).append($('').attr('esercizio',item)); + }); + $("#esTable").append(''); + $(".seleziona").click(function(event){update(event);}); + }, + }); +} + +$(document).ready(function(){ + esList(); + update(); + $(".seleziona").click(function(event){update(event);}); +}); diff --git a/Server/webApp/prova.pho b/Server/webApp/prova.pho new file mode 100755 index 0000000..e69de29 diff --git a/Server/webApp/prova.pho~ b/Server/webApp/prova.pho~ new file mode 100755 index 0000000..e69de29 diff --git a/Server/webApp/prova.php b/Server/webApp/prova.php new file mode 100755 index 0000000..6284333 --- /dev/null +++ b/Server/webApp/prova.php @@ -0,0 +1,39 @@ + 500000) { + echo "Sorry, your file is too large."; + $uploadOk = 0; + } + // Check if $uploadOk is set to 0 by an error + if ($uploadOk == 0) { + echo "Sorry, your file was not uploaded."; + // if everything is ok, try to upload file + } else { + if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { + echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded."; + } else { + echo "Sorry, there was an error uploading your file."; + } + } + echo exec("php-cli main.php"); +?> + + + + + +
+ Select file to upload: + + +
+ diff --git a/Server/webApp/prova.php~ b/Server/webApp/prova.php~ new file mode 100755 index 0000000..0f7fcaa --- /dev/null +++ b/Server/webApp/prova.php~ @@ -0,0 +1,44 @@ + 500000) { + echo "Sorry, your file is too large."; + $uploadOk = 0; + } + // Allow certain file formats + /*if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" + && $imageFileType != "gif" ) { + echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; + $uploadOk = 0; + }*/ + // Check if $uploadOk is set to 0 by an error + if ($uploadOk == 0) { + echo "Sorry, your file was not uploaded."; + // if everything is ok, try to upload file + } else { + if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { + echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded."; + } else { + echo "Sorry, there was an error uploading your file."; + } + } +?> diff --git a/Server/webApp/prova.txt b/Server/webApp/prova.txt new file mode 100755 index 0000000..28c1837 --- /dev/null +++ b/Server/webApp/prova.txt @@ -0,0 +1,2 @@ +mi sei riuscito a scaricare + diff --git a/Server/webApp/prova.txt~ b/Server/webApp/prova.txt~ new file mode 100755 index 0000000..e69de29 diff --git a/Server/webApp/serverRequest.php b/Server/webApp/serverRequest.php new file mode 100755 index 0000000..9140fd7 --- /dev/null +++ b/Server/webApp/serverRequest.php @@ -0,0 +1,54 @@ +"errore nella connessione al database"); + $ris=json_encode($arr); + echo $ris; + die; + } + if($result->name=='all') + $str="SELECT * FROM esercizi;"; + else + $str="SELECT * FROM esercizi WHERE esercizio='".$result->name."' ORDER BY esercizio;"; + $str=mysqli_query($con,$str); + if (!$str) + { + $arr= array('result'=>"nessun elemento presente"); + $ris=json_encode($arr); + echo $ris; + die; + } + $esercizi; + $risp=mysqli_fetch_array($str); + $risultati; + $esercizio['esercizio']=$risp['esercizio']; + do + { + if($esercizio['esercizio']==$risp['esercizio']) + { + //aggiungo utenti e click ell'es corrente + $risultati[]=array('id'=>$risp['id'],'utente'=>$risp['utente'],'click'=>$risp['click']); + } + else + { + //reimposto i campi per un nuovo esercizio + $esercizio['risultati']=$risultati; + $esercizi[]=$esercizio; + unset($esercizio); + unset($risultati); + $esercizio['esercizio']=$risp['esercizio']; + $risultati[]=array('id'=>$risp['id'],'utente'=>$risp['utente'],'click'=>$risp['click']); + } + }while($risp=mysqli_fetch_array($str)); + $esercizio['risultati']=$risultati; + $esercizi[]=$esercizio; + $ex=array('esercizi'=>$esercizi); + unset($esercizio); + unset($risultati); + $return_json=__json_encode($ex); + echo $return_json; +?> diff --git a/Server/webApp/upload.php b/Server/webApp/upload.php new file mode 100755 index 0000000..67c3a7a --- /dev/null +++ b/Server/webApp/upload.php @@ -0,0 +1,53 @@ + 500000) { + echo "Sorry, your file is too large."; + $uploadOk = 0; + } + // Allow certain file formats + /*if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" + && $imageFileType != "gif" ) { + echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; + $uploadOk = 0; + }*/ + // Check if $uploadOk is set to 0 by an error + if ($uploadOk == 0) { + echo "Sorry, your file was not uploaded."; + // if everything is ok, try to upload file + } else { + if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { + echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded."; + } else { + echo "Sorry, there was an error uploading your file."; + } + } +?> + + + + + +
+ +
+ diff --git a/Server/webApp/upload.php~ b/Server/webApp/upload.php~ new file mode 100755 index 0000000..9cf7a77 --- /dev/null +++ b/Server/webApp/upload.php~ @@ -0,0 +1,33 @@ + diff --git a/Server/webApp/util.php b/Server/webApp/util.php new file mode 100755 index 0000000..0c7fbec --- /dev/null +++ b/Server/webApp/util.php @@ -0,0 +1,41 @@ + $value ) { + $items [] = __json_encode ( "$key" ) . ':' . __json_encode ( $value ); + } + $json = '{' . implode ( ',', $items ) . '}'; + } + } elseif (is_string ( $data )) { + $json = '"' . addcslashes ( $data, '\\"' ) . '"'; + } else { + // int, floats, bools, null + $json = strtolower ( var_export ( $data, true ) ); + } + return $json; +} + +function GET_check() +{ +if (!isset($_GET['scope']) or !isset($_GET['type']) or !($_GET['lat']) or !isset($_GET['lng']) or !isset($_GET['radius']) or !isset($_GET['timemin']) or !isset($_GET['timemax']) or !isset($_GET['status'])) + return false; +else return true; +} +function POST_check($params) +{ +if (!$params->type or !$params->lat or !$params->lng) return false; +else return true; +} + +function NOTIFY_check($params) +{ +if (!$params->event_id or !$params->lat or !$params->lng or !$params->status) return false; +else return true; +} +?> diff --git a/Server/webApp/xmlPharse.php b/Server/webApp/xmlPharse.php new file mode 100755 index 0000000..a2090df --- /dev/null +++ b/Server/webApp/xmlPharse.php @@ -0,0 +1,11 @@ +esercizio as $esercizio) + { + $esercizi['esercizi'][]="$esercizio"; + } + $return_json=__json_encode($esercizi); + echo $return_json; +?> diff --git a/public_html/esercizi/demorgan2.xml b/public_html/esercizi/demorgan2.xml new file mode 100644 index 0000000..1445f1f --- /dev/null +++ b/public_html/esercizi/demorgan2.xml @@ -0,0 +1,27 @@ + + + + + + + A + B + + + + + A + + + B + + + + + + + 13 + 60 + 5 + + diff --git a/public_html/esercizi/risolvibile.xml b/public_html/esercizi/risolvibile.xml new file mode 100644 index 0000000..ee115e9 --- /dev/null +++ b/public_html/esercizi/risolvibile.xml @@ -0,0 +1,35 @@ + + + + + A + + B + + + R + + + + A + B + + + R + + + + + A + + + + + B + + + 13 + 60 + 5 + + diff --git a/public_html/esercizi/test.xml b/public_html/esercizi/test.xml new file mode 100644 index 0000000..7985a27 --- /dev/null +++ b/public_html/esercizi/test.xml @@ -0,0 +1,12 @@ + + + + + top + + + 1 + 5 + 1 + + diff --git a/public_html/esercizi/triviale.xml b/public_html/esercizi/triviale.xml new file mode 100644 index 0000000..b7fb3dc --- /dev/null +++ b/public_html/esercizi/triviale.xml @@ -0,0 +1,15 @@ + + + + + + A + A + + + + 2 + 10 + 2 + + diff --git a/public_html/index.html b/public_html/index.html new file mode 100755 index 0000000..62e3446 --- /dev/null +++ b/public_html/index.html @@ -0,0 +1,17 @@ + + + + + + + + + +

Benvenuto nella pagina di amministazione

+
+ + + +
+ + diff --git a/public_html/index.html~ b/public_html/index.html~ new file mode 100755 index 0000000..e566e53 --- /dev/null +++ b/public_html/index.html~ @@ -0,0 +1,17 @@ + + + + + + + + + +

Benvenuto nella pagina di amministazione

+
+ + + +
+ + \ No newline at end of file diff --git a/public_html/login.css b/public_html/login.css new file mode 100755 index 0000000..dc4f5da --- /dev/null +++ b/public_html/login.css @@ -0,0 +1,16 @@ +#login +{ + width:100%; + display:inline-block; + text-align:center; +} +#esTable +{ + display:block; + float:left; +} +#tabella +{ + display:block; + float:left; +} diff --git a/public_html/login.js b/public_html/login.js new file mode 100755 index 0000000..e9afdc4 --- /dev/null +++ b/public_html/login.js @@ -0,0 +1,65 @@ +function change() +{ +/*Quando viene chiamata, modifica il campo "location" di document*/ +/*effettuando un redirect sulla pagina main.php*/ +document.location.href="./main.php"; +} + + + + +function login() +{ + var jsonlogin=new Object(); + jsonlogin.username=$('#username').val(); //recupero i dati di login dai rispettivi campi dell'HTML + jsonlogin.password=$('#password').val(); + var sendstr = JSON.stringify(jsonlogin); //creo il JSON di invio al server + $.ajax + ({ + type: 'POST', + url: 'login.php', + async: false, + contentType: 'application/json; charset=utf-8', + dataType: 'json', + data: sendstr, + success: function(response) + { //in caso di successo della richiesta viene eseguita questa funzione + if (response['result']=="login effettuato con successo") + //cioè se il server ha ritornato che l'utente è stato trovato con successo + change(); + else + $("#errlogin").fadeIn(); + setTimeout(function(){$("#errlogin").fadeOut()}, 2000); + + } + }); +} + + + + + +$(document).ready +( + function () + { + $("#errlogin").hide(); //nasconde i div di errore del login + //funzione che effettua login se bottone viene cliccato + $("#loginForm").click + ( + function() + { + login(); + } + ); + //funzione che effettua login se tasto "INVIO" viene cliccato + $("#password").keyup( + function(invio) + { + if(invio.keyCode == 13) { + login(); + } + + }); + } +); diff --git a/public_html/login.js~ b/public_html/login.js~ new file mode 100755 index 0000000..5866524 --- /dev/null +++ b/public_html/login.js~ @@ -0,0 +1,66 @@ +function change() +{ +/*Quando viene chiamata, modifica il campo "location" di document*/ +/*effettuando un redirect sulla pagina main.php*/ +document.location.href="./prova.html"; +} + + + + +function login() +{ + var jsonlogin=new Object(); + jsonlogin.username=$('#username').val(); //recupero i dati di login dai rispettivi campi dell'HTML + jsonlogin.password=$('#password').val(); + window.alert($('#username').val()+$('#password').val()); + var sendstr = JSON.stringify(jsonlogin); //creo il JSON di invio al server + $.ajax + ({ + type: 'POST', + url: 'login.php', + async: false, + contentType: 'application/json; charset=utf-8', + dataType: 'json', + data: sendstr, + success: function(response) + { //in caso di successo della richiesta viene eseguita questa funzione + if (response['result']=="login effettuato con successo") + //cioè se il server ha ritornato che l'utente è stato trovato con successo + change(); + else + $("#errlogin").fadeIn(); + setTimeout(function(){$("#errlogin").fadeOut()}, 2000); + + } + }); +} + + + + + +$(document).ready +( + function () + { + $("#errlogin").hide(); //nasconde i div di errore del login + //funzione che effettua login se bottone viene cliccato + $("#loginForm").click + ( + function() + { + login(); + } + ); + //funzione che effettua login se tasto "INVIO" viene cliccato + $("#password").keyup( + function(invio) + { + if(invio.keyCode == 13) { + login(); + } + + }); + } +); diff --git a/public_html/login.php b/public_html/login.php new file mode 100755 index 0000000..adadff4 --- /dev/null +++ b/public_html/login.php @@ -0,0 +1,41 @@ +"errore nella connessione al database"); + $ris=json_encode($arr); + echo $ris; + die; + } + else + { + $str="SELECT * FROM admin WHERE username='".$result->username."' AND password='".$result->password."';"; + $exists= mysqli_query($con,$str); + if (!($exists)) + { + $arr=array('result'=>"errore nella ricerca all'interno del database"); + $ris=json_encode($arr); + echo $ris; + die; + } + $res=mysqli_num_rows($exists); + if ($res==1) + { + $ID=mysqli_fetch_array($exists); + $_SESSION["username"]=$result->username; + $arr = array('result'=>"login effettuato con successo"); + $ris=json_encode($arr); + echo $ris; + } + else + { + $arr= array('result'=>"Utente non trovato"); + $ris=json_encode($arr); + echo $ris; + } + } + mysqli_close($con) +?> diff --git a/public_html/login.php~ b/public_html/login.php~ new file mode 100755 index 0000000..5206e97 --- /dev/null +++ b/public_html/login.php~ @@ -0,0 +1,42 @@ +"errore nella connessione al database"); + $ris=json_encode($arr); + echo $ris; + die; + } + else + { + $str="SELECT * FROM admin WHERE username='danilo.berardinelli' AND password='123stella';"; + $exists= mysqli_query($con,$str); + if (!($exists)) + { + $arr=array('result'=>"errore nella ricerca all'interno del database"); + $ris=json_encode($arr); + echo $ris; + die; + } + $res=mysqli_num_rows($exists); + if ($res==1) + { + $ID=mysqli_fetch_array($exists); + $_SESSION["username"]=$result->username; + $arr = array('result'=>"login effettuato con successo"); + $ris=json_encode($arr); + echo $ris; + } + else + { + $arr= array('result'=>"Utente non trovato"); + $ris=json_encode($arr); + echo $ris; + } + + } + mysqli_close($con) +?> diff --git a/public_html/logout.js b/public_html/logout.js new file mode 100755 index 0000000..9817f6a --- /dev/null +++ b/public_html/logout.js @@ -0,0 +1,18 @@ +function change() +{ + document.location.href="index.html"; +} +function logout() +{ + $.ajax({ + type: 'POST', + url: 'logout.php', + async: false + }).success + ( + function(response) + { + change(); + } + ); +} diff --git a/public_html/logout.php b/public_html/logout.php new file mode 100755 index 0000000..7060d00 --- /dev/null +++ b/public_html/logout.php @@ -0,0 +1,7 @@ +"logout effettuato con successo"); + $ris=json_encode($arr); + echo $ris; +?> diff --git a/public_html/main.php b/public_html/main.php new file mode 100755 index 0000000..2866325 --- /dev/null +++ b/public_html/main.php @@ -0,0 +1,41 @@ + + + + + + + + + + + + +
+ Select file to upload: + + +
+
+
+ + + + +
Lista Esercizi
+ + + + + + + + + diff --git a/public_html/printEs.php b/public_html/printEs.php new file mode 100755 index 0000000..6c4b6e8 --- /dev/null +++ b/public_html/printEs.php @@ -0,0 +1,13 @@ +"; + + while (false !== ($file = readdir($handle))) { + if($file!="." && $file!="..") + echo "$file
"; + } + + closedir($handle); + } +?> diff --git a/public_html/prova.html~ b/public_html/prova.html~ new file mode 100755 index 0000000..0e3d827 --- /dev/null +++ b/public_html/prova.html~ @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/public_html/prova.js b/public_html/prova.js new file mode 100755 index 0000000..62d03ef --- /dev/null +++ b/public_html/prova.js @@ -0,0 +1,72 @@ +function update(event) +{ + var str; + if (event==null) + str='all'; + else{ + var object=event.target; + str=object.getAttribute("esercizio"); + } + var query="./serverRequest.php"; + var request=new Object(); + request.name=str; + var sendstr=JSON.stringify(request); + $.ajax({ + url:query, + type:"POST", + async: "true", + dataType: "json", + data:sendstr, + contentType: "application/json; charset=utf-8", + success:function(val) + { + $("#tabella").empty(); + $("#tabella").append(""); + $.each(val.esercizi, function(i, item) { + var id="es"+i; + for(j=0;j').attr('id',id_i)); + id_i="#"+id_i; + $(id_i).append($('"); + $.each(val.esercizi, function(i, item) { + var id="ex"+i; + $("#esTable").append($('').attr('id',id)); + $("#ex"+i).append($('
Nome EsercizioStudenteclick
Nome EsercizioStudenteClick').text(item.esercizio)); + $(id_i).append($('').text(item.risultati[j].utente)); + $(id_i).append($('').text(item.risultati[j].click)); + $(id_i).append($('').attr('risultato',item.risultati[j].click)); + } + }); + }, + }); +} + +function esList() +{ + var query="./xmlPharse.php"; + $.ajax({ + url:query, + type:"GET", + async: "true", + dataType: "json", + accepts: {json:"application/json"}, + success:function(val) + { + $("#esTable").empty(); + $("#esTable").append("
Nome Esercizio
').text(item)); + $("#ex"+i).append($('').attr('esercizio',item)); + $("#ex"+i).append($('').attr('esercizio',item)); + }); + $("#esTable").append(''); + $(".seleziona").click(function(event){update(event);}); + }, + }); +} + +$(document).ready(function(){ + esList(); + update(); + $(".seleziona").click(function(event){update(event);}); +}); diff --git a/public_html/prova.pho b/public_html/prova.pho new file mode 100755 index 0000000..e69de29 diff --git a/public_html/prova.pho~ b/public_html/prova.pho~ new file mode 100755 index 0000000..e69de29 diff --git a/public_html/prova.php b/public_html/prova.php new file mode 100755 index 0000000..6284333 --- /dev/null +++ b/public_html/prova.php @@ -0,0 +1,39 @@ + 500000) { + echo "Sorry, your file is too large."; + $uploadOk = 0; + } + // Check if $uploadOk is set to 0 by an error + if ($uploadOk == 0) { + echo "Sorry, your file was not uploaded."; + // if everything is ok, try to upload file + } else { + if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { + echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded."; + } else { + echo "Sorry, there was an error uploading your file."; + } + } + echo exec("php-cli main.php"); +?> + + + + + +
+ Select file to upload: + + +
+ diff --git a/public_html/prova.php~ b/public_html/prova.php~ new file mode 100755 index 0000000..0f7fcaa --- /dev/null +++ b/public_html/prova.php~ @@ -0,0 +1,44 @@ + 500000) { + echo "Sorry, your file is too large."; + $uploadOk = 0; + } + // Allow certain file formats + /*if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" + && $imageFileType != "gif" ) { + echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; + $uploadOk = 0; + }*/ + // Check if $uploadOk is set to 0 by an error + if ($uploadOk == 0) { + echo "Sorry, your file was not uploaded."; + // if everything is ok, try to upload file + } else { + if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { + echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded."; + } else { + echo "Sorry, there was an error uploading your file."; + } + } +?> diff --git a/public_html/prova.txt b/public_html/prova.txt new file mode 100755 index 0000000..28c1837 --- /dev/null +++ b/public_html/prova.txt @@ -0,0 +1,2 @@ +mi sei riuscito a scaricare + diff --git a/public_html/prova.txt~ b/public_html/prova.txt~ new file mode 100755 index 0000000..e69de29 diff --git a/public_html/serverRequest.php b/public_html/serverRequest.php new file mode 100755 index 0000000..9f7a781 --- /dev/null +++ b/public_html/serverRequest.php @@ -0,0 +1,54 @@ +"errore nella connessione al database"); + $ris=json_encode($arr); + echo $ris; + die; + } + if($result->name=='all') + $str="SELECT * FROM esercizi;"; + else + $str="SELECT * FROM esercizi WHERE esercizio='".$result->name."' ORDER BY esercizio;"; + $str=mysqli_query($con,$str); + if (!$str) + { + $arr= array('result'=>"nessun elemento presente"); + $ris=json_encode($arr); + echo $ris; + die; + } + $esercizi; + $risp=mysqli_fetch_array($str); + $risultati; + $esercizio['esercizio']=$risp['esercizio']; + do + { + if($esercizio['esercizio']==$risp['esercizio']) + { + //aggiungo utenti e click ell'es corrente + $risultati[]=array('id'=>$risp['id'],'utente'=>$risp['utente'],'click'=>$risp['click']); + } + else + { + //reimposto i campi per un nuovo esercizio + $esercizio['risultati']=$risultati; + $esercizi[]=$esercizio; + unset($esercizio); + unset($risultati); + $esercizio['esercizio']=$risp['esercizio']; + $risultati[]=array('id'=>$risp['id'],'utente'=>$risp['utente'],'click'=>$risp['click']); + } + }while($risp=mysqli_fetch_array($str)); + $esercizio['risultati']=$risultati; + $esercizi[]=$esercizio; + $ex=array('esercizi'=>$esercizi); + unset($esercizio); + unset($risultati); + $return_json=__json_encode($ex); + echo $return_json; +?> diff --git a/public_html/upload.php b/public_html/upload.php new file mode 100755 index 0000000..67c3a7a --- /dev/null +++ b/public_html/upload.php @@ -0,0 +1,53 @@ + 500000) { + echo "Sorry, your file is too large."; + $uploadOk = 0; + } + // Allow certain file formats + /*if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" + && $imageFileType != "gif" ) { + echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; + $uploadOk = 0; + }*/ + // Check if $uploadOk is set to 0 by an error + if ($uploadOk == 0) { + echo "Sorry, your file was not uploaded."; + // if everything is ok, try to upload file + } else { + if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { + echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded."; + } else { + echo "Sorry, there was an error uploading your file."; + } + } +?> + + + + + +
+ +
+ diff --git a/public_html/upload.php~ b/public_html/upload.php~ new file mode 100755 index 0000000..9cf7a77 --- /dev/null +++ b/public_html/upload.php~ @@ -0,0 +1,33 @@ + diff --git a/public_html/util.php b/public_html/util.php new file mode 100755 index 0000000..0c7fbec --- /dev/null +++ b/public_html/util.php @@ -0,0 +1,41 @@ + $value ) { + $items [] = __json_encode ( "$key" ) . ':' . __json_encode ( $value ); + } + $json = '{' . implode ( ',', $items ) . '}'; + } + } elseif (is_string ( $data )) { + $json = '"' . addcslashes ( $data, '\\"' ) . '"'; + } else { + // int, floats, bools, null + $json = strtolower ( var_export ( $data, true ) ); + } + return $json; +} + +function GET_check() +{ +if (!isset($_GET['scope']) or !isset($_GET['type']) or !($_GET['lat']) or !isset($_GET['lng']) or !isset($_GET['radius']) or !isset($_GET['timemin']) or !isset($_GET['timemax']) or !isset($_GET['status'])) + return false; +else return true; +} +function POST_check($params) +{ +if (!$params->type or !$params->lat or !$params->lng) return false; +else return true; +} + +function NOTIFY_check($params) +{ +if (!$params->event_id or !$params->lat or !$params->lng or !$params->status) return false; +else return true; +} +?> diff --git a/public_html/xmlPharse.php b/public_html/xmlPharse.php new file mode 100755 index 0000000..6dbe115 --- /dev/null +++ b/public_html/xmlPharse.php @@ -0,0 +1,11 @@ +esercizio as $esercizio) + { + $esercizi['esercizi'][]="$esercizio"; + } + $return_json=__json_encode($esercizi); + echo $return_json; +?> -- 2.39.2