dir browse working with dir parameter

Project: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/commit/7a668654
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/7a668654
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/7a668654

Branch: refs/heads/master
Commit: 7a6686545aa33616f26dc7c128284d6cf6f524a4
Parents: 37f7e61
Author: scnakandala <[email protected]>
Authored: Tue Mar 8 13:30:49 2016 -0500
Committer: scnakandala <[email protected]>
Committed: Tue Mar 8 13:30:49 2016 -0500

----------------------------------------------------------------------
 app/controllers/FilemanagerController.php |  6 +++++-
 app/routes.php                            | 11 +++--------
 2 files changed, 8 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7a668654/app/controllers/FilemanagerController.php
----------------------------------------------------------------------
diff --git a/app/controllers/FilemanagerController.php 
b/app/controllers/FilemanagerController.php
index 226a92e..45e8bd4 100644
--- a/app/controllers/FilemanagerController.php
+++ b/app/controllers/FilemanagerController.php
@@ -11,8 +11,12 @@ class FilemanagerController extends BaseController
 
     public function browse(){
                //FIXME check for no ../ paths
-               if(Input::has("path") && (0 === strpos(Input::get("path"), 
Session::get('username')))){
+               if(Input::has("path") && (0 == strpos(Input::get("path"), 
Session::get('username'))
+                               || 0 == strpos(Input::get("path"), "/" . 
Session::get('username')))){
                        $path = Input::get("path");
+                       if(0 === strpos($path, '/')){
+                               $path = substr($path, 1);
+                       }
                }else{
                        $path = Session::get("username");
                }

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7a668654/app/routes.php
----------------------------------------------------------------------
diff --git a/app/routes.php b/app/routes.php
index bdaba7b..2e74b92 100644
--- a/app/routes.php
+++ b/app/routes.php
@@ -98,20 +98,15 @@ Route::get("experiment/browse", 
"ExperimentController@browseView");
 Route::post("experiment/browse", "ExperimentController@browseView");
 
 
-Route::get("download/{username}/{exp_data_dir}/{exp_folder}/{exp_file}", 
function( $username, $exp_data_dir, $exp_folder, $exp_file){
+Route::get("download/{username}/{proj_folder}/{exp_folder}/{exp_file}", 
function( $username, $proj_folder, $exp_folder, $exp_file){
     //FIXME check for no ../ paths
     if( $username == Session::get("username")){
-        $downloadLink = 
Config::get('pga_config.airavata')['experiment-data-absolute-path'] . '/' . 
$username . '/' . $exp_data_dir . "/" . $exp_folder . '/' . $exp_file;
+        $downloadLink = 
Config::get('pga_config.airavata')['experiment-data-absolute-path'] . '/' . 
$username
+            . '/' . $proj_folder . "/" . $exp_folder . '/' . $exp_file;
         return Response::download( $downloadLink);
     }
 });
 
-Route::get("download/{exp_data_dir}/{proj_folder}/{exp_file}", 
function($exp_data_dir, $proj_folder, $exp_file){
-    $downloadLink = 
Config::get('pga_config.airavata')['experiment-data-absolute-path'] . '/' . 
Session::get('username')
-        . '/' . $exp_data_dir . '/' . '/' . $proj_folder . '/' . $exp_file;
-    return Response::download( $downloadLink);
-});
-
 Route::get("files/browse", "FilemanagerController@browse");
 
 Route::get("files/get","FilemanagerController@get");

Reply via email to