1
0
mirror of https://github.com/danog/MadelineProto.git synced 2024-12-02 17:17:48 +01:00
MadelineProto/tools/build_docs/schemas.php

35 lines
832 B
PHP
Raw Normal View History

2022-12-29 20:40:06 +01:00
<?php declare(strict_types=1);
2020-06-16 17:52:55 +02:00
/**
* Load schema file names.
2023-08-13 15:47:21 +02:00
* @internal
2020-06-16 17:52:55 +02:00
*/
function loadSchemas(): array
{
2024-01-16 20:39:09 +01:00
$last = file_get_contents("https://raw.githubusercontent.com/telegramdesktop/tdesktop/dev/Telegram/SourceFiles/mtproto/scheme/api.tl");
preg_match("|// Layer (\d+)|i", $last, $matches);
file_put_contents(getcwd()."/schemas/TL_telegram_v{$matches[1]}.tl", $last);
2020-06-16 17:52:55 +02:00
$res = [];
2022-12-08 20:16:40 +01:00
foreach (glob(getcwd().'/schemas/TL_telegram_*') as $file) {
preg_match("/telegram_v(\d+)/", $file, $matches);
2020-06-16 17:52:55 +02:00
$res[$matches[1]] = $file;
}
2022-12-08 20:16:40 +01:00
ksort($res);
2020-06-16 17:52:55 +02:00
return $res;
}
/**
* Return max available layer number.
*
* @param array $schemas Scheme array
2023-08-13 15:47:21 +02:00
* @internal
2020-06-16 17:52:55 +02:00
*
* @return integer
*/
function maxLayer(array $schemas): int
{
2022-12-08 20:16:40 +01:00
$schemas = array_keys($schemas);
return end($schemas);
2020-06-16 17:52:55 +02:00
}