From 19b952dd08be61ab2d09d195ed74a532cfbb3c33 Mon Sep 17 00:00:00 2001 From: Mateusz Date: Mon, 11 Jun 2018 18:46:17 +0200 Subject: [PATCH 1/7] Add sendPwToUserOnRegister plugin --- .../send-pw-on-register/metadata.json | 13 +++++ .../send-pw-on-register/qa-plugin.php | 34 ++++++++++++ .../send-pw-on-register/qa-pw-admin.php | 52 +++++++++++++++++++ .../send-pw-on-register/qa-pw-event.php | 28 ++++++++++ 4 files changed, 127 insertions(+) create mode 100644 forum/qa-plugin/send-pw-on-register/metadata.json create mode 100644 forum/qa-plugin/send-pw-on-register/qa-plugin.php create mode 100644 forum/qa-plugin/send-pw-on-register/qa-pw-admin.php create mode 100644 forum/qa-plugin/send-pw-on-register/qa-pw-event.php diff --git a/forum/qa-plugin/send-pw-on-register/metadata.json b/forum/qa-plugin/send-pw-on-register/metadata.json new file mode 100644 index 00000000..e31950ee --- /dev/null +++ b/forum/qa-plugin/send-pw-on-register/metadata.json @@ -0,0 +1,13 @@ +{ + "name": "Auto-send register PW message.", + "uri": "https://github.com/CodersCommunity/forum.pasja-informatyki.local", + "description": "This plugin automatically send private message to new user.", + "version": "1.0", + "date": "2018-06-10", + "author": "Mariusz08", + "author_uri": "https://forum.pasja-informatyki.pl/user/Mariusz08", + "license": "GNU GPL v2", + "update_uri": "https://github.com/CodersCommunity/forum.pasja-informatyki.local", + "min_q2a": "1.7", + "min_php": "5.3" +} \ No newline at end of file diff --git a/forum/qa-plugin/send-pw-on-register/qa-plugin.php b/forum/qa-plugin/send-pw-on-register/qa-plugin.php new file mode 100644 index 00000000..eec97ee4 --- /dev/null +++ b/forum/qa-plugin/send-pw-on-register/qa-plugin.php @@ -0,0 +1,34 @@ + \ No newline at end of file diff --git a/forum/qa-plugin/send-pw-on-register/qa-pw-admin.php b/forum/qa-plugin/send-pw-on-register/qa-pw-admin.php new file mode 100644 index 00000000..db0e2c18 --- /dev/null +++ b/forum/qa-plugin/send-pw-on-register/qa-pw-admin.php @@ -0,0 +1,52 @@ +prepareAdminForm($isSaved); + } + + private function prepareAdminForm($isSaved) + { + return [ + 'ok' => $isSaved ? 'Settings saved' : null, + 'fields' => [ + [ + 'label' => 'Enable plugin', + 'tags' => 'name="enablePlugin"', + 'value' => qa_opt('sendPwMessageOnRegister_enabled'), + 'type' => 'checkbox' + ], + [ + 'label' => 'DANGER ZONE! Bot for sending messages (id): DANGER ZONE!', + 'tags' => 'name="botId" type="number"', + 'value' => qa_opt('sendPwMessageOnRegister_botId') + ], + [ + 'label' => 'Message content:', + 'tags' => 'name="messageContent"', + 'value' => qa_html(qa_opt('sendPwMessageOnRegister_messageContent')), + 'type' => 'textarea', + 'rows' => 20 + ] + ], + 'buttons' => [ + [ + 'label' => 'Save Changes', + 'tags' => 'name="sendPwMessageOnRegister_save"', + ] + ] + ]; + } +} diff --git a/forum/qa-plugin/send-pw-on-register/qa-pw-event.php b/forum/qa-plugin/send-pw-on-register/qa-pw-event.php new file mode 100644 index 00000000..112c57a1 --- /dev/null +++ b/forum/qa-plugin/send-pw-on-register/qa-pw-event.php @@ -0,0 +1,28 @@ + Date: Tue, 24 Jul 2018 14:06:10 +0200 Subject: [PATCH 2/7] Send notification --- .../send-pw-on-register/qa-pw-event.php | 40 ++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/forum/qa-plugin/send-pw-on-register/qa-pw-event.php b/forum/qa-plugin/send-pw-on-register/qa-pw-event.php index 112c57a1..dc1fc1a0 100644 --- a/forum/qa-plugin/send-pw-on-register/qa-pw-event.php +++ b/forum/qa-plugin/send-pw-on-register/qa-pw-event.php @@ -5,24 +5,28 @@ class qa_pw_event public function process_event($event, $userId, $handle, $cookieId, $params) { if (qa_opt('sendPwMessageOnRegister_enabled') && 'u_register' === $event) { - require_once QA_INCLUDE_DIR.'db/messages.php'; - $messsageId = qa_db_message_create( - qa_opt('sendPwMessageOnRegister_botId'), - $userId, - qa_opt('sendPwMessageOnRegister_messageContent'), - '' - ); - $paramString = 'userid=' . $userId . ' handle=' . $handle . ' messageid=' . $messageId . ' message=' . qa_opt('sendPwMessageOnRegister_messageContent'); - qa_db_query_sub( - 'INSERT INTO ^eventlog (datetime, ipaddress, userid, handle, cookieid, event, params) '. - 'VALUES (NOW(), $, $, $, #, $, $)', - qa_remote_ip_address(), - qa_opt('sendPwMessageOnRegister_botId'), - $handle, - $cookieId, - 'u_message', - $paramString - ); + require_once QA_INCLUDE_DIR . 'db/messages.php'; + require_once QA_INCLUDE_DIR . 'db/selects.php'; + + $botId = qa_opt('sendPwMessageOnRegister_botId'); + $messageContent = qa_opt('sendPwMessageOnRegister_messageContent'); + + $messsageId = qa_db_message_create( + $botId, + $userId, + $messageContent, + '' + ); + + $fromUserHandle = qa_db_query_sub('SELECT `handle` FROM ^users WHERE `userid` = #', $botId); + $toUserHandle = qa_db_query_sub('SELECT `handle` FROM ^users WHERE `userid` = #', $userId); + + qa_report_event('u_message', $botId, $fromUserHandle, qa_cookie_get(), array( + 'userid' => $userId, + 'handle' => $toUserHandle, + 'messageid' => $messageId, + 'message' => $messageContent, + )); } } } From 843e63efda19262a826884268d0fd6a72d57b753 Mon Sep 17 00:00:00 2001 From: Mateusz Date: Tue, 24 Jul 2018 19:24:42 +0200 Subject: [PATCH 3/7] Code style fix --- forum/qa-plugin/send-pw-on-register/qa-pw-event.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/forum/qa-plugin/send-pw-on-register/qa-pw-event.php b/forum/qa-plugin/send-pw-on-register/qa-pw-event.php index dc1fc1a0..561e3435 100644 --- a/forum/qa-plugin/send-pw-on-register/qa-pw-event.php +++ b/forum/qa-plugin/send-pw-on-register/qa-pw-event.php @@ -21,12 +21,12 @@ public function process_event($event, $userId, $handle, $cookieId, $params) $fromUserHandle = qa_db_query_sub('SELECT `handle` FROM ^users WHERE `userid` = #', $botId); $toUserHandle = qa_db_query_sub('SELECT `handle` FROM ^users WHERE `userid` = #', $userId); - qa_report_event('u_message', $botId, $fromUserHandle, qa_cookie_get(), array( + qa_report_event('u_message', $botId, $fromUserHandle, qa_cookie_get(), [ 'userid' => $userId, 'handle' => $toUserHandle, 'messageid' => $messageId, - 'message' => $messageContent, - )); + 'message' => $messageContent + ]); } } } From 9b5c5fa281afaad84bbfa90680ffa7051e7f9286 Mon Sep 17 00:00:00 2001 From: Mariusz08 <> Date: Fri, 6 Mar 2020 22:09:53 +0100 Subject: [PATCH 4/7] Fix settings --- .../send-pw-on-register/qa-pw-admin.php | 35 ++++++++++++++----- .../send-pw-on-register/qa-pw-event.php | 16 +++++---- 2 files changed, 36 insertions(+), 15 deletions(-) diff --git a/forum/qa-plugin/send-pw-on-register/qa-pw-admin.php b/forum/qa-plugin/send-pw-on-register/qa-pw-admin.php index db0e2c18..bb3a1c4a 100644 --- a/forum/qa-plugin/send-pw-on-register/qa-pw-admin.php +++ b/forum/qa-plugin/send-pw-on-register/qa-pw-admin.php @@ -5,22 +5,39 @@ class qa_pw_admin public function admin_form(&$qa_content) { $isSaved = false; - + $info = null; + if (qa_clicked('sendPwMessageOnRegister_save')) { - qa_opt('sendPwMessageOnRegister_messageContent', qa_post_text('messageContent')); - qa_opt('sendPwMessageOnRegister_enabled', qa_post_text('enablePlugin')); - qa_opt('sendPwMessageOnRegister_botId', qa_post_text('botId')); - - $isSaved = true; + $canSave = (bool) qa_post_text('enablePlugin'); + if (empty(qa_post_text('messageContent'))) { + $canSave = false; + $info = 'Empty message content'; + } + + require_once QA_INCLUDE_DIR . 'db/users.php'; + + if ([] === qa_db_user_get_userid_handles(qa_post_text('botId'))) { + $canSave = false; + $info = 'Invalid bot id'; + } + + if ($canSave) { + qa_opt('sendPwMessageOnRegister_messageContent', qa_post_text('messageContent')); + qa_opt('sendPwMessageOnRegister_enabled', qa_post_text('enablePlugin')); + qa_opt('sendPwMessageOnRegister_botId', qa_post_text('botId')); + $isSaved = true; + } else { + qa_opt('sendPwMessageOnRegister_enabled', false); + } } - return $this->prepareAdminForm($isSaved); + return $this->prepareAdminForm($isSaved, $info); } - private function prepareAdminForm($isSaved) + private function prepareAdminForm($isSaved, $info) { return [ - 'ok' => $isSaved ? 'Settings saved' : null, + 'ok' => $isSaved ? 'Settings saved' : $info, 'fields' => [ [ 'label' => 'Enable plugin', diff --git a/forum/qa-plugin/send-pw-on-register/qa-pw-event.php b/forum/qa-plugin/send-pw-on-register/qa-pw-event.php index 561e3435..daed02b7 100644 --- a/forum/qa-plugin/send-pw-on-register/qa-pw-event.php +++ b/forum/qa-plugin/send-pw-on-register/qa-pw-event.php @@ -10,21 +10,25 @@ public function process_event($event, $userId, $handle, $cookieId, $params) $botId = qa_opt('sendPwMessageOnRegister_botId'); $messageContent = qa_opt('sendPwMessageOnRegister_messageContent'); - + + if (empty($botId) || empty($messageContent)) { + return; + } + $messsageId = qa_db_message_create( $botId, $userId, $messageContent, - '' + '', + false ); $fromUserHandle = qa_db_query_sub('SELECT `handle` FROM ^users WHERE `userid` = #', $botId); - $toUserHandle = qa_db_query_sub('SELECT `handle` FROM ^users WHERE `userid` = #', $userId); - + qa_report_event('u_message', $botId, $fromUserHandle, qa_cookie_get(), [ 'userid' => $userId, - 'handle' => $toUserHandle, - 'messageid' => $messageId, + 'handle' => $handle, + 'messageid' => (int) $messageId, 'message' => $messageContent ]); } From f69a713ebf1b79482185ad5973aa33b532d0ba52 Mon Sep 17 00:00:00 2001 From: Mariusz08 <> Date: Fri, 6 Mar 2020 22:12:23 +0100 Subject: [PATCH 5/7] Fix codestyle --- forum/qa-plugin/send-pw-on-register/qa-pw-event.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forum/qa-plugin/send-pw-on-register/qa-pw-event.php b/forum/qa-plugin/send-pw-on-register/qa-pw-event.php index daed02b7..0f6899bf 100644 --- a/forum/qa-plugin/send-pw-on-register/qa-pw-event.php +++ b/forum/qa-plugin/send-pw-on-register/qa-pw-event.php @@ -20,7 +20,7 @@ public function process_event($event, $userId, $handle, $cookieId, $params) $userId, $messageContent, '', - false + false ); $fromUserHandle = qa_db_query_sub('SELECT `handle` FROM ^users WHERE `userid` = #', $botId); From b203a6eb9abbebd1b1930bce0e0ca898edd5280f Mon Sep 17 00:00:00 2001 From: Mariusz08 <> Date: Thu, 19 Mar 2020 12:20:55 +0100 Subject: [PATCH 6/7] Fix cs --- forum/qa-plugin/send-pw-on-register/metadata.json | 2 +- forum/qa-plugin/send-pw-on-register/qa-plugin.php | 2 -- forum/qa-plugin/send-pw-on-register/qa-pw-admin.php | 5 +++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/forum/qa-plugin/send-pw-on-register/metadata.json b/forum/qa-plugin/send-pw-on-register/metadata.json index e31950ee..2cef2751 100644 --- a/forum/qa-plugin/send-pw-on-register/metadata.json +++ b/forum/qa-plugin/send-pw-on-register/metadata.json @@ -10,4 +10,4 @@ "update_uri": "https://github.com/CodersCommunity/forum.pasja-informatyki.local", "min_q2a": "1.7", "min_php": "5.3" -} \ No newline at end of file +} diff --git a/forum/qa-plugin/send-pw-on-register/qa-plugin.php b/forum/qa-plugin/send-pw-on-register/qa-plugin.php index eec97ee4..32b02f5d 100644 --- a/forum/qa-plugin/send-pw-on-register/qa-plugin.php +++ b/forum/qa-plugin/send-pw-on-register/qa-plugin.php @@ -30,5 +30,3 @@ 'qa-pw-event.php', 'qa_pw_event', 'PW Event'); - -?> \ No newline at end of file diff --git a/forum/qa-plugin/send-pw-on-register/qa-pw-admin.php b/forum/qa-plugin/send-pw-on-register/qa-pw-admin.php index bb3a1c4a..2a9146fc 100644 --- a/forum/qa-plugin/send-pw-on-register/qa-pw-admin.php +++ b/forum/qa-plugin/send-pw-on-register/qa-pw-admin.php @@ -9,6 +9,8 @@ public function admin_form(&$qa_content) if (qa_clicked('sendPwMessageOnRegister_save')) { $canSave = (bool) qa_post_text('enablePlugin'); + qa_opt('sendPwMessageOnRegister_messageContent', qa_post_text('messageContent')); + if (empty(qa_post_text('messageContent'))) { $canSave = false; $info = 'Empty message content'; @@ -22,9 +24,8 @@ public function admin_form(&$qa_content) } if ($canSave) { - qa_opt('sendPwMessageOnRegister_messageContent', qa_post_text('messageContent')); - qa_opt('sendPwMessageOnRegister_enabled', qa_post_text('enablePlugin')); qa_opt('sendPwMessageOnRegister_botId', qa_post_text('botId')); + qa_opt('sendPwMessageOnRegister_enabled', qa_post_text('enablePlugin')); $isSaved = true; } else { qa_opt('sendPwMessageOnRegister_enabled', false); From ba94513314139e67fc480be580a105b87e86e900 Mon Sep 17 00:00:00 2001 From: Mariusz08 <> Date: Sat, 21 Mar 2020 12:19:46 +0100 Subject: [PATCH 7/7] Fix error with empty account --- .../send-pw-on-register/qa-pw-admin.php | 17 +++++++++-------- .../send-pw-on-register/qa-pw-event.php | 3 ++- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/forum/qa-plugin/send-pw-on-register/qa-pw-admin.php b/forum/qa-plugin/send-pw-on-register/qa-pw-admin.php index 2a9146fc..f7e88774 100644 --- a/forum/qa-plugin/send-pw-on-register/qa-pw-admin.php +++ b/forum/qa-plugin/send-pw-on-register/qa-pw-admin.php @@ -13,22 +13,21 @@ public function admin_form(&$qa_content) if (empty(qa_post_text('messageContent'))) { $canSave = false; - $info = 'Empty message content'; + $info['content'] = 'Empty message content'; } require_once QA_INCLUDE_DIR . 'db/users.php'; if ([] === qa_db_user_get_userid_handles(qa_post_text('botId'))) { $canSave = false; - $info = 'Invalid bot id'; + $info['botId'] = 'Invalid bot id'; + } else { + qa_opt('sendPwMessageOnRegister_botId', qa_post_text('botId')); } if ($canSave) { - qa_opt('sendPwMessageOnRegister_botId', qa_post_text('botId')); qa_opt('sendPwMessageOnRegister_enabled', qa_post_text('enablePlugin')); $isSaved = true; - } else { - qa_opt('sendPwMessageOnRegister_enabled', false); } } @@ -38,7 +37,7 @@ public function admin_form(&$qa_content) private function prepareAdminForm($isSaved, $info) { return [ - 'ok' => $isSaved ? 'Settings saved' : $info, + 'ok' => $isSaved ? 'Settings saved' : '', 'fields' => [ [ 'label' => 'Enable plugin', @@ -49,14 +48,16 @@ private function prepareAdminForm($isSaved, $info) [ 'label' => 'DANGER ZONE! Bot for sending messages (id): DANGER ZONE!', 'tags' => 'name="botId" type="number"', - 'value' => qa_opt('sendPwMessageOnRegister_botId') + 'value' => qa_opt('sendPwMessageOnRegister_botId'), + 'error' => empty($info['botId']) ? '' : $info['botId'] ], [ 'label' => 'Message content:', 'tags' => 'name="messageContent"', 'value' => qa_html(qa_opt('sendPwMessageOnRegister_messageContent')), 'type' => 'textarea', - 'rows' => 20 + 'rows' => 20, + 'error' => empty($info['content']) ? '' : $info['content'] ] ], 'buttons' => [ diff --git a/forum/qa-plugin/send-pw-on-register/qa-pw-event.php b/forum/qa-plugin/send-pw-on-register/qa-pw-event.php index 0f6899bf..02353c96 100644 --- a/forum/qa-plugin/send-pw-on-register/qa-pw-event.php +++ b/forum/qa-plugin/send-pw-on-register/qa-pw-event.php @@ -7,11 +7,12 @@ public function process_event($event, $userId, $handle, $cookieId, $params) if (qa_opt('sendPwMessageOnRegister_enabled') && 'u_register' === $event) { require_once QA_INCLUDE_DIR . 'db/messages.php'; require_once QA_INCLUDE_DIR . 'db/selects.php'; + require_once QA_INCLUDE_DIR . 'db/users.php'; $botId = qa_opt('sendPwMessageOnRegister_botId'); $messageContent = qa_opt('sendPwMessageOnRegister_messageContent'); - if (empty($botId) || empty($messageContent)) { + if (empty($botId) || empty($messageContent) || [] === qa_db_user_get_userid_handles(qa_post_text('botId'))) { return; }