ILIAS  release_8 Revision v8.24
Util.php
Go to the documentation of this file.
1<?php
2
3declare(strict_types=1);
4
6
7/******************************************************************************
8 *
9 * This file is part of ILIAS, a powerful learning management system.
10 *
11 * ILIAS is licensed with the GPL-3.0, you should have received a copy
12 * of said license along with the source code.
13 *
14 * If this is not the case or you just want to try ILIAS, you'll find
15 * us at:
16 * https://www.ilias.de
17 * https://github.com/ILIAS-eLearning
18 *
19 *****************************************************************************/
25class Util extends \League\Flysystem\Util
26{
30 public static function normalizeRelativePath($path): string
31 {
32 $path = preg_replace("#\\\\(?!['\\\])#m", '/', $path); // this only replaces backslashes
33 $path = static::removeFunkyWhiteSpace($path);
34 $parts = [];
35
36 foreach (explode('/', $path) as $part) {
37 switch ($part) {
38 case '':
39 case '.':
40 break;
41
42 case '..':
43 if (empty($parts)) {
44 throw new \LogicException(
45 'Path is outside of the defined root, path: [' . $path . ']'
46 );
47 }
48 array_pop($parts);
49 break;
50
51 default:
52 $parts[] = $part;
53 break;
54 }
55 }
56
57 return implode('/', $parts);
58 }
59}
$path
Definition: ltiservices.php:32
if($clientAssertionType !='urn:ietf:params:oauth:client-assertion-type:jwt-bearer'|| $grantType !='client_credentials') $parts
Definition: ltitoken.php:64