rev.7 for change signature settings
Moved signature settings to group settings
This commit is contained in:
parent
381fc5f88b
commit
bc75adf09b
15 changed files with 131 additions and 79 deletions
|
@ -294,6 +294,14 @@ class Groups extends Admin
|
|||
'g_mod_ban_users' => 'integer|in:0,1',
|
||||
]);
|
||||
}
|
||||
|
||||
if (! $group->groupGuest) {
|
||||
$v->addRules([
|
||||
'g_sig_use' => 'required|integer|in:0,1',
|
||||
'g_sig_length' => 'required|integer|min:0|max:10000',
|
||||
'g_sig_lines' => 'required|integer|min:0|max:255',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
if ($v->validation($_POST)) {
|
||||
|
@ -646,6 +654,30 @@ class Groups extends Admin
|
|||
'caption' => __('Report flood label'),
|
||||
'info' => __('Report flood help'),
|
||||
];
|
||||
$fieldset['g_sig_use'] = [
|
||||
'type' => 'radio',
|
||||
'value' => $group->g_sig_use,
|
||||
'values' => $yn,
|
||||
'caption' => __('Signatures label'),
|
||||
'info' => __('Signatures help'),
|
||||
];
|
||||
$fieldset['g_sig_length'] = [
|
||||
'type' => 'number',
|
||||
'min' => 0,
|
||||
'max' => 16000,
|
||||
'value' => $group->g_sig_length,
|
||||
'caption' => __('Max sig length label'),
|
||||
'info' => __('Max sig length help'),
|
||||
];
|
||||
$fieldset['g_sig_lines'] = [
|
||||
'type' => 'number',
|
||||
'min' => 0,
|
||||
'max' => 100,
|
||||
'value' => $group->g_sig_lines,
|
||||
'caption' => __('Max sig lines label'),
|
||||
'info' => __('Max sig lines help'),
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
$form['sets']['group-data'] = [
|
||||
|
|
|
@ -635,6 +635,9 @@ class Install extends Admin
|
|||
'g_deledit_interval' => ['INT(10)', false, 0],
|
||||
'g_pm' => ['TINYINT(1)', false, 1],
|
||||
'g_pm_limit' => ['INT(10) UNSIGNED', false, 100],
|
||||
'g_sig_use' => ['TINYINT(1)', false, 1],
|
||||
'g_sig_length' => ['SMALLINT UNSIGNED', false, 400],
|
||||
'g_sig_lines' => ['TINYINT UNSIGNED', false, 4],
|
||||
],
|
||||
'PRIMARY KEY' => ['g_id'],
|
||||
'ENGINE' => $this->DBEngine,
|
||||
|
@ -1045,15 +1048,15 @@ class Install extends Admin
|
|||
$now = \time();
|
||||
|
||||
$groups = [
|
||||
// g_id, g_title, g_user_title, g_moderator, g_mod_edit_users, g_mod_rename_users, g_mod_change_passwords, g_mod_ban_users, g_mod_promote_users, g_read_board, g_view_users, g_post_replies, g_post_topics, g_edit_posts, g_delete_posts, g_delete_topics, g_post_links, g_set_title, g_search, g_search_users, g_send_email, g_post_flood, g_search_flood, g_email_flood, g_report_flood, g_promote_min_posts, g_promote_next_group
|
||||
[$this->c->GROUP_ADMIN, __('Administrators'), __('Administrator '), 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0],
|
||||
[$this->c->GROUP_MOD, __('Moderators'), __('Moderator '), 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0],
|
||||
[$this->c->GROUP_GUEST, __('Guests'), '', 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 120, 60, 0, 0, 0, 0],
|
||||
[$this->c->GROUP_MEMBER, __('Members'), '', 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 30, 30, 60, 60, 0, 0],
|
||||
[$this->c->GROUP_NEW_MEMBER, __('New members'), __('New member'), 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 60, 30, 120, 60, 5, $this->c->GROUP_MEMBER],
|
||||
// g_id, g_title, g_user_title, g_moderator, g_mod_edit_users, g_mod_rename_users, g_mod_change_passwords, g_mod_ban_users, g_mod_promote_users, g_read_board, g_view_users, g_post_replies, g_post_topics, g_edit_posts, g_delete_posts, g_delete_topics, g_post_links, g_set_title, g_search, g_search_users, g_send_email, g_post_flood, g_search_flood, g_email_flood, g_report_flood, g_promote_min_posts, g_promote_next_group, g_sig_use, g_sig_length, g_sig_lines
|
||||
[$this->c->GROUP_ADMIN, __('Administrators'), __('Administrator '), 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 10000, 255],
|
||||
[$this->c->GROUP_MOD, __('Moderators'), __('Moderator '), 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 400, 4],
|
||||
[$this->c->GROUP_GUEST, __('Guests'), '', 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 120, 60, 0, 0, 0, 0, 0, 0, 0],
|
||||
[$this->c->GROUP_MEMBER, __('Members'), '', 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 30, 30, 60, 60, 0, 0, 1, 400, 4],
|
||||
[$this->c->GROUP_NEW_MEMBER, __('New members'), __('New member'), 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 60, 30, 120, 60, 5, $this->c->GROUP_MEMBER, 1, 400, 4],
|
||||
];
|
||||
foreach ($groups as $group) { //???? $db_type != 'pgsql'
|
||||
$this->c->DB->exec('INSERT INTO ::groups (g_id, g_title, g_user_title, g_moderator, g_mod_edit_users, g_mod_rename_users, g_mod_change_passwords, g_mod_ban_users, g_mod_promote_users, g_read_board, g_view_users, g_post_replies, g_post_topics, g_edit_posts, g_delete_posts, g_delete_topics, g_post_links, g_set_title, g_search, g_search_users, g_send_email, g_post_flood, g_search_flood, g_email_flood, g_report_flood, g_promote_min_posts, g_promote_next_group) VALUES (?i, ?s, ?s, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i)', $group) ;
|
||||
$this->c->DB->exec('INSERT INTO ::groups (g_id, g_title, g_user_title, g_moderator, g_mod_edit_users, g_mod_rename_users, g_mod_change_passwords, g_mod_ban_users, g_mod_promote_users, g_read_board, g_view_users, g_post_replies, g_post_topics, g_edit_posts, g_delete_posts, g_delete_topics, g_post_links, g_set_title, g_search, g_search_users, g_send_email, g_post_flood, g_search_flood, g_email_flood, g_report_flood, g_promote_min_posts, g_promote_next_group, g_sig_use, g_sig_length, g_sig_lines) VALUES (?i, ?s, ?s, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i, ?i)', $group) ;
|
||||
}
|
||||
$this->c->DB->exec('UPDATE ::groups SET g_pm_limit=0 WHERE g_id=?i', [$this->c->GROUP_ADMIN]);
|
||||
|
||||
|
@ -1072,7 +1075,6 @@ class Install extends Admin
|
|||
'o_show_version' => 0,
|
||||
'o_show_user_info' => 1,
|
||||
'o_show_post_count' => 1,
|
||||
'o_signatures' => 1,
|
||||
'o_smilies' => 1,
|
||||
'o_smilies_sig' => 1,
|
||||
'o_make_links' => 1,
|
||||
|
@ -1127,8 +1129,6 @@ class Install extends Admin
|
|||
'p_sig_all_caps' => 1,
|
||||
'p_sig_bbcode' => 1,
|
||||
'p_sig_img_tag' => 0,
|
||||
'p_sig_length' => 400,
|
||||
'p_sig_lines' => 4,
|
||||
'p_force_guest_email' => 1,
|
||||
'o_pms_enabled' => 1, // New PMS - Visman
|
||||
'o_pms_min_kolvo' => 0,
|
||||
|
|
|
@ -54,7 +54,6 @@ class Options extends Admin
|
|||
'o_quote_depth' => 'required|integer|min:0|max:9',
|
||||
'o_quickpost' => 'required|integer|in:0,1',
|
||||
'o_users_online' => 'required|integer|in:0,1',
|
||||
'o_signatures' => 'required|integer|in:0,1',
|
||||
'o_show_dot' => 'required|integer|in:0,1',
|
||||
'o_topic_views' => 'required|integer|in:0,1',
|
||||
'o_quickjump' => 'required|integer|in:0,1',
|
||||
|
@ -425,13 +424,6 @@ class Options extends Admin
|
|||
'caption' => __('Users online label'),
|
||||
'info' => __('Users online help'),
|
||||
],
|
||||
'o_signatures' => [
|
||||
'type' => 'radio',
|
||||
'value' => $config->o_signatures,
|
||||
'values' => $yn,
|
||||
'caption' => __('Signatures label'),
|
||||
'info' => __('Signatures help'),
|
||||
],
|
||||
'o_show_dot' => [
|
||||
'type' => 'radio',
|
||||
'value' => $config->o_show_dot,
|
||||
|
|
|
@ -37,8 +37,6 @@ class Permissions extends Admin
|
|||
'p_sig_bbcode' => 'required|integer|in:0,1',
|
||||
'p_sig_img_tag' => 'required|integer|in:0,1',
|
||||
'p_sig_all_caps' => 'required|integer|in:0,1',
|
||||
'p_sig_length' => 'required|integer|min:0|max:16000',
|
||||
'p_sig_lines' => 'required|integer|min:0|max:100',
|
||||
])->addAliases([
|
||||
])->addArguments([
|
||||
])->addMessages([
|
||||
|
@ -162,22 +160,6 @@ class Permissions extends Admin
|
|||
'caption' => __('All caps sigs label'),
|
||||
'info' => __('All caps sigs help'),
|
||||
],
|
||||
'p_sig_length' => [
|
||||
'type' => 'number',
|
||||
'min' => 0,
|
||||
'max' => 16000,
|
||||
'value' => $config->p_sig_length,
|
||||
'caption' => __('Max sig length label'),
|
||||
'info' => __('Max sig length help'),
|
||||
],
|
||||
'p_sig_lines' => [
|
||||
'type' => 'number',
|
||||
'min' => 0,
|
||||
'max' => 100,
|
||||
'value' => $config->p_sig_lines,
|
||||
'caption' => __('Max sig lines label'),
|
||||
'info' => __('Max sig lines help'),
|
||||
],
|
||||
|
||||
],
|
||||
];
|
||||
|
|
|
@ -17,7 +17,7 @@ class Update extends Admin
|
|||
{
|
||||
const PHP_MIN = '7.3.0';
|
||||
|
||||
const LATEST_REV_WITH_DB_CHANGES = 2;
|
||||
const LATEST_REV_WITH_DB_CHANGES = 7;
|
||||
|
||||
const LOCK_NAME = 'lock_update';
|
||||
const LOCk_TTL = 1800;
|
||||
|
@ -509,4 +509,50 @@ class Update extends Admin
|
|||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* rev.6 to rev.7
|
||||
*/
|
||||
protected function stageNumber6(array $args): ?int
|
||||
{
|
||||
$this->c->DB->addField('groups', 'g_sig_use', 'TINYINT(1)', false, 1);
|
||||
$this->c->DB->addField('groups', 'g_sig_length', 'SMALLINT UNSIGNED', false, 400);
|
||||
$this->c->DB->addField('groups', 'g_sig_lines', 'TINYINT UNSIGNED', false, 4);
|
||||
|
||||
$vars = [
|
||||
':sig_use' => '1' == $this->c->config->o_signatures ? 1 : 0,
|
||||
':sig_length' => $this->c->config->p_sig_length > 10000 ? 10000 : (int) $this->c->config->p_sig_length,
|
||||
':sig_lines' => $this->c->config->p_sig_lines> 255 ? 255 : (int) $this->c->config->p_sig_lines,
|
||||
];
|
||||
$query = 'UPDATE ::groups
|
||||
SET g_sig_use=?i:sig_use, g_sig_length=?i:sig_length, g_sig_lines=?i:sig_lines';
|
||||
|
||||
$this->c->DB->query($query, $vars);
|
||||
|
||||
$vars = [
|
||||
':grp' => $this->c->GROUP_ADMIN,
|
||||
];
|
||||
$query = 'UPDATE ::groups
|
||||
SET g_sig_use=1, g_sig_length=10000, g_sig_lines=255
|
||||
WHERE g_id=?i:grp';
|
||||
|
||||
$this->c->DB->query($query, $vars);
|
||||
|
||||
$vars = [
|
||||
':grp' => $this->c->GROUP_GUEST,
|
||||
];
|
||||
$query = 'UPDATE ::groups
|
||||
SET g_sig_use=0, g_sig_length=0, g_sig_lines=0
|
||||
WHERE g_id=?i:grp';
|
||||
|
||||
$this->c->DB->query($query, $vars);
|
||||
|
||||
unset($this->c->config->o_signatures);
|
||||
unset($this->c->config->p_sig_length);
|
||||
unset($this->c->config->p_sig_lines);
|
||||
|
||||
$this->c->config->save();
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ class Edit extends Profile
|
|||
}
|
||||
|
||||
if ($this->rules->useSignature) {
|
||||
$ruleSignature = "string:trim|max:{$this->c->config->p_sig_length}|check_signature";
|
||||
$ruleSignature = "string:trim|max:{$this->curUser->g_sig_length}|check_signature";
|
||||
} else {
|
||||
$ruleSignature = 'absent';
|
||||
}
|
||||
|
@ -168,7 +168,7 @@ class Edit extends Profile
|
|||
if ('' == $this->c->censorship->censor($signature)) {
|
||||
$v->addError('No signature after censoring');
|
||||
// количество строк
|
||||
} elseif (\substr_count($signature, "\n") >= $this->c->config->p_sig_lines) {
|
||||
} elseif (\substr_count($signature, "\n") >= $this->curUser->g_sig_lines) {
|
||||
$v->addError('Signature has too many lines');
|
||||
// текст сообщения только заглавными буквами
|
||||
} elseif (
|
||||
|
@ -460,7 +460,7 @@ class Edit extends Profile
|
|||
'type' => 'textarea',
|
||||
'value' => $this->curUser->signature,
|
||||
'caption' => __('Signature'),
|
||||
'info' => __('Sig max size', \ForkBB\num($this->c->config->p_sig_length), \ForkBB\num($this->c->config->p_sig_lines)),
|
||||
'info' => __('Sig max size', \ForkBB\num($this->curUser->g_sig_length), \ForkBB\num($this->curUser->g_sig_lines)),
|
||||
];
|
||||
$form['sets']['signature'] = [
|
||||
'class' => 'data-edit',
|
||||
|
|
|
@ -122,7 +122,7 @@ class Profile extends Rules
|
|||
|
||||
protected function getuseSignature(): bool
|
||||
{
|
||||
return '1' == $this->c->config->o_signatures;
|
||||
return '1' == $this->curUser->g_sig_use;
|
||||
}
|
||||
|
||||
protected function getviewWebsite(): bool
|
||||
|
|
|
@ -307,7 +307,7 @@ class Model extends DataModel
|
|||
*/
|
||||
protected function getshowSignature(): bool
|
||||
{
|
||||
return '1' == $this->c->config->o_signatures && 1 == $this->show_sig;
|
||||
return 1 == $this->show_sig;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -42,7 +42,7 @@ if (
|
|||
}
|
||||
$c->PUBLIC_URL = $c->BASE_URL . $forkPublicPrefix;
|
||||
|
||||
$c->FORK_REVISION = 6;
|
||||
$c->FORK_REVISION = 7;
|
||||
$c->START = $forkStart;
|
||||
$c->DIR_APP = __DIR__;
|
||||
$c->DIR_PUBLIC = $forkPublic;
|
||||
|
|
|
@ -254,3 +254,21 @@ msgstr "Invalid default group."
|
|||
|
||||
msgid "Invalid group to create on base"
|
||||
msgstr "Invalid group to create on base."
|
||||
|
||||
msgid "Signatures label"
|
||||
msgstr "Signatures"
|
||||
|
||||
msgid "Signatures help"
|
||||
msgstr "Allow users to attach a signature to their posts."
|
||||
|
||||
msgid "Max sig length label"
|
||||
msgstr "Maximum signature length"
|
||||
|
||||
msgid "Max sig length help"
|
||||
msgstr "The maximum number of characters a user signature may contain."
|
||||
|
||||
msgid "Max sig lines label"
|
||||
msgstr "Maximum signature lines"
|
||||
|
||||
msgid "Max sig lines help"
|
||||
msgstr "The maximum number of lines a user signature may contain."
|
||||
|
|
|
@ -174,12 +174,6 @@ msgstr "Users online"
|
|||
msgid "Users online help"
|
||||
msgstr "Display info on the index page about guests and registered users currently browsing the board."
|
||||
|
||||
msgid "Signatures label"
|
||||
msgstr "Signatures"
|
||||
|
||||
msgid "Signatures help"
|
||||
msgstr "Allow users to attach a signature to their posts."
|
||||
|
||||
msgid "User has posted label"
|
||||
msgstr "User has posted earlier"
|
||||
|
||||
|
|
|
@ -71,15 +71,3 @@ msgstr "All caps signature"
|
|||
|
||||
msgid "All caps sigs help"
|
||||
msgstr "Allow a signature to contain only capital letters."
|
||||
|
||||
msgid "Max sig length label"
|
||||
msgstr "Maximum signature length"
|
||||
|
||||
msgid "Max sig length help"
|
||||
msgstr "The maximum number of characters a user signature may contain."
|
||||
|
||||
msgid "Max sig lines label"
|
||||
msgstr "Maximum signature lines"
|
||||
|
||||
msgid "Max sig lines help"
|
||||
msgstr "The maximum number of lines a user signature may contain."
|
||||
|
|
|
@ -254,3 +254,21 @@ msgstr "Недопустимая группа по умолчанию."
|
|||
|
||||
msgid "Invalid group to create on base"
|
||||
msgstr "Недопустимая группа для создания на основании."
|
||||
|
||||
msgid "Signatures label"
|
||||
msgstr "Подписи"
|
||||
|
||||
msgid "Signatures help"
|
||||
msgstr "Разрешить пользователям использовать подписи под своими сообщениями."
|
||||
|
||||
msgid "Max sig length label"
|
||||
msgstr "Макс. длина сообщения"
|
||||
|
||||
msgid "Max sig length help"
|
||||
msgstr "Максимальное количество букв в подписи пользователя."
|
||||
|
||||
msgid "Max sig lines label"
|
||||
msgstr "Макс. строк сообщения"
|
||||
|
||||
msgid "Max sig lines help"
|
||||
msgstr "Максимальное количество строк в подписи пользователя."
|
||||
|
|
|
@ -174,12 +174,6 @@ msgstr "Пользователи online"
|
|||
msgid "Users online help"
|
||||
msgstr "Показывать на главной странице форума информацию о гостях и зарегистрированных пользователях online."
|
||||
|
||||
msgid "Signatures label"
|
||||
msgstr "Подписи"
|
||||
|
||||
msgid "Signatures help"
|
||||
msgstr "Разрешить пользователям использовать подписи под своими сообщениями."
|
||||
|
||||
msgid "User has posted label"
|
||||
msgstr "Метка участия"
|
||||
|
||||
|
|
|
@ -71,15 +71,3 @@ msgstr "Подпись заглавными"
|
|||
|
||||
msgid "All caps sigs help"
|
||||
msgstr "Разрешить подписи, состоящие из одних заглавных букв."
|
||||
|
||||
msgid "Max sig length label"
|
||||
msgstr "Макс. длина сообщения"
|
||||
|
||||
msgid "Max sig length help"
|
||||
msgstr "Максимальное количество букв в подписи пользователя."
|
||||
|
||||
msgid "Max sig lines label"
|
||||
msgstr "Макс. строк сообщения"
|
||||
|
||||
msgid "Max sig lines help"
|
||||
msgstr "Максимальное количество строк в подписи пользователя."
|
||||
|
|
Loading…
Add table
Reference in a new issue