<?php
namespace App\Controller;
use Symfony\Component\HttpKernel\KernelInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use App\Service\menuservice;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Security\Core\Security;
use FileUploader;
class DodajMenuController extends AbstractController
{
/**
* @var menuservice
*/
private $apiMenu;
public $rootDir;
public $security;
public function __construct(menuservice $menuservice, KernelInterface $kernel, Security $security)
{
$this->apiMenu = $menuservice;
$this->rootDir = $kernel->getProjectDir();
$this->security = $security;
}
/**
* @Route("/dodaj/menu/{id}/{lang}", name="app_dodaj_menu")
*/
public function index($id, $lang): Response
{
$user = $this->security->getUser();
file_put_contents("security.log", print_r($user->getFolder(), true));
return $this->render('dodaj_menu/index.html.twig', [
'controller_name' => 'DodajMenuController',
'menu_parent_g' => $id,
'menu_lang_g' => $lang
]);
}
/**
* @Route("/dodajmenucall", name="dodajmenucall")
*/
public function dodajmenucall(): Response
{
$menu_title = $_POST['menu_title'];
$menu_content = $_POST['menu_content'];
$menu_parent = $_POST['menu_parent'];
$menu_top = $_POST['menu_top'];
$menu_footer = $_POST['menu_footer'];
$language_id = $_POST['menu_lang'];
$menu_visible = $_POST['menu_visible'];
try{
$menu_image = $_POST['menu_image'];
}
catch(\Exception $e){
$menu_image = "";
}
if ($menu_top == 'true')
{
$menu_top = '1';
}
else
{
$menu_top = '0';
}
if ($menu_footer == 'true')
{
$menu_footer = '1';
}
else
{
$menu_footer = '0';
}
file_put_contents("menuvisible.log", $menu_visible);
if ($menu_visible == 'true')
{
$menu_visible = '1';
}
else
{
$menu_visible = '0';
}
$this->apiMenu->insertMenu($menu_title, $menu_content, $menu_parent, $language_id, $menu_top, $menu_footer, $menu_image, $menu_visible);
return new JsonResponse(array('data' => "Borut"));
}
/**
* @Route("/dodajmenuuploadimage", name="dodajmenuuploadimagecall")
*/
public function addMenuUploadImage()
{
$folder = '';
//dobimo mapo v kateri folder naj naložimo sliko
$user = $this->security->getUser();
$folder = $user->getFolder();
$ltrgovina_id = $_POST['menu_id'];
if ($user->getFolder() == 'mki')
{
$folder = 'strah';
}
/*$FileUploader = new FileUploader('datotekaInput', array(
'limit' => null,
'fileMaxSize' => null,
'extensions' => null,
'uploadDir' => $this->rootDir .'/uploads/' . $user->getFolder() .'/',
'title' => 'name'
));*/
file_put_contents("datoteka.log", $this->rootDir .'/public/uploads/' . $folder .'/');
$FileUploader = new FileUploader('datotekaInput', array(
'limit' => null,
'fileMaxSize' => null,
'extensions' => null,
'uploadDir' => $this->rootDir .'/public/uploads/' . $folder .'/',
'title' => 'name'
));
// call to upload the files
$data = $FileUploader->upload();
/*file_put_contents("status.log", "4");
file_put_contents("uploader.log", print_r($data, true));
file_put_contents("uploaderfile.log", print_r($data['files'][0]['file'], true));*/
file_put_contents("datotekareturn.log", print_r($data, true));
$lfilefrom = $data['files'][0]['file'];
$path_parts = pathinfo($lfilefrom);
$ldirname = $path_parts['dirname'];
$lbasename = $path_parts['basename'];
$lextension = $path_parts['extension'];
$lfilename = $path_parts['filename'];
$lfilenamemd5 = md5($lfilename);
/*
$lfile800 = '800-' . $lfilenamemd5. '.' .$lextension;
$lfile300 = '300-' . $lfilenamemd5. '.' .$lextension;
$lfile350 = '350-' . $lfilenamemd5. '.' .$lextension;
copy($lfilefrom,'/home/telefonika/domains/telefonika.si/public_html/admin_backend/uploads/zff_images/' . $lfile800);
copy($lfilefrom,'/home/telefonika/domains/telefonika.si/public_html/admin_backend/uploads/zff_images/' . $lfile300);
copy($lfilefrom,'/home/telefonika/domains/telefonika.si/public_html/admin_backend/uploads/zff_images/' . $lfile350);
$data['files'][0]['name'] = $lfilenamemd5 . '.' . $lextension;
file_put_contents("uploaderfile1.log", print_r($data, true));
*/
$from = $this->rootDir .'/public/uploads/' . $folder .'/' . $lfilename . '.'. $lextension;
$to = $this->rootDir .'/public/uploads/' . $folder .'/' . '1000-' .$lfilename .'.'.$lextension;
$to800 = $this->rootDir .'/public/uploads/' . $folder .'/' . '800-' .$lfilename .'.'.$lextension;
copy($from, $to);
copy($from, $to800);
return new JsonResponse(array($data));
}
}