Selaa lähdekoodia

Add basics, upload etc

Aaron Speer 7 vuotta sitten
vanhempi
commit
73b7e83bc4
43 muutettua tiedostoa jossa 76 lisäystä ja 0 poistoa
  1. 1 0
      .gitignore
  2. 24 0
      app/Controllers/HomeController.php
  3. 1 0
      public/index.php
  4. BIN
      public/tmp/124093ca815c994f1e48ab7d13ea8f8d17137bc15a2deda5863d1b350ae7171d/Approval Panel Intro - Final.doc
  5. BIN
      public/tmp/124093ca815c994f1e48ab7d13ea8f8d17137bc15a2deda5863d1b350ae7171d/Approval Panel Intro - Final.pdf
  6. BIN
      public/tmp/46982d3557388a3b7d5f9a9de1f7c85112506de6a68934949335ad4443291191/Approval Panel Intro - Final.doc
  7. BIN
      public/tmp/46982d3557388a3b7d5f9a9de1f7c85112506de6a68934949335ad4443291191/Approval Panel Intro - Final.pdf
  8. BIN
      public/tmp/564e8dd6886e01713fd3a3bff022dcc2e4fc9ec50d02ac40003be31bcdd9f922/Approval Panel Intro - Final.doc
  9. BIN
      public/tmp/564e8dd6886e01713fd3a3bff022dcc2e4fc9ec50d02ac40003be31bcdd9f922/Approval Panel Intro - Final.pdf
  10. BIN
      public/tmp/5c5cb2faf632358554bba34880b0174f84c3e4eeeeb0c6cbdba4acd85b7dfffc/Approval Panel Intro - Final.doc
  11. BIN
      public/tmp/5c5cb2faf632358554bba34880b0174f84c3e4eeeeb0c6cbdba4acd85b7dfffc/Approval Panel Intro - Final.pdf
  12. BIN
      public/tmp/5fcaf2263f590179d48c6dbd4336c24dea98d075e8bb1434466e6f9c4393d85b/Approval Panel Instructions Short Version.docx
  13. BIN
      public/tmp/5fcaf2263f590179d48c6dbd4336c24dea98d075e8bb1434466e6f9c4393d85b/Approval Panel Instructions Short Version.pdf
  14. BIN
      public/tmp/63553f9394a2681fcbd6212ca14958cf6fd7f9e0c0de19fb396db36b632c129d/Approval Panel Instructions Short Version.docx
  15. BIN
      public/tmp/63553f9394a2681fcbd6212ca14958cf6fd7f9e0c0de19fb396db36b632c129d/Approval Panel Instructions Short Version.pdf
  16. BIN
      public/tmp/737f246eded79e3f1de5bc7113961b80567b89c8843e7b4f0da5149f7ddaf770/Approval Panel Instructions Short Version.docx
  17. BIN
      public/tmp/737f246eded79e3f1de5bc7113961b80567b89c8843e7b4f0da5149f7ddaf770/Approval Panel Instructions Short Version.pdf
  18. BIN
      public/tmp/7b0ad55fa54b01af8521e9a7a0fc8e59f71caaaf2f138a079c605d39d7aeeb40/StOff Notepaper.docx
  19. BIN
      public/tmp/7b0ad55fa54b01af8521e9a7a0fc8e59f71caaaf2f138a079c605d39d7aeeb40/StOff Notepaper.pdf
  20. BIN
      public/tmp/809c55c99742ac71009fd07694730b90f16f38f054edacceedae6b7bdec80dda/Approval Panel Instructions Short Version.docx
  21. BIN
      public/tmp/809c55c99742ac71009fd07694730b90f16f38f054edacceedae6b7bdec80dda/Approval Panel Instructions Short Version.pdf
  22. BIN
      public/tmp/9b029b32f7f568a786136109005f1ad85dfe79edc5642e84b581ddc0b05b12db/Approval Panel Intro - Final.doc
  23. BIN
      public/tmp/9b029b32f7f568a786136109005f1ad85dfe79edc5642e84b581ddc0b05b12db/Approval Panel Intro - Final.pdf
  24. BIN
      public/tmp/a308a9471b466e340469a6db79f52d133bfd26ca5116cc702c53802b5ecc33e4/Approval Panel Instructions Short Version.docx
  25. BIN
      public/tmp/a308a9471b466e340469a6db79f52d133bfd26ca5116cc702c53802b5ecc33e4/Approval Panel Instructions Short Version.pdf
  26. BIN
      public/tmp/ab46fea062d7967257c70157184ab3c09e5b5ae35266cdd7fd2f19b93283ec64/Approval Panel Intro - Final.doc
  27. BIN
      public/tmp/ab46fea062d7967257c70157184ab3c09e5b5ae35266cdd7fd2f19b93283ec64/Approval Panel Intro - Final.pdf
  28. BIN
      public/tmp/b74f51f4f1fa4519644de1375a0aebf8f72dcd9493be1777a6871d98af3873e7/Approval Panel Instructions Short Version.docx
  29. BIN
      public/tmp/b74f51f4f1fa4519644de1375a0aebf8f72dcd9493be1777a6871d98af3873e7/Approval Panel Instructions Short Version.pdf
  30. BIN
      public/tmp/d0c46fedbd30f23844b42badaddcf56eb74d88772d49af2026149cffd5ea9918/Approval Panel Instructions Short Version.docx
  31. BIN
      public/tmp/d0c46fedbd30f23844b42badaddcf56eb74d88772d49af2026149cffd5ea9918/Approval Panel Instructions Short Version.pdf
  32. BIN
      public/tmp/db1d787555cc29ee9c203444888da5c1fcd2fd9db989139128078cd1e288aa8b/Approval Panel Intro - Final.doc
  33. BIN
      public/tmp/db1d787555cc29ee9c203444888da5c1fcd2fd9db989139128078cd1e288aa8b/Approval Panel Intro - Final.pdf
  34. BIN
      public/tmp/e53c74553c147fc4224087f12bd22871f33bc975bec879966a8b1e6fb5ee7af6/StOff Notepaper.docx
  35. BIN
      public/tmp/e53c74553c147fc4224087f12bd22871f33bc975bec879966a8b1e6fb5ee7af6/StOff Notepaper.pdf
  36. BIN
      public/tmp/ee2ecd88fcd8f3c4ae35cf8de6e58c5718c893932604fe02820e4b2151fdffb3/Approval Panel Intro - Final.doc
  37. BIN
      public/tmp/ee2ecd88fcd8f3c4ae35cf8de6e58c5718c893932604fe02820e4b2151fdffb3/Approval Panel Intro - Final.pdf
  38. BIN
      public/tmp/f55df60c2f0d5e3e2c51b172e998d2721a56cd8dfd20ea59ed005c676614c265/Approval Panel Intro - Final.doc
  39. BIN
      public/tmp/f55df60c2f0d5e3e2c51b172e998d2721a56cd8dfd20ea59ed005c676614c265/Approval Panel Intro - Final.pdf
  40. BIN
      test.docx
  41. 24 0
      test.html
  42. 10 0
      views/home.twig
  43. 16 0
      views/upload.twig

+ 1 - 0
.gitignore

@@ -1,3 +1,4 @@
 /vendor/
 composer.lock
 config/config.php
+/tmp/

+ 24 - 0
app/Controllers/HomeController.php

@@ -18,4 +18,28 @@ class HomeController extends Controller {
 			"messages" => $this->model->getMessages(),
     ));
   }
+
+  public function upload(){
+    $name = md5(random_int(1, 10000) . microtime()).md5(random_int(1, 10000) . microtime());
+    $address = "/tmp/".$name."/".str_replace(" ", " ", basename( $_FILES['file']['name']));
+    $address = substr_replace($address , 'pdf', strrpos($address , '.') +1);
+    $targetfolder = __DIR__."/../../public/tmp/".$name ."/";
+
+    exec("mkdir ".$targetfolder);
+    $targetfolder = addslashes($targetfolder);
+    $targetfolder = $targetfolder . basename( $_FILES['file']['name']) ;
+
+    if(move_uploaded_file($_FILES['file']['tmp_name'], $targetfolder)){
+      $targetfolder = str_replace(" ", "\ ", $targetfolder);
+      $cmd = "sudo /usr/bin/unoconv --output=".$targetfolder." -f pdf ".$targetfolder;
+      exec($cmd);
+      echo $this->twig->render('upload.twig', array(
+  			"messages" => $this->model->getMessages(),
+        "link" => $address
+      ));
+    }
+    else {
+      echo "Problem uploading file";
+    }
+  }
 }

+ 1 - 0
public/index.php

@@ -32,6 +32,7 @@ require(__DIR__ . "/../app/View.php");
 $router = new AltoRouter();
 $router->setBasePath('');
 $router->map('GET','/', "App\Controllers\HomeController#index", 'home');
+$router->map('GET|POST','/upload', "App\Controllers\HomeController#upload", 'upload');
 $match = $router->match();
 
 

BIN
public/tmp/124093ca815c994f1e48ab7d13ea8f8d17137bc15a2deda5863d1b350ae7171d/Approval Panel Intro - Final.doc


BIN
public/tmp/124093ca815c994f1e48ab7d13ea8f8d17137bc15a2deda5863d1b350ae7171d/Approval Panel Intro - Final.pdf


BIN
public/tmp/46982d3557388a3b7d5f9a9de1f7c85112506de6a68934949335ad4443291191/Approval Panel Intro - Final.doc


BIN
public/tmp/46982d3557388a3b7d5f9a9de1f7c85112506de6a68934949335ad4443291191/Approval Panel Intro - Final.pdf


BIN
public/tmp/564e8dd6886e01713fd3a3bff022dcc2e4fc9ec50d02ac40003be31bcdd9f922/Approval Panel Intro - Final.doc


BIN
public/tmp/564e8dd6886e01713fd3a3bff022dcc2e4fc9ec50d02ac40003be31bcdd9f922/Approval Panel Intro - Final.pdf


BIN
public/tmp/5c5cb2faf632358554bba34880b0174f84c3e4eeeeb0c6cbdba4acd85b7dfffc/Approval Panel Intro - Final.doc


BIN
public/tmp/5c5cb2faf632358554bba34880b0174f84c3e4eeeeb0c6cbdba4acd85b7dfffc/Approval Panel Intro - Final.pdf


BIN
public/tmp/5fcaf2263f590179d48c6dbd4336c24dea98d075e8bb1434466e6f9c4393d85b/Approval Panel Instructions Short Version.docx


BIN
public/tmp/5fcaf2263f590179d48c6dbd4336c24dea98d075e8bb1434466e6f9c4393d85b/Approval Panel Instructions Short Version.pdf


BIN
public/tmp/63553f9394a2681fcbd6212ca14958cf6fd7f9e0c0de19fb396db36b632c129d/Approval Panel Instructions Short Version.docx


BIN
public/tmp/63553f9394a2681fcbd6212ca14958cf6fd7f9e0c0de19fb396db36b632c129d/Approval Panel Instructions Short Version.pdf


BIN
public/tmp/737f246eded79e3f1de5bc7113961b80567b89c8843e7b4f0da5149f7ddaf770/Approval Panel Instructions Short Version.docx


BIN
public/tmp/737f246eded79e3f1de5bc7113961b80567b89c8843e7b4f0da5149f7ddaf770/Approval Panel Instructions Short Version.pdf


BIN
public/tmp/7b0ad55fa54b01af8521e9a7a0fc8e59f71caaaf2f138a079c605d39d7aeeb40/StOff Notepaper.docx


BIN
public/tmp/7b0ad55fa54b01af8521e9a7a0fc8e59f71caaaf2f138a079c605d39d7aeeb40/StOff Notepaper.pdf


BIN
public/tmp/809c55c99742ac71009fd07694730b90f16f38f054edacceedae6b7bdec80dda/Approval Panel Instructions Short Version.docx


BIN
public/tmp/809c55c99742ac71009fd07694730b90f16f38f054edacceedae6b7bdec80dda/Approval Panel Instructions Short Version.pdf


BIN
public/tmp/9b029b32f7f568a786136109005f1ad85dfe79edc5642e84b581ddc0b05b12db/Approval Panel Intro - Final.doc


BIN
public/tmp/9b029b32f7f568a786136109005f1ad85dfe79edc5642e84b581ddc0b05b12db/Approval Panel Intro - Final.pdf


BIN
public/tmp/a308a9471b466e340469a6db79f52d133bfd26ca5116cc702c53802b5ecc33e4/Approval Panel Instructions Short Version.docx


BIN
public/tmp/a308a9471b466e340469a6db79f52d133bfd26ca5116cc702c53802b5ecc33e4/Approval Panel Instructions Short Version.pdf


BIN
public/tmp/ab46fea062d7967257c70157184ab3c09e5b5ae35266cdd7fd2f19b93283ec64/Approval Panel Intro - Final.doc


BIN
public/tmp/ab46fea062d7967257c70157184ab3c09e5b5ae35266cdd7fd2f19b93283ec64/Approval Panel Intro - Final.pdf


BIN
public/tmp/b74f51f4f1fa4519644de1375a0aebf8f72dcd9493be1777a6871d98af3873e7/Approval Panel Instructions Short Version.docx


BIN
public/tmp/b74f51f4f1fa4519644de1375a0aebf8f72dcd9493be1777a6871d98af3873e7/Approval Panel Instructions Short Version.pdf


BIN
public/tmp/d0c46fedbd30f23844b42badaddcf56eb74d88772d49af2026149cffd5ea9918/Approval Panel Instructions Short Version.docx


BIN
public/tmp/d0c46fedbd30f23844b42badaddcf56eb74d88772d49af2026149cffd5ea9918/Approval Panel Instructions Short Version.pdf


BIN
public/tmp/db1d787555cc29ee9c203444888da5c1fcd2fd9db989139128078cd1e288aa8b/Approval Panel Intro - Final.doc


BIN
public/tmp/db1d787555cc29ee9c203444888da5c1fcd2fd9db989139128078cd1e288aa8b/Approval Panel Intro - Final.pdf


BIN
public/tmp/e53c74553c147fc4224087f12bd22871f33bc975bec879966a8b1e6fb5ee7af6/StOff Notepaper.docx


BIN
public/tmp/e53c74553c147fc4224087f12bd22871f33bc975bec879966a8b1e6fb5ee7af6/StOff Notepaper.pdf


BIN
public/tmp/ee2ecd88fcd8f3c4ae35cf8de6e58c5718c893932604fe02820e4b2151fdffb3/Approval Panel Intro - Final.doc


BIN
public/tmp/ee2ecd88fcd8f3c4ae35cf8de6e58c5718c893932604fe02820e4b2151fdffb3/Approval Panel Intro - Final.pdf


BIN
public/tmp/f55df60c2f0d5e3e2c51b172e998d2721a56cd8dfd20ea59ed005c676614c265/Approval Panel Intro - Final.doc


BIN
public/tmp/f55df60c2f0d5e3e2c51b172e998d2721a56cd8dfd20ea59ed005c676614c265/Approval Panel Intro - Final.pdf


BIN
test.docx


+ 24 - 0
test.html

@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
+	<title></title>
+	<meta name="generator" content="LibreOffice 5.4.5.1 (Linux)"/>
+	<meta name="created" content="00:00:00"/>
+	<meta name="changed" content="00:00:00"/>
+	<meta name="AppVersion" content="4.3000"/>
+	<meta name="DocSecurity" content="0"/>
+	<meta name="HyperlinksChanged" content="false"/>
+	<meta name="LinksUpToDate" content="false"/>
+	<meta name="ScaleCrop" content="false"/>
+	<meta name="ShareDoc" content="false"/>
+	<style type="text/css">
+		@page { margin-left: 3cm; margin-right: 1.5cm; margin-top: 2cm; margin-bottom: 2cm }
+		p { margin-bottom: 0.25cm; border: none; padding: 0cm; direction: ltr; line-height: 120%; text-align: left; orphans: 2; widows: 2 }
+		a:link { color: #0000ff }
+	</style>
+</head>
+<body lang="en-US" link="#0000ff" dir="ltr">
+<p style="margin-bottom: 0.35cm; line-height: 115%">This is a test</p>
+</body>
+</html>

+ 10 - 0
views/home.twig

@@ -9,6 +9,16 @@
 {% endfor %}
 
 
+<form action="/upload" method="post" enctype="multipart/form-data">
+
+<input type="file" name="file" size="500" />
+
+<br />
+
+<input type="submit" value="Upload" />
+
+</form>
+
 {% endblock %}
 {% block js %}
 {% endblock %}

+ 16 - 0
views/upload.twig

@@ -0,0 +1,16 @@
+{% extends "templates/app.twig" %}
+{% block content %}
+
+<div class="page-header">
+  <h1>Welcome to the SAIMUN 2019 Public Printing Web App</h1>
+</div>
+{% for message in messages %}
+  {{ makeError(message[0], message[1], message[2]) | raw }}
+{% endfor %}
+
+<h1>File Successfully Submitted
+Please check the formatting by clicking <a href="{{ link }}" target="_blank">here</a></h1>
+
+{% endblock %}
+{% block js %}
+{% endblock %}