Browse Source

+ canViewIP for User model

Visman 6 years ago
parent
commit
321ea884eb

+ 5 - 2
app/Controllers/Routing.php

@@ -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'];

+ 1 - 1
app/Models/Pages/Admin/Users/Result.php

@@ -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');
             }
             }
 
 

+ 1 - 1
app/Models/Pages/Admin/Users/View.php

@@ -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);
         }
         }
 
 

+ 1 - 1
app/Models/Rules/Profile.php

@@ -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()

+ 10 - 0
app/Models/User/Model.php

@@ -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;
+    }
 }
 }