[TikiWiki-commits] [Git][tikiwiki/tiki][27.x] [BP][FIX][UX] Improve SubscribeNewsletter input group layout and icon alignment
"Olivier Kango \(@olivierkango\) via TikiWiki-cvs" <[email protected]>
| Newsgroups | gmane.comp.cms.tiki.cvs |
|---|---|
| Message-ID | <69b91afc6e914_3b18c7c0260bc@gitlab-sidekiq-low-urgency-cpu-bound-v2-7fb98cc9d4-56lmw.mail> |
Olivier Kango pushed to branch 27.x at Tiki Wiki CMS Groupware / Tiki
Commits:
99f24f50 by Olivier Kango at 2026-03-17T11:04:50+02:00
[BP][FIX][UX] Improve SubscribeNewsletter input group layout and icon alignment
---
* [BP][FIX][UX] Improve SubscribeNewsletter input group layout and icon alignment
---
* [BP][FIX][UX] Improve SubscribeNewsletter input group layout and icon alignment
---
* [FIX][UX] Improve SubscribeNewsletter input group layout and icon alignment
---
* [FIX][UX] DRY subscribe newsletter button label rendering
* [FIX] Load plugin CSS via inline link tag to avoid headers-already-sent error
* [FIX] Enter your email address
* [UX] Shorten email input placeholder text
* [FIX][UX] Improve SubscribeNewsletter input group layout and icon alignment
* [FIX][UX] Prevent SubscribeNewsletter wikisyntax parsing from breaking module layout
* [FIX][UX] Improve SubscribeNewsletter input group layout and icon alignment
See merge request tikiwiki/tiki!9754
See merge request tikiwiki/tiki!9764
(cherry picked from commit fbf296c5cc9a0655253e80b938be6eb2f0688ecb)
See merge request tikiwiki/tiki!9765
(cherry picked from commit 708a0d7e3e4608fceb84d15023a02240156af55d)
See merge request tikiwiki/tiki!9766
- - - - -
3 changed files:
- lib/wiki-plugins/wikiplugin_subscribenewsletter.php
- templates/wiki-plugins/wikiplugin_subscribenewsletter.tpl
- + themes/base_files/feature_css/wikiplugin-subscribenewsletter.css
Changes:
=====================================
lib/wiki-plugins/wikiplugin_subscribenewsletter.php
=====================================
@@ -87,6 +87,7 @@ function wikiplugin_subscribenewsletter($data, $params)
global $prefs, $user;
$userlib = TikiLib::lib('user');
$tikilib = TikiLib::lib('tiki');
+ $parserlib = TikiLib::lib('parser');
$smarty = TikiLib::lib('smarty');
global $nllib;
include_once('lib/newsletters/nllib.php');
@@ -150,6 +151,7 @@ function wikiplugin_subscribenewsletter($data, $params)
$wpSubscribe = '';
$wpError = '';
$subscribeEmail = '';
+ $subscribeThanks = '';
$useCaptcha = $params['usecaptcha'];
if ($params['usecaptcha'] !== 0) { // To keep previous behaviour with previous versions where the parameter doesn't exist
$useCaptcha = 1;
@@ -175,7 +177,7 @@ function wikiplugin_subscribenewsletter($data, $params)
}
if ($result) {
$wpSubscribe = 'y';
- $smarty->assign('subscribeThanks', empty($thanks) ? $data : $thanks);
+ $subscribeThanks = empty($thanks) ? $data : $thanks;
if ($info['validateAddr'] == 'y' && ! $user) {
// For anonymous users with email validation required
$smarty->assign('confirmationSent', true);
@@ -191,19 +193,27 @@ function wikiplugin_subscribenewsletter($data, $params)
}
}
}
+ if ($params['wikisyntax'] == 1 && ! empty($subscribeThanks)) {
+ $subscribeThanks = $parserlib->parse_data($subscribeThanks, ['is_html' => true]);
+ }
+
$smarty->assign_by_ref('wpSubscribe', $wpSubscribe);
$smarty->assign_by_ref('wpError', $wpError);
+ $subscribeButtonLabel = empty($button) ? $data : $button;
+ if (empty($subscribeButtonLabel)) {
+ $subscribeButtonLabel = tra('Subscribe to the newsletter:') . ' ' . $info['name'];
+ }
+
+ $smarty->assign('subscribeThanks', $subscribeThanks);
+ $smarty->assign('subscribeThanksIsHtml', $params['wikisyntax'] == 1);
$smarty->assign('subscribeEmail', $subscribeEmail);
- $smarty->assign('subcribeMessage', empty($button) ? $data : $button);
+ $smarty->assign('subscribeButtonLabel', $subscribeButtonLabel);
$smarty->assign('inmodule', ! empty($inmodule) ? "moduleSubscribeNL" : "");
$smarty->assign_by_ref('subscribeInfo', $info);
$smarty->assign('useCaptcha', $useCaptcha);
$smarty->assign('alreadySubscribed', $alreadySubscribed);
$smarty->assign('alreadySubscribedMessage', $alreadySubscribedMessage);
$res = $smarty->fetch('wiki-plugins/wikiplugin_subscribenewsletter.tpl');
- if (isset($params["wikisyntax"]) && $params["wikisyntax"] == 1) {
- return $res;
- } else { // if wikisyntax != 1 : no parsing of any wiki syntax
- return '~np~' . $res . '~/np~';
- }
+
+ return '~np~' . $res . '~/np~';
}
=====================================
templates/wiki-plugins/wikiplugin_subscribenewsletter.tpl
=====================================
@@ -2,7 +2,11 @@
{if empty($subscribeThanks)}
{tr}Subscription confirmed!{/tr}
{else}
- {$subscribeThanks|escape}
+ {if !empty($subscribeThanksIsHtml)}
+ {$subscribeThanks nofilter}
+ {else}
+ {$subscribeThanks|escape}
+ {/if}
{/if}
{elseif $alreadySubscribed}
@@ -11,6 +15,7 @@
{/remarksbox}
{else}
+ <link rel="stylesheet" href="themes/base_files/feature_css/wikiplugin-subscribenewsletter.css">
<form name="wpSubscribeNL" method="post">
<input type="hidden" name="wpNlId" value="{$subscribeInfo.nlId|escape}">
@@ -20,14 +25,15 @@
{/remarksbox}
{/if}
- <div class="d-flex flex-row flex-wrap align-items-center row">
+ <div class="form-inline row wp-subscribe-inline">
<div class="input-group">
- <input type="email" class="form-control fa" id="wpEmail" name="wpEmail" size="80" value="{$subscribeEmail|escape}" placeholder="{tr}Enter your email address{/tr}" required>
- {if empty($subcribeMessage)}
- <input type="submit" class="btn btn-primary" name="wpSubscribe" value="{tr}Subscribe to the newsletter:{/tr} {$subscribeInfo.name}">
- {else}
- <input type="submit" class="btn btn-primary" name="wpSubscribe" value="{$subcribeMessage|escape}">
- {/if}
+ <div class="wp-subscribe-email-wrap">
+ <span class="wp-subscribe-email-icon"><i class="fa fa-envelope" aria-hidden="true"></i></span>
+ <input type="email" class="form-control" id="wpEmail" name="wpEmail" size="50" value="{$subscribeEmail|escape}" placeholder="{tr}Enter your email address{/tr}" required>
+ </div>
+ <div class="input-group-append">
+ <input type="submit" class="btn btn-primary" name="wpSubscribe" value="{$subscribeButtonLabel|escape}">
+ </div>
</div>
</div>
=====================================
themes/base_files/feature_css/wikiplugin-subscribenewsletter.css
=====================================
@@ -0,0 +1,43 @@
+.wp-subscribe-inline .input-group {
+ display: flex;
+ flex-wrap: nowrap;
+ width: 100%;
+ align-items: stretch;
+}
+
+.wp-subscribe-inline .wp-subscribe-email-wrap {
+ position: relative;
+ flex: 1 1 auto;
+}
+
+.wp-subscribe-inline .wp-subscribe-email-icon {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 1rem;
+ display: flex;
+ align-items: center;
+ color: var(--secondary, #6c757d);
+ pointer-events: none;
+ z-index: 3;
+}
+
+.wp-subscribe-inline .wp-subscribe-email-wrap #wpEmail {
+ height: 100%;
+ width: 100%;
+ padding-left: 2.75rem;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+.wp-subscribe-inline .input-group-append,
+.wp-subscribe-inline .input-group-append .btn {
+ display: flex;
+ align-items: stretch;
+}
+
+.wp-subscribe-inline .input-group-append .btn {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ margin-left: -1px;
+}
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/99f24f506b56cca31fd975dcdccc7e2f69825f87
--
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/99f24f506b56cca31fd975dcdccc7e2f69825f87
You're receiving this email because of your account on gitlab.com. Manage all notifications: https://gitlab.com/-/profile/notifications | Help: https://gitlab.com/help
_______________________________________________
TikiWiki-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs