diff --git a/Web/Models/Entities/Video.php b/Web/Models/Entities/Video.php
index bddb00a4..45320efc 100644
--- a/Web/Models/Entities/Video.php
+++ b/Web/Models/Entities/Video.php
@@ -197,6 +197,9 @@ class Video extends Media
static function fastMake(int $owner, string $name = "Unnamed Video.ogv", string $description = "", array $file, bool $unlisted = true, bool $anon = false): Video
{
+ if(OPENVK_ROOT_CONF['openvk']['preferences']['videos']['disableUploading'])
+ exit(VIDEOS_FRIENDLY_ERROR);
+
$video = new Video;
$video->setOwner($owner);
$video->setName(ovk_proc_strtr($name, 61));
diff --git a/Web/Presenters/CommentPresenter.php b/Web/Presenters/CommentPresenter.php
index 93d2a816..dad79ac4 100644
--- a/Web/Presenters/CommentPresenter.php
+++ b/Web/Presenters/CommentPresenter.php
@@ -47,6 +47,9 @@ final class CommentPresenter extends OpenVKPresenter
$club = (new Clubs)->get(abs($entity->getTargetWall()));
else if($entity instanceof Topic)
$club = $entity->getClub();
+
+ if($_FILES["_vid_attachment"] && OPENVK_ROOT_CONF['openvk']['preferences']['videos']['disableUploading'])
+ $this->flashFail("err", tr("error"), "Video uploads are disabled by the system administrator.");
$flags = 0;
if($this->postParam("as_group") === "on" && !is_null($club) && $club->canBeModifiedBy($this->user->identity))
diff --git a/Web/Presenters/TopicsPresenter.php b/Web/Presenters/TopicsPresenter.php
index e081382a..e7b08ac3 100644
--- a/Web/Presenters/TopicsPresenter.php
+++ b/Web/Presenters/TopicsPresenter.php
@@ -84,6 +84,9 @@ final class TopicsPresenter extends OpenVKPresenter
if($this->postParam("as_group") === "on" && $club->canBeModifiedBy($this->user->identity))
$flags |= 0b10000000;
+ if($_FILES["_vid_attachment"] && OPENVK_ROOT_CONF['openvk']['preferences']['videos']['disableUploading'])
+ $this->flashFail("err", tr("error"), "Video uploads are disabled by the system administrator.");
+
$topic = new Topic;
$topic->setGroup($club->getId());
$topic->setOwner($this->user->id);
diff --git a/Web/Presenters/VideosPresenter.php b/Web/Presenters/VideosPresenter.php
index 6db7771d..4e4d484a 100644
--- a/Web/Presenters/VideosPresenter.php
+++ b/Web/Presenters/VideosPresenter.php
@@ -56,6 +56,9 @@ final class VideosPresenter extends OpenVKPresenter
{
$this->assertUserLoggedIn();
$this->willExecuteWriteAction();
+
+ if(OPENVK_ROOT_CONF['openvk']['preferences']['videos']['disableUploading'])
+ $this->flashFail("err", tr("error"), "Video uploads are disabled by the system administrator.");
if($_SERVER["REQUEST_METHOD"] === "POST") {
if(!empty($this->postParam("name"))) {
diff --git a/Web/Presenters/WallPresenter.php b/Web/Presenters/WallPresenter.php
index 5c9326db..6b9ec183 100644
--- a/Web/Presenters/WallPresenter.php
+++ b/Web/Presenters/WallPresenter.php
@@ -229,6 +229,9 @@ final class WallPresenter extends OpenVKPresenter
if(!$canPost)
$this->flashFail("err", tr("not_enough_permissions"), tr("not_enough_permissions_comment"));
+ if($_FILES["_vid_attachment"] && OPENVK_ROOT_CONF['openvk']['preferences']['videos']['disableUploading'])
+ $this->flashFail("err", tr("error"), "Video uploads are disabled by the system administrator.");
+
$anon = OPENVK_ROOT_CONF["openvk"]["preferences"]["wall"]["anonymousPosting"]["enable"];
if($wallOwner instanceof Club && $this->postParam("as_group") === "on" && $this->postParam("force_sign") !== "on" && $anon) {
$manager = $wallOwner->getManager($this->user->identity);
diff --git a/Web/Presenters/templates/Topics/Create.xml b/Web/Presenters/templates/Topics/Create.xml
index f68c4f6b..e018b26b 100644
--- a/Web/Presenters/templates/Topics/Create.xml
+++ b/Web/Presenters/templates/Topics/Create.xml
@@ -37,7 +37,7 @@
{_attachment}: (unknown)
-
+