diff --git a/.gitignore b/.gitignore index 78f621844..c3b1f12d4 100644 --- a/.gitignore +++ b/.gitignore @@ -10,9 +10,9 @@ tmp/* !tmp/themepack_artifacts/.gitkeep themepacks/* !themepacks/.gitkeep -!themepacks/openvk_modern +!themepacks/modern !themepacks/midnight storage/* !storage/.gitkeep -.idea \ No newline at end of file +.idea diff --git a/README.md b/README.md index 152e05bff..c068aad43 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ -# openvkOpenVK +# openvkAstorium _[Русский](README_RU.md)_ +_**Astorium** - fork based on [OpenVK OSS project](https://github.com/openvk/openvk) and designed for your needs and requirements._ + **OpenVK** is an attempt to create a simple CMS that ~~cosplays~~ imitates old VKontakte. Code provided here is not stable yet. VKontakte belongs to Pavel Durov and VK Group. @@ -16,19 +18,26 @@ We will release OpenVK as soon as it's ready. As for now, you can: ## Instances -A list of instances can be found in [our wiki of this repository](https://github.com/openvk/openvk/wiki/Instances). +* **[openvk.su](https://openvk.su/)** + * **[openvk.uk](https://openvk.uk)** ([mirror](https://t.me/openvk/1609)) + * **[openvk.co](http://openvk.co)** (mirror [without TLS](https://t.me/openvk/1654)) +* [social.fetbuk.ru](http://social.fetbuk.ru/) +* [vepurovk.xyz](http://vepurovk.xyz/) + * [vepurovk.fun](http://vepurovk.fun/) (mirror without TLS) +* [ovk.tinelix.ru](https://ovk.tinelix.ru) + * [mirror without TLS](http://ovk.tinelix.ru) -## Can I create my own OpenVK instance? +## Can I create my own Tinelix Astorium / OpenVK instance? Yes! And you are very welcome to. -However, OVK makes use of Chandler Application Server. This software requires extensions, that may not be provided by your hosting provider (namely, sodium and yaml. these extensions are available on most of ISPManager hostings). +However, Astorium (like OpenVK) makes use of Chandler Application Server. This software requires extensions, that may not be provided by your hosting provider (namely, sodium and yaml. these extensions are available on most of ISPManager hostings). If you want, you can add your instance to the list above so that people can register there. ### Installation procedure -1. Install PHP 7.4, web-server, Composer, Node.js, Yarn and [Chandler](https://github.com/openvk/chandler) +1. Install PHP 7.4, web-server, Composer, Node.js 10+, Yarn and [Chandler](https://github.com/openvk/chandler) * PHP 8.1 is supported too, however it was not tested carefully, so be aware. @@ -41,7 +50,7 @@ If you want, you can add your instance to the list above so that people can regi 3. Install [commitcaptcha](https://github.com/openvk/commitcaptcha) and OpenVK as Chandler extensions like this: ```bash -git clone https://github.com/openvk/openvk /path/to/chandler/extensions/available/openvk +git clone https://github.com/tinelix/astorium /path/to/chandler/extensions/available/openvk git clone https://github.com/openvk/commitcaptcha /path/to/chandler/extensions/available/commitcaptcha ``` @@ -57,21 +66,22 @@ ln -s /path/to/chandler/extensions/available/openvk /path/to/chandler/extensions 7. Copy `openvk-example.yml` to `openvk.yml` and change options to your liking 8. Run `composer install` in OpenVK directory 9. Run `composer install` in commitcaptcha directory -10. Move to `Web/static/js` and execute `yarn install` +10. Move to `Web/static/js` and execute `yarn install` or `yarnpkg install` 11. Set `openvk` as your root app in `chandler.yml` +12. Set permissions for all `сhandler` directories to 0777 (all read, write and execute permissions) if different Once you are done, you can login as a system administrator on the network itself (no registration required): * **Login**: `admin@localhost.localdomain6` * **Password**: `admin` - * It is recommended to change the password of the built-in account or disable it. + * It is highly recommended to change the password of the built-in account or disable it. 💡Confused? Full installation walkthrough is available [here](https://docs.openvk.uk/openvk_engine/centos8_installation/) (CentOS 8 [and](https://almalinux.org/) [family](https://yum.oracle.com/oracle-linux-isos.html)). ### Looking for Docker or Kubernetes deployment? See `install/automated/docker/README.md` and `install/automated/kubernetes/README.md` for Docker and Kubernetes deployment instructions. -### If my website uses OpenVK, should I release it's sources? +### If my website uses Astorium / OpenVK, should I release it's sources? It depends. You can keep the sources to yourself if you do not plan to distribute your website binaries. If your website software must be distributed, it can stay non-OSS provided the OpenVK is not used as a primary application and is not modified. If you modified OpenVK for your needs or your work is based on it and you are planning to redistribute this, then you should license it under terms of any LGPL-compatible license (like OSL, GPL, LGPL etc). @@ -88,6 +98,5 @@ You may reach out to us via: **Attention**: bug tracker, board, Telegram and Matrix chat are public places, ticketing system is being served by volunteers. If you need to report something that should not be immediately disclosed to general public (for instance, a vulnerability), please contact us directly via this email: **openvk [at] tutanota [dot] com** - - Get it on Codeberg - +## DISCLAIMER +OpenVK and Astorium is not affiliated with or endorsed by VK PLC. diff --git a/README_RU.md b/README_RU.md index cc4f672fa..9451cd469 100644 --- a/README_RU.md +++ b/README_RU.md @@ -1,7 +1,9 @@ -# openvkOpenVK +# openvkAstorium _[English](README.md)_ +_**Astorium** - форк, основанный на [OSS-проекте OpenVK](https://github.com/openvk/openvk) и разработан для своих нужд и потребностей._ + **OpenVK** — это попытка создать простую CMS, которая ~~косплеит~~ имитирует старый ВКонтакте. На данный момент, представленный здесь исходный код проекта пока не является стабильным. ВКонтакте принадлежит Павлу Дурову и VK Group. @@ -16,19 +18,28 @@ _[English](README.md)_ ## Инстанции -Список инстанций находится в [нашей вики этого репозитория](https://github.com/openvk/openvk/wiki/Instances-(RU)). +* **[openvk.su](https://openvk.su/)** + * **[openvk.uk](https://openvk.uk)** ([зеркало]()) + * **[openvk.co](http://openvk.co)** (зеркало [без TLS]()) +* [social.fetbuk.ru](http://social.fetbuk.ru/) +* [vepurovk.xyz](http://vepurovk.xyz/) + * **[vepurovk.fun](http://vepurovk.fun)** (зеркало без TLS) +* [ovk.tinelix.ru](https://ovk.tinelix.ru) + * [зеркало без TLS](http://ovk.tinelix.ru) -## Могу ли я создать свою собственную инстанцию OpenVK? +## Могу ли я создать свою собственную инстанцию Astorium / OpenVK? Да! И всегда пожалуйста. -Однако, OpenVK использует Chandler Application Server. Это программное обеспечение требует расширений, которые могут быть не предоставлены вашим хостинг-провайдером (а именно, sodium и yaml. Эти расширения доступны на большинстве хостингов ISPManager). +Однако, Astorium использует Chandler Application Server. Это программное обеспечение требует расширений, которые могут быть не предоставлены вашим хостинг-провайдером (а именно, sodium и yaml. Эти расширения доступны на большинстве хостингов ISPManager). Если хотите, вы можете добавить вашу инстанцию в список выше, чтобы люди могли зарегистрироваться там. ### Процедура установки -1. Установите PHP 7.4, веб-сервер, Composer, Node.js, Yarn и [Chandler](https://github.com/openvk/chandler) +1. Установите PHP 7.4, веб-сервер, Composer, Node.js 10+, Yarn и [Chandler](https://github.com/openvk/chandler) + + _Для граждан РФ крайне важен [переход Composer на аполитический репозиторий](https://stackoverflow.com/a/76131122)._ * PHP 8 еще **не** тестировался, поэтому не стоит ожидать, что он будет работать (UPD: он не работает). @@ -59,19 +70,20 @@ ln -s /path/to/chandler/extensions/available/openvk /path/to/chandler/extensions 9. Запустите `composer install` в директории commitcaptcha 10. Перейдите в `Web/static/js` и выполните `yarn install` 11. Установите `openvk` в качестве корневого приложения в файле `chandler.yml` +12. Выставите права во всех директориях `chandler` на 0777 (все права на чтение, запись и выполнение), если отличается После этого вы можете войти как системный администратор в саму сеть (регистрация не требуется): * **Логин**: `admin@localhost.localdomain6` * **Пароль**: `admin` - * Перед использованием встроенной учетной записи рекомендуется сменить пароль или отключить её. + * Перед использованием встроенной учетной записи настоятельно рекомендуется сменить пароль или отключить её. 💡Запутались? Полное руководство по установке доступно [здесь](https://docs.openvk.uk/openvk_engine/centos8_installation/) (CentOS 8 [и](https://almalinux.org/ru/) [семейство](https://yum.oracle.com/oracle-linux-isos.html)). # Установка в Docker/Kubernetes Подробные иструкции можно найти в `install/automated/docker/README.md` и `install/automated/kubernetes/README.md` соответственно. -### Если мой сайт использует OpenVK, должен ли я публиковать его исходные тексты? +### Если мой сайт использует Astorium / OpenVK, должен ли я публиковать его исходные тексты? Это зависит от обстоятельств. Вы можете оставить исходные тексты при себе, если не планируете распространять бинарники вашего сайта. Если программное обеспечение вашего сайта должно распространяться, оно может оставаться не-OSS при условии, что OpenVK не используется в качестве основного приложения и не модифицируется. Если вы модифицировали OpenVK для своих нужд или ваша работа основана на нем и вы планируете ее распространять, то вы должны лицензировать ее на условиях любой совместимой с LGPL лицензии (например, OSL, GPL, LGPL и т.д.). @@ -88,6 +100,5 @@ ln -s /path/to/chandler/extensions/available/openvk /path/to/chandler/extensions **Внимание**: баг-трекер, форум, Telegram- и Matrix-чат являются публичными местами, и жалобы в OVK обслуживается волонтерами. Если вам нужно сообщить о чем-то, что не должно быть раскрыто широкой публике (например, сообщение об уязвимости), пожалуйста, свяжитесь с нами напрямую по этому адресу: **openvk [собачка] tutanota [точка] com**. - - Get it on Codeberg - +## ДИСКЛЕЙМЕР +OpenVK и Astorium никак не связаны с компанией ООО "ВК" или не одобрены ею. diff --git a/VKAPI/Handlers/Video.php b/VKAPI/Handlers/Video.php index 740ccd548..7198f7665 100755 --- a/VKAPI/Handlers/Video.php +++ b/VKAPI/Handlers/Video.php @@ -11,47 +11,27 @@ final class Video extends VKAPIRequestHandler { - function get(int $owner_id, string $videos, int $offset = 0, int $count = 30, int $extended = 0): object + function get(string $videos, int $offset = 0, int $count = 30, int $extended = 0): object { $this->requireUser(); - if ($videos) { - $vids = explode(',', $videos); - - foreach($vids as $vid) - { - $id = explode("_", $vid); - - $items = []; - - $video = (new VideosRepo)->getByOwnerAndVID(intval($id[0]), intval($id[1])); - if($video) { - $items[] = $video->getApiStructure(); - } - } - - return (object) [ - "count" => count($items), - "items" => $items - ]; - } else { - if ($owner_id > 0) - $user = (new UsersRepo)->get($owner_id); - else - $this->fail(1, "Not implemented"); - - $videos = (new VideosRepo)->getByUser($user, $offset + 1, $count); - $videosCount = (new VideosRepo)->getUserVideosCount($user); - + $vids = explode(',', $videos); + + foreach($vids as $vid) + { + $id = explode("_", $vid); + $items = []; - foreach ($videos as $video) { + + $video = (new VideosRepo)->getByOwnerAndVID(intval($id[0]), intval($id[1])); + if($video) { $items[] = $video->getApiStructure(); } - - return (object) [ - "count" => $videosCount, - "items" => $items - ]; } + + return (object) [ + "count" => count($items), + "items" => $items + ]; } } diff --git a/Web/Models/Entities/Media.php b/Web/Models/Entities/Media.php index 648d3564e..2deb5c4d8 100644 --- a/Web/Models/Entities/Media.php +++ b/Web/Models/Entities/Media.php @@ -58,7 +58,7 @@ function getURL(): string default: case "default": case "basic": - return "http://" . $_SERVER['HTTP_HOST'] . "/blob_" . substr($hash, 0, 2) . "/$hash.$this->fileExtension"; + return $settings->protocol ?? ovk_scheme() . "://" . $_SERVER['HTTP_HOST'] . "/blob_" . substr($hash, 0, 2) . "/$hash.$this->fileExtension"; break; case "accelerated": return "http://" . $_SERVER['HTTP_HOST'] . "/openvk-datastore/$hash.$this->fileExtension"; diff --git a/Web/Presenters/WallPresenter.php b/Web/Presenters/WallPresenter.php index d89b722a4..ff442aadd 100644 --- a/Web/Presenters/WallPresenter.php +++ b/Web/Presenters/WallPresenter.php @@ -329,7 +329,7 @@ function renderMakePost(int $wall): void $this->flashFail("err", tr("failed_to_publish_post"), tr("post_is_too_big")); } - foreach($photos as $photo) + foreach((array)$photos as $photo) $post->attach($photo); if(sizeof($videos) > 0) diff --git a/Web/Presenters/templates/@CanonicalListView.xml b/Web/Presenters/templates/@CanonicalListView.xml index a0c8f7d79..60e88d4b6 100644 --- a/Web/Presenters/templates/@CanonicalListView.xml +++ b/Web/Presenters/templates/@CanonicalListView.xml @@ -47,4 +47,4 @@ {/ifset} {/if} - \ No newline at end of file + diff --git a/Web/Presenters/templates/@layout.xml b/Web/Presenters/templates/@layout.xml index f8a975e01..a9898a330 100644 --- a/Web/Presenters/templates/@layout.xml +++ b/Web/Presenters/templates/@layout.xml @@ -43,8 +43,6 @@

-
FOR TESTING PURPOSES ONLY
-
@@ -203,6 +201,7 @@ {var $menuLinksAvaiable = sizeof(OPENVK_ROOT_CONF['openvk']['preferences']['menu']['links']) > 0 && $thisUser->getLeftMenuItemStatus('links')} {_admin} + {_db} {_helpdesk} {if $helpdeskTicketNotAnsweredCount > 0} ({$helpdeskTicketNotAnsweredCount}) @@ -297,6 +296,7 @@ {if !OPENVK_ROOT_CONF['openvk']['preferences']['security']['disablePasswordRestoring']}{_forgot_password}{/if} {/ifset} +
FOR TESTING PURPOSES ONLY
{ifset $thisUser} @@ -360,7 +360,7 @@ {/foreach} all languages »

-

OpenVK {php echo OPENVK_VERSION} | PHP: {phpversion()} | DB: {$dbVersion}

+

Astorium {php echo OPENVK_VERSION} | Powered by OpenVK | tinelix.ru | GitHub

{php echo OPENVK_ROOT_CONF["openvk"]["appearance"]["motd"]}

diff --git a/Web/Presenters/templates/About/Invite.xml b/Web/Presenters/templates/About/Invite.xml index f50ed568f..eef01fc48 100644 --- a/Web/Presenters/templates/About/Invite.xml +++ b/Web/Presenters/templates/About/Invite.xml @@ -6,9 +6,12 @@ {/block} {block content} - {_you_can_invite}

-
- getRefLinkId())}" size="50" /> -
-

{_you_can_invite_2}

+ {var $canAccessAdminPanel = $thisUser->getChandlerUser()->can("access")->model("admin")->whichBelongsTo(NULL)} +
+ {_you_can_invite}

+
+ getRefLinkId())}" size="50" /> +
+

{_you_can_invite_2}

+
{/block} diff --git a/Web/Presenters/templates/About/Version.xml b/Web/Presenters/templates/About/Version.xml index 4d89a93df..56de8d37c 100644 --- a/Web/Presenters/templates/About/Version.xml +++ b/Web/Presenters/templates/About/Version.xml @@ -1,9 +1,9 @@ {extends "../@layout.xml"} -{block title}{_about_openvk}{/block} +{block title}{_about_astorium}{/block} {block header} - {_about_openvk} + {_about_astorium} {/block} {block content} @@ -50,6 +50,7 @@ .p { text-align: left; + margin-bottom: 4px; } .e { @@ -64,6 +65,10 @@ color: #fff; } + .hc_top { + vertical-align: top; + } + .v { background-color: #f1f5f9; max-width: 300px; @@ -94,8 +99,11 @@ - + @@ -105,7 +113,7 @@
-

OpenVK {=OPENVK_VERSION}

+
+

Astorium {=OPENVK_VERSION}

+ Powered by OpenVK +
- + @@ -342,14 +350,14 @@ - - - - + + + + @@ -386,7 +394,20 @@
-

OpenVK Credits

+

Astorium Credits

+ +
OpenVKAstorium {=OPENVK_VERSION}
NameStatusVersionDescriptionAuthorStatusVersionDescriptionAuthor
- Fore + Fore Orange Default @@ -358,10 +366,10 @@ {=OPENVK_VERSION} - Default OpenVK look and feel. + Default Astorium look and feel. - Vladimir Barinov, Konstantin Kichulkin and Daniel Myslivets + Vladimir Barinov, Konstantin Kichulkin, Daniel Myslivets, Dmitry Tretyakov
+ + + + + + + + +
Astorium Development Force
+ Dmitry Tretyakov (Tinelix) +
@@ -426,10 +447,10 @@ - - @@ -457,7 +478,11 @@ - + + + + + @@ -466,7 +491,7 @@ - + @@ -483,6 +508,19 @@
Language + Native name + Author(s)
Initial hostingAstorium initial hostingDmitry Tretyakov
OpenVK initial hosting Lumaeris and Celestora
ImagesVladimir Barinov (veselcraft), Konstantin Kichulkin (kosfurler) and Daniel MyslivetsDmitry Tretyakov (Tinelix), Vladimir Barinov (veselcraft), Konstantin Kichulkin (kosfurler) and Daniel Myslivets
Illustrations
+ + + + + + + + + +
Astorium QA Team
+ Dmitry Tretyakov (Tinelix) and unknown tester, who disappeared shortly after trying to upload post with cat. +
+ @@ -501,7 +539,7 @@
-

OpenVK License

+

Astorium License

@@ -520,5 +558,7 @@
+ + Source code {/block} diff --git a/Web/Presenters/templates/Group/View.xml b/Web/Presenters/templates/Group/View.xml index 0242bbb88..76d89cf52 100644 --- a/Web/Presenters/templates/Group/View.xml +++ b/Web/Presenters/templates/Group/View.xml @@ -1,11 +1,11 @@ {extends "../@layout.xml"} {var $backdrops = $club->getBackDropPictureURLs()} -{block title}{$club->getName()}{/block} +{block title}{$club->getName()}{/block} {block header} {$club->getName()} - + {_information} - +
- + @@ -45,7 +45,7 @@
{var $followersCount = $club->getFollowersCount()} - +
{_participants}
@@ -66,7 +66,7 @@ {$follower->getFirstName()} {$follower->getLastName()} - +
@@ -90,7 +90,7 @@ - + {presenter "openvk!Wall->wallEmbedded", -$club->getId()}
@@ -255,7 +255,7 @@
{var $cover = $album->getCoverPhoto()} - + diff --git a/Web/Presenters/templates/User/Settings.xml b/Web/Presenters/templates/User/Settings.xml index c8f0f61bf..f57ef6cbe 100644 --- a/Web/Presenters/templates/User/Settings.xml +++ b/Web/Presenters/templates/User/Settings.xml @@ -508,7 +508,7 @@
{_name_group}:{$club->getName()}{$club->getName()}
{_description}: @@ -615,17 +615,17 @@ {$hideInfo ? tr('gift') : ($giftDescriptor->caption ?? tr('gift'))} - + - + {presenter "openvk!Wall->wallEmbedded", $user->getId()} - + - + {/if} - + {else} {* isBanned() *} {include "banned.xml"} {/if} diff --git a/Web/Presenters/templates/_includeCSS.xml b/Web/Presenters/templates/_includeCSS.xml index 60409c274..ba5ee8d97 100644 --- a/Web/Presenters/templates/_includeCSS.xml +++ b/Web/Presenters/templates/_includeCSS.xml @@ -10,7 +10,6 @@ {css "css/dialog.css"} {css "css/notifications.css"} {css "css/avataredit.css"} - {if $isXmas} {css "css/xmas.css"} {/if} @@ -51,7 +50,6 @@ {css "css/nsfw-posts.css"} {css "css/notifications.css"} {css "css/avataredit.css"} - {if $isXmas} {css "css/xmas.css"} {/if} diff --git a/Web/ovk-nginx-example.cfg b/Web/ovk-nginx-example.cfg new file mode 100644 index 000000000..a24651f8e --- /dev/null +++ b/Web/ovk-nginx-example.cfg @@ -0,0 +1,131 @@ +# OpenVK domain settings for nginx +# +# This is a example configuration file. adapt the config +# values to your own needs. +# +# The use of TLS (e.g., Let's Encrypt) is recommended. +# +# To install, rename the file name, put it in +# /etc/nginx/sites-available and make a symlink to +# /etc/nginx/sites-enabled + +# 1. Access without TLS (port 80) + +server { + listen [YOUR_SERVER_DOMAIN_OR_IP]:80; + server_name [YOUR_SERVER_DOMAIN_OR_IP]; + + root [PATH_TO_CHANDLER]/public_html; + + client_max_body_size 100m; + + index index.php; + + location / { + try_files $uri $uri/ /index.php$is_args$args; + } + + location ~ \index.php$ { + include fastcgi_params; + fastcgi_pass unix:[PATH_TO_PHP_SOCKET]; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + + # Don't forget to add the following lines to nginx.conf, 'http' section: + # add_header Set-Cookie lcid=1043; + # add_header Set-Cookie expires=60; + # proxy_set_header language [SHORT LANGUAGE CODE]; + + proxy_set_header X-Session-id $cookie_sid; + } + +# OPTIONAL: phpMyAdmin or Adminer +# +# location /pma { +# alias /usr/share/phpmyadmin; +# location ~ \.php$ { +# fastcgi_pass unix:[PATH_TO_PHP_SOCKET]; +# fastcgi_index index.php; +# fastcgi_param SCRIPT_FILENAME $request_filename; +# include fastcgi_params; +# fastcgi_ignore_client_abort off; +# } +# location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { +# access_log off; +# log_not_found off; +# expires 1M; +# } +# +# } +} + +# 2. Access with TLS (port 433, maybe hybrid) + +server { + listen [YOUR_SERVER_DOMAIN_OR_IP]:443 ssl; + server_name [YOUR_SERVER_DOMAIN_OR_IP]; + + root [PATH_TO_CHANDLER]/public_html; + + client_max_body_size 100m; + + index index.php; + + location / { + try_files $uri $uri/ /index.php$is_args$args; + } + +# UNCOMMENT AND DO NOT DELETE THIS LINES, if you want to use Let's Encrypt certificates. +# +# ssl_certificate /etc/letsencrypt/live/[YOUR_SERVER_DOMAIN_OR_IP]/fullchain.pem; +# ssl_certificate_key /etc/letsencrypt/live/[YOUR_SERVER_DOMAIN_OR_IP]/privkey.pem; +# include /etc/letsencrypt/options-ssl-nginx.conf; +# ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; +# +# location ~ /\.(?!well-known).* { +# deny all; +# access_log off; +# log_not_found off; +# } + + location ~ \index.php$ { + include fastcgi_params; + fastcgi_pass unix:[PATH_TO_PHP_SOCKET]; + + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + + # Don't forget to add the following lines to nginx.conf, 'http' section: + # add_header Set-Cookie lcid=1043; + # add_header Set-Cookie expires=60; + # proxy_set_header language [SHORT LANGUAGE CODE]; + + proxy_set_header X-Session-id $cookie_sid; + } + +# OPTIONAL: phpMyAdmin or Adminer +# +# location /pma { +# alias /usr/share/phpmyadmin; +# location ~ \.php$ { +# fastcgi_pass unix:[PATH_TO_PHP_SOCKET]; +# fastcgi_index index.php; +# fastcgi_param SCRIPT_FILENAME $request_filename; +# include fastcgi_params; +# fastcgi_ignore_client_abort off; +# } +# location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { +# access_log off; +# log_not_found off; +# expires 1M; +# } +# +# } +} + +# OPTIONAL: Redirect to SSL +# +# server { +# listen 80; +# listen [::]:80; +# server_name domain.tld; +# #return 301 https://$server_name$request_uri; +# } diff --git a/Web/static/css/avataredit.css b/Web/static/css/avataredit.css index dd6bc43a0..e427410a6 100644 --- a/Web/static/css/avataredit.css +++ b/Web/static/css/avataredit.css @@ -1,3 +1,4 @@ + .text_add_image { position:absolute; diff --git a/Web/static/css/dialog.css b/Web/static/css/dialog.css index 465b1e0bb..5895797c1 100644 --- a/Web/static/css/dialog.css +++ b/Web/static/css/dialog.css @@ -36,7 +36,7 @@ body.dimmed > .dimmer { .ovk-diag-head { height: 25%; padding: 5px; - background-color: #757575; + background-color: #dd6700; border-bottom: 1px solid #3e3e3e; color: #fff; font-weight: 900; diff --git a/Web/static/css/main.css b/Web/static/css/main.css index 7b63d6f64..e13b6d5ae 100644 --- a/Web/static/css/main.css +++ b/Web/static/css/main.css @@ -25,7 +25,7 @@ nobold { a { text-decoration: none; - color: #2B587A; + color: #c04b0f; cursor: pointer; } @@ -110,7 +110,7 @@ h1 { } .header_navigation .link a { - color: #D7D7D7; + color: #ffd9b2; text-decoration: none; font-weight: bold; } @@ -401,7 +401,7 @@ h1 { border: none; border-bottom: 1px solid #CCC; font-size: 11px; - color: #2b587a; + color: #c04b0f; width: 200px; text-align: left; cursor: pointer; @@ -525,17 +525,18 @@ table { font-size: 11px; outline: none; white-space: nowrap; - background: #595959; + background: #c04b0f; background-position: 0 -16px; color: #fff; padding: 4px 8px; - text-shadow: 0 1px 0 #686868; + text-shadow: 0 1px 0 #0000003f; cursor: pointer; text-decoration: none; } .button:hover { - color: #e8e8e8; + text-shadow: 0 1px 0 #0000001f; + color: #ffffffd5; } .button[disabled] { @@ -689,7 +690,7 @@ select { .header2 { border-bottom: 1px solid #E8EBEE; - color: #45688E; + color: #c04b0f; font-size: 14px; font-weight: bold; margin: 0; @@ -698,7 +699,7 @@ select { h4 { border-bottom: 1px solid #E8EBEE; - color: #45688E; + color: #c04b0f; font-size: 12px; font-weight: bold; margin: 0; @@ -877,8 +878,6 @@ span { .content_list .cl_element { width: 33%; - display: inline-block; - text-align: center; } .content_list.long .cl_element { @@ -899,7 +898,6 @@ span { .content_list .cl_element .cl_name .cl_lname { font-size: 7pt; - display: block; } .ava { @@ -926,7 +924,7 @@ table.User { } .tabs { - border-bottom: 1px solid #707070; + border-bottom: 1px solid #c04b0f; padding: 0 10px; margin-left: -10px; width: 607px; @@ -940,12 +938,12 @@ table.User { } #activetabs { - background: #707070; + background: #c04b0f; } #activetabs:hover { - color: #e8e8e8; + color: #fec07c; } .tab { @@ -1462,11 +1460,10 @@ body.scrolled .toTop:hover { } #test-label { - padding: 8pt; - margin: 4pt; + padding: 4pt; + margin-top: 8pt; border: 1px solid #9a205e; background-color: #f5e9ec; - position: fixed; font-weight: bold; } @@ -1526,7 +1523,7 @@ body.scrolled .toTop:hover { } .like_wrap { - color: #2F5879; + color: #d65515; font-size: 10px; cursor: pointer; float: right; @@ -1598,14 +1595,14 @@ body.scrolled .toTop:hover { } .profileName { - color: #45688E; + color: #dd6700; font-size: 11px; font-weight: bold; margin: 0; } .profileName h2 { - color: #45688E; + color: #dd6700; font-size: 13px; margin: 0; padding: 0; @@ -1874,12 +1871,12 @@ body.scrolled .toTop:hover { } .paginator a:hover { - border-top: 3px solid rgb(170, 170, 170); + border-top: 3px rgb(254, 189, 140); background-color: rgb(230, 230, 230); } .paginator a.active { - border-top: 3px solid rgb(130, 130, 130); + border-top: 3px solid rgb(192, 75, 15); font-weight: bold; } @@ -1999,7 +1996,7 @@ body.scrolled .toTop:hover { } .summaryBar { - border-bottom: #DEDEDE solid 1px; + border-bottom: #707070 solid 1px; clear: both; padding: 11px 10px; padding-bottom: 11px; @@ -2007,7 +2004,7 @@ body.scrolled .toTop:hover { } .summaryBar .summary { - color: #45688E; + color: #c04b0f; font-weight: bold; padding-top: 3px; padding-bottom: 4px; diff --git a/Web/static/img/delete.png~ b/Web/static/img/delete.png~ new file mode 100644 index 000000000..352df253d Binary files /dev/null and b/Web/static/img/delete.png~ differ diff --git a/Web/static/img/divider.png b/Web/static/img/divider.png index 561f8e6e6..1d0ce09ef 100644 Binary files a/Web/static/img/divider.png and b/Web/static/img/divider.png differ diff --git a/Web/static/img/header.png b/Web/static/img/header.png index 34a26b33a..67a07d872 100644 Binary files a/Web/static/img/header.png and b/Web/static/img/header.png differ diff --git a/Web/static/img/header.psd b/Web/static/img/header.psd new file mode 100644 index 000000000..0c9b9aac7 Binary files /dev/null and b/Web/static/img/header.psd differ diff --git a/Web/static/img/header_custom.png b/Web/static/img/header_custom.png index 735bed816..171e1a7ea 100755 Binary files a/Web/static/img/header_custom.png and b/Web/static/img/header_custom.png differ diff --git a/Web/static/img/header_custom.psd b/Web/static/img/header_custom.psd new file mode 100644 index 000000000..2c9019f63 Binary files /dev/null and b/Web/static/img/header_custom.psd differ diff --git a/Web/static/img/like.gif b/Web/static/img/like.gif index 985cba4f4..1d5b13679 100644 Binary files a/Web/static/img/like.gif and b/Web/static/img/like.gif differ diff --git a/Web/static/img/logo.png b/Web/static/img/logo.png index 5fc75a114..d204db110 100644 Binary files a/Web/static/img/logo.png and b/Web/static/img/logo.png differ diff --git a/Web/static/img/logo_full.png b/Web/static/img/logo_full.png index 8c73ed26f..d0d18d30c 100644 Binary files a/Web/static/img/logo_full.png and b/Web/static/img/logo_full.png differ diff --git a/Web/static/img/miniature.png b/Web/static/img/miniature.png new file mode 100644 index 000000000..6eeb62772 Binary files /dev/null and b/Web/static/img/miniature.png differ diff --git a/Web/static/img/upload.png b/Web/static/img/upload.png index 31b43859c..e6280bc40 100644 Binary files a/Web/static/img/upload.png and b/Web/static/img/upload.png differ diff --git a/Web/static/img/xheader.png b/Web/static/img/xheader.png index fd87aa9c6..990a11787 100644 Binary files a/Web/static/img/xheader.png and b/Web/static/img/xheader.png differ diff --git a/Web/static/img/xheader_custom.png b/Web/static/img/xheader_custom.png index 79fdcdf74..52399c084 100755 Binary files a/Web/static/img/xheader_custom.png and b/Web/static/img/xheader_custom.png differ diff --git a/Web/static/js/openvk.cls.js b/Web/static/js/openvk.cls.js index b131bfa0a..a1f4e3b97 100644 --- a/Web/static/js/openvk.cls.js +++ b/Web/static/js/openvk.cls.js @@ -73,7 +73,7 @@ document.addEventListener("DOMContentLoaded", function() { //BEGIN formHtml += ""; formHtml += ""; u("body").append(formHtml); - + MessageBox(tr('warning'), tr('question_confirm'), [ tr('yes'), tr('no') @@ -85,9 +85,54 @@ document.addEventListener("DOMContentLoaded", function() { //BEGIN u("#tmpPhDelF").remove(); }), ]); - + + return e.preventDefault(); + }); + u("#_avatarDelete").on("click", function(e) { + var formHtml = ""; + formHtml += ""; + formHtml += ""; + u("body").append(formHtml); + + MessageBox(tr('prevention'), tr('delete_photo'), [ + tr('delete'), + tr('close') + ], [ + (function() { + u("#tmpPhDelF").nodes[0].submit(); + }), + (function() { + u("#tmpPhDelF").remove(); + }), + ]); + + return e.preventDefault(); + }); + u("#_newPicture").on("click", function(e) { + MessageBox(tr('new_photo'), + ""+ + "
"+tr('formats')+"

"+ + ""+ + "
"+ + "

"+tr('upload_problems')+"
"+ + //"

"+tr('leave_photo')+"

"+ + ""+ + "", [ + tr('upload_button'), + tr('close') + ], [ + (function() { + u("#tmpPhDelF").nodes[0].submit(); + }), + (function() { + u("#tmpPhDelF").remove(); + }), + ]); + return e.preventDefault(); }); + /* @rem-pai why this func wasn't named as "#_deleteDialog"? It looks universal IMO */ u("#_noteDelete").on("click", function(e) { @@ -95,7 +140,7 @@ document.addEventListener("DOMContentLoaded", function() { //BEGIN formHtml += ""; formHtml += ""; u("body").append(formHtml); - + MessageBox(tr('warning'), tr('question_confirm'), [ tr('yes'), tr('no') @@ -107,7 +152,7 @@ document.addEventListener("DOMContentLoaded", function() { //BEGIN u("#tmpPhDelF").remove(); }), ]); - + return e.preventDefault(); }); @@ -119,7 +164,7 @@ document.addEventListener("DOMContentLoaded", function() { //BEGIN let groupName = u(this).attr("data-group-name"); let groupUrl = u(this).attr("data-group-url"); let list = u('#_groupListPinnedGroups'); - + thisButton.nodes[0].classList.add('loading'); thisButton.nodes[0].classList.add('disable'); @@ -160,7 +205,7 @@ document.addEventListener("DOMContentLoaded", function() { //BEGIN if(list.nodes[0].children[0].className != "menu_divider" || list.nodes[0].children.length == 1) { list.nodes[0].children[0].remove(); } - + thisButton.nodes[0].classList.remove('loading'); thisButton.nodes[0].classList.remove('disable'); @@ -479,7 +524,7 @@ function escapeHtml(text) { '"': '"', "'": ''' }; - + return text.replace(/[&<>"']/g, function(m) { return map[m]; }); } diff --git a/bootstrap.php b/bootstrap.php index faa798f66..98fb724a1 100644 --- a/bootstrap.php +++ b/bootstrap.php @@ -244,8 +244,9 @@ function ovk_scheme(bool $with_slashes = false): string define('YEAR', 365 * DAY); define("nullptr", NULL); - define("OPENVK_DEFAULT_INSTANCE_NAME", "OpenVK", false); + define("OPENVK_DEFAULT_INSTANCE_NAME", "Astorium", false); define("OPENVK_VERSION", "Altair Preview ($ver)", false); define("OPENVK_DEFAULT_PER_PAGE", 10, false); define("__OPENVK_ERROR_CLOCK_IN_FUTURE", "Server clock error: FK1200-DTF", false); + define("OPENVK_COMMIT", "$ver", false); }); diff --git a/data/knowledgebase/faq.hy.md b/data/knowledgebase/faq.hy.md index 8cd8233b2..fdbb1a448 100644 --- a/data/knowledgebase/faq.hy.md +++ b/data/knowledgebase/faq.hy.md @@ -1,2 +1,11 @@ # Ու՞մ համար է այս կայքը Այս կայքը նախատեսված է ընկերներ և ծանոթություններ գտնելու, նաև օգտատերերի մասին տվյալները դիտելու համար։ Սա կարծես քաղաքային ցուցակ լինի, որտեղ մարդիկ կարող են պարզ ու հարմար գտնել տարատեսակ տեղեկատվություն անձի մասին։ + +# Որտեղ կարող եմ գտնել Astorium օրինակի սկզբնական կոդը: +Մեր [GitHub պահոցում](https://github.com/tinelix/astorium): + +# Ո՞ւմ է պատկանում այս հեղինակությունը: +Օրինակը պատկանում է [Դմիտրի Տրետյակովին](/tretdm) (aka. Tinelix) և պարունակում է [OpenVK-ի առայժմ արտաքին ձևափոխված տարբերակը](https://github.com/tinelix/astorium), որն ավելի հարմար է նրա կարիքներին և պահանջներին։ + +# Ինչպե՞ս ստանալ տիզ: +Ստուգանիշ ստանալու պայմանները նկարագրված են [այստեղ](/verify): diff --git a/data/knowledgebase/faq.md b/data/knowledgebase/faq.md index b1025468c..f8d16427e 100644 --- a/data/knowledgebase/faq.md +++ b/data/knowledgebase/faq.md @@ -1,2 +1,11 @@ # Who is this website for? The site is designed to find friends and acquaintances, as well as view user data. It is like a city directory, through which people can quickly find relevant information about a person. + +# Where can I find the source code for Astorium Instance? +In our [GitHub repository](https://github.com/tinelix/astorium). + +# Who owns this instance? +The instance belongs to [Dmitry Tretyakov](/tretdm) (aka. Tinelix) and contains a [so far externally modified version of OpenVK](https://github.com/tinelix/astorium), more suitable for his needs and requirements. + +# How to get verified? +The conditions for verification are described [here](/verify). diff --git a/data/knowledgebase/faq.ru.md b/data/knowledgebase/faq.ru.md index 18414002b..3911bdeb6 100644 --- a/data/knowledgebase/faq.ru.md +++ b/data/knowledgebase/faq.ru.md @@ -1,2 +1,11 @@ # Для кого этот сайт? Сайт предназначен для поиска друзей и знакомых, а также для просмотра данных пользователя. Это как справочник города, с помощью которого люди могут быстро найти актуальную информацию о человеке. + +# Где можно найти исходный код инстанции Astorium? +В нашем [репозитории GitHub](https://github.com/tinelix/astorium). + +# Кто владеет этой инстанцией? +Инстанция принадлежит [Дмитрию Третьякову](/tretdm) (aka. Tinelix) и содержит [пока внешне измененную версию OpenVK](https://github.com/tinelix/astorium), более подходящая для своих нужд и потребностей. + +# Как получить галочку? +Условия получения галочки описаны [здесь](/verify). diff --git a/data/knowledgebase/faq.uk.md b/data/knowledgebase/faq.uk.md index 347323009..22a3a8aa6 100644 --- a/data/knowledgebase/faq.uk.md +++ b/data/knowledgebase/faq.uk.md @@ -1,2 +1,11 @@ # Для кого цей сайт? Сайт призначений для пошуку друзів та знайомих, а також для перегляду даних користувача. Це як довідник міста, за допомогою якого люди можуть швидко знайти актуальну інформацію про людину. + +# Де я можу знайти вихідний код інстанції Astorium? +У нашому [репозиторії GitHub](https://github.com/tinelix/astorium). + +# Кому належить ця інстанція? +Iнстанція належить [Дмитру Третьякову](/tretdm) (aka. Tinelix) і містить [поки що зовнішню модифіковану версію OpenVK](https://github.com/tinelix/astorium), яка більше підходить для його потреб і вимог. + +# Як отримати галочку? +Умови отримання галочки описані [тут](/verify). diff --git a/data/knowledgebase/rules.hy.md b/data/knowledgebase/rules.hy.md index 8aac2e27e..ef2a4ac60 100644 --- a/data/knowledgebase/rules.hy.md +++ b/data/knowledgebase/rules.hy.md @@ -1,8 +1,11 @@ OpenVK-KB-Heading: Կանոններ +##### Վերջին փոփոխությունը՝ 2023 թվականի ապրիլի 21-ին + Կայքի ադմինիստրացիան թույատրում է Ձեզ օգտագործել այս կայքը հետևյալ կանոններին հետևելու պայմաններում։ +**** -Դուք կարող եք անել ամեն ինչ ինչը արգելված չէ, որոնց մեջ նաև ներառվում են․ +**Դուք կարող եք անել ամեն ինչ ինչը արգելված չէ**, որոնց մեջ նաև ներառվում են․ 1. Կանոններին հնազանդվելուց հրաժարվելը կամ դրանք անտեսելը, 2. Տեխնիկական աջակցության կամ վարչակազմի ներկայացուցիչների պարտադիր ներկայությունից հրաժարվելը, @@ -13,17 +16,22 @@ OpenVK-KB-Heading: Կանոններ 5. Ցանկացած եղանակով զանգվածային տեղեկագրերի ստեղծում, 6. Ստեղծել իրավիճակներ, որոնք ինչ-որ կերպ խանգարում են OpenVK-ին, 7. Տեղադրել և պահպանել ցանկացած բովանդակության ռեսուրսո, որը: - 1. Անօրինական է Ֆրանսիայում կամ ձեր բնակության երկրում, + 1. Անօրինական է Ռուսաստանի Դաշնությունում, 2. Պարունակում է պոռնոգրաֆիկ տեսարաններ 18 տարեկանից ցածր անձանց մասնակցությամբ, - 3. Պարունակում է թմրանյութերի գովազդ, որոնք արգելված են Ֆրանսիայում կամ ձեր բնակության երկրում կամ դրանց պատրաստման հրահանգներ, - 4. Պարունակում է Ֆրանսիայում կամ ձեր բնակության երկրում արգելված տեղեկատվություն, - 5. Պարունակում է մարդկանց կամ կենդանիների անմարդկային վերաբերմունքի տեսարաններ, - 6. Խախտում է հեղինակային իրավունքը և հարակից իրավունքները, - 7. Խախտում է մարդու իրավունքները, - 8. Թույլ չի տալիս օգտվողներին հետևել կանոններին կամ պատշաճ կերպով օգտագործել OpenVK նախագծի կողմից մատուցվող ծառայությունները: + 3. Պարունակում է պոռնոգրաֆիկ տեսարաններ, որոնք նշված չեն «Պարունակում է NSFW մատերիալ», + 4. Պարունակում է թմրանյութերի գովազդ, որոնք արգելված են Ռուսաստանի Դաշնությունում կամ դրանց պատրաստման հրահանգներ, + 5. Պարունակում է Ռուսաստանի Դաշնությունում արգելված տեղեկատվություն, + 6. Օգտագործվում է քաղաքական նպատակներով՝ սադրելով ատյանի այլ օգտվողներին, + 7. Պարունակում է մարդկանց կամ կենդանիների անմարդկային վերաբերմունքի տեսարաններ, + 8. Խախտում է հեղինակային իրավունքը և հարակից իրավունքները, + 9. Խախտում է մարդու իրավունքները, + 10. Պարունակում է տան հասցեներ, հեռախոսահամարներ, էլ. փոստի հասցեներ, անձնագրի տվյալները և այլ օգտատերերի կամ որևէ երրորդ կողմի այլ անձնական տվյալներ՝ առանց նրանց անձնական համաձայնության, + 11. Թույլ չի տալիս օգտվողներին հետևել կանոններին կամ պատշաճ կերպով օգտագործել OpenVK նախագծի կողմից մատուցվող ծառայությունները: Ադմինիստրացիան բարձրագույն հեղինակությունն է որը ունի բոլոր իրավունքները որոշումներ կայացնելու վեճերի մասին, որոնք նկարագրված չեն կանոններում: +**** + Ադմինիստրացիան կարող է կիրառել պատիժ, եթե օգտատերերը․ 1. Տեղադրում են արգելված բովանդակությամբ կոնտենտ այլ օգտվողների էջերում, @@ -33,6 +41,8 @@ OpenVK-KB-Heading: Կանոններ 5. Բացում են Telegram-ում արգելված VKontakte-ի պաշտոնական բաց զրույցները, 6. Չեն հարգում ծրագրի վարչակազմին կամ տեխնիկական աջակցության գործակալներին: +**** + Կանոնների խախտման դեպքում, ադմինիստրացիան կարող է․ 1. Անտեսել աննշան խախտումը, @@ -42,3 +52,7 @@ OpenVK-KB-Heading: Կանոններ 5. Ջնջել հաշիվը կամ արգելված բովանդակությունը: Ադմինիստրացիան կարող է կիրառել պատիժներ առանց պատճառներ տալու (անգամ եթե պատճառը մեկն է): + +**** + +Email: [tinelix(at)mail.ru](mailto:tinelix@mail.ru) / [tinelix(at)downmail.ru](mailto:tinelix@downmail.ru) diff --git a/data/knowledgebase/rules.md b/data/knowledgebase/rules.md index 899216cdb..045c0b0ae 100644 --- a/data/knowledgebase/rules.md +++ b/data/knowledgebase/rules.md @@ -1,8 +1,11 @@ OpenVK-KB-Heading: Rules -The site administration allows you to use the site on the terms specified in these rules. +##### Last modified April 21, 2023 -You can do everything that does not apply to prohibited actions, but they include: +The instance administration allows you to use the [ovk.tinelix.ru](/) site on the terms specified in these rules. By clicking the "Register" button, нou must agree to the [Privacy Policy](/privacy) and Rules of Instance. +**** + +**You can do everything that does not apply to prohibited actions**, but they include: 1. Refusing to obey the rules or ignoring them, 2. Waiver of the mandatory presence of representatives of tech support agents or administration, @@ -13,32 +16,44 @@ You can do everything that does not apply to prohibited actions, but they includ 5. Creation of mass mailings in any way, 6. Creating situations that in any way interfere with the operation of OpenVK, 7. The publication and storage on the resource of any content that: - 1. Is illegal in France or your country of residence, + 1. Is illegal in Russian Federation, 2. Contains pornographic scenes involving persons under the age of 18, - 3. Contains advertisements for drugs banned in France or your country of residence or instructions for their preparation, - 4. Contains information prohibited in France or your country of residence, - 5. Contains scenes of inhuman treatment of people or animals, - 6. Violates copyright and related rights, - 7. Violates human rights - 8. Prevents users from following the rules or from properly using the services provided by the OpenVK project. + 3. Contains pornographic scenes without "Contains NSFW content" flag, + 4. Contains advertisements for drugs banned in Russian Federation instructions for their preparation, + 5. Contains information prohibited in Russian Federation, + 6. Used for political purposes, provoking other users of the instance, + 7. Contains scenes of inhuman treatment of people or animals, + 8. Violates copyright and related rights, + 9. Violates human rights, + 10. Contains home addresses, phone numbers, email addresses, passport details and other personal information of other users or any third parties without their personal consent to be placed, + 11. Prevents users from following the rules or from properly using the services provided by the OpenVK project. The administration is the highest authority that has the full right to make decisions about disputes that are not described in the rules. +**** + The administration may issue a punishment if users: 1. Post prohibited content on the pages of other users, 2. They deceive the administration or tech support agents, -3. Mislead website users, +3. Mislead instance users, 4. Publicly criticize OpenVK or the administration in order to humiliate or insult project participants or its leaders -5. Banned from official OpenVK chats on Telegram, -6. They do not respect the Project administration or tech support agents. +5. Banned from official OpenVK or Tinelixhouse chats, +6. They do not respect the Instance, Project administration or tech support agents. + + +**** In case of violation of the rules, the administration can: 1. Ignore a violation that is minor, 2. Issue a warning to the user 3. Issue a temporary or permanent ban, -4. Prohibit future use of this site, +4. Prohibit future use of this instance, 5. Remove account or prohibited content. The administration can issue punishments without giving a reason (even if there is one). + +**** + +Email: [tinelix(at)mail.ru](mailto:tinelix@mail.ru) / [tinelix(at)downmail.ru](mailto:tinelix@downmail.ru) diff --git a/data/knowledgebase/rules.ru.md b/data/knowledgebase/rules.ru.md index ae9b10f12..9d5522ebc 100644 --- a/data/knowledgebase/rules.ru.md +++ b/data/knowledgebase/rules.ru.md @@ -1,8 +1,11 @@ -OpenVK-KB-Heading: Правила +OpenVK-KB-Heading: Правила инстанции -Администрация сайта разрешает Вам пользоваться сайтом на условиях, которые определены в этих правилах. +##### Последние изменения от 21 апреля 2023 г. -Делать можно всё то, что не относится к запрещённым действиям, а к ним относятся: +Администрация инстанции разрешает Вам пользоваться сайтом [ovk.tinelix.ru](/) на условиях, которые определены в этих правилах. Нажимая кнопку "Регистрация", Вы должны дать согласие с [Политикой конфиденциальности](/privacy) и Правилами инстанции. +**** + +**Делать можно всё то, что не относится к запрещённым действиям**, а к ним относятся: 1. Отказ от подчинения правилам или их игнорирование, 2. Отказ от своевременного исполнения запросов агентов тех. поддержки или администрации, @@ -13,32 +16,43 @@ OpenVK-KB-Heading: Правила 5. Создание массовых рассылок любым способом, 6. Создание ситуаций, любым образом мешающих работе OpenVK, 7. Публикация и хранение на ресурсе любого содержимого, которое: - 1. Является незаконным на территории Франции или Вашей страны проживания, + 1. Является незаконным на территории Российской Федерации, 2. Содержит порнографические сцены с участием лиц младше 18 лет, - 3. Содержит рекламу запрещенных в Франции или Вашей стране проживания препаратов или инструкции по их приготовлению, - 4. Содержит информацию, запрещённую на территории Франции или Вашей страны проживания, - 5. Содержит сцены бесчеловечного обращения с людьми или животными, - 6. Нарушает авторские и смежные права, - 7. Нарушает права человека, - 8. Мешает пользователям исполнять правила или нормально пользоваться услугами, предоставляемыми проектом OpenVK. + 3. Содержит порнографические сцены без пометки "Содержит NSFW-контент", + 4. Содержит рекламу запрещенных в Российской Федерации препаратов или инструкции по их приготовлению, + 5. Содержит информацию, запрещённую на территории Российской Федерации, + 6. Используется в политических целях, провоцирующие других пользователей инстанции, + 7. Содержит сцены бесчеловечного обращения с людьми или животными, + 8. Нарушает авторские и смежные права, + 9. Нарушает права человека, + 10. Содержит домашние адреса, номера телефонов, адреса электронной почты, паспортные данные и прочую личную информацию других пользователей или любых третьих лиц без их личного согласия на размещение, + 11. Мешает пользователям исполнять правила или нормально пользоваться услугами, предоставляемыми проектом OpenVK. Администрация является высшим органом власти, имеющим полное право принимать решения насчёт спорных ситуаций, не описанных в правилах. +**** + Администрация может выдать наказание, если пользователи: 1. Публикуют запрещённый контент на страницах других пользователей, 2. Обманывают администрацию или агентов тех. поддержки, -3. Вводят в заблуждение пользователей сайта, +3. Вводят в заблуждение пользователей инстанции, 4. Публично критикуют OpenVK или администрацию с целью унизить или оскорбить участников проекта или его руководителей, -5. Забанены в официальных чатах OpenVK в Telegram, -6. Не уважают администрацию проекта или агентов тех. поддержки. +5. Забанены в официальных чатах OpenVK и Tinelixhouse, +6. Не уважают администрацию инстанции, агентов тех. поддержки или проекта. + +**** При нарушении правил, администрация может: 1. Проигнорировать нарушение, являющееся незначительным, 2. Вынести пользователю предупреждение, 3. Выдать временную или постоянную блокировку, -4. Запретить в будущем пользоваться этим сайтом, +4. Запретить в будущем пользоваться этой инстанцией, 5. Удалить аккаунт или запрещенный контент. Администрация может выдавать наказания без объяснения причины (даже если таковая имеется). + +**** + +Email: [tinelix(at)mail.ru](mailto:tinelix@mail.ru) / [tinelix(at)downmail.ru](mailto:tinelix@downmail.ru) diff --git a/data/knowledgebase/rules.uk.md b/data/knowledgebase/rules.uk.md index 5acc53095..011176c65 100644 --- a/data/knowledgebase/rules.uk.md +++ b/data/knowledgebase/rules.uk.md @@ -1,8 +1,11 @@ OpenVK-KB-Heading: Правила -Адміністрація сайту дозволяє Вам користуватися сайтом на умовах, вказаних у цих правилах. +##### Останні зміни від 21 квітня 2023 р. -Робити можна усе те, що не належать до заборонених дій, а до заборонених дій відносяться: +Адміністрація сайту дозволяє Вам користуватися сайтом [ovk.tinelix.ru](/) на умовах, вказаних у цих правилах. Натискаючи кнопку "Реєстрація", Ви повинні дати згоду з [Політикою конфіденційності](/privacy) та Правилами інстанції. +**** + +**Робити можна усе те, що не належать до заборонених дій**, а до заборонених дій відносяться: 1. Відмова у підпорядкуванні правилам чи їх ігнорування, 2. Відмова від своєчасного виконання запитів агентів технічної підтримки чи адміністрації, @@ -13,32 +16,43 @@ OpenVK-KB-Heading: Правила 5. Створення масових розсилок будь-яким способом, 6. Створення ситуацій, що заважає роботі OpenVK, 7. Публікація та зберігання на ресурсі вмісту, який: - 1. Є незаконним на території Франції, + 1. Є незаконним на території Росіїської Федерації, 2. Містить порнографічні сцени за участю осіб молодше 18 років, - 3. Містить рекламу заборонених у Франції препаратів чи інструкції по їх виготовленню, - 4. Містить інформацію заборонену на території Франції, - 5. Містить сцени нелюдського поводження з людьми або тваринами, - 6. Порушує авторські та суміжні права, - 7. Порушує права людини, - 8. Заважає користувачам виконувати правила чи нормально користуватися послугами, наданими проєктом OpenVK. + 3. Містить порнографічні сцени без позначки "Зміст NSFW-контент", + 4. Містить рекламу заборонених у Росіїська Федерації препаратів чи інструкції по їх виготовленню, + 5. Містить інформацію заборонену на території Росіїської Федерації, + 6. Використовується в політичних цілях, які провокують інших користувачів інстанції, + 7. Містить сцени нелюдського поводження з людьми або тваринами, + 8. Порушує авторські та суміжні права, + 9. Порушує права людини, + 10. Містить домашні адреси, номери телефонів, адреси електронної пошти, паспортні дані та іншу особисту інформацію інших користувачів або будь-яких третіх осіб без їхньої особистої згоди на розміщення, + 11. Заважає користувачам виконувати правила чи нормально користуватися послугами, наданими проєктом OpenVK. Адміністрація є вищим органом влади, який має повне право приймати рішення на рахунок спірних ситуацій, не описаних у правилах. +**** + Адміністрація може видати покарання, якщо користувачі: 1. Публікують заборонений контент на сторінках інших користувачів, 2. Обдурюють адміністрацію чи агентів технічної підтримки, -3. Вводять в оману користувачів сайту, +3. Вводять в оману користувачів інстанції, 4. Публічно необґрунтовано критикують OpenVK чи адміністрацію з ціллю принизити, образити учасників проєкт, його керівників, -5. Заблоковані в офіційному чаті OpenVK у Telegram, +5. Заблоковані в офіційному чаті OpenVK або Tinelixhouse, 6. Не поважають адміністрацію проєкт чи агентів технічної підтримки. +**** + При порушенні правил, адміністрація може: 1. Проігнорувати порушення, яке є незначним, 2. Винести користувачу попередження, 3. Видати тимчасове чи постійне блокування, -4. Заборонити у майбутньому користуватися цим сайтом, +4. Заборонити в майбутньому користуватися цією інстанцією, 5. Видалити акаунт чи заборонений контент. Адміністрація може видавати покарання без пояснення причини (навіть якщо така є). + +**** + +Email: [tinelix(at)mail.ru](mailto:tinelix@mail.ru) / [tinelix(at)downmail.ru](mailto:tinelix@downmail.ru) diff --git a/install/init-event-db.sql b/install/init-event-db.sql index 2ab6f0e3e..d9651c2c3 100644 --- a/install/init-event-db.sql +++ b/install/init-event-db.sql @@ -16,7 +16,7 @@ CREATE TABLE `notifications` ( `targetModelType` tinyint(3) UNSIGNED NOT NULL, `targetModelId` bigint(20) UNSIGNED NOT NULL, `modelAction` tinyint(3) UNSIGNED NOT NULL, - `additionalData` char(24) NOT NULL, + `additionalData` TEXT NOT NULL, `timestamp` bigint(20) UNSIGNED NOT NULL ) ENGINE=Aria DEFAULT CHARSET=utf8; diff --git a/locales/en.strings b/locales/en.strings index b1d211d19..224600eda 100644 --- a/locales/en.strings +++ b/locales/en.strings @@ -222,6 +222,9 @@ "edited_short" = "edited"; +"updated_photo_m" = "updated his avatar"; +"updated_photo_f" = "updated her avatar"; + /* Friends */ "friends" = "Friends"; @@ -339,6 +342,8 @@ "search_by_groups" = "Search by groups"; "search_group_desc" = "Here you can browse through the existing groups and choose a group to suit your needs..."; +"group_banned" = "Unfortunately, we had to block the $1 group."; +"add_photo" = "Add photo"; "group_banned" = "Unfortunately, we had to block the $1 group."; /* Albums */ @@ -371,6 +376,16 @@ "albums_list_one" = "You have one album"; "albums_list_other" = "You have $1 albums"; +"new_photo" = "Upload new photo"; + +"formats" = "You can upload an image in JPG, GIF or PNG format."; +"upload_problems" = "If you're having troubles during uploading, try selecting a smaller photo."; +"webcam_avatar" = "If your computer has a webcam, you can take a photo from the webcam »"; + +"delete_photo" = "Are you sure you want to delete the photo?"; +"change_miniature" = "Change miniature"; +"good_photo" = "A good photo will make your community more recognizable."; +"leave_photo" = "Leave post on the wall"; "add_image" = "Add image"; "add_image_group" = "Upload image"; "upload_new_picture" = "Upload new photo"; @@ -1304,6 +1319,7 @@ /* Admin panel */ "admin" = "Admin panel"; +"db" = "Database"; "sandbox_for_developers" = "Sandbox for developers"; "admin_ownerid" = "Owner ID"; @@ -1435,7 +1451,7 @@ /* About */ -"about_openvk" = "About OpenVK"; +"about_astorium" = "About Astorium"; "about_this_instance" = "About this instance"; "rules" = "Rules"; @@ -1476,6 +1492,8 @@ "confirm_m" = "Confirm"; "action_successfully" = "Success"; +"prevention" = "Prevention"; + /* User alerts */ "user_alert_scam" = "This account has been reported a lot for scam. Please be careful, especially if he asked for money."; @@ -1692,7 +1710,7 @@ "tour_section_13_bottom_text_3" = "Attention: Once a promocode is activated on your page, the same promocode cannot be reactivated"; "tour_section_14_title_1" = "Mobile version"; -"tour_section_14_text_1" = "At the moment there is no mobile web version of the site yet, but there is a mobile app for Android"; +"tour_section_14_text_1" = "There is currently a mobile version of the site that uses the OpenVK Mobile theme as well as the OpenVK Legacy Android app."; "tour_section_14_text_2" = "OpenVK Legacy is an OpenVK mobile app for retro Android devices with the design of the original VKontakte 3.0 app from 2013"; "tour_section_14_text_3" = "The minimum supported version is Android 2.1 Eclair, which means devices from the early 2010s will be quite useful"; diff --git a/locales/hy.strings b/locales/hy.strings index 09a8e3445..9e854d974 100644 --- a/locales/hy.strings +++ b/locales/hy.strings @@ -1126,6 +1126,7 @@ /* Admin panel */ +"db" = "տվյալների բազա"; "admin" = "Ադմինի վահանակ"; "admin_ownerid" = "Օգտատիրոջ ID"; @@ -1228,7 +1229,7 @@ /* About */ -"about_openvk" = "OpenVK-ի մասին"; +"about_astorium" = "Astorium-ի մասին"; "about_this_instance" = "Այս հոսքի մասին"; "rules" = "Կանոններ"; diff --git a/locales/id.strings b/locales/id.strings index d0a43d19c..d5ddf72a6 100644 --- a/locales/id.strings +++ b/locales/id.strings @@ -840,7 +840,7 @@ /* About */ -"about_openvk" = "Tentang OpenVK"; +"about_astorium" = "Tentang Astorium"; "about_this_instance" = "About this instance"; "rules" = "Rules"; diff --git a/locales/kk.strings b/locales/kk.strings index e3c08caeb..5184e9203 100644 --- a/locales/kk.strings +++ b/locales/kk.strings @@ -1003,7 +1003,7 @@ /* About */ -"about_openvk" = "OpenVK туралы"; +"about_astorium" = "Astorium туралы"; "about_this_instance" = "Инстанция туралы"; "rules" = "Ережелер"; "most_popular_groups" = "Ең танымал топтар"; diff --git a/locales/list.yml b/locales/list.yml index eed50bb77..61916319a 100644 --- a/locales/list.yml +++ b/locales/list.yml @@ -3,12 +3,12 @@ list: flag: "ru" name: "Russian" native_name: "Русский" - author: "OpenVK Team" + author: "OpenVK Team, Dmitry Tretyakov" - code: "en" flag: "gb" name: "English" native_name: "English" - author: "OpenVK Team" + author: "OpenVK Team, Dmitry Tretyakov" - code: "uk" flag: "ua" name: "Ukrainian" @@ -18,7 +18,7 @@ list: flag: "by" name: "Belarussian" native_name: "Беларуская (Наркамоўка)" - author: "Daniil Myslivets (myslivets) and MoccoCoffee" + author: "Daniel Myslivets (myslivets) and MoccoCoffee" - code: "by_lat" flag: "by" name: "Belarussian (Latin)" diff --git a/locales/pl.strings b/locales/pl.strings index 1f58be304..0ff66dd37 100644 --- a/locales/pl.strings +++ b/locales/pl.strings @@ -799,7 +799,7 @@ /* About */ -"about_openvk" = "O OpenVK"; +"about_astorium" = "O Astorium"; "about_this_instance" = "O tej instancji"; "rules" = "Zasada"; diff --git a/locales/ru.strings b/locales/ru.strings index 498713997..d7e1cd1ff 100644 --- a/locales/ru.strings +++ b/locales/ru.strings @@ -199,6 +199,9 @@ "post_is_ad" = "Этот пост был размещён за взятку."; "edited_short" = "ред."; +"updated_photo_m" = "обновил фотографию на странице"; +"updated_photo_f" = "обновила фотографию на странице"; + /* Friends */ "friends" = "Друзья"; @@ -323,6 +326,8 @@ "search_group_desc" = "Здесь Вы можете просмотреть существующие группы и выбрать группу себе по вкусу..."; "group_banned" = "К сожалению, нам пришлось заблокировать сообщество $1."; +"add_photo" = "Загрузить фотографию"; + /* Albums */ "create" = "Создать"; @@ -353,6 +358,18 @@ "albums_list_many" = "У Вас $1 альбомов"; "albums_list_other" = "У Вас $1 альбомов"; +"new_photo" = "Загрузка новой фотографии"; + +"formats" = "Вы можете загрузить изображение в формате JPG, GIF или PNG."; +"upload_problems" = "Если у Вас возникают проблемы с загрузкой, попробуйте выбрать фотографию меньшего размера."; +"webcam_avatar" = "Если Ваш компьютер оснащён веб-камерой, Вы можете сделать моментальную фотографию »"; + +"select_file" = "Выбрать файл"; +"delete_photo" = "Вы уверены, что хотите удалить фотографию?"; + +"change_miniature" = "Изменить миниатюру"; +"good_photo" = "Хорошее фото сделает Ваше сообщество более узнаваемым."; +"leave_photo" = "Оставить пост на стене"; "add_image" = "Поставить изображение"; "add_image_group" = "Загрузить фотографию"; "upload_new_picture" = "Загрузить новую фотографию"; @@ -1200,6 +1217,8 @@ "admin" = "Админ-панель"; "sandbox_for_developers" = "Sandbox для разработчиков"; +"db" = "База данных"; +"sandbox_for_developers" = "Sandbox для разработчиков"; "admin_ownerid" = "ID владельца"; "admin_author" = "Автор"; "admin_name" = "Имя"; @@ -1319,7 +1338,7 @@ /* About */ -"about_openvk" = "Об OpenVK"; +"about_astorium" = "Об Astorium"; "about_this_instance" = "Об этой инстанции"; "rules" = "Правила"; "most_popular_groups" = "Самые популярные группы"; @@ -1362,6 +1381,8 @@ "confirm_m" = "Подтвердить"; "action_successfully" = "Операция успешна"; +"prevention" = "Предупреждение"; + /* User alerts */ "user_alert_scam" = "На этот аккаунт много жаловались в связи с мошенничеством. Пожалуйста, будьте осторожны, особенно если у вас попросят денег."; @@ -1580,7 +1601,7 @@ "tour_section_13_bottom_text_3" = "Внимание: После активации ваучера на вашу страницу, тот же самый ваучер нельзя будет активировать повторно"; "tour_section_14_title_1" = "Мобильная версия"; -"tour_section_14_text_1" = "На данный момент мобильной веб-версии сайта пока нет, но зато есть мобильное приложение для Android"; +"tour_section_14_text_1" = "На данный момент существует мобильная версия сайта, использующая тему OpenVK Mobile, и мобильное приложение для Android."; "tour_section_14_text_2" = "OpenVK Legacy - это мобильное приложение OpenVK для ретро-устройств на Android с дизайном ВКонтакте 3.0.4 из 2013 года"; "tour_section_14_text_3" = "Минимально поддерживаемой версией является Android 2.1 Eclair, то есть аппараты времён начала 2010-ых вполне пригодятся"; diff --git a/locales/ru_sov.strings b/locales/ru_sov.strings index 903910a13..e82f36b45 100644 --- a/locales/ru_sov.strings +++ b/locales/ru_sov.strings @@ -857,7 +857,7 @@ /* About */ -"about_openvk" = "Об органе OpenVK"; +"about_astorium" = "Об органе Astorium"; "footer_about_instance" = "о стране"; "about_this_instance" = "Об этой стране"; "rules" = "Правила"; diff --git a/locales/udm.strings b/locales/udm.strings index 497a4cc63..fd8ce9c21 100644 --- a/locales/udm.strings +++ b/locales/udm.strings @@ -791,7 +791,7 @@ /* About */ -"about_openvk" = "Сярысь органъёс OpenVK"; +"about_astorium" = "Сярысь органъёс Astorium"; /* Dialogs */ diff --git a/locales/uk.strings b/locales/uk.strings index 41e7331db..7280fee3b 100644 --- a/locales/uk.strings +++ b/locales/uk.strings @@ -1200,6 +1200,7 @@ /* Admin panel */ "admin" = "Адмін панель"; +"db" = "База даних"; "sandbox_for_developers" = "Sandbox для розробників"; "admin_ownerid" = "ID власника"; "admin_author" = "Автор"; @@ -1318,7 +1319,7 @@ /* About */ -"about_openvk" = "Про OpenVK"; +"about_astorium" = "Про Astorium"; "about_this_instance" = "Про цю інстанцію"; "rules" = "Правила"; "most_popular_groups" = "Найпопулярніші групи"; @@ -1595,8 +1596,9 @@ "tour_section_13_bottom_text_3" = "Зверніть увагу: Якщо ви вже активували ваучер на цьому аккаунті, його не можна повторно використати."; "tour_section_14_title_1" = "Мобільна версія"; -"tour_section_14_text_1" = "Наразі мобільної вебверсії сайту поки що немає, проте є мобільний додаток для Android"; -"tour_section_14_text_2" = "OpenVK Legacy - це мобільний додаток OpenVK для пристроїв на базі Android із дизайном ВКонтакті 3.0.4 2013 року"; + +"tour_section_14_text_1" = "На даний момент існує мобільна версія сайту, що використовує тему OpenVK Mobile, та мобільний додаток для Android."; +"tour_section_14_text_2" = "OpenVK Legacy - це мобільний додаток OpenVK для пристроїв на базі Android із дизайном ВКонтакте 3.0.4 2013 року"; "tour_section_14_text_3" = "Мінімально підтримуваною версією є Android 2.1 Eclair, тобто апарати часів початку 2010-их стануть у пригоді."; "tour_section_14_title_2" = "Де це можна завантажити?"; @@ -1654,7 +1656,6 @@ "closed_group_post" = "Цей допис з приватної групи"; "deleted_target_comment" = "Цей коментар належить до видаленого допису"; - "no_results" = "Немає результатів"; /* BadBrowser */ diff --git a/openvk-example.yml b/openvk-example.yml index 4b45e7ba0..fde519ca5 100644 --- a/openvk-example.yml +++ b/openvk-example.yml @@ -1,9 +1,9 @@ openvk: debug: true appearance: - name: "OpenVK" - motd: "Yet another OpenVK instance" - + name: "Astorium" + motd: "Tinelix - это больше, чем OpenVK!" + preferences: femaleGenderPriority: true nginxCacheTime: null @@ -11,8 +11,8 @@ openvk: disableLargeUploads: false mode: "basic" api: - maxFilesPerDomain: 10 - maxFileSize: 25000000 + maxFilesPerDomain: 480 + maxFileSize: 16000000 shortcodes: minLength: 3 # won't affect existing short urls or the ones set via admin panel forbiddenNames: @@ -88,22 +88,23 @@ openvk: menu: links: - name: "@left_menu_donate" - url: "/donate" + url: "https://t.me/tinelixdonators/4" about: links: - - name: "Link caption" - url: "https://example.org/" + - name: "Веб-сайт" + url: "https://tinelix.ru/" + - name: "Пожертвования" + url: "https://t.me/tinelixdonators/4" adPoster: enable: false - src: "https://example.org/ad_poster.jpeg" - caption: "Ad caption" - link: "https://example.org/product.aspx?id=10&from=ovk" + src: "https://tinelix.ru/bannners/ad_banner.png" + caption: "Tinelix - это больше, чем OpenVK" + link: "https://tinelix.ru" bellsAndWhistles: fartscroll: false testLabel: false defaultMobileTheme: "" logs: true - telemetry: plausible: enable: false @@ -118,7 +119,7 @@ openvk: enable: false container: "" site: "" - + credentials: smsc: enable: false diff --git a/themepacks/midnight/README.md b/themepacks/midnight/README.md deleted file mode 100644 index 99a21fcc5..000000000 --- a/themepacks/midnight/README.md +++ /dev/null @@ -1,15 +0,0 @@ -![Preview](https://user-images.githubusercontent.com/10499845/193457968-c16c8e55-e3f7-4360-b26b-4c054a2993be.png) - -# Intro -**"Midnight"** is a design theme using darker shades of color similar to "Slate Blue" (according to X11 colors), designed to reduce eye pain when browsing at *midnight* or at all times. - -The key feature of the design theme is to be **as close to the standard design theme as possible**, which is why you'll not see a badass (in a good way) design of that button which does not need to be styled. - -# Contributing -If I ([Lumaeris](https://github.com/Lumaeris)) didn't manage to style a new feature in time or if you develop a new feature with styling yourself, please remember the key feature of the design theme. - -> _"**as close to the standard design theme as possible**"_ - -What is meant here is that you should NOT add unnecessary properties (such as `width`, `overflow-x`, `cursor`, etc). You should only focus on color changes and only add critical properties where needed. That's it. *Keep It Simple, Silly.* - -When upgrading a version, you don't have to choose something specific like `0.2.64.85` or `2038-1-19.1`, just increase the number in the last part of the version line (`0.0.5.6` -> `0.0.5.7`). It is necessary to update the version constantly to avoid forced caching of the style file. Increase the version is necessary not only in `theme.yml`, but also in `stylesheet.css` ("Replace All" will help in this). diff --git a/themepacks/midnight/res/header.png b/themepacks/midnight/res/header.png index 53e7a0187..d6fcdcd76 100644 Binary files a/themepacks/midnight/res/header.png and b/themepacks/midnight/res/header.png differ diff --git a/themepacks/midnight/res/header_custom.png b/themepacks/midnight/res/header_custom.png index 3df6fb594..4d60020b9 100644 Binary files a/themepacks/midnight/res/header_custom.png and b/themepacks/midnight/res/header_custom.png differ diff --git a/themepacks/midnight/res/xheader.png b/themepacks/midnight/res/xheader.png index b69d6fd0a..67b6214cb 100644 Binary files a/themepacks/midnight/res/xheader.png and b/themepacks/midnight/res/xheader.png differ diff --git a/themepacks/midnight/res/xheader_custom.png b/themepacks/midnight/res/xheader_custom.png index ae6ff168f..4d60020b9 100644 Binary files a/themepacks/midnight/res/xheader_custom.png and b/themepacks/midnight/res/xheader_custom.png differ diff --git a/themepacks/midnight/stylesheet.css b/themepacks/midnight/stylesheet.css index 634917c65..ca6b9ed8e 100644 --- a/themepacks/midnight/stylesheet.css +++ b/themepacks/midnight/stylesheet.css @@ -35,7 +35,7 @@ span, .post-author .date, .crp-entry--message---text, .messenger-app--messages-- border-color: #1c202f; } -.accountInfo, .left_small_block, #profile_link, .profile_link, .navigation .link, .navigation .link:hover, .navigation_footer .link, .navigation_footer .link:hover, .completeness-gauge, input[type="text"], input[type="password"], input[type~="text"], input[type~="password"], input[type="email"], input[type="phone"], input[type~="email"], input[type~="phone"], input[type="search"], input[type~="search"], input[type~="date"], select, .content_title_expanded, .content_title_unexpanded, .content_subtitle, textarea, .post-content, .post-author, hr, h4, .postFeedWrapper, .tabs, #wallAttachmentMenu, .ovk-diag, .ovk-diag-head, #ovkDraw, #ovkDraw .literally .lc-picker, .literally .lc-options.horz-toolbar, .page_wrap, .container_gray .content, .summaryBar, .groups_options, form[action="/search"] > input, .header_search_input, .header_search_inputbt, .accent-box, .page_status_popup, .messenger-app--input, .messenger-app, .crp-entry:first-of-type, .crp-list, .crp-entry, .note_footer, .page_content > div, #editor, .note_header, center[style="background: white;border: #DEDEDE solid 1px;"], .album-photo img, .mb_tabs, .mb_tab#active div, .navigation-lang .link_new, #faqhead, #faqcontent, .post-divider, .comment, .commentsTextFieldWrap, tr, td, th, #votesBalance, .paginator a.active, .paginator a:hover, .topic-list-item, #userContent blockquote, .tippy-box[data-theme~="vk"], .poll, #standaloneCommentBox, .searchBtn, .searchList #used, .searchOptionName, .borderup, .searchOptions { +.accountInfo, .left_small_block, #profile_link, .profile_link, .navigation .link, .navigation .link:hover, .navigation_footer .link, .navigation_footer .link:hover, .completeness-gauge, input[type="text"], input[type="password"], input[type~="text"], input[type~="password"], input[type="email"], input[type="phone"], input[type~="email"], input[type~="phone"], input[type="search"], input[type~="search"], input[type~="date"], select, .content_title_expanded, .content_title_unexpanded, .content_subtitle, textarea, .post-content, .post-author, hr, h4, .postFeedWrapper, .tabs, #wallAttachmentMenu, .ovk-diag, .ovk-diag-head, #ovkDraw, #ovkDraw .literally .lc-picker, .literally .lc-options.horz-toolbar, .page_wrap, .container_gray .content, .summaryBar, .groups_options, form[action="/search"] > input, .header_search_input, .header_search_inputbt, .accent-box, .page_status_popup, .messenger-app--input, .messenger-app, .crp-entry:first-of-type, .crp-list, .crp-entry, .note_footer, .page_content > div, #editor, .note_header, center[style="background: white;border: #DEDEDE solid 1px;"], .album-photo img, .mb_tabs, .mb_tab#active div, .navigation-lang .link_new, #faqhead, #faqcontent, .post-divider, .comment, .commentsTextFieldWrap, tr, td, th, #votesBalance, .paginator a.active, .paginator a:hover, .topic-list-item, #userContent blockquote, .tippy-box[data-theme~="vk"], .poll, #standaloneCommentBox { border-color: #2c2640 !important; } @@ -53,7 +53,7 @@ hr { box-shadow: unset; } -.button, #activetabs, .messagebox-content-header, .accent-box, .button_search, .searchBtn, .searchOptionName { +.button, #activetabs, .messagebox-content-header, .accent-box, .button_search { background-color: #383052; } @@ -70,12 +70,12 @@ hr { border-color: #2c2640; } -.bsdn_contextMenuElement:hover, .searchList li:hover { +.bsdn_contextMenuElement:hover { background-color: #29223a; } #ovkDraw .literally .lc-picker, .literally .lc-options.horz-toolbar, .mb_tab#active { - background-color: #453e5e !important; + background-color: #453e5e; } .ovk-diag-cont { @@ -86,11 +86,11 @@ a, .page_footer .link, #profile_link, .profile_link { color: #8fb9d8; } -.page_footer .link:hover, .navigation .link:hover, .navigation .edit-button:hover, #profile_link:hover, .profile_link:hover, #wallAttachmentMenu > a:hover, .crp-entry:hover, .navigation-lang .link_new:hover, .paginator a:hover, .post-share-button:hover, .post-like-button:hover, .searchBtn:active { +.page_footer .link:hover, .navigation .link:hover, .navigation .edit-button:hover, #profile_link:hover, .profile_link:hover, #wallAttachmentMenu > a:hover, .crp-entry:hover, .navigation-lang .link_new:hover, .paginator a:hover, .post-share-button:hover, .post-like-button:hover { background-color: #272138 !important; } -.header_navigation .link a, .searchOptionName { +.header_navigation .link a { color: #bcc3d0; } @@ -127,7 +127,7 @@ h4, .content_title_expanded, .summaryBar .summary, .content_title_unexpanded { background-color: #231e33 !important; } -.content_subtitle, .postFeedWrapper, .ovk-diag-head, .container_gray, .page_status_popup, .messenger-app--input, .note_header, #faqcontent, .commentsTextFieldWrap, td.v, tr.v, #votesBalance, .expand_button, #userContent blockquote, .tippy-box[data-theme~="vk"], .searchOptions { +.content_subtitle, .postFeedWrapper, .ovk-diag-head, .container_gray, .page_status_popup, .messenger-app--input, .note_header, #faqcontent, .commentsTextFieldWrap, td.v, tr.v, #votesBalance, .expand_button, #userContent blockquote, .tippy-box[data-theme~="vk"] { background-color: #1e1a2b !important; } @@ -137,11 +137,11 @@ h4, .content_title_expanded, .summaryBar .summary, .content_title_unexpanded { } .content_title_expanded { - background-image: url("/themepack/midnight/0.0.2.8/resource/flex_arrow_open.png") !important; + background-image: url("/themepack/midnight/0.0.2.7/resource/flex_arrow_open.png") !important; } .content_title_unexpanded { - background-image: url("/themepack/midnight/0.0.2.8/resource/flex_arrow_shut.gif") !important; + background-image: url("/themepack/midnight/0.0.2.7/resource/flex_arrow_shut.gif") !important; } .ovk-video > .preview, .video-preview { @@ -163,17 +163,17 @@ h4, .content_title_expanded, .summaryBar .summary, .content_title_unexpanded { .page_yellowheader { color: #c6d2e8; - background-image: url("/themepack/midnight/0.0.2.8/resource/header_purple.png") !important; + background-image: url("/themepack/midnight/0.0.2.7/resource/header_purple.png") !important; background-color: #231f34; border-color: #231f34; } .page_header { - background-image: url("/themepack/midnight/0.0.2.8/resource/header.png") !important; + background-image: url("/themepack/midnight/0.0.2.7/resource/header.png") !important; } .page_custom_header { - background-image: url("/themepack/midnight/0.0.2.8/resource/header_custom.png") !important; + background-image: url("/themepack/midnight/0.0.2.7/resource/header_custom.png") !important; } .page_yellowheader span, .page_yellowheader a { @@ -193,11 +193,11 @@ form[action="/search"] > input, .header_search_input, textarea, input[type="text } input[type="checkbox"] { - background-image: url("/themepack/midnight/0.0.2.8/resource/checkbox.png") !important; + background-image: url("/themepack/midnight/0.0.2.7/resource/checkbox.png") !important; } input[type="radio"] { - background-image: url("/themepack/midnight/0.0.2.8/resource/radio.png") !important; + background-image: url("/themepack/midnight/0.0.2.7/resource/radio.png") !important; } .header_navigation .link { @@ -205,19 +205,19 @@ input[type="radio"] { } .heart { - background-image: url("/themepack/midnight/0.0.2.8/resource/like.gif") !important; + background-image: url("/themepack/midnight/0.0.2.7/resource/like.gif") !important; } .pinned-mark, .post-author .pin { - background-image: url("/themepack/midnight/0.0.2.8/resource/pin.png") !important; + background-image: url("/themepack/midnight/0.0.2.7/resource/pin.png") !important; } .repost-icon { - background-image: url("/themepack/midnight/0.0.2.8/resource/published.gif") !important; + background-image: url("/themepack/midnight/0.0.2.7/resource/published.gif") !important; } .post-author .delete { - background-image: url("/themepack/midnight/0.0.2.8/resource/input_clear.gif") !important; + background-image: url("/themepack/midnight/0.0.2.7/resource/input_clear.gif") !important; } .user-alert { @@ -226,19 +226,111 @@ input[type="radio"] { border-color: #514534; } -.searchBtn { +.searchOptions +{ + overflow-y: hidden; + overflow-x:hidden; + width:28.8%; + border-top:1px solid #2B2B2B; + float:right; + scrollbar-width: none; + font-size:12px; + background-color:#1e1a2b; + margin-right: -7px; +} + +.searchBtn +{ + border: solid 1px #484848; + background-color: #333; + color:#c6d2e8; + margin-left: -3px; + padding-bottom:2px; + width:80px; + cursor: pointer; box-shadow: 0px 2px 0px 0px rgba(111, 111, 111, 0.18) inset; } -.searchBtn:active { +.searchBtn:active +{ + border: solid 1px #414141; + background-color: rgb(77, 77, 77); + color:white; box-shadow: 0px -2px 0px 0px rgba(255, 255, 255, 0.18) inset; } -.searchList #used { - background: linear-gradient(#453e5e,#473f61); +.searchList #used +{ + margin-left:0px; + color: white; + padding:2px; + padding-top:5px; + padding-bottom:5px; + border: solid 0.125rem #2f2f2f; + background: linear-gradient(#3c3c3c,#393939); + margin-bottom:2px; + padding-left:5px; + width:90%; +} + +.searchList #used a +{ + color: white; +} + +.searchHide +{ + padding-right: 5px; +} + +.searchList li +{ + margin-left:0px; + color: #2B587A !important; + cursor:pointer; + padding:2px; + padding-top:5px; + padding-bottom:5px; + margin-bottom:2px; + padding-left:5px; +} + +.searchList li a +{ + min-width:100%; +} + +.searchList li:hover +{ + margin-left:0px; + color: #2B587A !important; + background:#181522; + padding:2px; + padding-top:5px; + padding-bottom:5px; + margin-bottom:2px; + padding-left:5px; + width:91%; +} + +.searchOptionName +{ + cursor:pointer; + background-color: #120e1f; + padding-left:5px; + padding-top:5px; + padding-bottom:5px; + width: 90%; + font-weight: 600; + color: #c6d2e8; +} + +.borderup +{ + border-top:1px solid #2f2f2f; } #backdropEditor { - background-image: url("/themepack/midnight/0.0.2.8/resource/backdrop-editor.gif") !important; + background-image: url("/themepack/midnight/0.0.2.7/resource/backdrop-editor.gif") !important; border-color: #473e66 !important; } \ No newline at end of file diff --git a/themepacks/midnight/theme.yml b/themepacks/midnight/theme.yml index a9251eb0b..52630cdbf 100644 --- a/themepacks/midnight/theme.yml +++ b/themepacks/midnight/theme.yml @@ -1,12 +1,12 @@ id: midnight -version: "0.0.2.8" +version: "0.0.2.7" openvk_version: 0 enabled: 1 metadata: name: - _: "OpenVK Midnight" - en: "OpenVK Midnight" - ru: "OpenVK Midnight" - uk: "OpenVK Midnight" - author: "Lumaeris" - description: "A dark theme for OpenVK" + _: "Astorium Midnight" + en: "Astorium Midnight" + ru: "Astorium Midnight" + uk: "Astorium Midnight" + author: "Lumaeris, Dmitry Tretyakov" + description: "A dark theme for Astorium" diff --git a/themepacks/openvk_modern/res/1.png b/themepacks/modern/res/1.png similarity index 100% rename from themepacks/openvk_modern/res/1.png rename to themepacks/modern/res/1.png diff --git a/themepacks/modern/res/2.png b/themepacks/modern/res/2.png new file mode 100644 index 000000000..6db1b8715 Binary files /dev/null and b/themepacks/modern/res/2.png differ diff --git a/themepacks/modern/res/3.png b/themepacks/modern/res/3.png new file mode 100644 index 000000000..6db1b8715 Binary files /dev/null and b/themepacks/modern/res/3.png differ diff --git a/themepacks/modern/res/4.png b/themepacks/modern/res/4.png new file mode 100644 index 000000000..683554bda Binary files /dev/null and b/themepacks/modern/res/4.png differ diff --git a/themepacks/modern/res/5.png b/themepacks/modern/res/5.png new file mode 100644 index 000000000..bc0178158 Binary files /dev/null and b/themepacks/modern/res/5.png differ diff --git a/themepacks/openvk_modern/res/6.png b/themepacks/modern/res/6.png similarity index 100% rename from themepacks/openvk_modern/res/6.png rename to themepacks/modern/res/6.png diff --git a/themepacks/openvk_modern/res/xmas.css b/themepacks/modern/res/xmas.css similarity index 97% rename from themepacks/openvk_modern/res/xmas.css rename to themepacks/modern/res/xmas.css index ab23b5827..32c45323a 100644 --- a/themepacks/openvk_modern/res/xmas.css +++ b/themepacks/modern/res/xmas.css @@ -1,14 +1,14 @@ -.home_button { - background: #3C3C3C url("/themepack/openvk_modern/0.0.1.0/resource/3.png") no-repeat; - background-size: 80%; - background-position-y: 0px; - background-position-x: 2px; -} - -.home_button_custom { - background: #3C3C3C url("/themepack/openvk_modern/0.0.1.0/resource/5.png") no-repeat; - background-size: 80%; - background-position-y: 0px; - background-position-x: 2px; - text-shadow: none; +.home_button { + background: #3C3C3C url("/themepack/openvk_modern/0.0.1.0/resource/3.png") no-repeat; + background-size: 80%; + background-position-y: 0px; + background-position-x: 2px; +} + +.home_button_custom { + background: #3C3C3C url("/themepack/openvk_modern/0.0.1.0/resource/5.png") no-repeat; + background-size: 80%; + background-position-y: 0px; + background-position-x: 2px; + text-shadow: none; } \ No newline at end of file diff --git a/themepacks/openvk_modern/stylesheet.css b/themepacks/modern/stylesheet.css similarity index 91% rename from themepacks/openvk_modern/stylesheet.css rename to themepacks/modern/stylesheet.css index 178e8094c..b606205a2 100644 --- a/themepacks/openvk_modern/stylesheet.css +++ b/themepacks/modern/stylesheet.css @@ -28,6 +28,10 @@ body { background: unset; } +.header_navigation .link a { + color: #E2E2E2; +} + .header_navigation .link a:hover { text-decoration: none; } @@ -47,13 +51,13 @@ body { .content_title_expanded { cursor: pointer; - background-image: unset; + background-image: none; padding: 3px 10px; border-top: #e6e6e6 solid 1px; } .content_title_unexpanded { - background-image: unset; + background-image: none; padding: 3px 10px; border-top: #eee solid 1px; } @@ -166,7 +170,7 @@ input[type~="search"], textarea, select { } input[type=checkbox] { - background-image: url("/themepack/openvk_modern/0.0.1.0/resource/6.png") + background-image: url("/themepack/modern/0.0.1.0-astorium/resource/6.png") } .mb_tab#active div { diff --git a/themepacks/modern/theme.yml b/themepacks/modern/theme.yml new file mode 100644 index 000000000..12a58d6e8 --- /dev/null +++ b/themepacks/modern/theme.yml @@ -0,0 +1,12 @@ +id: modern +version: "0.0.1.0" +openvk_version: 0 +enabled: 1 +metadata: + name: + _: "Astorium Modern" + en: "Astorium Modern" + ru: "Astorium Modern" + uk: "Astorium Modern" + author: "Mikita Wiśniewski (rudzik8), Dmitry Tretyakov" + description: "Astorium theme in modern style" diff --git a/themepacks/openvk_modern/res/2.png b/themepacks/openvk_modern/res/2.png deleted file mode 100644 index 74460619d..000000000 Binary files a/themepacks/openvk_modern/res/2.png and /dev/null differ diff --git a/themepacks/openvk_modern/res/3.png b/themepacks/openvk_modern/res/3.png deleted file mode 100644 index 05f84b23a..000000000 Binary files a/themepacks/openvk_modern/res/3.png and /dev/null differ diff --git a/themepacks/openvk_modern/res/4.png b/themepacks/openvk_modern/res/4.png deleted file mode 100644 index 904925048..000000000 Binary files a/themepacks/openvk_modern/res/4.png and /dev/null differ diff --git a/themepacks/openvk_modern/res/5.png b/themepacks/openvk_modern/res/5.png deleted file mode 100644 index 830a2d0e7..000000000 Binary files a/themepacks/openvk_modern/res/5.png and /dev/null differ diff --git a/themepacks/openvk_modern/theme.yml b/themepacks/openvk_modern/theme.yml deleted file mode 100644 index a92612dda..000000000 --- a/themepacks/openvk_modern/theme.yml +++ /dev/null @@ -1,12 +0,0 @@ -id: openvk_modern -version: "0.0.1.0" -openvk_version: 0 -enabled: 1 -metadata: - name: - _: "OpenVK Modern" - en: "OpenVK Modern" - ru: "OpenVK Modern" - uk: "OpenVK Modern" - author: "Mikita Wiśniewski (rudzik8)" - description: "OpenVK theme in modern style" diff --git a/themepacks/retro_ovk/res/header.png b/themepacks/retro_ovk/res/header.png new file mode 100644 index 000000000..34a26b33a Binary files /dev/null and b/themepacks/retro_ovk/res/header.png differ diff --git a/themepacks/retro_ovk/stylesheet.css b/themepacks/retro_ovk/stylesheet.css new file mode 100644 index 000000000..910f1aca7 --- /dev/null +++ b/themepacks/retro_ovk/stylesheet.css @@ -0,0 +1,20 @@ +.page_header { + position:relative; + width:791px; + height:43px; + background-repeat:no-repeat; + background-position:0; + background:url(/themepack/retro_ovk/0.0.1.0/resource/header.png) +} + +.page_custom_header { + background:url(/themepack/retro_ovk/0.0.1.0/resource/header_c.png) +} + +input[type="button"], input[class="button"] { + font-family: Tahoma,Verdana,Arial; +} + +.button { + font-family: Tahoma,Verdana,Arial; +} diff --git a/themepacks/retro_ovk/theme.yml b/themepacks/retro_ovk/theme.yml new file mode 100644 index 000000000..d3f53a624 --- /dev/null +++ b/themepacks/retro_ovk/theme.yml @@ -0,0 +1,10 @@ +id: retro_ovk +version: "0.0.1.0" +openvk_version: 0 +enabled: 0 +metadata: + name: + _: "RetroOVK" + en: "RetroOVK" + author: "Tinelix" + description: "OpenVK theme for 2000s browsers"