From 323359897b5aede2c542e1ae2259699dcdc51181 Mon Sep 17 00:00:00 2001 From: Daniil Gentili Date: Fri, 25 Nov 2016 21:21:13 +0000 Subject: [PATCH] #AUGAA --- src/danog/MadelineProto/TL/TLParams.php | 42 +++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/danog/MadelineProto/TL/TLParams.php diff --git a/src/danog/MadelineProto/TL/TLParams.php b/src/danog/MadelineProto/TL/TLParams.php new file mode 100644 index 00000000..1c8cc928 --- /dev/null +++ b/src/danog/MadelineProto/TL/TLParams.php @@ -0,0 +1,42 @@ +. +*/ + +namespace danog\MadelineProto\TL; + +class TLParams +{ + public function parse_params($key, $mtproto = false) { + foreach ($this->params[$key] as &$param) { + $param['flag'] = false; + $param['subtype'] = null; + if (preg_match('/^flags\.\d*\?/', $param['type'])) { + $param['flag'] = true; + $param['pow'] = pow(2, preg_replace(['/^flags\./', '/\?.*/'], '', $param['type'])); + $param['type'] = preg_replace('/^flags\.\d*\?/', '', $param['type']); + } + if (preg_match('/vector<.*>/i', $param['type'])) { + if (preg_match('/vector/', $param['type'])) { + $param['subtype'] = preg_replace(['/.*$/'], '', $param['type']); + $param['type'] = 'vector'; + } + if (preg_match('/Vector/', $param['type'])) { + $param['subtype'] = preg_replace(['/.*$/'], '', $param['type']); + $param['type'] = 'Vector t'; + } + if (preg_match('/^\%/', $param['subtype'])) { + $param['subtype'] = lcfirst(preg_replace('/^\%/', '', $param['subtype'])); + } + $param['subtype'] = (($mtproto && $param['subtype'] == 'message') ? 'MT' : '').$param['subtype']; + } + } + } +}