From bc04fc16404a7c8f9e253581efeeb55708277a8a Mon Sep 17 00:00:00 2001 From: Visman Date: Sun, 22 Apr 2018 23:11:28 +0700 Subject: [PATCH] 2018-04-22 --- app/Models/Pages/Admin/Users.php | 88 ++++++++++++++++++++- app/lang/Russian/admin_users.po | 2 +- app/templates/admin/users_result.forkbb.php | 9 +++ 3 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 app/templates/admin/users_result.forkbb.php diff --git a/app/Models/Pages/Admin/Users.php b/app/Models/Pages/Admin/Users.php index d637e215..17faed63 100644 --- a/app/Models/Pages/Admin/Users.php +++ b/app/Models/Pages/Admin/Users.php @@ -98,8 +98,16 @@ class Users extends Admin return $this->c->Message->message('Bad request'); } + $startNum = ($page - 1) * $this->c->config->o_disp_users; + $ids = \array_slice($ids, $this->startNum, $this->c->config->o_disp_users); + $userList = $this->c->users->load($ids); - exit(var_dump($ids, $order, $filters)); + $this->nameTpl = 'admin/users_result'; + $this->aIndex = 'users'; + $this->titles = \ForkBB\__('Users'); + $this->formResult = $this->formUsers($userList, $startNum); + + return $this; } /** @@ -469,4 +477,82 @@ class Users extends Admin return $form; } + + /** + * Создает массив данных для формы найденных по фильтру пользователей + * + * @param array $users + * @param int $number + * + * @return array + */ + protected function formUsers(array $users, $number) + { + $form = [ + 'action' => $this->c->Router->link(''), + 'hidden' => [ + 'token' => $this->c->Csrf->create(''), + ], + 'sets' => [], + 'btns' => [ + 'find1' => [ + 'type' => 'submit', + 'value' => \ForkBB\__('???'), + 'accesskey' => 's', + ], + ], + ]; + + foreach ($users as $user) { + ++$number; + $fields = []; + + $fields["l{$number}-username"] = [ +# 'class' => 'pline', + 'type' => 'link', + 'caption' => \ForkBB\__('Results username head'), + 'value' => $user->username, + 'href' => $user->link, +# 'title' => \ForkBB\__('Show posts'), + ]; + $fields["l{$number}-email"] = [ +# 'class' => 'pline', + 'type' => 'link', + 'caption' => \ForkBB\__('Results e-mail head'), + 'value' => $user->email, + 'href' => 'mailto:' . $user->email, +# 'title' => \ForkBB\__('Show posts'), + ]; + $fields["l{$number}-title"] = [ +# 'class' => 'pline', + 'type' => 'str', + 'caption' => \ForkBB\__('Results title head'), + 'value' => $user->title(), + ]; + $fields["l{$number}-posts"] = [ +# 'class' => 'pline', + 'type' => $user->num_posts ? 'link' : 'str', + 'caption' => \ForkBB\__('Results posts head'), + 'value' => \ForkBB\num($user->num_posts), + 'href' => $this->c->Router->link('SearchAction', ['action' => 'posts', 'uid' => $user->id]), + 'title' => \ForkBB\__('Results show posts link'), + ]; + $fields["l{$number}-note"] = [ +# 'class' => 'pline', + 'type' => 'str', + 'caption' => \ForkBB\__('Примечание админа'), + 'value' => $user->admin_note, + ]; + + + + + $form['sets']["l{$number}"] = [ + 'legend' => $number, + 'fields' => $fields, + ]; + } + + return $form; + } } diff --git a/app/lang/Russian/admin_users.po b/app/lang/Russian/admin_users.po index b2590f5b..9896ac0f 100644 --- a/app/lang/Russian/admin_users.po +++ b/app/lang/Russian/admin_users.po @@ -316,7 +316,7 @@ msgid "Results view IP link" msgstr "IP статистика" msgid "Results show posts link" -msgstr "Сообщения" +msgstr "Показать сообщения" msgid "Results guest" msgstr "Гость" diff --git a/app/templates/admin/users_result.forkbb.php b/app/templates/admin/users_result.forkbb.php new file mode 100644 index 00000000..72165476 --- /dev/null +++ b/app/templates/admin/users_result.forkbb.php @@ -0,0 +1,9 @@ +@extends ('layouts/admin') +
+

{!! __('User search head') !!}

+
+@if ($form = $p->formResult) + @include ('layouts/form') +@endif +
+