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) - +
@@ -49,7 +49,7 @@ {_attach_photo} - + {_attach_video} diff --git a/Web/Presenters/templates/Videos/List.xml b/Web/Presenters/templates/Videos/List.xml index f22553f4..4f811289 100644 --- a/Web/Presenters/templates/Videos/List.xml +++ b/Web/Presenters/templates/Videos/List.xml @@ -14,7 +14,7 @@
{tr("videos", $count)} - +  |  {_upload_video} diff --git a/Web/Presenters/templates/components/textArea.xml b/Web/Presenters/templates/components/textArea.xml index daa25f4c..5e51ff76 100644 --- a/Web/Presenters/templates/components/textArea.xml +++ b/Web/Presenters/templates/components/textArea.xml @@ -52,7 +52,7 @@
- + @@ -71,7 +71,7 @@ {_photo} - + {_video} diff --git a/openvk-example.yml b/openvk-example.yml index ad878af0..e3fd1c3a 100644 --- a/openvk-example.yml +++ b/openvk-example.yml @@ -20,6 +20,8 @@ openvk: photos: upgradeStructure: false photoSaving: "quick" + videos: + disableUploading: false apps: withdrawTax: 8 security: