diff --git a/VKAPI/Handlers/Users.php b/VKAPI/Handlers/Users.php index bafce3d8..73ddcee4 100644 --- a/VKAPI/Handlers/Users.php +++ b/VKAPI/Handlers/Users.php @@ -317,6 +317,32 @@ final class Users extends VKAPIRequestHandler $response[$i]->custom_fields = $append_array; break; + case "bdate": + if (!$canView) { + $response[$i]->bdate = "01.01.1970"; + break; + } + $visibility = $usr->getBirthdayPrivacy(); + $response[$i]->bdate_visibility = $visibility; + + $birthday = $usr->getBirthday(); + if ($birthday) { + switch ($visibility) { + case 1: + $response[$i]->bdate = $birthday->format('%d.%m'); + break; + case 2: + $response[$i]->bdate = $birthday->format('%d.%m.%Y'); + break; + case 0: + default: + $response[$i]->bdate = null; + break; + } + } else { + $response[$i]->bdate = null; + } + break; } } diff --git a/VKAPI/Handlers/Wall.php b/VKAPI/Handlers/Wall.php index f1fdf978..c1a8619d 100644 --- a/VKAPI/Handlers/Wall.php +++ b/VKAPI/Handlers/Wall.php @@ -877,6 +877,8 @@ final class Wall extends VKAPIRequestHandler "id" => $comment->getId(), "from_id" => $oid, "date" => $comment->getPublicationTime()->timestamp(), + "can_edit" => $post->canBeEditedBy($this->getUser()), + "can_delete" => $post->canBeDeletedBy($this->getUser()), "text" => $comment->getText(false), "post_id" => $post->getVirtualId(), "owner_id" => method_exists($post, 'isPostedOnBehalfOfGroup') && $post->isPostedOnBehalfOfGroup() ? $post->getOwner()->getId() * -1 : $post->getOwner()->getId(), diff --git a/Web/Models/Entities/Post.php b/Web/Models/Entities/Post.php index 4079f566..bb833c04 100644 --- a/Web/Models/Entities/Post.php +++ b/Web/Models/Entities/Post.php @@ -176,11 +176,13 @@ class Post extends Postable $platform = $this->getRecord()->api_source_name; if ($forAPI) { switch ($platform) { + case 'openvk_native': case 'openvk_refresh_android': case 'openvk_legacy_android': return 'android'; break; + case 'openvk_native_ios': case 'openvk_ios': case 'openvk_legacy_ios': return 'iphone'; diff --git a/Web/Models/Entities/User.php b/Web/Models/Entities/User.php index 2f336f4a..e0fa0a76 100644 --- a/Web/Models/Entities/User.php +++ b/Web/Models/Entities/User.php @@ -971,11 +971,13 @@ class User extends RowModel $platform = $this->getRecord()->client_name; if ($forAPI) { switch ($platform) { + case 'openvk_native': case 'openvk_refresh_android': case 'openvk_legacy_android': return 'android'; break; + case 'openvk_native_ios': case 'openvk_ios': case 'openvk_legacy_ios': return 'iphone'; diff --git a/Web/Presenters/AboutPresenter.php b/Web/Presenters/AboutPresenter.php index 9e8e975e..5d52db90 100644 --- a/Web/Presenters/AboutPresenter.php +++ b/Web/Presenters/AboutPresenter.php @@ -147,6 +147,29 @@ final class AboutPresenter extends OpenVKPresenter $this->redirect("https://github.com/openvk/openvk#readme"); } + public function renderAssetLinksJSON(): void + { + # Необходимо любому андроид приложению для автоматического разрешения принимать ссылки с этого сайта. + # Не шарю как писать норм на php поэтому тут чутка на вайбкодил - искренне ваш, ZAZiOs. + header("Content-Type: application/json"); + + $data = [ + [ + "relation" => ["delegate_permission/common.handle_all_urls"], + "target" => [ + "namespace" => "android_app", + "package_name" => "oss.OpenVK.Native", + "sha256_cert_fingerprints" => [ + "79:67:14:23:DC:6E:FA:49:64:1F:F1:81:0E:B0:A3:AE:6E:88:AB:0D:CF:BC:02:96:F3:6D:76:6B:82:94:D6:9C", + ], + ], + ], + ]; + + echo json_encode($data, JSON_UNESCAPED_SLASHES); + exit; + } + public function renderDev(): void { $this->redirect("https://docs.ovk.to/"); diff --git a/Web/routes.yml b/Web/routes.yml index f1cf2af6..f4323dca 100644 --- a/Web/routes.yml +++ b/Web/routes.yml @@ -407,6 +407,8 @@ routes: handler: "About->robotsTxt" - url: "/humans.txt" handler: "About->humansTxt" + - url: "/.well-known/assetlinks.json" + handler: "About->AssetLinksJSON" - url: "/dev" handler: "About->dev" - url: "/iapi/getPhotosFromPost/{num}_{num}" diff --git a/Web/static/img/app_icons/openvk_native.png b/Web/static/img/app_icons/openvk_native.png new file mode 100644 index 00000000..56d89133 Binary files /dev/null and b/Web/static/img/app_icons/openvk_native.png differ diff --git a/data/clients.xml b/data/clients.xml index a387a634..4e0db0ef 100644 --- a/data/clients.xml +++ b/data/clients.xml @@ -3,4 +3,6 @@ - \ No newline at end of file + + +