Метод API для одобренных тегов
Запрос одобренных тегов и проверка конкретного на одобренность, частичные правки мусорных варнов в логах, полунерабочая функция проверки строки на соответствие ASCII, проверки ввода в методе создания поста, мелкие оптимизации запросов к БД в методе запроса данных юзера.
This commit is contained in:
@ -4,18 +4,20 @@
|
||||
|
||||
|
||||
// Includes
|
||||
if ($IS_FRONTEND) {
|
||||
if (isset($IS_FRONTEND) && $IS_FRONTEND) {
|
||||
require_once("api/_auth.php");
|
||||
require_once("api/_utils.php");
|
||||
require_once("api/_errorslist.php");
|
||||
require_once("api/_types.php");
|
||||
require_once("api/user/index.php");
|
||||
require_once("api/tags/index.php");
|
||||
} else {
|
||||
require_once("../_auth.php");
|
||||
require_once("../_utils.php");
|
||||
require_once("../_errorslist.php");
|
||||
require_once("../_types.php");
|
||||
require_once("../user/index.php");
|
||||
require_once("../tags/index.php");
|
||||
}
|
||||
|
||||
|
||||
@ -203,12 +205,20 @@ function Post_Create_Method (array $req, array $files): ReturnT {
|
||||
return new ReturnT(err_code: E_UIN_BADARGS, err_desc: "tags string length exceeds limit: " . strval($Config["posting"]["tags"]["max_raw_input_str_length"]));
|
||||
elseif ($tagsLen < 1)
|
||||
return new ReturnT(err_code: E_UIN_BADARGS, err_desc: "tags cant be empty");
|
||||
// TODO: check if it is ASCII string
|
||||
// Check if supplied string is ASCII
|
||||
if (!Utils_IsAscii($req["tags"]))
|
||||
return new ReturnT(err_code: E_UIN_BADARGS, err_desc: "tags must be ASCII-only");
|
||||
// Parsing tags
|
||||
$parsedTags = Post_ParseRawTagString($req["tags"]);
|
||||
if ($parsedTags->IsError())
|
||||
return $parsedTags;
|
||||
// TODO: check if tags are approved
|
||||
$parsedTags = $parsedTags->GetData();
|
||||
// Check if tags are approved
|
||||
foreach ($parsedTags as $singleTag) {
|
||||
if (!Tags_IsTagApproved($singleTag))
|
||||
return new ReturnT(err_code: E_UIN_BADARGS, err_desc: "tag $singleTag is not approved");
|
||||
}
|
||||
// Concatenating parsed tags to single comma-separated string
|
||||
$tags = implode(",", $parsedTags);
|
||||
|
||||
// Check user role TODO: add rate-limiting, instead of this
|
||||
|
@ -87,7 +87,7 @@ function Post_GetByID (int $id): ReturnT {
|
||||
$result["edit_lock"] = $d["edit_lock"];
|
||||
|
||||
$r = Post_AddView($id); // TODO: add rate-limit or completely rework
|
||||
if ($r.IsError())
|
||||
if ($r->IsError())
|
||||
return $r;
|
||||
|
||||
return new ReturnT(data: $result);
|
||||
|
Reference in New Issue
Block a user