HomeController.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace App\Controllers;
  3. use App\Models\HomeModel;
  4. use App\Controller;
  5. use App\Model;
  6. class HomeController extends Controller {
  7. public function __construct($twig)
  8. {
  9. $this->twig = $twig;
  10. $this->model = new HomeModel;
  11. }
  12. public function index(){
  13. echo $this->twig->render('home.twig', array(
  14. "messages" => $this->model->getMessages(),
  15. ));
  16. }
  17. public function upload(){
  18. $name = md5(random_int(1, 10000) . microtime()).md5(random_int(1, 10000) . microtime());
  19. $address = "/tmp/".$name."/".str_replace(" ", " ", basename( $_FILES['file']['name']));
  20. $address = substr_replace($address , 'pdf', strrpos($address , '.') +1);
  21. $targetfolder = __DIR__."/../../public/tmp/".$name ."/";
  22. exec("mkdir ".$targetfolder);
  23. $targetfolder = addslashes($targetfolder);
  24. $targetfolder = $targetfolder . basename( $_FILES['file']['name']) ;
  25. if(move_uploaded_file($_FILES['file']['tmp_name'], $targetfolder)){
  26. $targetfolder = str_replace(" ", "\ ", $targetfolder);
  27. $cmd = "sudo /usr/bin/unoconv --output=".$targetfolder." -f pdf ".$targetfolder;
  28. exec($cmd);
  29. echo $this->twig->render('upload.twig', array(
  30. "messages" => $this->model->getMessages(),
  31. "link" => $address
  32. ));
  33. }
  34. else {
  35. echo "Problem uploading file";
  36. }
  37. }
  38. }