mirror of
https://github.com/openvk/openvk
synced 2025-07-01 05:28:17 +03:00
fix(API): users bdate field, can edit/delete comments (#1359)
И парочка фиксов или фич которые позволяют работать OpenVK Native так как надо. 1. add openvk native support - Просто добавил определение натива как android/ios клиент 2. Добавил /.well-known/assetlinks.json - По этому адресу автоматически стучится андроид чтобы проверить что приложению можно открывать ссылки с этого адреса по умолчанию. 3. Добавил поле bdate в users 4. Добавил инфу о том может ли редачить или удалять комментарий пользователь.
This commit is contained in:
parent
93b1202a13
commit
c8a97f8b8d
8 changed files with 60 additions and 1 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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(),
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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/");
|
||||
|
|
|
@ -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}"
|
||||
|
|
BIN
Web/static/img/app_icons/openvk_native.png
Normal file
BIN
Web/static/img/app_icons/openvk_native.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 37 KiB |
|
@ -3,4 +3,6 @@
|
|||
<Client tag="vk4me" name="VK4ME" url="http://vk4me.crx.moe/" img="/assets/packages/static/openvk/img/app_icons/vk4me.png" />
|
||||
<Client tag="openvk_legacy_android" name="OpenVK Legacy" url="https://f-droid.org/packages/uk.openvk.android.legacy/" img="/assets/packages/static/openvk/img/app_icons/openvk_legacy.png" />
|
||||
<Client tag="openvk_refresh_android" name="OpenVK Refresh" url="https://github.com/openvk/mobile-android-refresh" img="/assets/packages/static/openvk/img/app_icons/openvk_refresh.png" />
|
||||
</Clients>
|
||||
<Client tag="openvk_native" name="OpenVK Native" url="https://ovk.to/club9628" img="/assets/packages/static/openvk/img/app_icons/openvk_native.png" />
|
||||
<Client tag="openvk_native_ios" name="OpenVK Native" url="https://ovk.to/club9628" img="/assets/packages/static/openvk/img/app_icons/openvk_native.png" />
|
||||
</Clients>
|
||||
|
|
Loading…
Reference in a new issue