mirror of
https://github.com/openvk/openvk
synced 2025-07-07 00:09:48 +03:00
Code improvements
This commit is contained in:
parent
af92662ef9
commit
df3d2fca0c
4 changed files with 23 additions and 23 deletions
|
@ -303,11 +303,10 @@ class Club extends RowModel
|
|||
|
||||
function getManagersCount(bool $ignoreHidden = false): int
|
||||
{
|
||||
if ($ignoreHidden) {
|
||||
if($ignoreHidden)
|
||||
return sizeof($this->getRecord()->related("group_coadmins.club")->where("hidden", false)) + (int) !$this->isOwnerHidden();
|
||||
} else {
|
||||
return sizeof($this->getRecord()->related("group_coadmins.club")) + 1;
|
||||
}
|
||||
|
||||
return sizeof($this->getRecord()->related("group_coadmins.club")) + 1;
|
||||
}
|
||||
|
||||
function addManager(User $user, ?string $comment = NULL): void
|
||||
|
|
|
@ -83,6 +83,13 @@ final class GroupPresenter extends OpenVKPresenter
|
|||
{
|
||||
$this->assertUserLoggedIn();
|
||||
|
||||
$this->template->paginatorConf = (object) [
|
||||
"count" => $this->template->count,
|
||||
"page" => $this->queryParam("p") ?? 1,
|
||||
"amount" => NULL,
|
||||
"perPage" => OPENVK_DEFAULT_PER_PAGE,
|
||||
];
|
||||
|
||||
$this->template->club = $this->clubs->get($id);
|
||||
$this->template->onlyShowManagers = $this->queryParam("onlyAdmins") == "1";
|
||||
if($this->template->onlyShowManagers) {
|
||||
|
@ -90,22 +97,16 @@ final class GroupPresenter extends OpenVKPresenter
|
|||
|
||||
$this->template->managers = $this->template->club->getManagers((int) ($this->queryParam("p") ?? 1), !$this->template->club->canBeModifiedBy($this->user->identity));
|
||||
if($this->template->club->canBeModifiedBy($this->user->identity) || !$this->template->club->isOwnerHidden()) {
|
||||
$this->template->managers = array_merge(array($this->template->club->getOwner()), iterator_to_array($this->template->managers));
|
||||
$this->template->managers = array_merge([$this->template->club->getOwner()], iterator_to_array($this->template->managers));
|
||||
}
|
||||
|
||||
$this->template->count = $this->template->club->getManagersCount();
|
||||
} else {
|
||||
$this->template->followers = $this->template->club->getFollowers((int) ($this->queryParam("p") ?? 1));
|
||||
$this->template->managers = null;
|
||||
$this->template->count = $this->template->club->getFollowersCount();
|
||||
return;
|
||||
}
|
||||
|
||||
$this->template->paginatorConf = (object) [
|
||||
"count" => $this->template->count,
|
||||
"page" => $this->queryParam("p") ?? 1,
|
||||
"amount" => NULL,
|
||||
"perPage" => OPENVK_DEFAULT_PER_PAGE,
|
||||
];
|
||||
$this->template->followers = $this->template->club->getFollowers((int) ($this->queryParam("p") ?? 1));
|
||||
$this->template->managers = null;
|
||||
$this->template->count = $this->template->club->getFollowersCount();
|
||||
}
|
||||
|
||||
function renderModifyAdmin(int $id): void
|
||||
|
@ -113,7 +114,7 @@ final class GroupPresenter extends OpenVKPresenter
|
|||
$user = is_null($this->queryParam("user")) ? $this->postParam("user") : $this->queryParam("user");
|
||||
$comment = $this->postParam("comment");
|
||||
$removeComment = $this->postParam("removeComment") === "1";
|
||||
$hidden = $this->queryParam("hidden") === "1" ? true : ($this->queryParam("hidden") === "0" ? false : null);
|
||||
$hidden = ["0" => false, "1" => true][$this->queryParam("hidden")] ?? null;
|
||||
//$index = $this->queryParam("index");
|
||||
if(!$user)
|
||||
$this->badRequest();
|
||||
|
@ -126,7 +127,7 @@ final class GroupPresenter extends OpenVKPresenter
|
|||
if(!$club->canBeModifiedBy($this->user->identity ?? NULL) && $club->getOwner()->getId() !== $user->getId())
|
||||
$this->flashFail("err", "Ошибка доступа", "У вас недостаточно прав, чтобы изменять этот ресурс.");
|
||||
|
||||
if($hidden !== null) {
|
||||
if(!is_null($hidden)) {
|
||||
if($club->getOwner()->getId() == $user->getId()) {
|
||||
$club->setOwner_Hidden($hidden);
|
||||
$club->save();
|
||||
|
|
|
@ -74,10 +74,10 @@
|
|||
<span class="nobold">{_group_administrators_list}: </span>
|
||||
</td>
|
||||
<td>
|
||||
{var isAllAdminsHidden = $club->getManagersCount(true) == 0}
|
||||
<input type="radio" name="administrators_list_display" value="0" {if $club->getAdministratorsListDisplay() == 0}checked{/if} {if $isAllAdminsHidden}disabled{/if}/> {_group_display_only_creator}<br>
|
||||
<input type="radio" name="administrators_list_display" value="1" {if $club->getAdministratorsListDisplay() == 1}checked{/if} {if $isAllAdminsHidden}disabled{/if}/> {_group_display_all_administrators}<br>
|
||||
<input type="radio" name="administrators_list_display" value="2" {if $club->getAdministratorsListDisplay() == 2}checked{/if}/> {_group_dont_display_administrators_list}<br>
|
||||
{var areAllAdminsHidden = $club->getManagersCount(true) == 0}
|
||||
<input type="radio" name="administrators_list_display" value="0" n:attr="checked => $club->getAdministratorsListDisplay() == 0, disabled => $areAllAdminsHidden" /> {_group_display_only_creator}<br>
|
||||
<input type="radio" name="administrators_list_display" value="1" n:attr="checked => $club->getAdministratorsListDisplay() == 1, disabled => $areAllAdminsHidden" /> {_group_display_all_administrators}<br>
|
||||
<input type="radio" name="administrators_list_display" value="2" n:attr="checked => $club->getAdministratorsListDisplay() == 2, disabled => $areAllAdminsHidden" /> {_group_dont_display_administrators_list}<br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
|
|
@ -117,7 +117,7 @@
|
|||
</a>
|
||||
</div>
|
||||
{* Это наверное костыль, ну да ладно *}
|
||||
<div class="info{if strlen($author->getCanonicalName()) < 22} info-centered{/if}" n:if="empty($club->getOwnerComment())">
|
||||
<div n:class="info, strlen($author->getCanonicalName()) < 22 ? info-centered" n:if="empty($club->getOwnerComment())">
|
||||
<a href="{$author->getURL()}" class="title">{$author->getCanonicalName()}</a>
|
||||
</div>
|
||||
<div class="info" n:if="!empty($club->getOwnerComment())">
|
||||
|
@ -133,7 +133,7 @@
|
|||
<div>
|
||||
<div class="content_subtitle">
|
||||
{tr("administrators", $club->getManagersCount(true))}
|
||||
<div style="float:right;">
|
||||
<div style="float: right;">
|
||||
<a href="/club{$club->getId()}/followers?onlyAdmins=1">{_"all_title"}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in a new issue