* Admn -> Users + fix fonts in style

This commit is contained in:
Visman 2018-09-08 19:23:36 +07:00
parent 2885634cb6
commit 431047be87
7 changed files with 212 additions and 15 deletions

View file

@ -128,7 +128,6 @@ class Routing
$r->add(['GET', 'POST'], '/admin/users/result/{data}[/{page:[1-9]\d*}]', 'AdminUsersResult:view', 'AdminUsersResult');
$r->add(['GET', 'POST'], '/admin/users/{action:\w+}/{ids:\d+(?:-\d+)*}', 'AdminUsersAction:view', 'AdminUsersAction');
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');

View file

@ -79,14 +79,17 @@ abstract class Users extends Admin
* Проверяет доступность действий над выбранными пользователями
*
* @param array $selected
* @param string $action // ????
* @param string $action
*
* @return false|array
*/
protected function checkSelected(array $selected, $action)
{
$selected = \array_map(function ($value) { // ????
return (int) $value;
}, $selected);
$bad = \array_filter($selected, function ($value) {
return $value < 2; // ???? например '03'
return $value < 2;
});
if (! empty($bad)) {
@ -143,6 +146,11 @@ abstract class Users extends Admin
$result[] = $user->id;
}
if (empty($result)) {
$this->fIswev = ['v', \ForkBB\__('No users selected')];
return false;
}
return $result;
}
}

View file

@ -0,0 +1,177 @@
<?php
namespace ForkBB\Models\Pages\Admin\Users;
use ForkBB\Core\Validator;
use ForkBB\Models\Pages\Admin\Users;
use RuntimeException;
class Action extends Users
{
/**
* Подготавливает данные для шаблона(ов) действия
*
* @param array $args
* @param string $method
*
* @throws RuntimeException
*
* @return Page
*/
public function view(array $args, $method)
{
$this->rules = $this->c->UsersRules->init();
$error = false;
switch ($args['action']) {
case self::ACTION_BAN:
if (! $this->rules->banUsers) {
$error = true;
}
break;
case self::ACTION_DEL:
if (! $this->rules->deleteUsers) {
$error = true;
}
break;
case self::ACTION_CHG:
if (! $this->rules->changeGroup) {
$error = true;
}
break;
default:
$error = true;
}
if ($error) {
return $this->c->Message->message('Bad request');
}
$ids = $this->checkSelected(\explode('-', $args['ids']), $args['action']);
if (false === $ids) {
$message = $this->c->Message->message('Action not available');
$message->fIswev = $this->fIswev; //????
return $message;
}
$this->userList = $this->c->users->load($ids);
switch ($args['action']) {
case self::ACTION_BAN:
return $this->ban($args, $method);
case self::ACTION_DEL:
return $this->delete($args, $method);
case self::ACTION_CHG:
return $this->change($args, $method);
default:
throw new RuntimeException("The action {$args['action']} is unavailable");
}
}
/**
* Удаляет пользователей
*
* @param array $args
* @param string $method
*
* @return Page
*/
protected function delete(array $args, $method)
{
$this->nameTpl = 'admin/form';
$this->classForm = 'delete-users';
$this->titleForm = \ForkBB\__('Deleting users');
$this->aCrumbs[] = [$this->c->Router->link('AdminUsersAction', $args), \ForkBB\__('Deleting users')];
$this->form = $this->formDelete($args);
return $this;
}
/**
* Возвращает список имен пользователей
*
* @param array $users
*
* @return array
*/
protected function nameList(array $users)
{
$result = [];
foreach ($users as $user) {
$result[] = $user->username;
}
\sort($result, \SORT_STRING | \SORT_FLAG_CASE);
return $result;
}
/**
* Создает массив данных для формы статистики пользователя по ip
*
* @param array $stat
* @param int $number
*
* @return array
*/
protected function formDelete(array $args)
{
$yn = [1 => \ForkBB\__('Yes'), 0 => \ForkBB\__('No')];
$names = \implode(', ', $this->nameList($this->userList));
$form = [
'action' => $this->c->Router->link('AdminUsersAction', $args),
'hidden' => [
'token' => $this->c->Csrf->create('AdminUsersAction', $args),
],
'sets' => [
'info' => [
'info' => [
'info1' => [
'type' => '', //????
'value' => \ForkBB\__('Confirm delete info', $names),
],
],
],
'options' => [
'fields' => [
'confirm' => [
'type' => 'radio',
'value' => 0,
'values' => $yn,
'caption' => \ForkBB\__('Delete users'),
],
'delete_posts' => [
'type' => 'radio',
'value' => 0,
'values' => $yn,
'caption' => \ForkBB\__('Delete posts'),
],
],
],
'info2' => [
'info' => [
'info2' => [
'type' => '', //????
'value' => \ForkBB\__('Delete warning'),
'html' => true,
],
],
],
],
'btns' => [
'delete' => [
'type' => 'submit',
'value' => \ForkBB\__('Delete users'),
'accesskey' => 'd',
],
'cancel' => [
'type' => 'btn',
'value' => \ForkBB\__('Cancel'),
'link' => $this->c->Router->link('AdminUsers'),
],
],
];
return $form;
}
}

View file

@ -169,6 +169,7 @@ return [
'AdminUsers' => \ForkBB\Models\Pages\Admin\Users\View::class,
'AdminUsersResult' => \ForkBB\Models\Pages\Admin\Users\Result::class,
'AdminUsersStat' => \ForkBB\Models\Pages\Admin\Users\Stat::class,
'AdminUsersAction' => \ForkBB\Models\Pages\Admin\Users\Action::class,
'AdminHost' => \ForkBB\Models\Pages\Admin\Host::class,
'ConfigModel' => \ForkBB\Models\Config\Model::class,

View file

@ -66,6 +66,9 @@ msgstr "Invalid group ID."
msgid "Users move redirect"
msgstr "User group changed. Redirecting …"
msgid "Deleting users"
msgstr "Delete users"
msgid "Delete users"
msgstr "Delete users"
@ -73,13 +76,13 @@ msgid "Confirm delete legend"
msgstr "Important: read before deleting users"
msgid "Confirm delete info"
msgstr "Please confirm that you want to delete these users."
msgstr "Please confirm that you want to delete these users: %s."
msgid "Delete posts"
msgstr "Delete any posts and topics these users have made."
msgstr "Delete any posts and topics"
msgid "Delete warning"
msgstr "Warning! Deleted users and/or posts cannot be restored. If you choose not to delete the posts made by these users, the posts can only be deleted manually at a later time."
msgstr "<b>Warning!</b> Deleted users and/or posts cannot be restored. If you choose not to delete the posts made by these users, the posts can only be deleted manually at a later time."
msgid "Users delete redirect"
msgstr "Users deleted. Redirecting …"

View file

@ -66,20 +66,23 @@ msgstr "Неверная группа."
msgid "Users move redirect"
msgstr "Пользователям изменена группа. Переадресация..."
msgid "Delete users"
msgid "Deleting users"
msgstr "Удаление пользователей"
msgid "Delete users"
msgstr "Удалить пользователей"
msgid "Confirm delete legend"
msgstr "ВАЖНО: прочтите перед удалением"
msgid "Confirm delete info"
msgstr "Пожалуйста, подтвердите удаление пользователя."
msgstr "Пожалуйста, подтвердите удаление этих пользователей: %s."
msgid "Delete posts"
msgstr "Удалить все темы и сообщения пользователей."
msgstr "Удалить все темы и сообщения"
msgid "Delete warning"
msgstr "Предупреждаем! Удалённых пользователей и/или сообщения невозможно восстановить. Если вы выберете "не удалять сообщения", их можно будет удалить вручную в любое время."
msgstr "<b>Предупреждение!</b> Удалённых пользователей (и сообщения) невозможно восстановить. Если вы выберете "не удалять сообщения", их можно будет удалить вручную в любое время."
msgid "Users delete redirect"
msgstr "Пользователи удалены. Переадресация..."

View file

@ -41,7 +41,10 @@ img,
abbr,
cite,
address,
article {
article,
input,
textarea,
a {
border: 0;
font-style: normal;
font-weight: normal;
@ -49,11 +52,13 @@ article {
padding: 0;
box-sizing: border-box;
word-wrap: break-word;
font-family: Arial, Helvetica, sans-serif;
}
ul,
ol {
list-style: none;
font-family: Arial, Helvetica, sans-serif;
}
/*******************/
@ -90,7 +95,6 @@ ol {
}
html {
font-family: Arial, Helvetica, sans-serif;
font-size: 16px;
line-height: 1.5;
}
@ -175,6 +179,7 @@ body,
-ms-user-select: none;
user-select: none;
white-space: nowrap;
text-align: center;
}
.f-btn.f-minor {
@ -1647,7 +1652,7 @@ select {
.f-btnsrow-form .f-btns .f-btn {
width: auto;
display: inline;
display: inline-block;
}
#id-message {
@ -2294,8 +2299,9 @@ select {
text-align: right;
}
.f-search-result-form .f-btns .f-btn {
display: inline;
.f-search-result-form .f-btns .f-btn,
.f-delete-users-form .f-btns .f-btn{
display: inline-block;
width: auto;
}