OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
firebase
/
vendor
/
rize
/
uri-template
/
src
/
Rize
/
UriTemplate
/
Operator
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
08/12/2024 10:36:35 AM
rwxr-xr-x
📄
Abstraction.php
12.42 KB
08/12/2024 10:36:35 AM
rw-r--r--
📄
Named.php
6.54 KB
08/12/2024 10:36:35 AM
rw-r--r--
📄
UnNamed.php
1.39 KB
08/12/2024 10:36:35 AM
rw-r--r--
Editing: UnNamed.php
Close
<?php namespace Rize\UriTemplate\Operator; use Rize\UriTemplate\Node; use Rize\UriTemplate\Parser; /** * | 1 | {/list} /red,green,blue | {$value}*(?:,{$value}+)* * | 2 | {/list*} /red/green/blue | {$value}+(?:{$sep}{$value}+)* * | 3 | {/keys} /semi,%3B,dot,.,comma,%2C | /(\w+,?)+ * | 4 | {/keys*} /semi=%3B/dot=./comma=%2C | /(?:\w+=\w+/?)* */ class UnNamed extends Abstraction { public function toRegex(Parser $parser, Node\Variable $var) { $regex = null; $value = $this->getRegex(); $options = $var->options; if ($options['modifier']) { switch($options['modifier']) { case '*': // 2 | 4 $regex = "{$value}+(?:{$this->sep}{$value}+)*"; break; case ':': $regex = $value.'{0,'.$options['value'].'}'; break; case '%': throw new \Exception("% (array) modifier only works with Named type operators e.g. ;,?,&"); default: throw new \Exception("Unknown modifier `{$options['modifier']}`"); } } else { // 1, 3 $regex = "{$value}*(?:,{$value}+)*"; } return $regex; } }