ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
Util.php
Go to the documentation of this file.
1 <?php
2 
3 declare(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  *****************************************************************************/
25 class 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 }
if($clientAssertionType !='urn:ietf:params:oauth:client-assertion-type:jwt-bearer'|| $grantType !='client_credentials') $parts
Definition: ltitoken.php:64
$path
Definition: ltiservices.php:32