diff --git a/index.php b/index.php index 1858865875..b85c49c76c 100644 --- a/index.php +++ b/index.php @@ -57,7 +57,12 @@ elseif(OC_User::isLoggedIn()) { exit(); } else { - OC::loadapp(); + if(is_null(OC::$REQUESTEDFILE)){ + OC::loadapp(); + }else{ + OC::loadfile(); + } + } } diff --git a/lib/base.php b/lib/base.php index c21ab97359..2924a1da18 100644 --- a/lib/base.php +++ b/lib/base.php @@ -276,6 +276,17 @@ class OC{ if(file_exists(OC::$APPSROOT . '/apps/' . OC::$REQUESTEDAPP)){ OC_App::loadApps(); require_once(OC::$APPSROOT . '/apps/' . OC::$REQUESTEDAPP . '/index.php'); + }else{ + trigger_error('The requested App was not found.', E_USER_ERROR); + } + } + + public static function loadfile(){ + if(file_exists(OC::$APPSROOT . '/apps/' . OC::$REQUESTEDAPP . '/' . OC::$REQUESTEDFILE)){ + OC_App::loadApps(); + require_once(OC::$APPSROOT . '/apps/' . OC::$REQUESTEDAPP . '/' . OC::$REQUESTEDFILE); + }else{ + header('404 Not Found'); } }