Explorar o código

rev.8 for change signature settings

Remove redundant settings.
Visman %!s(int64=5) %!d(string=hai) anos
pai
achega
07d7bc8078

+ 22 - 21
app/Models/Pages/Admin/Groups.php

@@ -297,7 +297,6 @@ class Groups extends Admin
 
                 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',
                     ]);
@@ -654,13 +653,26 @@ 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'),
+
+        }
+
+        $form['sets']['group-data'] = [
+            'fields' => $fieldset,
+        ];
+
+        if (! empty($group->g_moderator)) {
+            $form['sets']['mod-info'] = [
+                'info' => [
+                    'info1' => [
+                        'type'  => '', //????
+                        'value' => __('Moderator info'),
+                    ],
+                ],
             ];
+        }
+
+        $fieldset = [];
+        if (! $group->groupGuest) {
             $fieldset['g_sig_length'] = [
                 'type'    => 'number',
                 'min'     => 0,
@@ -678,20 +690,9 @@ class Groups extends Admin
                 'info'    => __('Max sig lines help'),
             ];
 
-        }
-
-        $form['sets']['group-data'] = [
-            'fields' => $fieldset,
-        ];
-
-        if (! empty($group->g_moderator)) {
-            $form['sets']['mod-info'] = [
-                'info' => [
-                    'info1' => [
-                        'type'  => '', //????
-                        'value' => __('Moderator info'),
-                    ],
-                ],
+            $form['sets']['group-data-signature'] = [
+                'legend' => __('Signatures'),
+                'fields' => $fieldset,
             ];
         }
 

+ 7 - 8
app/Models/Pages/Admin/Install.php

@@ -635,7 +635,6 @@ 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],
             ],
@@ -1048,15 +1047,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, 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],
+            // 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_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,                    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,                    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],
+            [$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,                    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, 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, 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('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_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)', $group) ;
         }
         $this->c->DB->exec('UPDATE ::groups SET g_pm_limit=0 WHERE g_id=?i', [$this->c->GROUP_ADMIN]);
 

+ 11 - 1
app/Models/Pages/Admin/Update.php

@@ -17,7 +17,7 @@ class Update extends Admin
 {
     const PHP_MIN = '7.3.0';
 
-    const LATEST_REV_WITH_DB_CHANGES = 7;
+    const LATEST_REV_WITH_DB_CHANGES = 8;
 
     const LOCK_NAME = 'lock_update';
     const LOCk_TTL  = 1800;
@@ -555,4 +555,14 @@ class Update extends Admin
 
         return null;
     }
+
+    /**
+     * rev.7 to rev.8
+     */
+    protected function stageNumber7(array $args): ?int
+    {
+        $this->c->DB->dropField('groups', 'g_sig_use');
+
+        return null;
+    }
 }

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

@@ -122,7 +122,7 @@ class Profile extends Rules
 
     protected function getuseSignature(): bool
     {
-        return '1' == $this->curUser->g_sig_use;
+        return $this->curUser->g_sig_length > 0 && $this->curUser->g_sig_lines > 0;
     }
 
     protected function getviewWebsite(): bool

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

@@ -250,6 +250,18 @@ class Model extends DataModel
         return $this->c->Online->isOnline($this);
     }
 
+    /**
+     * Статус наличия подписи
+     *
+     * @return bool
+     */
+    protected function getisSignature(): bool
+    {
+        return $this->g_sig_length > 0
+            && $this->g_sig_lines > 0
+            && '' != $this->signature;
+    }
+
     /**
      * HTML код подписи
      *

+ 1 - 1
app/bootstrap.php

@@ -42,7 +42,7 @@ if (
 }
 $c->PUBLIC_URL = $c->BASE_URL . $forkPublicPrefix;
 
-$c->FORK_REVISION = 7;
+$c->FORK_REVISION = 8;
 $c->START         = $forkStart;
 $c->DIR_APP       = __DIR__;
 $c->DIR_PUBLIC    = $forkPublic;

+ 3 - 6
app/lang/en/admin_groups.po

@@ -255,20 +255,17 @@ msgstr "Invalid default group."
 msgid "Invalid group to create on base"
 msgstr "Invalid group to create on base."
 
-msgid "Signatures label"
+msgid "Signatures"
 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."
+msgstr "The maximum number of characters a user signature may contain. 0 - disables signatures."
 
 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."
+msgstr "The maximum number of lines a user signature may contain. 0 - disables signatures."

+ 5 - 8
app/lang/ru/admin_groups.po

@@ -255,20 +255,17 @@ msgstr "Недопустимая группа по умолчанию."
 msgid "Invalid group to create on base"
 msgstr "Недопустимая группа для создания на основании."
 
-msgid "Signatures label"
+msgid "Signatures"
 msgstr "Подписи"
 
-msgid "Signatures help"
-msgstr "Разрешить пользователям использовать подписи под своими сообщениями."
-
 msgid "Max sig length label"
-msgstr "Макс. длина сообщения"
+msgstr "Макс. длина подписи"
 
 msgid "Max sig length help"
-msgstr "Максимальное количество букв в подписи пользователя."
+msgstr "Максимальное количество букв в подписи пользователя. 0 - отключает подписи."
 
 msgid "Max sig lines label"
-msgstr "Макс. строк сообщения"
+msgstr "Макс. строк в подписи"
 
 msgid "Max sig lines help"
-msgstr "Максимальное количество строк в подписи пользователя."
+msgstr "Максимальное количество строк в подписи пользователя. 0 - отключает подписи."

+ 1 - 1
app/templates/topic.forkbb.php

@@ -119,7 +119,7 @@
           <div class="f-post-main">
             {!! $post->html() !!}
           </div>
-        @if ($p->user->showSignature && '' != $post->user->signature)
+        @if ($p->user->showSignature && $post->user->isSignature)
           <div class="f-post-signature">
             <hr>
             {!! $post->user->htmlSign !!}

+ 1 - 1
readme.md

@@ -1,4 +1,4 @@
-# ForkBB rev 6 Pre-Alpha Readme
+# ForkBB rev 8 Pre-Alpha Readme
 
 ## About