Version 4.6.0

This commit is contained in:
Neo committed 2025-12-19 05:55:31 -08:00
1 parent f79dcf067a
commit 517a5e1f70
2036 files changed
+110041 -26162

No files matched your search

+134 -41
View File
@@ -243,15 +243,15 @@
{{if $warning->expire_date}}
{{if $warning->expire_date < time()}}
{{if $warning->expire_date == -1}}
{$email->language->addToStack("warn_action_points_never_expire", FALSE, array( 'sprintf' => array( $warning->points ) ) )}
{$email->language->addToStack("warn_action_points_never_expire", FALSE, array( 'pluralize' => array( $warning->points ) ) )}
{{else}}
{$email->language->addToStack("warn_action_points_expired", FALSE, array( 'sprintf' => array( $warning->points, \IPS\DateTime::ts( $warning->expire_date ) ) ) )}
{$email->language->addToStack("warn_action_points_expired", FALSE, array( 'pluralize' => array( $warning->points ), 'sprintf' => array( \IPS\DateTime::ts( $warning->expire_date ) ) ) )}
{{endif}}
{{else}}
{$email->language->addToStack("warn_action_points_expire", FALSE, array( 'sprintf' => array( $warning->points, \IPS\DateTime::ts( $warning->expire_date ) ) ) )}
{$email->language->addToStack("warn_action_points_expire", FALSE, array( 'pluralize' => array( $warning->points ), 'sprintf' => array( \IPS\DateTime::ts( $warning->expire_date ) ) ) )}
{{endif}}
{{else}}
{$email->language->addToStack("warn_action_points", FALSE, array( 'sprintf' => array( $warning->points ) ) )}
{$email->language->addToStack("warn_action_points", FALSE, array( 'pluralize' => array( $warning->points ) ) )}
{{endif}}
</li>
{{endif}}
@@ -319,15 +319,15 @@
{{if $warning->expire_date}}
{{if $warning->expire_date < time()}}
{{if $warning->expire_date == -1}}
{$email->language->addToStack("warn_action_points_never_expire", FALSE, array( 'htmlsprintf' => array( $warning->points ) ) )}
{$email->language->addToStack("warn_action_points_never_expire", FALSE, array( 'pluralize' => array( $warning->points ) ) )}
{{else}}
{$email->language->addToStack("warn_action_points_expired", FALSE, array( 'htmlsprintf' => array( $warning->points, \IPS\DateTime::ts( $warning->expire_date ) ) ) )}
{$email->language->addToStack("warn_action_points_expired", FALSE, array( 'pluralize' => array( $warning->points ), 'htmlsprintf' => array( \IPS\DateTime::ts( $warning->expire_date ) ) ) )}
{{endif}}
{{else}}
{$email->language->addToStack("warn_action_points_expire", FALSE, array( 'htmlsprintf' => array( $warning->points, \IPS\DateTime::ts( $warning->expire_date ) ) ) )}
{$email->language->addToStack("warn_action_points_expire", FALSE, array( 'pluralize' => array( $warning->points ), 'htmlsprintf' => array( \IPS\DateTime::ts( $warning->expire_date ) ) ) )}
{{endif}}
{{else}}
{$email->language->addToStack("warn_action_points", FALSE, array( 'htmlsprintf' => array( $warning->points ) ) )}
{$email->language->addToStack("warn_action_points", FALSE, array( 'pluralize' => array( $warning->points ) ) )}
{{endif}}
{{endif}}
{{if $warning->mq}}
@@ -441,6 +441,20 @@
{$email->language->addToStack("email_url_to_message", FALSE)}: {$message->url()}
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>notification_my_solution</template_name><template_content_html><![CDATA[
<br />
{$email->language->addToStack("mail_your_post_is_solution", FALSE, array( 'htmlsprintf' => array( $comment->url('find'), $content->url(), $content->mapped('title') ) ) )}
<br />
<br />
{$content->emailContent( $email, 'html' )|raw}
<br /><br />
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$content, $comment, $solver, $email</template_data><template_content_plaintext><![CDATA[
{$email->language->addToStack("mail_your_post_is_solution", FALSE, array( 'htmlsprintf' => array( $comment->url('find'), $content->url(), $content->mapped('title') ) ) )}
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>notification_unapproved_content</template_name><template_content_html><![CDATA[
{{if $content->author()->member_id}}
{$email->language->addToStack("email_new_content_unapproved", FALSE, array( 'sprintf' => array( $content->author()->url(), $content->author()->name, $content->indefiniteArticle( $email->language ) ) ) )} <a href='{$content->url()}'>{{if $content instanceof \IPS\Content\Comment OR $content instanceof \IPS\Content\Review}}{$content->item()->mapped('title')}{{else}}{$content->mapped('title')}{{endif}}</a>
@@ -569,7 +583,7 @@
<a href='{url="app=core&module=system&controller=lostpass" seoTemplate="lostpassword" base="front"}' style="color: #ffffff; font-family: 'Helvetica Neue', helvetica, sans-serif; text-decoration: none; font-size: 14px; background: {setting="email_color"}; line-height: 32px; padding: 0 10px; display: inline-block; border-radius: 3px;">{$email->language->addToStack("email_reset_password", FALSE)}</a>
</td>
</tr>
</table>]]></template_content_html><template_data>$member, $location, $unlockTime=NULL, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("email_account_locked", FALSE, array( 'htmlsprintf' => array( \IPS\Settings::i()->ipb_bruteforce_attempts, $location ) ) )}
</table>]]></template_content_html><template_data>$member, $location, $unlockTime=NULL, $email=NULL</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("email_account_locked", FALSE, array( 'htmlsprintf' => array( \IPS\Settings::i()->ipb_bruteforce_attempts, $location ) ) )}
{$email->language->addToStack("email_account_locked_change_password")}
{{if $unlockTime}}
@@ -580,7 +594,14 @@
{$email->language->addToStack("email_secure_account", FALSE)}: {url="app=core&module=system&controller=settings&do=secureAccount" seoTemplate="settings_secure" base="front" plain="true"}
{$email->language->addToStack("or", FALSE)}
{$email->language->addToStack("email_reset_password", FALSE)}: {url="app=core&module=system&controller=lostpass" seoTemplate="lostpassword" base="front" plain="true"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>acp_notification_License</template_name><template_content_html><![CDATA[
{$email->language->addToStack("email_reset_password", FALSE)}: {url="app=core&module=system&controller=lostpass" seoTemplate="lostpassword" base="front" plain="true"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>notification_new_rank</template_name><template_content_html><![CDATA[<br />
{$email->language->addToStack( "notification__new_rank", FALSE, array( 'sprintf' => array( $email->language->addToStack( "core_member_rank_" . $rank->id ) ) ) )}
<br /><br />
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$rank, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack( "notification__new_rank", FALSE, array( 'sprintf' => array( $email->language->addToStack( "core_member_rank_" . $rank->id ) ) ) )}
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>acp_notification_License</template_name><template_content_html><![CDATA[
<br />
{{if $notification->extra === 'missing' or $notification->extra === 'url'}}
@@ -844,7 +865,18 @@
<br />
</td>
</tr>
{{endif}}]]></template_content_html><template_data>$key, $member, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("unsubscribe_blurb", FALSE)} {$email->language->addToStack( 'adjust_notification_prefs', FALSE )}: {url="app=core&module=overview&controller=notifications&do=settings&type={$key}" base="admin_redirect" plain="true"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>onboard_reminder</template_name><template_content_html><![CDATA[
{{endif}}]]></template_content_html><template_data>$key, $member, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("unsubscribe_blurb", FALSE)} {$email->language->addToStack( 'adjust_notification_prefs', FALSE )}: {url="app=core&module=overview&controller=notifications&do=settings&type={$key}" base="admin_redirect" plain="true"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>notification_approved_content</template_name><template_content_html><![CDATA[
{$email->language->addToStack("email_approved_content", FALSE, array( 'sprintf' => array( $content->definiteArticle( $email->language ) ) ) )}
<br />
<br />
{$content->emailContent( $email, 'html' )|raw}
<br /><br />
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$content, $email</template_data><template_content_plaintext><![CDATA[
{$email->language->addToStack("email_approved_content", FALSE, array( 'sprintf' => array( $content->definiteArticle( $email->language ) ) ) )}
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>onboard_reminder</template_name><template_content_html><![CDATA[
{$email->language->addToStack("onboard_welcome_message_email", FALSE)}
<br />
<a href='{url="app=core&module=overview&controller=onboard" base="admin"}' style="color: #ffffff; font-family: 'Helvetica Neue', helvetica, sans-serif; text-decoration: none; font-size: 14px; background: {setting="email_color"}; line-height: 32px; padding: 0 10px; display: inline-block; border-radius: 3px;">{$email->language->addToStack("onboard_finish_setup", FALSE)}</a>
@@ -1109,6 +1141,20 @@
=====
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>notification_mine_solved</template_name><template_content_html><![CDATA[
<br />
{$email->language->addToStack("mail_your_content_is_solved", FALSE, array( 'htmlsprintf' => array( $comment->url('find'), $content->url(), $content->mapped('title'), $content->definiteArticle( $email->language ) ) ) )}
<br />
<br />
{$content->emailContent( $email, 'html' )|raw}
<br /><br />
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$content, $comment, $solver, $email</template_data><template_content_plaintext><![CDATA[
{$email->language->addToStack("mail_your_content_is_solved", FALSE, array( 'htmlsprintf' => array( $comment->url('find'), $content->url(), $content->mapped('title'), $content->definiteArticle( $email->language ) ) ) )}
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>lost_password_init</template_name><template_content_html><![CDATA[
{$email->language->addToStack("email_lost_pass", FALSE)}
<br /><br />
@@ -1125,20 +1171,6 @@
{$email->language->addToStack("email_reset_password", FALSE)}: {url="app=core&module=system&controller=lostpass&do=validate&vid={$vid}&mid={$member->member_id}" seoTemplate="lostpassword" plain="true" base="front"}
=====
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>notification_best_answer</template_name><template_content_html><![CDATA[
{{$item = ( $comment instanceof \IPS\Content\Item ) ? $comment : $comment->item();}}
{$email->language->addToStack("email_best_answer", FALSE, array( 'sprintf' => array( $comment->indefiniteArticle( $email->language ) ) ) )} <a href='{$item->url()}'>{$item->mapped('title')}</a>
<br />
<br />
{$comment->emailContent( $email, 'html' )|raw}
<br /><br />
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$comment, $email</template_data><template_content_plaintext><![CDATA[
{{$item = ( $comment instanceof \IPS\Content\Item ) ? $comment : $comment->item();}}{$email->language->addToStack("email_best_answer", FALSE, array( 'sprintf' => array( $comment->indefiniteArticle( $email->language ) ) ) )} {$item->mapped('title')}
{$comment->emailContent( $email, 'plaintext' )|raw}
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>admin_reg</template_name><template_content_html><![CDATA[
{expression="$email->language->addToStack( 'email_admin_reg', FALSE, array( 'sprintf' => array( \IPS\Settings::i()->board_name ) ) )"}
<br />
@@ -1315,9 +1347,27 @@
}
.ipsImage {
width: 100%;
max-width: 100%;
height: auto;
max-width: 100% !important;
height: auto !important;
}
/* Attachment styles for rich text */
.ipsAttachLink_image,
.ipsAttachLink {
margin-bottom: 15px;
}
html[dir="ltr"] .ipsAttachLink_image.ipsAttachLink_right,
html[dir="ltr"] .ipsAttachLink.ipsAttachLink_right,
html[dir="rtl"] .ipsAttachLink_image.ipsAttachLink_left,
html[dir="rtl"] .ipsAttachLink.ipsAttachLink_left {
margin-left: 30px;
}
html[dir="ltr"] .ipsAttachLink_image.ipsAttachLink_left,
html[dir="ltr"] .ipsAttachLink.ipsAttachLink_left,
html[dir="rtl"] .ipsAttachLink_image.ipsAttachLink_right,
html[dir="rtl"] .ipsAttachLink.ipsAttachLink_right {
margin-right: 30px;
}
@media only screen and (max-width: 480px) {
@@ -1419,10 +1469,10 @@
<tr>
<td dir='{dir}'><img src='{setting="base_url"}applications/core/interface/email/spacer.png' width='1' height='1' alt=''></td>
<td dir='{dir}' width='800' id='main' bgcolor='#ffffff' style='border-top: 10px solid {setting="email_color"}; line-height: 1.5;'>
<table width='100%' cellpadding='20'>
<table width='100%' cellpadding='20' style="table-layout: fixed;">
{$email->getAdvertisement()|raw}
<tr>
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px">
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 15px; color: #333333; line-height: 21px; overflow-wrap: break-word;">
{{if $introText}}
<h1 style="font-family: 'Helvetica Neue', helvetica, sans-serif; color: {setting="email_color"} !important; font-size: 28px; font-weight: 500 !important;"><center>{$introText}</center></h1>
<br>
@@ -1588,7 +1638,7 @@
</table>
</body>
</html>
]]></template_content_html><template_data>$subject, $member, $content, $unsubscribe, $placeholderRecipient=FALSE, $introText='', $email, $ourPicks=NULL</template_data><template_content_plaintext><![CDATA[
]]></template_content_html><template_data>$subject, $member, $content, $unsubscribe, $placeholderRecipient=FALSE, $introText='', $email=NULL, $ourPicks=NULL</template_data><template_content_plaintext><![CDATA[
{$email->getAdvertisement('plaintext')|raw}
{{if $member->member_id }}{$email->language->addToStack("email_greeting_member", FALSE, array( 'htmlsprintf' => array( $member->name ) ) )}{{elseif $placeholderRecipient}}{$email->language->addToStack("email_greeting_member", FALSE, array( 'htmlsprintf' => array( '*|member_name|*' ) ) )}{{endif}}
{$content|raw}
@@ -1664,6 +1714,31 @@
{$email->language->addToStack("set_password", FALSE)}: {url="app=core&module=system&controller=register&do=setPassword&mid={$member->member_id}&passkey={$key}" base="front" seoTemplate="register"}
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>notification_new_recognize</template_name><template_content_html><![CDATA[<br />
{$email->language->addToStack('notification_new_recognized_mail', NULL, [ 'sprintf' => [ $recognize->content()->url() ] ] )}
{{if $recognize->message}}
<p style='border-bottom: 1px solid #e0e0e0;border-top: 1px solid #e0e0e0; padding: 10px 0px'>
<strong><em>{$recognize->message}</em></strong>
{{if $awardedBy = $recognize->awardedBy()}}
<br>- <a href="{$awardedBy->url()}">{$awardedBy->name}</a>
{{endif}}
</p>
{{endif}}
{{if $recognize->points}}
<p>{$email->language->addToStack("recognize_points_awarded", NULL, [ 'sprintf' => [ $recognize->points ] ] )}</p>
{{endif}}
{{if $badge = $recognize->badge()}}
{$email->language->addToStack("recognize_badge_awarded", NULL, [ 'sprintf' => [ $badge->_title ] ] )}
<br><br>
{$email->language->addToStack("notification_email_check_it_out")}
<br>
<br><strong>{$badge->_title}</strong>
<br>
<img src="{file="$badge->image" extension="core_Badges"}">
{{endif}}
<br /><br />
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$badge, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("notification__new_recognized")}
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>notification_member_follow</template_name><template_content_html><![CDATA[{$email->language->addToStack("notification__member_follow", FALSE, array( 'sprintf' => array( $member->name ) ) )}
<br />
@@ -1841,6 +1916,19 @@
{$comment->emailContent( $email, 'plaintext' )|raw}
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>notification_new_badge</template_name><template_content_html><![CDATA[<br />
{$email->language->addToStack("notification__new_badge")}
<br><br>
{$email->language->addToStack("notification_email_check_it_out")}
<br>
<br><strong>{$badge->_title}</strong>
<br>
<img src="{file="$badge->image" extension="core_Badges"}">
<br /><br />
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>]]></template_content_html><template_data>$badge, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("notification__new_badge")}
-- {setting="board_name"}]]></template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>notification_profile_reply</template_name><template_content_html><![CDATA[
{{$item = $comment->item();}}
@@ -2058,7 +2146,7 @@
{$content|raw}
</body>
</html>
]]></template_content_html><template_data>$subject, $member, $content, $unsubscribe, $placeholderRecipient=FALSE, $introText='', $email, $ourPicks=NULL</template_data><template_content_plaintext>{$content|raw}</template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>digest</template_name><template_content_html><![CDATA[{$email->language->addToStack("digest_$frequency", FALSE)}
]]></template_content_html><template_data>$subject, $member, $content, $unsubscribe, $placeholderRecipient=FALSE, $introText='', $email=NULL, $ourPicks=NULL</template_data><template_content_plaintext>{$content|raw}</template_content_plaintext><template_pinned>0</template_pinned></template><template><template_app>core</template_app><template_name>digest</template_name><template_content_html><![CDATA[{$email->language->addToStack("digest_$frequency", FALSE)}
<br />
<br />
<em style='color: #8c8c8c'>&mdash; {setting="board_name"}</em>
@@ -2183,16 +2271,21 @@ ___digest___]]></template_content_plaintext><template_pinned>0</template_pinned>
{{if $warning->expire_date}}
{{if $warning->expire_date < time()}}
{{if $warning->expire_date == -1}}
{$email->language->addToStack("warn_action_points_never_expire", FALSE, array( 'sprintf' => array( $warning->points ) ) )}
{$email->language->addToStack("warn_action_points_never_expire", FALSE, array( 'pluralize' => array( $warning->points ) ) )}
{{else}}
{$email->language->addToStack("warn_action_points_expired", FALSE, array( 'sprintf' => array( $warning->points, \IPS\DateTime::ts( $warning->expire_date ) ) ) )}
{$email->language->addToStack("warn_action_points_expired", FALSE, array( 'pluralize' => array( $warning->points ), 'sprintf' => array( \IPS\DateTime::ts( $warning->expire_date ) ) ) )}
{{endif}}
{{else}}
{$email->language->addToStack("warn_action_points_expire", FALSE, array( 'sprintf' => array( $warning->points, \IPS\DateTime::ts( $warning->expire_date ) ) ) )}
{$email->language->addToStack("warn_action_points_expire", FALSE, array( 'pluralize' => array( $warning->points ), 'sprintf' => array( \IPS\DateTime::ts( $warning->expire_date ) ) ) )}
{{endif}}
{{else}}
{$email->language->addToStack("warn_action_points", FALSE, array( 'sprintf' => array( $warning->points ) ) )}
{{endif}}
{$email->language->addToStack("warn_action_points", FALSE, array( 'pluralize' => array( $warning->points ) ) )}
{{endif}}
</li>
{{endif}}
{{if $warning->cheev_point_reduction}}
<li>
{$email->language->addToStack("warn_deduct_cheev_points", FALSE, array( 'pluralize' => array( $warning->cheev_point_reduction ) ) )}
</li>
{{endif}}
{{if $warning->mq}}
@@ -2271,15 +2364,15 @@ ___digest___]]></template_content_plaintext><template_pinned>0</template_pinned>
{{if $warning->expire_date}}
{{if $warning->expire_date < time()}}
{{if $warning->expire_date == -1}}
{$email->language->addToStack("warn_action_points_never_expire", FALSE, array( 'htmlsprintf' => array( $warning->points ) ) )}
{$email->language->addToStack("warn_action_points_never_expire", FALSE, array( 'pluralize' => array( $warning->points ) ) )}
{{else}}
{$email->language->addToStack("warn_action_points_expired", FALSE, array( 'htmlsprintf' => array( $warning->points, \IPS\DateTime::ts( $warning->expire_date ) ) ) )}
{$email->language->addToStack("warn_action_points_expired", FALSE, array( 'pluralize' => array( $warning->points ), 'htmlsprintf' => array( \IPS\DateTime::ts( $warning->expire_date ) ) ) )}
{{endif}}
{{else}}
{$email->language->addToStack("warn_action_points_expire", FALSE, array( 'htmlsprintf' => array( $warning->points, \IPS\DateTime::ts( $warning->expire_date ) ) ) )}
{$email->language->addToStack("warn_action_points_expire", FALSE, array( 'pluralize' => array( $warning->points ), 'htmlsprintf' => array( \IPS\DateTime::ts( $warning->expire_date ) ) ) )}
{{endif}}
{{else}}
{$email->language->addToStack("warn_action_points", FALSE, array( 'htmlsprintf' => array( $warning->points ) ) )}
{$email->language->addToStack("warn_action_points", FALSE, array( 'pluralize' => array( $warning->points ) ) )}
{{endif}}
{{endif}}
{{if $warning->mq}}