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 8c691f0d..ecc88a6b 100644
--- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/FileController.php
+++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/FileController.php
@@ -181,6 +181,9 @@ class FileController extends Controller
public function uploadAction($id,$type,Request $request,$access="config")
{
+ $canupdate =$this->getPermission($access,$id);
+ if(!$canupdate) throw $this->createNotFoundException('Permission denied');
+
$subdirectory=$request->get("subdirectory");
$forcereload=(is_null($request->get("forcereload"))?true:$request->get("forcereload"));
@@ -198,8 +201,10 @@ class FileController extends Controller
public function subdirectoryAction($id,$type,Request $request,$access="config")
{
- $subdirectory=$request->get("subdirectory");
+ $canupdate =$this->getPermission($access,$id);
+ if(!$canupdate) throw $this->createNotFoundException('Permission denied');
+ $subdirectory=$request->get("subdirectory");
$defaultData = [];
$form = $this->createFormBuilder()
->add('subdirectory', TextType::class,["label"=>"Répertoire"])
@@ -239,6 +244,78 @@ class FileController extends Controller
]);
}
+ public function renameAction($id,$oldname, Request $request,$access="config")
+ {
+ $canupdate =$this->getPermission($access,$id);
+ if(!$canupdate) throw $this->createNotFoundException('Permission denied');
+
+ $subdirectory=$request->get("subdirectory");
+
+ $form = $this->createFormBuilder()
+ ->add('subdirectory', TextType::class,["label"=>"Renommer"])
+ ->add('submit', SubmitType::class,["label"=>"Valider"])
+ ->getForm();
+
+ $form->handleRequest($request);
+ $toclose=false;
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $data = $form->getData();
+ if($data["subdirectory"]=="thumb"||$data["subdirectory"]=="thumbmini"||$data["subdirectory"]=="__trash") {
+ $form->addError(new FormError('Nom réservé, merci de choisir un autre nom'));
+ $this->get('session')->getFlashBag()->clear();
+ $request->getSession()->getFlashBag()->add("error", 'Nom réservé, merci de choisir un autre nom');
+ }
+ else {
+ $fs = new Filesystem();
+ $fulldirectory=$this->get('kernel')->getRootDir()."/../uploads/file/".$id;
+ if($subdirectory) $fulldirectory.="/".$subdirectory;
+
+ $urlsource= $fulldirectory."/".$oldname;
+ $urldestination = $fulldirectory."/".$data["subdirectory"];
+ if($urlsource!=$urldestination) {
+ if($fs->exists($urldestination)) {
+ $form->addError(new FormError('Ce nom existe déjà'));
+ $this->get('session')->getFlashBag()->clear();
+ $request->getSession()->getFlashBag()->add("error", 'Ce nom existe déjà');
+ }
+ elseif($fs->exists($urlsource)) {
+ if(is_dir($urlsource)) {
+ $fs->mirror($urlsource,$urldestination);
+ $fs->remove($urlsource);
+ }
+ else {
+ $fs->rename($urlsource,$urldestination,true);
+
+ $urlsource= $fulldirectory."/thumb/".$oldname;
+ $urldestination = $fulldirectory."/thumb/".$data["subdirectory"];
+ $fs->rename($urlsource,$urldestination,true);
+
+ $urlsource= $fulldirectory."/thumbmini/".$oldname;
+ $urldestination = $fulldirectory."/thumbmini/".$data["subdirectory"];
+ $fs->rename($urlsource,$urldestination,true);
+ }
+
+ $toclose=true;
+ }
+ }
+
+
+ }
+ } else $form->get('subdirectory')->setData($oldname);
+
+ return $this->render('CadolesCoreBundle:File:subdirectory.html.twig',[
+ 'useheader' => false,
+ 'usemenu' => false,
+ 'usesidebar' => false,
+ 'access' => $access,
+ 'id' => $id,
+ 'subdirectory' => $subdirectory,
+ 'form' => $form->createView(),
+ 'toclose' => $toclose,
+ ]);
+ }
+
public function trashAction(Request $request,$access="config")
{
// S'assurer que c'est un appel ajax
@@ -255,7 +332,9 @@ class FileController extends Controller
$dirsource =$request->request->get('subdirectory');
$namesource =$request->request->get('filename');
- $this->getPermission($access,$directory);
+ $canupdate =$this->getPermission($access,$directory);
+ if(!$canupdate) throw $this->createNotFoundException('Permission denied');
+
$fs = new Filesystem();
// Déplacer le fichier
@@ -316,7 +395,9 @@ class FileController extends Controller
$dirsource =$request->request->get('subdirectory');
$namesource =$request->request->get('filename');
- $this->getPermission($access,$directory);
+ $canupdate =$this->getPermission($access,$directory);
+ if(!$canupdate) throw $this->createNotFoundException('Permission denied');
+
$fs = new Filesystem();
// Déplacer le fichier
@@ -365,7 +446,9 @@ class FileController extends Controller
{
$output=array();
- $this->getPermission($access,$directory);
+ $canupdate =$this->getPermission($access,$directory);
+ if(!$canupdate) throw $this->createNotFoundException('Permission denied');
+
$fs = new Filesystem();
$url=$this->get('kernel')->getRootDir()."/../uploads/file/".$directory."/__trash";
if($fs->exists($url)) {
@@ -388,7 +471,9 @@ class FileController extends Controller
$filename=$request->request->get('filename');
if($subdirectory) $directory.="/".$subdirectory;
- $this->getPermission($access,$directory);
+ $canupdate =$this->getPermission($access,$directory);
+ if(!$canupdate) throw $this->createNotFoundException('Permission denied');
+
$fs = new Filesystem();
$url=$this->get('kernel')->getRootDir()."/../uploads/file/".$directory."/".$filename;
if($fs->exists($url)) {
@@ -418,7 +503,9 @@ class FileController extends Controller
$namedestination =$request->request->get('namedestination');
- $this->getPermission($access,$directory);
+ $canupdate =$this->getPermission($access,$directory);
+ if(!$canupdate) throw $this->createNotFoundException('Permission denied');
+
$fs = new Filesystem();
// Déplacer le fichier
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 5843eabd..fef8a25d 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
@@ -74,6 +74,10 @@ cadoles_core_config_file_subdirectory:
path: /config/file/subdirectory/{id}/{type}
defaults: { _controller: CadolesCoreBundle:File:subdirectory, access: config }
+cadoles_core_config_file_rename:
+ path: /config/file/rename/{id}/{oldname}
+ defaults: { _controller: CadolesCoreBundle:File:rename, access: config }
+
cadoles_core_config_file_trash:
path: /config/file/trash/
defaults: { _controller: CadolesCoreBundle:File:trash, access: config }
@@ -119,6 +123,10 @@ cadoles_core_user_file_subdirectory:
path: /user/file/subdirectory/{id}/{type}
defaults: { _controller: CadolesCoreBundle:File:subdirectory, access: user }
+cadoles_core_user_file_rename:
+ path: /user/file/rename/{id}/{oldname}
+ defaults: { _controller: CadolesCoreBundle:File:rename, access: user }
+
cadoles_core_user_file_trash:
path: /user/file/trash/
defaults: { _controller: CadolesCoreBundle:File:trash, 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 da291b1e..dfdfa354 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
@@ -33,6 +33,10 @@
text-transform: initial !important;
}
+ a.item-update {
+ right: 25px;
+ }
+
{% endblock %}
@@ -142,6 +146,10 @@
{% else %}
+
+
+
+
@@ -181,6 +189,10 @@
{% else %}
+
+
+
+
@@ -234,6 +246,8 @@
else {
color = "#{{ color["main"]}}";
}
+ $(".item-update").css("color",color);
+ $(".item-update > i").css("color",color);
$(".item-delete").css("color",color);
$(".item-delete > i").css("color",color);
$(".item-restaure").css("color",color);