]> source.dussan.org Git - nextcloud-server.git/commitdiff
use native functions of php to parse the string into the Var
authorGeorg Ehrke <dev@georgswebsite.de>
Mon, 23 Apr 2012 15:09:28 +0000 (17:09 +0200)
committerGeorg Ehrke <dev@georgswebsite.de>
Mon, 23 Apr 2012 15:09:28 +0000 (17:09 +0200)
core/js/js.js
lib/base.php
lib/helper.php

index 4abaced1ae00a16dabe464e716eb4e734f72aefd..b44821855095181cda8798c14f5e457c122bdbe9 100644 (file)
@@ -53,7 +53,7 @@ OC={
                var isCore=OC.coreApps.indexOf(app)!=-1;
                var link=OC.webroot;
                if(file.substring(file.length-3) == 'php' && !isCore){
-                       link+='/?app=' + app + '&getfile=' + type + '/' + file;
+                       link+='/?app=' + app + '&getfile=' + encodeURI(type + '/' + file);
                }else{
                        link+='/';
                        app+='/';
index 4800a426217889005e97579cb87835b09ea9614d..559d49ca997b889a27acad76f567ffff8fcc7355 100644 (file)
@@ -284,7 +284,7 @@ class OC{
                if(file_exists(OC::$APPSROOT . '/apps/' . OC::$REQUESTEDAPP . '/' . OC::$REQUESTEDFILE)){
                        require_once(OC::$APPSROOT . '/apps/' . OC::$REQUESTEDAPP . '/' . OC::$REQUESTEDFILE);
                }else{
-                       header('404 Not found');
+                       echo "WTF";
                }
        }
 
@@ -401,12 +401,11 @@ class OC{
                self::$REQUESTEDAPP = (isset($_GET['app'])?strip_tags($_GET['app']):'files');
                self::$REQUESTEDFILE = $_GET['getfile'];
                if(substr_count(self::$REQUESTEDFILE, '?') != 0){
-                       $pos_questionmark = strpos(self::$REQUESTEDFILE, '?');
-                       $pos_equal = strpos(self::$REQUESTEDFILE, '=');
-                       $pos_and = strpos(self::$REQUESTEDFILE, '?');
-                       $_GET[substr(self::$REQUESTEDFILE, $pos_questionmark + 1, $pos_equal - $pos_questionmark - 1)] = substr(self::$REQUESTEDFILE, $pos_equal + 1, $pos_and);
-                       self::$REQUESTEDFILE = substr(self::$REQUESTEDFILE, 0, $pos_questionmark);
-                       $_GET['getfile'] = OC::$REQUESTEDFILE;
+                       $file = substr(self::$REQUESTEDFILE, 0, strpos(self::$REQUESTEDFILE, '?'));
+                       $param = substr(self::$REQUESTEDFILE, strpos(self::$REQUESTEDFILE, '?') + 1);
+                       parse_str($param, $_GET);
+                       self::$REQUESTEDFILE = $file;
+                       $_GET['getfile'] = $file;
                }
                self::$REQUESTEDFILE = (isset($_GET['getfile'])?(OC_Helper::issubdirectory(OC::$APPSROOT . '/' . self::$REQUESTEDAPP . '/' . self::$REQUESTEDFILE, OC::$APPSROOT . '/' . self::$REQUESTEDAPP)?self::$REQUESTEDFILE:null):null);
        }
index 2067190bca775d2cfc13036614b93adb563fc50a..072a544a40a3ba3f326dce6fc058111dd12ec4f8 100755 (executable)
@@ -45,7 +45,7 @@ class OC_Helper {
                                        $app = substr($app, 0, strlen($app) - 1);
                                }
                                $urlLinkTo =  OC::$APPSWEBROOT . '/?app=' . $app;
-                               $urlLinkTo .= ($file!='index.php')?'&getfile=' . $file:'';
+                               $urlLinkTo .= ($file!='index.php')?'&getfile=' . urlencode($file):'';
                        }
                        else{
                                $urlLinkTo =  OC::$WEBROOT . '/' . $app . $file;