AntonLV 9 lat temu
rodzic
commit
3928b4a0dc

+ 2 - 1
inc/classes/BxDolAcl.php

@@ -609,7 +609,8 @@ class BxDolAcl extends BxDolFactory implements iBxDolSingleton
 
         $aPlus = array(
             'membership_name' => $sLevelName,
-            'expire_days' => $iLevelExpireDays
+            'expire_days' => $iLevelExpireDays,
+            'page_url' => BxDolRequest::serviceExists('bx_acl', 'get_view_url') ? BxDolService::call('bx_acl', 'get_view_url') : '#'
         );
 
         $aTemplate = BxDolEmailTemplates::getInstance()->parseTemplate('t_MemExpiration', $aPlus, 0, $iProfileId);

+ 1 - 1
install/sql/system.sql

@@ -257,7 +257,7 @@ INSERT INTO `sys_options_categories`(`type_id`, `name`, `caption`, `hidden`, `or
 SET @iCategoryId = LAST_INSERT_ID();
 
 INSERT INTO `sys_options`(`category_id`, `name`, `caption`, `value`, `type`, `extra`, `check`, `check_error`, `order`) VALUES
-(@iCategoryId, 'site_email_html_template_header', '_adm_stg_cpt_option_site_email_html_template_header', '<html>\r\n    <head></head>\r\n    <body bgcolor="#eee" style="margin:0; padding:0;">\r\n        <div style="padding:20px; background-color:#eee;">\r\n            <table width="600" border="0" cellspacing="0" cellpadding="0" align="center">\r\n                <tr><td valign="top">\r\n                    <div style="color:#333; padding:20px; border:1px solid #999; background-color:#fff; font:14px Helvetica, Arial, sans-serif;">\r\n                        <div style="border-bottom:2px solid #eee; padding-bottom:10px; margin-bottom:20px; font-weight:bold; font-size:22px; color:#999;">{site_name}</div>', 'text', '', '', '', 1),
+(@iCategoryId, 'site_email_html_template_header', '_adm_stg_cpt_option_site_email_html_template_header', '<html>\r\n    <head></head>\r\n    <body bgcolor="#eee" style="margin:0; padding:0;">\r\n        <div style="padding:20px; background-color:#eee;">\r\n            <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">\r\n                <tr><td valign="top">\r\n                    <div style="color:#333; padding:20px; border:1px solid #ccc; border-radius:3px; background-color:#fff; font:14px Helvetica, Arial, sans-serif;">\r\n                        <div style="border-bottom:2px solid #eee; padding-bottom:10px; margin-bottom:20px; font-weight:bold; font-size:22px; color:#999;">{site_name}</div>', 'text', '', '', '', 1),
 (@iCategoryId, 'site_email_html_template_footer', '_adm_stg_cpt_option_site_email_html_template_footer', '\r\n                    </div>\r\n                </td></tr>\r\n                <tr><td valign="top">\r\n                    <div style="margin-top:5px; text-align:center; color:#999; font:11px Helvetica, Arial, sans-serif;">{about_us}&nbsp;&nbsp;&nbsp;{unsubscribe}</div>\r\n                </td></tr>\r\n            </table>\r\n        </div>\r\n    </body>\r\n</html>', 'text', '', '', '', 2),
 
 (@iCategoryId, 'sys_site_logo', '', '0', 'digit', '', '', '', 20),

+ 25 - 1
modules/boonex/acl/classes/BxAclModule.php

@@ -33,7 +33,31 @@ class BxAclModule extends BxDolModule
     /**
      * SERVICE METHODS
      */
-    
+
+	/**
+     * @page service Service Calls
+     * @section bx_acl Paid Levels
+     * @subsection bx_acl-other Other
+     * @subsubsection bx_acl-get_view_url get_view_url
+     * 
+     * @code bx_srv('bx_acl', 'get_view_url', [...]); @endcode
+     * 
+     * Get page URL with membership levels list.
+     *
+     * @return string with page URL.
+     * 
+     * @see BxAclModule::serviceGetViewUrl
+     */
+    /** 
+     * @ref bx_acl-get_view_url "get_view_url"
+     */
+	public function serviceGetViewUrl()
+    {
+        $CNF = &$this->_oConfig->CNF;
+
+    	return  BX_DOL_URL_ROOT . BxDolPermalinks::getInstance()->permalink($CNF['URL_VIEW']);
+    }
+
     /**
      * @page service Service Calls
      * @section bx_acl Paid Levels

+ 64 - 44
modules/boonex/english/data/langs/system/en.xml

@@ -906,8 +906,8 @@
 	<string name="_adm_lmi_cpt_splash"><![CDATA[Splash]]></string>
 	<string name="_adm_lmi_cpt_displays"><![CDATA[Displays]]></string>
 	<string name="_adm_lmi_cpt_downloaded"><![CDATA[Downloaded]]></string>
-	<string name="_adm_lmi_cpt_etemplates"><![CDATA[Email Templates]]></string>
-	<string name="_adm_lmi_cpt_etemplates_hf"><![CDATA[Emails header/footer]]></string>
+	<string name="_adm_lmi_cpt_etemplates"><![CDATA[Emails]]></string>
+	<string name="_adm_lmi_cpt_etemplates_hf"><![CDATA[Email Template]]></string>
 	<string name="_adm_lmi_cpt_featured"><![CDATA[Featured]]></string>
 	<string name="_adm_lmi_cpt_fields"><![CDATA[Fields]]></string>
 	<string name="_adm_lmi_cpt_files"><![CDATA[Files]]></string>
@@ -1669,69 +1669,79 @@ If it is not enabled then please consider implement this optimization, since it
 	<string name="_sys_done"><![CDATA[Done]]></string>    
 	<string name="_sys_et_txt_about_us"><![CDATA[About us]]></string>
 	<string name="_sys_et_txt_body_admin_email"><![CDATA[{email_header}
-<p>Hello,</p>
-<p>Administration of the <a href="{site_url}">{site_name}</a> is glad to inform you that</p>
-<p>=========================</p>
-<p style="color:#3B5C8E">{MessageText}</p>
-<p>=========================</p>
+<p>Message from <a href="{site_url}">{site_name}</a> admin:</p>
+<p> </p>
+<p>{MessageText}</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_comment_replied"><![CDATA[{email_header}
-<p>Hello,</p>
-<p>Your comment was replied on <a href="{page_url}">{page_title}</a> page. It reads:</p>
+<p>User {sender_display_name} posted reply to your comment: </p>
+<p> </p>
 <p>{reply_text}</p>
+<p> </p>
+<p>View and reply here: <a href="{page_url}">{page_title}</a>.</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_system_reported"><![CDATA[{email_header}
-<p>Hello,</p>
-<p>New report with <b>{report_type}</b> type was received. It reads:</p>
+<p>New <b>{report_type}</b> report received:</p>
+<p> </p>
 <p>{report_text}</p>
-<p>Please refer to content page for more details <a href="{report_url}">here</a>.</p>
+<p> </p>
+<p><a href="{report_url}">View report</a>.</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_confirmation"><![CDATA[{email_header}
 <p>Hello, {name}.</p>
-<p>Please verify your email address by clicking on the link below:</p>
-<p><a href="{conf_link}">Verify email address</a></p>
+<p>Click the link below to verify your email address, please:</p>
+<p> </p>
+<p><a href="{conf_link}">Verify my email address</a>.</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_delayed_module_uninstall"><![CDATA[{email_header}
 <p>Module: <b>{Module}</b></p>
-<p>Uninstaltion result: {Result}</p>
+<p>Uninstallation result: {Result}</p>
+<p> </p>
 <p>{Message}</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_forgot"><![CDATA[{email_header}
-<p>Hello,</p>
-<p>Please, follow the link below to reset your password:</p>
-<p><a href="{forgot_password_url}">{forgot_password_url}</a></p>
-<p>Thank you.</p>
+<p>Click the link below to reset your password, please:</p>
+<p> </p>
+<p><a href="{forgot_password_url}">Reset my password</a>.</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_mem_changed"><![CDATA[{email_header}
-<p>Hello,</p>
-<p>Your membership level was changed to: <b>{membership_level}</b></p>
+<p><b>{profile_name}</b> profile membership level is now <b>{membership_level}</b>.</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_mem_expiration"><![CDATA[{email_header}
-<p>Hello,</p>
-<p>We are notifying you that your {site_name} {membership_name} will expire in {expire_days} days (-1 means already expired).</p>
-<p>To renew your membership login to your {site_name} account at <a href="{site_url}member.php">{site_url}member.php</a> and go to <a href="{site_url}modules/?r=membership/index/">My Membership</a></p>
+<p>Your {membership_name} membership will expire in {expire_days} days (-1 means already expired).</p>
+<p>Click the link below to renew your membership:</p>
+<p> </p>
+<p><a href="{page_url}">Renew my membership</a></p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_password_reset"><![CDATA[{email_header}
-<p>Hello,</p>
 <p>Your new password is:</p>
+<p> </p>
 <p><b>{password}</b></p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_profile_change_status_active"><![CDATA[{email_header}
-<p>Hello, {profile_name}.</p>
-<p>Welcome to {site_name}! Here's a copy of your account details:</p>
+<p>Your {site_name} account details:</p>
+<p> </p>
 <p>Name: {account_name}</p>
-<p>Email Address: {account_email}</p>
-<p>Site URL: <a href="{site_url}">{site_url}</a></p>
-<p>Thank you!</p>
+<p>Email: {account_email}</p>
+<p>URL: <a href="{site_url}">{site_url}</a></p>
+<p></p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_profile_change_status_pending"><![CDATA[{email_header}
-<p>Hello, {profile_name}.</p>
-<p>Your profile is waiting for review, as soon as it is reviewed you will receive notification by email.</p>
-<p>Thank you!</p>
+<p>Your profile is pending review. We will send you the review result shortly.</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_profile_change_status_suspended"><![CDATA[{email_header}
-<p>Hello {profile_name},</p>
-<p>Your profile was suspended.</p>
+<p>Your profile is currently suspended.</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_account"><![CDATA[{email_header}
 <p>{account_output}</p>
@@ -1741,23 +1751,33 @@ If it is not enabled then please consider implement this optimization, since it
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_upgrade_failed"><![CDATA[{email_header}
 <p>Upgrade failed due to the following error:</p>
+<p> </p>
 <p>{error_msg}</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_upgrade_modules_failed"><![CDATA[{email_header}
 <p>The following errors appeared during modules upgrade:</p>
+<p> </p>
 <p>{conclusion}</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_upgrade_success"><![CDATA[{email_header}
 <p>Site was successfully upgraded to {new_version}.</p>
+<p> </p>
 {conclusion}
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_upgrade_modules_success"><![CDATA[{email_header}
 <p>The following modules were successfully upgraded.</p>
+<p> </p>
 {conclusion}
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_bg_operation_failed"><![CDATA[{email_header}
 <p>Background operation failed with the following message.</p>
+<p> </p>
 {conclusion}
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_modules_upgrade_success"><![CDATA[<b>{0}</b> module: up to {1} version.<br />]]></string>
 	<string name="_sys_et_txt_body_modules_upgrade_failed"><![CDATA[<b>{0}</b> module: {1}<br />]]></string>
@@ -1781,17 +1801,17 @@ If it is not enabled then please consider implement this optimization, since it
 	<string name="_sys_et_txt_name_upgrade_modules_success"><![CDATA[Modules upgrade success]]></string>
 	<string name="_sys_et_txt_name_bg_operation_failed"><![CDATA[Background operation failed]]></string>
 	<string name="_sys_et_txt_subject_admin_email"><![CDATA[Message from <SiteName> Admin: <MessageSubject>]]></string>
-	<string name="_sys_et_txt_subject_comment_replied"><![CDATA[Your comment was replied by {sender_display_name}]]></string>
+	<string name="_sys_et_txt_subject_comment_replied"><![CDATA[User {sender_display_name} replied to your comment.]]></string>
 	<string name="_sys_et_txt_subject_system_reported"><![CDATA[New report notification]]></string>
-	<string name="_sys_et_txt_subject_confirmation"><![CDATA[Confirm Your Email (ACTION REQUIRED)]]></string>
+	<string name="_sys_et_txt_subject_confirmation"><![CDATA[Confirm your Email, please. (ACTION REQUIRED)]]></string>
 	<string name="_sys_et_txt_subject_delayed_module_uninstall"><![CDATA[Delayed {Module} module uninstall: {Result}]]></string>
-	<string name="_sys_et_txt_subject_forgot"><![CDATA[Reset Your Password]]></string>
+	<string name="_sys_et_txt_subject_forgot"><![CDATA[Reset your password]]></string>
 	<string name="_sys_et_txt_subject_mem_changed"><![CDATA[Your membership level was changed]]></string>
 	<string name="_sys_et_txt_subject_mem_expiration"><![CDATA[Your membership is about to expire]]></string>
-	<string name="_sys_et_txt_subject_password_reset"><![CDATA[New Password]]></string>
-	<string name="_sys_et_txt_subject_profile_change_status_active"><![CDATA[Profile Activated]]></string>
-	<string name="_sys_et_txt_subject_profile_change_status_pending"><![CDATA[Profile Pending Review]]></string>
-	<string name="_sys_et_txt_subject_profile_change_status_suspended"><![CDATA[Profile was Suspended]]></string>
+	<string name="_sys_et_txt_subject_password_reset"><![CDATA[Your new password]]></string>
+	<string name="_sys_et_txt_subject_profile_change_status_active"><![CDATA[Profile activated]]></string>
+	<string name="_sys_et_txt_subject_profile_change_status_pending"><![CDATA[Profile pending review]]></string>
+	<string name="_sys_et_txt_subject_profile_change_status_suspended"><![CDATA[Profile suspended]]></string>
 	<string name="_sys_et_txt_subject_account"><![CDATA[{site_name} {account_count} accounts created yesterday]]></string>
 	<string name="_sys_et_txt_subject_pruning"><![CDATA[{site_name} pruning result]]></string>
 	<string name="_sys_et_txt_subject_upgrade_failed"><![CDATA[{site_name} upgrade failed]]></string>
@@ -2256,8 +2276,8 @@ If it is not enabled then please consider implement this optimization, since it
 	<string name="_sys_pre_lists_report_types_nude"><![CDATA[nude]]></string>
 	<string name="_sys_pre_lists_report_types_other"><![CDATA[other]]></string>
 	<string name="_sys_profile_sample_single"><![CDATA[profile]]></string>
-	<string name="_sys_profile_friendship_added"><![CDATA[<a class="bx-ntfs-content-profile" href="{owner_link}">{owner_name}</a> is now friends with <a href="{entry_url}">{entry_caption}</a>]]></string>
-	<string name="_sys_profile_subscription_added"><![CDATA[<a class="bx-ntfs-content-profile" href="{owner_link}">{owner_name}</a> subscribed to <a href="{entry_url}">{entry_caption}</a> {entry_sample}]]></string>
+	<string name="_sys_profile_friendship_added"><![CDATA[<a class="bx-ntfs-content-profile" href="{owner_link}">{owner_name}</a> befriended <a href="{entry_url}">{entry_caption}</a>]]></string>
+	<string name="_sys_profile_subscription_added"><![CDATA[<a class="bx-ntfs-content-profile" href="{owner_link}">{owner_name}</a> followed <a href="{entry_url}">{entry_caption}</a>]]></string>
 	<string name="_sys_profile_status_active"><![CDATA[Active]]></string>
 	<string name="_sys_profile_status_pending"><![CDATA[Pending]]></string>
 	<string name="_sys_profile_status_suspended"><![CDATA[Suspended]]></string>

+ 56 - 35
modules/boonex/russian/data/langs/system/ru.xml

@@ -904,8 +904,8 @@
 	<string name="_adm_lmi_cpt_splash"><![CDATA[Заставка]]></string>
 	<string name="_adm_lmi_cpt_displays"><![CDATA[Дисплеи]]></string>
 	<string name="_adm_lmi_cpt_downloaded"><![CDATA[Скачано]]></string>
-	<string name="_adm_lmi_cpt_etemplates"><![CDATA[Имейл-шаблоны]]></string>
-	<string name="_adm_lmi_cpt_etemplates_hf"><![CDATA[Заголовок/основание имейлов]]></string>
+	<string name="_adm_lmi_cpt_etemplates"><![CDATA[Имейлы]]></string>
+	<string name="_adm_lmi_cpt_etemplates_hf"><![CDATA[Имейл-шаблон]]></string>
 	<string name="_adm_lmi_cpt_featured"><![CDATA[Избранные]]></string>
 	<string name="_adm_lmi_cpt_fields"><![CDATA[Поля]]></string>
 	<string name="_adm_lmi_cpt_files"><![CDATA[Файлы]]></string>
@@ -1667,69 +1667,80 @@
 	<string name="_sys_done"><![CDATA[Готово]]></string>
 	<string name="_sys_et_txt_about_us"><![CDATA[О нас]]></string>
 	<string name="_sys_et_txt_body_admin_email"><![CDATA[{email_header}
-<p>Привет,</p>
-<p>Администрация сайта <a href="{site_url}">{site_name}</a> рада проинформировать Вас о том, что</p>
-<p>=========================</p>
-<p style="color:#3B5C8E">{MessageText}</p>
-<p>=========================</p>
+<p>Сообщение от администрации сайта <a href="{site_url}">{site_name}</a>:</p>
+<p> </p>
+<p>{MessageText}</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_comment_replied"><![CDATA[{email_header}
-<p>Привет,</p>
-<p>На Ваш комментарий ответили на <a href="{page_url}">{page_title}</a> странице. Ответ:</p>
+<p>{sender_display_name} ответил на Ваш комментарий:</p>
+<p> </p>
 <p>{reply_text}</p>
+<p> </p>
+<p>Ответ можно посмотреть здесь: <a href="{page_url}">{page_title}</a>.</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_system_reported"><![CDATA[{email_header}
-<p>Привет,</p>
-<p>Была получена новая жалоба с типом <b>{report_type}</b>. Сообщение:</p>
+<p>Была получена новая жалоба <b>{report_type}</b>:</p>
+<p> </p>
 <p>{report_text}</p>
-<p>Для получения дополнительной информации, пожалуйста, перейдите на <a href="{report_url}">страницу контента</a>.</p>
+<p> </p>
+<p><a href="{report_url}">Посмотреть жалобу</a>.</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_confirmation"><![CDATA[{email_header}
 <p>Привет, {name}.</p>
-<p>Пожалуйста, подтвердите ваш имейл, перейдя по ссылке:</p>
-<p><a href="{conf_link}">Подтвердить имейл</a></p>
+<p>Пожалуйста, подтвердите ваш имейл, нажав по ссылке:</p>
+<p> </p>
+<p><a href="{conf_link}">Подтвердить мой имейл</a>.</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_delayed_module_uninstall"><![CDATA[{email_header}
 <p>Модуль: <b>{Module}</b></p>
 <p>Результат демонтажа: {Result}</p>
+<p> </p>
 <p>{Message}</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_forgot"><![CDATA[{email_header}
-<p>Привет,</p>
-<p>Пожалуйста, перейдите по ссылке, чтобы сбросить свой пароль:</p>
-<p><a href="{forgot_password_url}">{forgot_password_url}</a></p>
-<p>Спасибо.</p>
+<p>Пожалуйста, нажмите по ссылке, чтобы сбросить свой пароль:</p>
+<p> </p>
+<p><a href="{forgot_password_url}">Сбросить мой пароль</a>.</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_mem_changed"><![CDATA[{email_header}
-<p>Привет,</p>
-<p>Уровень Вашего членства изменён на: <b>{membership_level}</b></p>
+<p>Уровень членства профиля <b>{profile_name}</b> изменён на <b>{membership_level}</b>.</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_mem_expiration"><![CDATA[{email_header}
-<p>Привет,</p>
-<p>Мы уведомляем Вас о том, что Ваше членство {membership_name} на сайте {site_name} истекает через {expire_days} дней (-1 означает: уже истекло).</p>
-<p>Чтобы обновить своё членство, зайдите в свой аккаунт {site_name} по ссылке <a href="{site_url}member.php">{site_url}member.php</a> и перейдите в <a href="{site_url}modules/?r=membership/index/">Моё Членство</a></p>
+<p>Ваше {membership_name} членство истекает через {expire_days} дней (-1 означает: уже истекло).</p>
+<p>Нажмите по ссылке, чтобы обновить ваше членство:</p>
+<p> </p>
+<p><a href="{page_url}">Обновить моё членство</a>.</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_password_reset"><![CDATA[{email_header}
-<p>Привет,</p>
 <p>Ваш новый пароль:</p>
+<p> </p>
 <p><b>{password}</b></p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_profile_change_status_active"><![CDATA[{email_header}
-<p>Привет, {profile_name}.</p>
-<p>Добро пожаловать на сайт {site_name}! Вот копия данных вашего аккаунта:</p>
+<p>Данные вашего аккаунта на сайте {site_name}:</p>
+<p> </p>
 <p>Имя: {account_name}</p>
 <p>Имейл: {account_email}</p>
-<p>URL сайта: <a href="{site_url}">{site_url}</a></p>
-<p>Спасибо!</p>
+<p>URL: <a href="{site_url}">{site_url}</a></p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_profile_change_status_pending"><![CDATA[{email_header}
 <p>Привет {profile_name},</p>
-<p>Ваш профиль ожидает одобрения. Как только он будет одобрен, Вы получите уведомление по эл. почте.</p>
-<p>Спасибо!</p>
+<p>Ваш профиль ожидает одобрения. Мы сообщим Вам о результатах в ближайшее время.</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_profile_change_status_suspended"><![CDATA[{email_header}
-<p>Привет {profile_name},</p>
-<p>Ваш профиль был заблокирован.</p>
+<p>Ваш профиль заблокирован.</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_account"><![CDATA[{email_header}
 <p>{account_output}</p>
@@ -1739,23 +1750,33 @@
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_upgrade_failed"><![CDATA[{email_header}
 <p>Обновление не удалось в связи со следующей ошибкой:</p>
+<p> </p>
 <p>{error_msg}</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_upgrade_modules_failed"><![CDATA[{email_header}
 <p>В процессе обновления модулей произошли следующие ошибки:</p>
+<p> </p>
 <p>{conclusion}</p>
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_upgrade_success"><![CDATA[{email_header}
 <p>Сайт был удачно обновлён до {new_version}.</p>
+<p> </p>
 {conclusion}
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_upgrade_modules_success"><![CDATA[{email_header}
 <p>Следующие модули были удачно обновлены.</p>
+<p> </p>
 {conclusion}
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_bg_operation_failed"><![CDATA[{email_header}
 <p>Фоновый процесс завершился ошибкой со следующим сообщением.</p>
+<p> </p>
 {conclusion}
+<p> </p>
 {email_footer}]]></string>
 	<string name="_sys_et_txt_body_modules_upgrade_success"><![CDATA[<b>{0}</b> модуль: up to {1} версия.<br />]]></string>
 	<string name="_sys_et_txt_body_modules_upgrade_failed"><![CDATA[<b>{0}</b> молуль: {1}<br />]]></string>
@@ -1781,7 +1802,7 @@
 	<string name="_sys_et_txt_subject_admin_email"><![CDATA[Сообщение от администратора сайта <SiteName>: <MessageSubject>]]></string>
 	<string name="_sys_et_txt_subject_comment_replied"><![CDATA[{sender_display_name} ответил на Ваш комментарий]]></string>
 	<string name="_sys_et_txt_subject_system_reported"><![CDATA[Уведомление о новой жалобе]]></string>
-	<string name="_sys_et_txt_subject_confirmation"><![CDATA[Подтвердите свой эл. адрес (ОБЯЗАТЕЛЬНО)]]></string>
+	<string name="_sys_et_txt_subject_confirmation"><![CDATA[Пожалуйста, подтвердите свой имейл. (ОБЯЗАТЕЛЬНО)]]></string>
 	<string name="_sys_et_txt_subject_delayed_module_uninstall"><![CDATA[Отложенный демонтаж модуля {Module}: {Result}]]></string>
 	<string name="_sys_et_txt_subject_forgot"><![CDATA[Сбросьте свой пароль]]></string>
 	<string name="_sys_et_txt_subject_mem_changed"><![CDATA[Уровень Вашего членства был изменён]]></string>
@@ -2254,8 +2275,8 @@
 	<string name="_sys_pre_lists_report_types_nude"><![CDATA[обнаженность]]></string>
 	<string name="_sys_pre_lists_report_types_other"><![CDATA[другое]]></string>
 	<string name="_sys_profile_sample_single"><![CDATA[профиль]]></string>
-	<string name="_sys_profile_friendship_added"><![CDATA[<a class="bx-ntfs-content-profile" href="{owner_link}">{owner_name}</a> и <a href="{entry_url}">{entry_caption}</a>]]> стали друзьями</string>
-	<string name="_sys_profile_subscription_added"><![CDATA[<a class="bx-ntfs-content-profile" href="{owner_link}">{owner_name}</a> подписался на <a href="{entry_url}">{entry_caption}</a> {entry_sample}]]></string>
+	<string name="_sys_profile_friendship_added"><![CDATA[<a class="bx-ntfs-content-profile" href="{owner_link}">{owner_name}</a> предложил дружбу <a href="{entry_url}">{entry_caption}</a>]]></string>
+	<string name="_sys_profile_subscription_added"><![CDATA[<a class="bx-ntfs-content-profile" href="{owner_link}">{owner_name}</a> следит за <a href="{entry_url}">{entry_caption}</a>]]></string>
 	<string name="_sys_profile_status_active"><![CDATA[Активный]]></string>
     <string name="_sys_profile_status_pending"><![CDATA[В ожидании]]></string>
     <string name="_sys_profile_status_suspended"><![CDATA[Заблокированный]]></string>