diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/FileController.php b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/FileController.php index 62df8355..848f8cc5 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/FileController.php +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/FileController.php @@ -259,6 +259,56 @@ class FileController extends Controller return $response; } + public function moveAction(Request $request,$access="config") + { + // S'assurer que c'est un appel ajax + if (!$request->isXmlHttpRequest()) { + return new JsonResponse(array('message' => 'Interdit'), 400); + } + + $output=array(); + $directory=$request->request->get('directory');+ + + // Récupération du répertoire source et le nom du fichier + $racine=$this->get('kernel')->getRootDir()."/../uploads/file"; + $dirsource =$request->request->get('dirsource'); + $namesource =$request->request->get('namesource'); + $dirdestination =$request->request->get('dirdestination'); + $namedestination =$request->request->get('namedestination'); + + $destid=$request->request->get('destid'); + + $this->getPermission($access,$directory); + $fs = new Filesystem(); + + // Déplacer le fichier + $urlsource=$racine."/".$dirsource."/".$namesource; + $urldestination=$racine."/".$dirdestination."/".$namedestination; + if($fs->exists($urlsource)) { + $fs->rename($urlsource,$urldestination); + } + + // Déplacer le thumb + $fs->mkdir($racine."/".$dirdestination."/thumb"); + $urlsource=$racine."/".$dirsource."/thumb/".$namesource; + $urldestination=$racine."/".$dirdestination."/thumb/".$namedestination; + if($fs->exists($urlsource)) { + $fs->rename($urlsource,$urldestination); + } + + // Déplacer le thumbmini + $fs->mkdir($racine."/".$dirdestination."/thumbmini"); + $urlsource=$racine."/".$dirsource."/thumbmini/".$namesource; + $urldestination=$racine."/".$dirdestination."/thumbmini/".$namedestination; + if($fs->exists($urlsource)) { + $fs->rename($urlsource,$urldestination); + } + + $response = new Response(json_encode($output)); + $response->headers->set('Content-Type', 'application/json'); + return $response; + } + public function viewAction($directory,$filename,Request $request,$access="config") { $this->getPermission($access,$directory); diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml index 391787a4..91412bff 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml @@ -73,6 +73,10 @@ cadoles_core_config_file_delete: path: /config/file/delete/ defaults: { _controller: CadolesCoreBundle:File:delete, access: config } +cadoles_core_config_file_move: + path: /config/file/move/ + defaults: { _controller: CadolesCoreBundle:File:move, access: config } + cadoles_core_config_file_view: path: /config/file/view/{directory}/{filename} defaults: { _controller: CadolesCoreBundle:File:view, access: config } @@ -102,6 +106,10 @@ cadoles_core_user_file_delete: path: /user/file/delete defaults: { _controller: CadolesCoreBundle:File:delete, access: user } +cadoles_core_user_file_move: + path: /user/file/move/ + defaults: { _controller: CadolesCoreBundle:File:move, access: user } + cadoles_core_user_file_view: path: /user/file/view/{directory}/{filename} defaults: { _controller: CadolesCoreBundle:File:view, access: user } diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/views/File/list.html.twig b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/views/File/list.html.twig index f2701097..419bba1e 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/views/File/list.html.twig +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/views/File/list.html.twig @@ -93,20 +93,22 @@