]> git.mxchange.org Git - friendica-addons.git/commitdiff
[mailstream] Add a name to the addon settings submit button
authorBenjamin Lorteau <benjamin.lorteau@cbsinteractive.com>
Mon, 28 Jun 2021 02:15:11 +0000 (22:15 -0400)
committerBenjamin Lorteau <benjamin.lorteau@cbsinteractive.com>
Mon, 28 Jun 2021 02:15:11 +0000 (22:15 -0400)
- Now that each addon form is in their own form tag, we have to check whether the addon submit button was pressed.
- This was already done in every other addon but mailstream and this change will prevent unexpected loss of mailstream settings when saving any other addon settings.

mailstream/mailstream.php
mailstream/templates/settings.tpl

index 67019f03c8e77a9df162131dc2b6b1e159379ea1..d825979b840e22029ea6a55c91091f444325f629 100644 (file)
@@ -491,52 +491,62 @@ function mailstream_addon_settings(&$a, &$s)
        $attachimg= DI::pConfig()->get(local_user(), 'mailstream', 'attachimg');
        $template = Renderer::getMarkupTemplate('settings.tpl', 'addon/mailstream/');
        $s .= Renderer::replaceMacros($template, [
-                                '$enabled' => [
-                                       'mailstream_enabled',
-                                       DI::l10n()->t('Enabled'),
-                                       $enabled],
-                                '$address' => [
-                                       'mailstream_address',
-                                       DI::l10n()->t('Email Address'),
-                                       $address,
-                                       DI::l10n()->t("Leave blank to use your account email address")],
-                                '$nolikes' => [
-                                       'mailstream_nolikes',
-                                       DI::l10n()->t('Exclude Likes'),
-                                       $nolikes,
-                                       DI::l10n()->t("Check this to omit mailing \"Like\" notifications")],
-                                '$attachimg' => [
-                                       'mailstream_attachimg',
-                                       DI::l10n()->t('Attach Images'),
-                                       $attachimg,
-                                       DI::l10n()->t("Download images in posts and attach them to the email.  " .
-                                                                                                         "Useful for reading email while offline.")],
-                                '$title' => DI::l10n()->t('Mail Stream Settings'),
-                                '$submit' => DI::l10n()->t('Save Settings')]);
+               '$enabled' => [
+                       'mailstream_enabled',
+                       DI::l10n()->t('Enabled'),
+                       $enabled
+               ],
+               '$address' => [
+                       'mailstream_address',
+                       DI::l10n()->t('Email Address'),
+                       $address,
+                       DI::l10n()->t("Leave blank to use your account email address")
+               ],
+               '$nolikes' => [
+                       'mailstream_nolikes',
+                       DI::l10n()->t('Exclude Likes'),
+                       $nolikes,
+                       DI::l10n()->t("Check this to omit mailing \"Like\" notifications")
+               ],
+               '$attachimg' => [
+                       'mailstream_attachimg',
+                       DI::l10n()->t('Attach Images'),
+                       $attachimg,
+                       DI::l10n()->t("Download images in posts and attach them to the email.  " .
+                               "Useful for reading email while offline.")
+               ],
+               '$title' => DI::l10n()->t('Mail Stream Settings'),
+               '$submit' => DI::l10n()->t('Save Settings')]);
 }
 
 /**
  * Process data submitted to user's mailstream features form
+ * @param \Friendica\App $a
+ * @param array          $post POST data
  */
-function mailstream_addon_settings_post()
+function mailstream_addon_settings_post(\Friendica\App $a, array $post)
 {
-       if ($_POST['mailstream_address'] != "") {
-               DI::pConfig()->set(local_user(), 'mailstream', 'address', $_POST['mailstream_address']);
+       if (!local_user() || empty($post['mailstream-submit'])) {
+               return;
+       }
+
+       if ($post['mailstream_address'] != "") {
+               DI::pConfig()->set(local_user(), 'mailstream', 'address', $post['mailstream_address']);
        } else {
                DI::pConfig()->delete(local_user(), 'mailstream', 'address');
        }
-       if ($_POST['mailstream_nolikes']) {
-               DI::pConfig()->set(local_user(), 'mailstream', 'nolikes', $_POST['mailstream_enabled']);
+       if ($post['mailstream_nolikes']) {
+               DI::pConfig()->set(local_user(), 'mailstream', 'nolikes', $post['mailstream_enabled']);
        } else {
                DI::pConfig()->delete(local_user(), 'mailstream', 'nolikes');
        }
-       if ($_POST['mailstream_enabled']) {
-               DI::pConfig()->set(local_user(), 'mailstream', 'enabled', $_POST['mailstream_enabled']);
+       if ($post['mailstream_enabled']) {
+               DI::pConfig()->set(local_user(), 'mailstream', 'enabled', $post['mailstream_enabled']);
        } else {
                DI::pConfig()->delete(local_user(), 'mailstream', 'enabled');
        }
-       if ($_POST['mailstream_attachimg']) {
-               DI::pConfig()->set(local_user(), 'mailstream', 'attachimg', $_POST['mailstream_attachimg']);
+       if ($post['mailstream_attachimg']) {
+               DI::pConfig()->set(local_user(), 'mailstream', 'attachimg', $post['mailstream_attachimg']);
        } else {
                DI::pConfig()->delete(local_user(), 'mailstream', 'attachimg');
        }
index 599837babec58c574c00710c5091bd2078aaf107..aa02b274441051b5c2b06cfd9df607faa92ebf65 100644 (file)
@@ -5,9 +5,9 @@
        <span class="fakelink" onclick="openClose('settings_mailstream_expanded'); openClose('settings_mailstream_inflated');">
                <h3>{{$title}}</h3>
        </span>
-{{include file="field_checkbox.tpl" field=$enabled}}
-{{include file="field_input.tpl" field=$address}}
-{{include file="field_checkbox.tpl" field=$nolikes}}
-{{include file="field_checkbox.tpl" field=$attachimg}}
-  <input type="submit" value="{{$submit}}">
+       {{include file="field_checkbox.tpl" field=$enabled}}
+       {{include file="field_input.tpl" field=$address}}
+       {{include file="field_checkbox.tpl" field=$nolikes}}
+       {{include file="field_checkbox.tpl" field=$attachimg}}
+       <input type="submit" name="mailstream-submit" value="{{$submit}}">
 </div>