2018-04-21
This commit is contained in:
parent
de61002f38
commit
22ac51d6b1
16 changed files with 1165 additions and 15 deletions
|
@ -123,6 +123,9 @@ class Routing
|
|||
if ($user->isAdmMod) {
|
||||
$r->add('GET', '/admin/', 'AdminIndex:index', 'Admin');
|
||||
$r->add('GET', '/admin/statistics', 'AdminStatistics:statistics', 'AdminStatistics');
|
||||
|
||||
$r->add(['GET', 'POST'], '/admin/users', 'AdminUsers:view', 'AdminUsers');
|
||||
|
||||
}
|
||||
// только админ
|
||||
if ($user->isAdmin) {
|
||||
|
@ -144,6 +147,8 @@ class Routing
|
|||
$r->add(['GET', 'POST'], '/admin/maintenance', 'AdminMaintenance:view', 'AdminMaintenance' );
|
||||
$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/get/host/{ip:[0-9a-fA-F:.]+}', 'AdminHost:view', 'AdminHost');
|
||||
}
|
||||
|
||||
$uri = $_SERVER['REQUEST_URI'];
|
||||
|
|
|
@ -45,7 +45,7 @@ class Admin extends Page
|
|||
$nav = [
|
||||
'Moderator menu' => [
|
||||
'index' => [$r->link('Admin'), \ForkBB\__('Admin index')],
|
||||
'users' => ['admin_users.php', \ForkBB\__('Users')],
|
||||
'users' => [$r->link('AdminUsers'), \ForkBB\__('Users')],
|
||||
],
|
||||
];
|
||||
if ($this->user->isAdmin || $this->user->g_mod_ban_users == '1') {
|
||||
|
|
36
app/Models/Pages/Admin/Host.php
Normal file
36
app/Models/Pages/Admin/Host.php
Normal file
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
|
||||
namespace ForkBB\Models\Pages\Admin;
|
||||
|
||||
use ForkBB\Models\Pages\Admin;
|
||||
|
||||
class Host extends Admin
|
||||
{
|
||||
/**
|
||||
* Подготавливает данные для шаблона
|
||||
*
|
||||
* @param array $args
|
||||
* @param string $method
|
||||
*
|
||||
* @return Page
|
||||
*/
|
||||
public function view(array $args, $method)
|
||||
{
|
||||
$this->c->Lang->load('admin_host');
|
||||
|
||||
$ip = \filter_var($args['ip'], \FILTER_VALIDATE_IP);
|
||||
|
||||
if (false === $ip) {
|
||||
return $this->c->Message->message('Bad request', false); // ??????
|
||||
}
|
||||
|
||||
$host = @\gethostbyaddr($ip);
|
||||
|
||||
$this->nameTpl = 'message';
|
||||
$this->titles = \ForkBB\__('Info');
|
||||
$this->message = \ForkBB\__('Host info', $ip, $host, $this->c->Router->link('AdminHost', ['ip' => $ip]));
|
||||
$this->back = true;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
350
app/Models/Pages/Admin/Users.php
Normal file
350
app/Models/Pages/Admin/Users.php
Normal file
|
@ -0,0 +1,350 @@
|
|||
<?php
|
||||
|
||||
namespace ForkBB\Models\Pages\Admin;
|
||||
|
||||
use ForkBB\Core\Validator;
|
||||
use ForkBB\Models\Pages\Admin;
|
||||
use ForkBB\Models\Config\Model as Config;
|
||||
|
||||
class Users extends Admin
|
||||
{
|
||||
/**
|
||||
* Генерирует список доступных групп пользователей
|
||||
*
|
||||
* @param bool $onlyKeys
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function groups($onlyKeys = false)
|
||||
{
|
||||
$groups = [
|
||||
-1 => \ForkBB\__('All groups'),
|
||||
0 => \ForkBB\__('Unverified users'),
|
||||
];
|
||||
|
||||
foreach ($this->c->groups->getList() as $group) {
|
||||
if (! $group->groupGuest) {
|
||||
$groups[$group->g_id] = $group->g_title;
|
||||
}
|
||||
}
|
||||
|
||||
return $onlyKeys ? \array_keys($groups) : $groups;
|
||||
}
|
||||
|
||||
/**
|
||||
* Подготавливает данные для шаблона поиска пользователей
|
||||
*
|
||||
* @param array $args
|
||||
* @param string $method
|
||||
*
|
||||
* @return Page
|
||||
*/
|
||||
public function view(array $args, $method)
|
||||
{
|
||||
$this->c->Lang->load('admin_users');
|
||||
|
||||
$v = null;
|
||||
if ('POST' === $method) {
|
||||
$v = $this->c->Validator->reset()
|
||||
->addValidators([
|
||||
'check_message' => [$this, 'vCheckMessage'],
|
||||
])->addRules([
|
||||
'token' => 'token:AdminMaintenance',
|
||||
'o_maintenance' => 'required|integer|in:0,1',
|
||||
'o_maintenance_message' => 'string:trim|max:65000 bytes|check_message',
|
||||
])->addAliases([
|
||||
])->addArguments([
|
||||
])->addMessages([
|
||||
]);
|
||||
|
||||
if ($v->validation($_POST)) {
|
||||
$this->c->DB->beginTransaction();
|
||||
|
||||
$this->c->config->o_maintenance = $v->o_maintenance;
|
||||
$this->c->config->o_maintenance_message = $v->o_maintenance_message;
|
||||
$this->c->config->save();
|
||||
|
||||
$this->c->DB->commit();
|
||||
|
||||
return $this->c->Redirect->page('AdminMaintenance')->message('Data updated redirect');
|
||||
}
|
||||
|
||||
$this->fIswev = $v->getErrors();
|
||||
}
|
||||
|
||||
$this->nameTpl = 'admin/users';
|
||||
$this->aIndex = 'users';
|
||||
$this->titles = \ForkBB\__('Users');
|
||||
$this->formSearch = $this->formSearch($v);
|
||||
|
||||
if ($this->user->isAdmin) {
|
||||
$this->formIP = $this->formIP($v);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Создает массив данных для формы поиска
|
||||
*
|
||||
* @param mixed $v
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function formSearch($v)
|
||||
{
|
||||
$form = [
|
||||
'action' => $this->c->Router->link('AdminUsers'),
|
||||
'hidden' => [
|
||||
'token' => $this->c->Csrf->create('AdminUsers'),
|
||||
],
|
||||
'sets' => [],
|
||||
'btns' => [
|
||||
'search' => [
|
||||
'type' => 'submit',
|
||||
'value' => \ForkBB\__('Submit search'),
|
||||
'accesskey' => 's',
|
||||
],
|
||||
],
|
||||
];
|
||||
$form['sets']['search-info'] = [
|
||||
'info' => [
|
||||
'info1' => [
|
||||
'type' => '', //????
|
||||
'value' => \ForkBB\__('User search info'),
|
||||
],
|
||||
],
|
||||
];
|
||||
$fields = [];
|
||||
$fields['username'] = [
|
||||
'type' => 'text',
|
||||
'maxlength' => 25,
|
||||
'caption' => \ForkBB\__('Username label'),
|
||||
'value' => isset($v->username) ? $v->username : null,
|
||||
];
|
||||
$fields['email'] = [
|
||||
'type' => 'text',
|
||||
'maxlength' => 80,
|
||||
'caption' => \ForkBB\__('E-mail address label'),
|
||||
'value' => isset($v->email) ? $v->email : null,
|
||||
];
|
||||
$fields['title'] = [
|
||||
'type' => 'text',
|
||||
'maxlength' => 50,
|
||||
'caption' => \ForkBB\__('Title label'),
|
||||
'value' => isset($v->title) ? $v->title : null,
|
||||
];
|
||||
$fields['realname'] = [
|
||||
'type' => 'text',
|
||||
'maxlength' => 40,
|
||||
'caption' => \ForkBB\__('Real name label'),
|
||||
'value' => isset($v->realname) ? $v->realname : null,
|
||||
];
|
||||
$genders = [
|
||||
0 => \ForkBB\__('Do not display'),
|
||||
1 => \ForkBB\__('Male'),
|
||||
2 => \ForkBB\__('Female'),
|
||||
];
|
||||
$fields['gender'] = [
|
||||
# 'class' => 'block',
|
||||
'type' => 'radio',
|
||||
'value' => isset($v->gender) ? $v->gender : -1,
|
||||
'values' => $genders,
|
||||
'caption' => \ForkBB\__('Gender label'),
|
||||
];
|
||||
$fields['url'] = [
|
||||
'id' => 'website',
|
||||
'type' => 'text',
|
||||
'maxlength' => 100,
|
||||
'caption' => \ForkBB\__('Website label'),
|
||||
'value' => isset($v->url) ? $v->url : null,
|
||||
];
|
||||
$fields['location'] = [
|
||||
'type' => 'text',
|
||||
'maxlength' => 30,
|
||||
'caption' => \ForkBB\__('Location label'),
|
||||
'value' => isset($v->location) ? $v->location : null,
|
||||
];
|
||||
$fields['signature'] = [
|
||||
'type' => 'text',
|
||||
'maxlength' => 512,
|
||||
'caption' => \ForkBB\__('Signature label'),
|
||||
'value' => isset($v->signature) ? $v->signature : null,
|
||||
];
|
||||
$fields['admin_note'] = [
|
||||
'type' => 'text',
|
||||
'maxlength' => 30,
|
||||
'caption' => \ForkBB\__('Admin note label'),
|
||||
'value' => isset($v->admin_note) ? $v->admin_note : null,
|
||||
];
|
||||
$fields['between1'] = [
|
||||
'class' => 'between',
|
||||
'type' => 'wrap',
|
||||
];
|
||||
$fields['num_posts_1'] = [
|
||||
'type' => 'number',
|
||||
'class' => 'bstart',
|
||||
'min' => 0,
|
||||
'max' => 9999999999,
|
||||
'value' => isset($v->num_posts_1) ? $v->num_posts_1 : null,
|
||||
'caption' => \ForkBB\__('Posts label'),
|
||||
];
|
||||
$fields['num_posts_2'] = [
|
||||
'type' => 'number',
|
||||
'class' => 'bend',
|
||||
'min' => 0,
|
||||
'max' => 9999999999,
|
||||
'value' => isset($v->num_posts_2) ? $v->num_posts_2 : null,
|
||||
];
|
||||
$fields[] = [
|
||||
'type' => 'endwrap',
|
||||
];
|
||||
$fields['between2'] = [
|
||||
'class' => 'between',
|
||||
'type' => 'wrap',
|
||||
];
|
||||
$fields['last_post_1'] = [
|
||||
'class' => 'bstart',
|
||||
'type' => 'text',
|
||||
'maxlength' => 100,
|
||||
'value' => isset($v->last_post_1) ? $v->last_post_1 : null,
|
||||
'caption' => \ForkBB\__('Last post label'),
|
||||
];
|
||||
$fields['last_post_2'] = [
|
||||
'class' => 'bend',
|
||||
'type' => 'text',
|
||||
'maxlength' => 100,
|
||||
'value' => isset($v->last_post_2) ? $v->last_post_2 : null,
|
||||
];
|
||||
$fields[] = [
|
||||
'type' => 'endwrap',
|
||||
];
|
||||
$fields['between3'] = [
|
||||
'class' => 'between',
|
||||
'type' => 'wrap',
|
||||
];
|
||||
$fields['last_visit_1'] = [
|
||||
'class' => 'bstart',
|
||||
'type' => 'text',
|
||||
'maxlength' => 100,
|
||||
'value' => isset($v->last_visit_1) ? $v->last_visit_1 : null,
|
||||
'caption' => \ForkBB\__('Last visit label'),
|
||||
];
|
||||
$fields['last_visit_2'] = [
|
||||
'class' => 'bend',
|
||||
'type' => 'text',
|
||||
'maxlength' => 100,
|
||||
'value' => isset($v->last_visit_2) ? $v->last_visit_2 : null,
|
||||
];
|
||||
$fields[] = [
|
||||
'type' => 'endwrap',
|
||||
];
|
||||
$fields['between4'] = [
|
||||
'class' => 'between',
|
||||
'type' => 'wrap',
|
||||
];
|
||||
$fields['registered_1'] = [
|
||||
'class' => 'bstart',
|
||||
'type' => 'text',
|
||||
'maxlength' => 100,
|
||||
'value' => isset($v->registered_1) ? $v->registered_1 : null,
|
||||
'caption' => \ForkBB\__('Registered label'),
|
||||
];
|
||||
$fields['registered_2'] = [
|
||||
'class' => 'bend',
|
||||
'type' => 'text',
|
||||
'maxlength' => 100,
|
||||
'value' => isset($v->registered_2) ? $v->registered_2 : null,
|
||||
];
|
||||
$fields[] = [
|
||||
'type' => 'endwrap',
|
||||
];
|
||||
$form['sets']['filters'] = [
|
||||
'legend' => \ForkBB\__('User search subhead'),
|
||||
'fields' => $fields,
|
||||
];
|
||||
|
||||
$fields = [];
|
||||
$fields['between5'] = [
|
||||
'class' => 'between',
|
||||
'type' => 'wrap',
|
||||
];
|
||||
$fields['order_by'] = [
|
||||
'class' => 'bstart',
|
||||
'type' => 'select',
|
||||
'options' => [
|
||||
'username' => \ForkBB\__('Order by username'),
|
||||
'email' => \ForkBB\__('Order by e-mail'),
|
||||
'num_posts' => \ForkBB\__('Order by posts'),
|
||||
'last_post' => \ForkBB\__('Order by last post'),
|
||||
'last_visit' => \ForkBB\__('Order by last visit'),
|
||||
'registered' => \ForkBB\__('Order by registered'),
|
||||
],
|
||||
'value' => isset($v->order_by) ? $v->order_by : 'registered',
|
||||
'caption' => \ForkBB\__('Order by label'),
|
||||
];
|
||||
$fields['direction'] = [
|
||||
'class' => 'bend',
|
||||
'type' => 'select',
|
||||
'options' => [
|
||||
'ASC' => \ForkBB\__('Ascending'),
|
||||
'DESC' => \ForkBB\__('Descending'),
|
||||
],
|
||||
'value' => isset($v->direction) ? $v->direction : 'DESC',
|
||||
];
|
||||
$fields[] = [
|
||||
'type' => 'endwrap',
|
||||
];
|
||||
$fields['user_group'] = [
|
||||
'type' => 'select',
|
||||
'options' => $this->groups(),
|
||||
'value' => isset($v->user_group) ? $v->user_group : -1,
|
||||
'caption' => \ForkBB\__('User group label'),
|
||||
];
|
||||
|
||||
$form['sets']['sorting'] = [
|
||||
'legend' => \ForkBB\__('Search results legend'),
|
||||
'fields' => $fields,
|
||||
];
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Создает массив данных для формы поиска по IP
|
||||
*
|
||||
* @param mixed $v
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function formIP($v)
|
||||
{
|
||||
$form = [
|
||||
'action' => $this->c->Router->link('AdminUsers'),
|
||||
'hidden' => [
|
||||
'token' => $this->c->Csrf->create('AdminUsers'),
|
||||
],
|
||||
'sets' => [],
|
||||
'btns' => [
|
||||
'find' => [
|
||||
'type' => 'submit',
|
||||
'value' => \ForkBB\__('Find IP address'),
|
||||
'accesskey' => 'f',
|
||||
],
|
||||
],
|
||||
];
|
||||
$fields = [];
|
||||
$fields['ip'] = [
|
||||
'type' => 'text',
|
||||
'maxlength' => 49,
|
||||
'caption' => \ForkBB\__('IP address label'),
|
||||
'value' => isset($v->ip) ? $v->ip : null,
|
||||
'required' => true,
|
||||
];
|
||||
$form['sets']['ip'] = [
|
||||
'fields' => $fields,
|
||||
];
|
||||
|
||||
return $form;
|
||||
}
|
||||
}
|
|
@ -251,13 +251,13 @@ class View extends Profile
|
|||
];
|
||||
}
|
||||
}
|
||||
if ($this->rules->viewIP) {
|
||||
if ($this->rules->viewIP && false !== \filter_var($this->curUser->registration_ip, \FILTER_VALIDATE_IP)) {
|
||||
$fields['ip'] = [
|
||||
'class' => 'pline',
|
||||
'type' => 'link',
|
||||
'caption' => \ForkBB\__('IP'),
|
||||
'value' => $this->curUser->registration_ip,
|
||||
'href' => $this->c->Router->link('', ['id' => $this->curUser->id]), // ????
|
||||
'href' => $this->c->Router->link('AdminHost', ['ip' => $this->curUser->registration_ip]),
|
||||
'title' => \ForkBB\__('IP title'),
|
||||
];
|
||||
}
|
||||
|
|
|
@ -9,6 +9,28 @@ use InvalidArgumentException;
|
|||
|
||||
class Userlist extends Page
|
||||
{
|
||||
/**
|
||||
* Генерирует список доступных групп пользователей
|
||||
*
|
||||
* @param bool $onlyKeys
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function groups($onlyKeys = false)
|
||||
{
|
||||
$groups = [
|
||||
-1 => \ForkBB\__('All users'),
|
||||
];
|
||||
|
||||
foreach ($this->c->groups->getList() as $group) {
|
||||
if (! $group->groupGuest) {
|
||||
$groups[$group->g_id] = $group->g_title;
|
||||
}
|
||||
}
|
||||
|
||||
return $onlyKeys ? \array_keys($groups) : $groups;
|
||||
}
|
||||
|
||||
/**
|
||||
* Список пользователей
|
||||
*
|
||||
|
@ -21,16 +43,12 @@ class Userlist extends Page
|
|||
{
|
||||
$this->c->Lang->load('userlist');
|
||||
|
||||
$groups = \array_filter($this->c->groups->getList(), function ($group) {
|
||||
return ! $group->groupGuest;
|
||||
});
|
||||
|
||||
$prefix = 'POST' === $method ? 'required|' : '';
|
||||
$v = $this->c->Validator->reset()
|
||||
->addRules([
|
||||
'sort' => $prefix . 'string|in:username,registered' . ($this->user->showPostCount ? ',num_posts' : ''),
|
||||
'dir' => $prefix . 'string|in:ASC,DESC',
|
||||
'group' => $prefix . 'integer|in:-1,' . \implode(',', \array_keys($groups)),
|
||||
'group' => $prefix . 'integer|in:' . \implode(',', $this->groups(true)),
|
||||
'name' => $prefix . 'string:trim|min:1|max:25' . ($this->user->searchUsers ? '' : '|in:*'),
|
||||
]);
|
||||
|
||||
|
@ -143,9 +161,7 @@ class Userlist extends Page
|
|||
$fields['group'] = [
|
||||
'class' => 'w4',
|
||||
'type' => 'select',
|
||||
'options' => [[-1, \ForkBB\__('All users')]] + \array_map(function ($group) {
|
||||
return [$group->g_id, $group->g_title];
|
||||
}, $groups),
|
||||
'options' => $this->groups(),
|
||||
'value' => $v->group,
|
||||
'caption' => \ForkBB\__('User group'),
|
||||
];
|
||||
|
|
|
@ -37,7 +37,7 @@ class Profile extends Rules
|
|||
|
||||
protected function getrename()
|
||||
{
|
||||
return $this->admin || ($this->moderator && '1' == $this->user->g_mod_rename_users);
|
||||
return $this->admin || ($this->moderator && '1' == $this->user->g_mod_rename_users);
|
||||
}
|
||||
|
||||
protected function geteditPass()
|
||||
|
|
|
@ -161,6 +161,8 @@ return [
|
|||
'AdminGroups' => \ForkBB\Models\Pages\Admin\Groups::class,
|
||||
'AdminCensoring' => \ForkBB\Models\Pages\Admin\Censoring::class,
|
||||
'AdminMaintenance' => \ForkBB\Models\Pages\Admin\Maintenance::class,
|
||||
'AdminUsers' => \ForkBB\Models\Pages\Admin\Users::class,
|
||||
'AdminHost' => \ForkBB\Models\Pages\Admin\Host::class,
|
||||
|
||||
'ConfigModel' => \ForkBB\Models\Config\Model::class,
|
||||
'ConfigModelLoad' => \ForkBB\Models\Config\Load::class,
|
||||
|
|
16
app/lang/English/admin_host.po
Normal file
16
app/lang/English/admin_host.po
Normal file
|
@ -0,0 +1,16 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"Project-Id-Version: ForkBB\n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: ForkBB <mio.visman@yandex.ru>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: en\n"
|
||||
|
||||
msgid "Host info"
|
||||
msgstr "The IP address is: %1$s<br>The host name is: %2$s<br><br><a href=\"\">Show more users for this IP</a>"
|
331
app/lang/English/admin_users.po
Normal file
331
app/lang/English/admin_users.po
Normal file
|
@ -0,0 +1,331 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"Project-Id-Version: ForkBB\n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: ForkBB <mio.visman@yandex.ru>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: en\n"
|
||||
|
||||
msgid "Non numeric message"
|
||||
msgstr "You entered a non-numeric value into a numeric only column."
|
||||
|
||||
msgid "Invalid date time message"
|
||||
msgstr "You entered an invalid date/time."
|
||||
|
||||
msgid "Not verified"
|
||||
msgstr "Not verified"
|
||||
|
||||
msgid "No users selected"
|
||||
msgstr "No users selected."
|
||||
|
||||
msgid "No move admins message"
|
||||
msgstr "For security reasons, you are not allowed to move multiple administrators to another group. If you want to move these administrators, you can do so on their respective user profiles."
|
||||
|
||||
msgid "No delete admins message"
|
||||
msgstr "Administrators cannot be deleted. In order to delete administrators, you must first move them to a different user group."
|
||||
|
||||
msgid "No ban admins message"
|
||||
msgstr "Administrators cannot be banned. In order to ban administrators, you must first move them to a different user group."
|
||||
|
||||
msgid "No ban mods message"
|
||||
msgstr "Moderators cannot be banned. In order to ban moderators, you must first move them to a different user group."
|
||||
|
||||
msgid "Move users"
|
||||
msgstr "Change user group"
|
||||
|
||||
msgid "Move users subhead"
|
||||
msgstr "Select new user group"
|
||||
|
||||
msgid "New group label"
|
||||
msgstr "New group"
|
||||
|
||||
msgid "New group help"
|
||||
msgstr "Select the group to which the selected users will be moved. For security reasons, it is not possible to move multiple users to the administrator group."
|
||||
|
||||
msgid "Invalid group message"
|
||||
msgstr "Invalid group ID."
|
||||
|
||||
msgid "Users move redirect"
|
||||
msgstr "User group changed. Redirecting …"
|
||||
|
||||
msgid "Delete users"
|
||||
msgstr "Delete users"
|
||||
|
||||
msgid "Confirm delete legend"
|
||||
msgstr "Important: read before deleting users"
|
||||
|
||||
msgid "Confirm delete info"
|
||||
msgstr "Please confirm that you want to delete these users."
|
||||
|
||||
msgid "Delete posts"
|
||||
msgstr "Delete any posts and topics these users have made."
|
||||
|
||||
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."
|
||||
|
||||
msgid "Users delete redirect"
|
||||
msgstr "Users deleted. Redirecting …"
|
||||
|
||||
msgid "Ban users"
|
||||
msgstr "Ban users"
|
||||
|
||||
msgid "Message expiry subhead"
|
||||
msgstr "Ban message and expiry"
|
||||
|
||||
msgid "Ban message label"
|
||||
msgstr "Ban message"
|
||||
|
||||
msgid "Ban message help"
|
||||
msgstr "A message that will be displayed to the banned users when they visit the board."
|
||||
|
||||
msgid "Expire date label"
|
||||
msgstr "Expire date"
|
||||
|
||||
msgid "Expire date help"
|
||||
msgstr "The date when these bans should be automatically removed (format: yyyy-mm-dd). Leave blank to remove manually."
|
||||
|
||||
msgid "Ban IP label"
|
||||
msgstr "Ban IP addresses"
|
||||
|
||||
msgid "Ban IP help"
|
||||
msgstr "Also ban the IP addresses of the banned users to make registering a new account more difficult for them."
|
||||
|
||||
msgid "Invalid date message"
|
||||
msgstr "You entered an invalid expire date."
|
||||
|
||||
msgid "Invalid date reasons"
|
||||
msgstr "The format should be YYYY-MM-DD and the date must be at least one day in the future."
|
||||
|
||||
msgid "Users banned redirect"
|
||||
msgstr "Users banned. Redirecting …"
|
||||
|
||||
msgid "User search head"
|
||||
msgstr "User search"
|
||||
|
||||
msgid "User search subhead"
|
||||
msgstr "Search criteria"
|
||||
|
||||
msgid "User search info"
|
||||
msgstr "Search for users in the database. You can enter one or more terms to search for. Wildcards in the form of asterisks (*) are accepted."
|
||||
|
||||
msgid "Username label"
|
||||
msgstr "Username"
|
||||
|
||||
msgid "E-mail address label"
|
||||
msgstr "Email address"
|
||||
|
||||
msgid "Title label"
|
||||
msgstr "Title"
|
||||
|
||||
msgid "Real name label"
|
||||
msgstr "Real name"
|
||||
|
||||
msgid "Gender label"
|
||||
msgstr "Gender"
|
||||
|
||||
msgid "Do not display"
|
||||
msgstr "Do not display"
|
||||
|
||||
msgid "Website label"
|
||||
msgstr "Website"
|
||||
|
||||
msgid "Jabber label"
|
||||
msgstr "Jabber"
|
||||
|
||||
msgid "ICQ label"
|
||||
msgstr "ICQ"
|
||||
|
||||
msgid "MSN label"
|
||||
msgstr "Microsoft Account"
|
||||
|
||||
msgid "AOL label"
|
||||
msgstr "AOL IM"
|
||||
|
||||
msgid "Yahoo label"
|
||||
msgstr "Yahoo Messenger"
|
||||
|
||||
msgid "Location label"
|
||||
msgstr "Location"
|
||||
|
||||
msgid "Signature label"
|
||||
msgstr "Signature"
|
||||
|
||||
msgid "Admin note label"
|
||||
msgstr "Admin note"
|
||||
|
||||
msgid "Posts label"
|
||||
msgstr "Posts"
|
||||
|
||||
msgid "Posts more than label"
|
||||
msgstr "Number of posts greater than"
|
||||
|
||||
msgid "Posts less than label"
|
||||
msgstr "Number of posts less than"
|
||||
|
||||
msgid "Last post label"
|
||||
msgstr "Last post"
|
||||
|
||||
msgid "Last post after label"
|
||||
msgstr "Last post is after"
|
||||
|
||||
msgid "Date help"
|
||||
msgstr "(yyyy-mm-dd hh:mm:ss)"
|
||||
|
||||
msgid "Last post before label"
|
||||
msgstr "Last post is before"
|
||||
|
||||
msgid "Last visit label"
|
||||
msgstr "Last visit"
|
||||
|
||||
msgid "Last visit after label"
|
||||
msgstr "Last visit is after"
|
||||
|
||||
msgid "Last visit before label"
|
||||
msgstr "Last visit is before"
|
||||
|
||||
msgid "Registered label"
|
||||
msgstr "Registered"
|
||||
|
||||
msgid "Registered after label"
|
||||
msgstr "Registered after"
|
||||
|
||||
msgid "Registered before label"
|
||||
msgstr "Registered before"
|
||||
|
||||
msgid "Order by label"
|
||||
msgstr "Order by"
|
||||
|
||||
msgid "Order by username"
|
||||
msgstr "Username"
|
||||
|
||||
msgid "Order by e-mail"
|
||||
msgstr "Email"
|
||||
|
||||
msgid "Order by posts"
|
||||
msgstr "Number of posts"
|
||||
|
||||
msgid "Order by last post"
|
||||
msgstr "Last post"
|
||||
|
||||
msgid "Order by last visit"
|
||||
msgstr "Last visit"
|
||||
|
||||
msgid "Order by registered"
|
||||
msgstr "Registered"
|
||||
|
||||
msgid "Ascending"
|
||||
msgstr "Ascending"
|
||||
|
||||
msgid "Descending"
|
||||
msgstr "Descending"
|
||||
|
||||
msgid "User group label"
|
||||
msgstr "User group"
|
||||
|
||||
msgid "All groups"
|
||||
msgstr "All groups"
|
||||
|
||||
msgid "Unverified users"
|
||||
msgstr "Unverified users"
|
||||
|
||||
msgid "Submit search"
|
||||
msgstr "Submit search"
|
||||
|
||||
msgid "IP search head"
|
||||
msgstr "IP search"
|
||||
|
||||
msgid "IP search subhead"
|
||||
msgstr "Enter IP to search for"
|
||||
|
||||
msgid "IP address label"
|
||||
msgstr "IP address"
|
||||
|
||||
msgid "IP address help"
|
||||
msgstr "The IP address to search for in the post database."
|
||||
|
||||
msgid "Find IP address"
|
||||
msgstr "Find IP address"
|
||||
|
||||
msgid "Results head"
|
||||
msgstr "Search Results"
|
||||
|
||||
msgid "Results username head"
|
||||
msgstr "Username"
|
||||
|
||||
msgid "Results e-mail head"
|
||||
msgstr "Email"
|
||||
|
||||
msgid "Results title head"
|
||||
msgstr "Title/Status"
|
||||
|
||||
msgid "Results posts head"
|
||||
msgstr "Posts"
|
||||
|
||||
msgid "Results admin note head"
|
||||
msgstr "Admin note"
|
||||
|
||||
msgid "Results actions head"
|
||||
msgstr "Actions"
|
||||
|
||||
msgid "Results IP address head"
|
||||
msgstr "IP address"
|
||||
|
||||
msgid "Results last used head"
|
||||
msgstr "Last used"
|
||||
|
||||
msgid "Results times found head"
|
||||
msgstr "Times found"
|
||||
|
||||
msgid "Results action head"
|
||||
msgstr "Action"
|
||||
|
||||
msgid "Results find more link"
|
||||
msgstr "Find more users for this ip"
|
||||
|
||||
msgid "Results no posts found"
|
||||
msgstr "There are currently no posts by that user in the forum."
|
||||
|
||||
msgid "Select"
|
||||
msgstr "Select"
|
||||
|
||||
msgid "Select all"
|
||||
msgstr "Select all"
|
||||
|
||||
msgid "Unselect all"
|
||||
msgstr "Unselect all"
|
||||
|
||||
msgid "Ban"
|
||||
msgstr "Ban"
|
||||
|
||||
msgid "Delete"
|
||||
msgstr "Delete"
|
||||
|
||||
msgid "Change group"
|
||||
msgstr "Change group"
|
||||
|
||||
msgid "Bad IP message"
|
||||
msgstr "The supplied IP address is not correctly formatted."
|
||||
|
||||
msgid "Results view IP link"
|
||||
msgstr "View IP stats"
|
||||
|
||||
msgid "Results show posts link"
|
||||
msgstr "Show posts"
|
||||
|
||||
msgid "Results guest"
|
||||
msgstr "Guest"
|
||||
|
||||
msgid "Results no IP found"
|
||||
msgstr "The supplied IP address could not be found in the database."
|
||||
|
||||
msgid "No match"
|
||||
msgstr "No match"
|
||||
|
||||
msgid "Search results legend"
|
||||
msgstr "Select how to view search results"
|
|
@ -433,7 +433,7 @@ msgid "IP"
|
|||
msgstr "IP"
|
||||
|
||||
msgid "IP title"
|
||||
msgstr "IP"
|
||||
msgstr "Show IP information"
|
||||
|
||||
msgid "No signature after censoring"
|
||||
msgstr "Text of signature was deleted after censoring"
|
||||
|
|
16
app/lang/Russian/admin_host.po
Normal file
16
app/lang/Russian/admin_host.po
Normal file
|
@ -0,0 +1,16 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"Project-Id-Version: ForkBB\n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: ForkBB <mio.visman@yandex.ru>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ru\n"
|
||||
|
||||
msgid "Host info"
|
||||
msgstr "IP адрес: %1$s<br>Имя хоста: %2$s<br><br><a href=\"\">Показать еще информацию по IP</a>"
|
331
app/lang/Russian/admin_users.po
Normal file
331
app/lang/Russian/admin_users.po
Normal file
|
@ -0,0 +1,331 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"Project-Id-Version: ForkBB\n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: ForkBB <mio.visman@yandex.ru>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ru\n"
|
||||
|
||||
msgid "Non numeric message"
|
||||
msgstr "Вы ввели в числовое поле недопустимы символ."
|
||||
|
||||
msgid "Invalid date time message"
|
||||
msgstr "Вы ввели неправильные дату/время."
|
||||
|
||||
msgid "Not verified"
|
||||
msgstr "Не проверенный"
|
||||
|
||||
msgid "No users selected"
|
||||
msgstr "Пользователи не выбраны."
|
||||
|
||||
msgid "No move admins message"
|
||||
msgstr "Из соображений безопасности вы не можете переместить администраторов в другую группу. Если всё же вы хотите их переместить, то сделайте это в их профилях."
|
||||
|
||||
msgid "No delete admins message"
|
||||
msgstr "Администраторы не могут быть удалены. Для того, чтобы удалить администраторов, вы должны сначала переместить их в другую группу."
|
||||
|
||||
msgid "No ban admins message"
|
||||
msgstr "Администраторы не могут быть забанены. Для того, чтобы забанить администраторов, вы должны сначала переместить их в другую группу."
|
||||
|
||||
msgid "No ban mods message"
|
||||
msgstr "Модераторы не могут быть забанены модераторами. Если вы хотите забанить модераторов, сообщите администратору."
|
||||
|
||||
msgid "Move users"
|
||||
msgstr "Изменение группы у пользователей"
|
||||
|
||||
msgid "Move users subhead"
|
||||
msgstr "Выберете новую группу"
|
||||
|
||||
msgid "New group label"
|
||||
msgstr "Новая группа"
|
||||
|
||||
msgid "New group help"
|
||||
msgstr "Выберите группу, в которую будут перемещены выбранные пользователи."
|
||||
|
||||
msgid "Invalid group message"
|
||||
msgstr "Неверная группа."
|
||||
|
||||
msgid "Users move redirect"
|
||||
msgstr "Пользователям изменена группа. Переадресация..."
|
||||
|
||||
msgid "Delete users"
|
||||
msgstr "Удаление пользователей"
|
||||
|
||||
msgid "Confirm delete legend"
|
||||
msgstr "ВАЖНО: прочтите перед удалением"
|
||||
|
||||
msgid "Confirm delete info"
|
||||
msgstr "Пожалуйста, подтвердите удаление пользователя."
|
||||
|
||||
msgid "Delete posts"
|
||||
msgstr "Удалить все темы и сообщения пользователей."
|
||||
|
||||
msgid "Delete warning"
|
||||
msgstr "Предупреждаем! Удалённых пользователей и/или сообщения невозможно восстановить. Если вы выберете "не удалять сообщения", их можно будет удалить вручную в любое время."
|
||||
|
||||
msgid "Users delete redirect"
|
||||
msgstr "Пользователи удалены. Переадресация..."
|
||||
|
||||
msgid "Ban users"
|
||||
msgstr "Бан пользователей"
|
||||
|
||||
msgid "Message expiry subhead"
|
||||
msgstr "Сообщение забаненым пользователям и дата окончания"
|
||||
|
||||
msgid "Ban message label"
|
||||
msgstr "Сообщение забаненому"
|
||||
|
||||
msgid "Ban message help"
|
||||
msgstr "Этот текст будет показан забаненым пользователям, когда они посетят форум."
|
||||
|
||||
msgid "Expire date label"
|
||||
msgstr "Дата окончания"
|
||||
|
||||
msgid "Expire date help"
|
||||
msgstr "Дата, когда бан автоматически снимется (формат: yyyy-mm-dd). Оставьте пустым если бан можно снять только вручную."
|
||||
|
||||
msgid "Ban IP label"
|
||||
msgstr "Бан IP адреса"
|
||||
|
||||
msgid "Ban IP help"
|
||||
msgstr "Бан IP адреса пользователей, чтобы сделать регистрацию новой учетной записи более трудной."
|
||||
|
||||
msgid "Invalid date message"
|
||||
msgstr "Вы ввели неправильную дату."
|
||||
|
||||
msgid "Invalid date reasons"
|
||||
msgstr "Вы ввели неправильную дату окончания. Дата должна быть в формате YYYY-MM-DD и должна быть не ранее, чем завтрашнее число."
|
||||
|
||||
msgid "Users banned redirect"
|
||||
msgstr "Пользователи забанены. Переадресация..."
|
||||
|
||||
msgid "User search head"
|
||||
msgstr "Поиск пользователей"
|
||||
|
||||
msgid "User search subhead"
|
||||
msgstr "Критерии поиска"
|
||||
|
||||
msgid "User search info"
|
||||
msgstr "Поиск пользователей в базе. Вы можете указать сразу несколько условий. Маски в виде звёздочек (*) допускаются."
|
||||
|
||||
msgid "Username label"
|
||||
msgstr "Имя пользователя"
|
||||
|
||||
msgid "E-mail address label"
|
||||
msgstr "Email адрес"
|
||||
|
||||
msgid "Title label"
|
||||
msgstr "Титул"
|
||||
|
||||
msgid "Real name label"
|
||||
msgstr "Настоящее имя"
|
||||
|
||||
msgid "Gender label"
|
||||
msgstr "Пол"
|
||||
|
||||
msgid "Do not display"
|
||||
msgstr "Не отображать"
|
||||
|
||||
msgid "Website label"
|
||||
msgstr "Вебсайт"
|
||||
|
||||
msgid "Jabber label"
|
||||
msgstr "Jabber"
|
||||
|
||||
msgid "ICQ label"
|
||||
msgstr "ICQ"
|
||||
|
||||
msgid "MSN label"
|
||||
msgstr "Microsoft Account"
|
||||
|
||||
msgid "AOL label"
|
||||
msgstr "AOL IM"
|
||||
|
||||
msgid "Yahoo label"
|
||||
msgstr "Yahoo Messenger"
|
||||
|
||||
msgid "Location label"
|
||||
msgstr "Откуда"
|
||||
|
||||
msgid "Signature label"
|
||||
msgstr "Подпись"
|
||||
|
||||
msgid "Admin note label"
|
||||
msgstr "Примечание админа"
|
||||
|
||||
msgid "Posts label"
|
||||
msgstr "Сообщений"
|
||||
|
||||
msgid "Posts more than label"
|
||||
msgstr "Сообщений больше чем"
|
||||
|
||||
msgid "Posts less than label"
|
||||
msgstr "Сообщений меньше чем"
|
||||
|
||||
msgid "Last post label"
|
||||
msgstr "Последнее сообщение"
|
||||
|
||||
msgid "Last post after label"
|
||||
msgstr "Последнее сообщение позднее"
|
||||
|
||||
msgid "Date help"
|
||||
msgstr "(yyyy-mm-dd hh:mm:ss)"
|
||||
|
||||
msgid "Last post before label"
|
||||
msgstr "Последнее сообщение ранее"
|
||||
|
||||
msgid "Last visit label"
|
||||
msgstr "Последний визит"
|
||||
|
||||
msgid "Last visit after label"
|
||||
msgstr "Последний визит позднее"
|
||||
|
||||
msgid "Last visit before label"
|
||||
msgstr "Последний визит ранее"
|
||||
|
||||
msgid "Registered label"
|
||||
msgstr "Дата регистрации"
|
||||
|
||||
msgid "Registered after label"
|
||||
msgstr "Зарегистрирован позднее"
|
||||
|
||||
msgid "Registered before label"
|
||||
msgstr "Зарегистрирован ранее"
|
||||
|
||||
msgid "Order by label"
|
||||
msgstr "Сортировать по"
|
||||
|
||||
msgid "Order by username"
|
||||
msgstr "Имени"
|
||||
|
||||
msgid "Order by e-mail"
|
||||
msgstr "Email"
|
||||
|
||||
msgid "Order by posts"
|
||||
msgstr "Количествуву сообщений"
|
||||
|
||||
msgid "Order by last post"
|
||||
msgstr "Последнему сообщению"
|
||||
|
||||
msgid "Order by last visit"
|
||||
msgstr "Последнему визиту"
|
||||
|
||||
msgid "Order by registered"
|
||||
msgstr "Регистрации"
|
||||
|
||||
msgid "Ascending"
|
||||
msgstr "По возрастанию"
|
||||
|
||||
msgid "Descending"
|
||||
msgstr "По убыванию"
|
||||
|
||||
msgid "User group label"
|
||||
msgstr "Группа"
|
||||
|
||||
msgid "All groups"
|
||||
msgstr "Все группы"
|
||||
|
||||
msgid "Unverified users"
|
||||
msgstr "Неподтверждённые"
|
||||
|
||||
msgid "Submit search"
|
||||
msgstr "Начать поиск"
|
||||
|
||||
msgid "IP search head"
|
||||
msgstr "Поиск по IP"
|
||||
|
||||
msgid "IP search subhead"
|
||||
msgstr "Введите IP для поиска"
|
||||
|
||||
msgid "IP address label"
|
||||
msgstr "IP адрес"
|
||||
|
||||
msgid "IP address help"
|
||||
msgstr "IP адрес который будем искать в базе сообщений."
|
||||
|
||||
msgid "Find IP address"
|
||||
msgstr "Найти IP адрес"
|
||||
|
||||
msgid "Results head"
|
||||
msgstr "Результаты поиска"
|
||||
|
||||
msgid "Results username head"
|
||||
msgstr "Имя пользователя"
|
||||
|
||||
msgid "Results e-mail head"
|
||||
msgstr "Email"
|
||||
|
||||
msgid "Results title head"
|
||||
msgstr "Титул/Статус"
|
||||
|
||||
msgid "Results posts head"
|
||||
msgstr "Сообщений"
|
||||
|
||||
msgid "Results admin note head"
|
||||
msgstr "Примечание"
|
||||
|
||||
msgid "Results actions head"
|
||||
msgstr "Действия"
|
||||
|
||||
msgid "Results IP address head"
|
||||
msgstr "IP адрес"
|
||||
|
||||
msgid "Results last used head"
|
||||
msgstr "Посл. использование"
|
||||
|
||||
msgid "Results times found head"
|
||||
msgstr "Встречается раз"
|
||||
|
||||
msgid "Results action head"
|
||||
msgstr "Действие"
|
||||
|
||||
msgid "Results find more link"
|
||||
msgstr "Найти других пользователей с этим ip"
|
||||
|
||||
msgid "Results no posts found"
|
||||
msgstr "У этого пользователя нет ни одного сообщения."
|
||||
|
||||
msgid "Select"
|
||||
msgstr "Выбрать"
|
||||
|
||||
msgid "Select all"
|
||||
msgstr "Выбрать всё"
|
||||
|
||||
msgid "Unselect all"
|
||||
msgstr "Отменить"
|
||||
|
||||
msgid "Ban"
|
||||
msgstr "Бан"
|
||||
|
||||
msgid "Delete"
|
||||
msgstr "Удалить"
|
||||
|
||||
msgid "Change group"
|
||||
msgstr "Изменить группу"
|
||||
|
||||
msgid "Bad IP message"
|
||||
msgstr "Указанный IP имеет неправильный формат."
|
||||
|
||||
msgid "Results view IP link"
|
||||
msgstr "IP статистика"
|
||||
|
||||
msgid "Results show posts link"
|
||||
msgstr "Сообщения"
|
||||
|
||||
msgid "Results guest"
|
||||
msgstr "Гость"
|
||||
|
||||
msgid "Results no IP found"
|
||||
msgstr "Указанный IP не найден в базе."
|
||||
|
||||
msgid "No match"
|
||||
msgstr "Ничего"
|
||||
|
||||
msgid "Search results legend"
|
||||
msgstr "Настройка параметров вывода результатов"
|
|
@ -433,7 +433,7 @@ msgid "IP"
|
|||
msgstr "IP"
|
||||
|
||||
msgid "IP title"
|
||||
msgstr "IP"
|
||||
msgstr "Показать информацию об IP"
|
||||
|
||||
msgid "No signature after censoring"
|
||||
msgstr "Весь текст подписи удален после цензуры"
|
||||
|
|
17
app/templates/admin/users.forkbb.php
Normal file
17
app/templates/admin/users.forkbb.php
Normal file
|
@ -0,0 +1,17 @@
|
|||
@extends ('layouts/admin')
|
||||
<section class="f-admin f-search-user-form">
|
||||
<h2>{!! __('User search head') !!}</h2>
|
||||
<div class="f-fdiv">
|
||||
@if ($form = $p->formSearch)
|
||||
@include ('layouts/form')
|
||||
@endif
|
||||
</div>
|
||||
</section>
|
||||
<section class="f-admin f-search-ip-form">
|
||||
<h2>{!! __('IP search head') !!}</h2>
|
||||
<div class="f-fdiv">
|
||||
@if ($form = $p->formIP)
|
||||
@include ('layouts/form')
|
||||
@endif
|
||||
</div>
|
||||
</section>
|
|
@ -957,6 +957,20 @@ select {
|
|||
word-break: break-all;
|
||||
}
|
||||
|
||||
.f-admin .f-wrap-between {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
.f-admin .f-field-bstart,
|
||||
.f-admin .f-field-bend {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.f-admin .f-field-bstart .f-child1 {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 36rem) {
|
||||
.f-admin dl {
|
||||
display: flex;
|
||||
|
@ -982,6 +996,22 @@ select {
|
|||
.f-field-full dd {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.f-admin .f-field-bstart {
|
||||
width: calc((100% - 14.625rem) / 2 + 14.625rem);
|
||||
}
|
||||
|
||||
.f-admin .f-field-bend {
|
||||
width: calc((100% - 14.625rem) / 2);
|
||||
}
|
||||
|
||||
.f-admin .f-field-bend > dt {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.f-admin .f-field-bend > dd {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/*********************/
|
||||
|
@ -2189,4 +2219,4 @@ select {
|
|||
.f-fs-data-edit dd {
|
||||
width: 67%
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue