diff --git a/core/routes.php b/core/routes.php index 5fb13bc298..49938d6a36 100644 --- a/core/routes.php +++ b/core/routes.php @@ -88,10 +88,10 @@ $application->registerRoutes($this, [ // Legacy routes that need to be globally available while they are handled by an app ['name' => 'viewcontroller#showFile', 'url' => '/f/{fileid}', 'verb' => 'GET', 'app' => 'files'], - ['name' => 'sharecontroller#showShare', 'url' => '/s/{token}', 'verb' => 'GET', 'app' => 'files_sharing'], - ['name' => 'sharecontroller#showAuthenticate', 'url' => '/s/{token}/authenticate/{redirect}', 'verb' => 'GET', 'app' => 'files_sharing'], - ['name' => 'sharecontroller#authenticate', 'url' => '/s/{token}/authenticate/{redirect}', 'verb' => 'POST', 'app' => 'files_sharing'], - ['name' => 'sharecontroller#downloadShare', 'url' => '/s/{token}/download', 'verb' => 'GET', 'app' => 'files_sharing'], + ['name' => 'share#showShare', 'url' => '/s/{token}', 'verb' => 'GET', 'app' => 'files_sharing'], + ['name' => 'share#showAuthenticate', 'url' => '/s/{token}/authenticate/{redirect}', 'verb' => 'GET', 'app' => 'files_sharing'], + ['name' => 'share#authenticate', 'url' => '/s/{token}/authenticate/{redirect}', 'verb' => 'POST', 'app' => 'files_sharing'], + ['name' => 'share#downloadShare', 'url' => '/s/{token}/download', 'verb' => 'GET', 'app' => 'files_sharing'], ['name' => 'publicpreview#directLink', 'url' => '/s/{token}/preview', 'verb' => 'GET', 'app' => 'files_sharing'], ['name' => 'requesthandlercontroller#addShare', 'url' => '/ocm/shares', 'verb' => 'POST', 'app' => 'cloud_federation_api'], ['name' => 'requesthandlercontroller#receiveNotification', 'url' => '/ocm/notifications', 'verb' => 'POST', 'app' => 'cloud_federation_api'], diff --git a/lib/public/AppFramework/AuthPublicShareController.php b/lib/public/AppFramework/AuthPublicShareController.php index 09337ad101..969fd0bfe6 100644 --- a/lib/public/AppFramework/AuthPublicShareController.php +++ b/lib/public/AppFramework/AuthPublicShareController.php @@ -156,14 +156,24 @@ abstract class AuthPublicShareController extends PublicShareController { ); } + /** + * @param $string + * @return string + */ + private function camelCaseToLowerCaseUnderscored($string) + { + $value = preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $string); + return mb_strtolower($value, 'utf-8'); + } + /** * @since 14.0.0 */ private function getRoute(string $function): string { $app = strtolower($this->appName); - $class = strtolower((new \ReflectionClass($this))->getShortName()); - - return $app . '.' . $class . '.' . $function; + $class = (new \ReflectionClass($this))->getShortName(); + // $class = $this->camelCaseToLowerCaseUnderscored(substr($class, 0, strpos($class, 'Controller'))); + return $app .'.'. $class .'.'. $function; } /**