+ canViewIP for User model

This commit is contained in:
Visman 2018-09-05 14:48:40 +07:00
parent f9bc7cd9f7
commit 321ea884eb
5 changed files with 18 additions and 5 deletions

View file

@ -126,6 +126,11 @@ class Routing
$r->add(['GET', 'POST'], '/admin/users', 'AdminUsers:view', 'AdminUsers'); $r->add(['GET', 'POST'], '/admin/users', 'AdminUsers:view', 'AdminUsers');
$r->add(['GET', 'POST'], '/admin/users/result/{data}[/{page:[1-9]\d*}]', 'AdminUsersResult:view', 'AdminUsersResult'); $r->add(['GET', 'POST'], '/admin/users/result/{data}[/{page:[1-9]\d*}]', 'AdminUsersResult:view', 'AdminUsersResult');
if ($user->canViewIP) {
$r->add('GET', '/admin/get/host/{ip:[0-9a-fA-F:.]+}', 'AdminHost:view', 'AdminHost');
$r->add('GET', '/admin/users/user/{id:[2-9]|[1-9]\d+}[/{page:[1-9]\d*}]', 'AdminUsersStat:view', 'AdminUserStat');
}
} }
// только админ // только админ
if ($user->isAdmin) { if ($user->isAdmin) {
@ -148,8 +153,6 @@ class Routing
$r->add('POST', '/admin/maintenance/rebuild', 'AdminMaintenance:rebuild', 'AdminMaintenanceRebuild'); $r->add('POST', '/admin/maintenance/rebuild', 'AdminMaintenance:rebuild', 'AdminMaintenanceRebuild');
$r->add('GET', '/admin/maintenance/rebuild/{token}/{clear:[01]}/{limit:[1-9]\d*}/{start:[1-9]\d*}', 'AdminMaintenance:rebuild', 'AdminRebuildIndex' ); $r->add('GET', '/admin/maintenance/rebuild/{token}/{clear:[01]}/{limit:[1-9]\d*}/{start:[1-9]\d*}', 'AdminMaintenance:rebuild', 'AdminRebuildIndex' );
$r->add('GET', '/admin/get/host/{ip:[0-9a-fA-F:.]+}', 'AdminHost:view', 'AdminHost');
$r->add('GET', '/admin/users/user/{id:[2-9]|[1-9]\d+}[/{page:[1-9]\d*}]', 'AdminUsersStat:view', 'AdminUserStat');
} }
$uri = $_SERVER['REQUEST_URI']; $uri = $_SERVER['REQUEST_URI'];

View file

@ -23,7 +23,7 @@ class Result extends Users
} }
if (isset($data['ip'])) { if (isset($data['ip'])) {
if (! $this->user->isAdmin) { if (! $this->user->canViewIP) {
return $this->c->Message->message('Bad request'); return $this->c->Message->message('Bad request');
} }

View file

@ -120,7 +120,7 @@ class View extends Users
$this->aIndex = 'users'; $this->aIndex = 'users';
$this->formSearch = $this->form($data); $this->formSearch = $this->form($data);
if ($this->user->isAdmin) { if ($this->user->canViewIP) {
$this->formIP = $this->formIP($data); $this->formIP = $this->formIP($data);
} }

View file

@ -85,7 +85,7 @@ class Profile extends Rules
protected function getviewIP() protected function getviewIP()
{ {
return $this->user->isAdmin; return $this->user->canViewIP;
} }
protected function getuseAvatar() protected function getuseAvatar()

View file

@ -309,4 +309,14 @@ class Model extends DataModel
{ {
return (int) (empty($this->a['disp_posts']) ? $this->c->config->o_disp_posts_default : $this->a['disp_posts']); return (int) (empty($this->a['disp_posts']) ? $this->c->config->o_disp_posts_default : $this->a['disp_posts']);
} }
/**
* Статус показа ip пользователей
*
* @return bool
*/
protected function getcanViewIP()
{
return $this->isAdmin;
}
} }