Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/burlakastudio.realcommenter/lib/ |
Upload File : |
<?php /** * ����� "��������� ����������� 2.0" ��� ������� * �������� ���� �����: www.realcommenter.com * �������� ���� �����������: burlaka.studio * ����� � ����������: ������� ������� (AlexeyGfi) -> alexeygfi@gmail.com */ namespace Burlakastudio\Realcommenter; use Bitrix\Main\Localization\Loc; class POST_TEMPLATES { /** * @return bool */ public static function checkAndSync() { $languages_list = TOOLS::get_languages_list(); $sites_list = TOOLS::get_sites_list(); /** * �� ������ ����� �� ������ ������ ���� �� ����� ����� (�� ID ������ � ����) �� ������ * � ��� � ������ ���� ���� �� �����. * * ������ ���������� � �������� ����� ������� �� ������� �����. * ����� ���� � ������� ����� getMessage ��� ����� ���� * * !) �� ����� ����: ���� ����� �������� ����� � ����� * ...� ��� ������ ������ � � ������ * * ��� (� �������) ��� ���� ����, �� ��� ����� �������. * ����� ����� ������-���� ����, � ������ ���������� ��� o_O * �� �� �� ���? */ foreach ($languages_list as $language_info) { $language_id = $language_info['CODE']; Loc::loadCustomMessages(__FILE__, $language_id); $post_templates = self::getTemplatesTypes($language_id); /** * ������ ��� ����� ������ � �������, ���� �� �������� ���������� */ foreach ($post_templates as $pt_name => $pt_fields) { $pt_Filter = [ 'TYPE_ID' => $pt_name, 'LID' => $language_id, ]; $pt_res = \CEventType::GetList($pt_Filter); if ($pt_arr = $pt_res->Fetch()) { continue; } else { $pt_Fields = [ 'LID' => $language_id, 'EVENT_NAME' => $pt_name, 'NAME' => $pt_fields['NAME'], 'DESCRIPTION' => $pt_fields['DESCRIPTION'], ]; try { self::new_type($pt_Fields); } catch (\Exception $e) { DEBUGGER::error($e->getMessage()); return false; } } } } foreach ($sites_list as $site_info) { $site_LID = $site_info['LID']; $language_id = $site_info['LANGUAGE_ID']; Loc::loadCustomMessages(__FILE__, $language_id); /** * ������ ������ */ $post_messages = self::get_templates($language_id); $event_message = new \CEventMessage(); foreach ($post_messages as $pt_name => $pt_fields) { $pt_Filter = [ 'EVENT_NAME' => $pt_name, 'LID' => $site_LID, ]; $by = 'id'; $order = 'asc'; $pt_res = \CEventMessage::GetList($by, $order, $pt_Filter); if ($pt_arr = $pt_res->Fetch()) { continue; } else { $pm_Fields = $pt_fields; $pm_Fields['EVENT_NAME'] = $pt_name; $pm_Fields['LID'] = $site_LID; $em_id = $event_message->Add($pm_Fields); if (!$em_id) { DEBUGGER::error($event_message->LAST_ERROR); return false; } } } } return true; } private static function getTemplatesTypes($languageId = 'ru') { return [ 'ITAPE_NEW_COMPLAINT' => [ 'NAME' => Loc::getMessage('ITAPE_NEW_COMPLAINT', [], $languageId), 'DESCRIPTION' => Loc::getMessage('ITAPE_NEW_COMPLAINT', [], $languageId), ], 'ITAPE_NEW_EDIT' => [ 'NAME' => Loc::getMessage('ITAPE_NEW_EDIT', [], $languageId), 'DESCRIPTION' => Loc::getMessage('ITAPE_NEW_EDIT', [], $languageId), ], 'ITAPE_YOUR_COMMENT_ACTIVATED' => [ 'NAME' => Loc::getMessage('ITAPE_YOUR_COMMENT_ACTIVATED', [], $languageId), 'DESCRIPTION' => Loc::getMessage('ITAPE_YOUR_COMMENT_ACTIVATED', [], $languageId), ], 'ITAPE_ACCEPT_SANCTIONS' => [ 'NAME' => Loc::getMessage('ITAPE_ACCEPT_SANCTIONS', [], $languageId), 'DESCRIPTION' => Loc::getMessage('ITAPE_ACCEPT_SANCTIONS_DESCRIPTION', [], $languageId), ], 'ITAPE_CANCEL_SANCTIONS' => [ 'NAME' => Loc::getMessage('ITAPE_CANCEL_SANCTIONS', [], $languageId), 'DESCRIPTION' => Loc::getMessage('ITAPE_CANCEL_SANCTIONS_DESCRIPTION', [], $languageId), ], 'ITAPE_SECURITY' => [ 'NAME' => Loc::getMessage('ITAPE_POST_COMMENT_SECURE', [], $languageId), 'DESCRIPTION' => Loc::getMessage('ITAPE_POST_COMMENT_SECURE_DESCRIPTION', [], $languageId), ], 'ITAPE_SCRIPT_ERROR' => [ 'NAME' => Loc::getMessage('ITAPE_POST_COMMENT_ERROR', [], $languageId), 'DESCRIPTION' => Loc::getMessage('ITAPE_POST_COMMENT_ERROR_DESCRIPTION', [], $languageId), ], 'ITAPE_NEW_EVENT_FOR_AUTHOR' => [ 'NAME' => Loc::getMessage('ITAPE_POST_COMMENT_TO_AUTHOR', [], $languageId), 'DESCRIPTION' => Loc::getMessage('ITAPE_POST_COMMENT_TO_AUTHOR_DESCRIPTION', [], $languageId), ], 'ITAPE_NEW_COMMENT_AUTHOR' => [ 'NAME' => Loc::getMessage('ITAPE_POST_COMMENT_GENERAL', [], $languageId), 'DESCRIPTION' => Loc::getMessage('ITAPE_POST_COMMENT_GENERAL_DESCRIPTION', [], $languageId), ], 'ITAPE_NEW_COMMENT_ADMIN' => [ 'NAME' => Loc::getMessage('ITAPE_POST_COMMENT_TO_ADMIN', [], $languageId), 'DESCRIPTION' => Loc::getMessage('ITAPE_POST_COMMENT_TO_ADMIN_DESCRIPTION', [], $languageId), ], 'ITAPE_COMMENT_CHANGE_STATUS' => [ 'NAME' => Loc::getMessage('ITAPE_COMMENT_CHANGE_STATUS_POSTTYPE_', [], $languageId), 'DESCRIPTION' => Loc::getMessage('ITAPE_COMMENT_CHANGE_STATUS_POSTTYPE__DESCRIPTION', [], $languageId), ], /** * ��� � ����� */ 'ITAPE_SANCTION_SET' => [ 'NAME' => Loc::getMessage('ITAPE_SANCTION_SET_POSTTYPE', [], $languageId), 'DESCRIPTION' => Loc::getMessage('ITAPE_SANCTION_SET_DESCRIPTION', [], $languageId), ], 'ITAPE_SANCTION_DISCARD' => [ 'NAME' => Loc::getMessage('ITAPE_SANCTION_DISCARD_POSTTYPE', [], $languageId), 'DESCRIPTION' => Loc::getMessage('ITAPE_SANCTION_DISCARD_DESCRIPTION', [], $languageId), ], 'ITAPE_BAN_SET' => [ 'NAME' => Loc::getMessage('ITAPE_BAN_SET_POSTTYPE', [], $languageId), 'DESCRIPTION' => Loc::getMessage('ITAPE_BAN_SET_DESCRIPTION', [], $languageId), ], 'ITAPE_UNBAN_SET' => [ 'NAME' => Loc::getMessage('ITAPE_UNBAN_SET_POSTTYPE', [], $languageId), 'DESCRIPTION' => Loc::getMessage('ITAPE_UNBAN_SET_DESCRIPTION', [], $languageId), ], ]; } /** * @param $arFields * * @return array|bool|int * @throws \Exception */ private static function new_type($arFields) { if (!is_set($arFields, 'LID') && is_set($arFields, 'SITE_ID')) $arFields['LID'] = $arFields['SITE_ID']; unset($arFields['ID']); if (!\CEventType::CheckFields($arFields)) { return false; } $result = \Bitrix\Main\Mail\Internal\EventTypeTable::add($arFields); if (!$result->isSuccess()) { throw new \Exception(implode(', ', $result->getErrorMessages())); } else { return $result->getId(); } } private static function get_templates($language_id = 'ru') { return [ 'ITAPE_NEW_COMPLAINT' => [ 'ACTIVE' => 'Y', 'EMAIL_FROM' => Loc::getMessage('ITAPE_NEW_COMPLAINT_FROM_TAPE', [], $language_id), 'EMAIL_TO' => '#ADMIN_EMAIL#', 'BCC' => '#COPY_TO#', 'SUBJECT' => Loc::getMessage('ITAPE_NEW_COMPLAINT', [], $language_id), 'BODY_TYPE' => 'text', 'MESSAGE' => Loc::getMessage('ITAPE_NEW_COMPLAINT_BODY', [], $language_id), ], 'ITAPE_NEW_EDIT' => [ 'ACTIVE' => 'Y', 'EMAIL_FROM' => Loc::getMessage('ITAPE_NEW_EDIT_FROM_TAPE', [], $language_id), 'EMAIL_TO' => '#ADMIN_EMAIL#', 'BCC' => '#COPY_TO#', 'SUBJECT' => Loc::getMessage('ITAPE_NEW_EDIT_SUBJECT', [], $language_id), 'BODY_TYPE' => 'text', 'MESSAGE' => Loc::getMessage('ITAPE_NEW_EDIT_BODY', [], $language_id), ], 'ITAPE_YOUR_COMMENT_ACTIVATED' => [ 'ACTIVE' => 'Y', 'EMAIL_FROM' => Loc::getMessage('ITAPE_YOUR_COMMENT_ACTIVATED_FROM_TAPE', [], $language_id), 'EMAIL_TO' => '#USER_EMAIL#', 'BCC' => '', 'SUBJECT' => Loc::getMessage('ITAPE_YOUR_COMMENT_ACTIVATED_SUBJECT', [], $language_id), 'BODY_TYPE' => 'text', 'MESSAGE' => Loc::getMessage('ITAPE_YOUR_COMMENT_ACTIVATED_BODY', [], $language_id), ], 'ITAPE_ACCEPT_SANCTIONS' => [ 'ACTIVE' => 'Y', 'EMAIL_FROM' => Loc::getMessage('ITAPE_ACCEPT_SANCTIONS_FROM_TAPE', [], $language_id), 'EMAIL_TO' => '#USER_EMAIL#', 'BCC' => '', 'SUBJECT' => Loc::getMessage('ITAPE_ACCEPT_SANCTIONS_SUBJECT', [], $language_id), 'BODY_TYPE' => 'text', 'MESSAGE' => Loc::getMessage('ITAPE_ACCEPT_SANCTIONS_BODY', [], $language_id), ], 'ITAPE_CANCEL_SANCTIONS' => [ 'ACTIVE' => 'Y', 'EMAIL_FROM' => Loc::getMessage('ITAPE_CANCEL_SANCTIONS_FROM_TAPE', [], $language_id), 'EMAIL_TO' => '#USER_EMAIL#', 'BCC' => '', 'SUBJECT' => Loc::getMessage('ITAPE_CANCEL_SANCTIONS_SUBJECT', [], $language_id), 'BODY_TYPE' => 'text', 'MESSAGE' => Loc::getMessage('ITAPE_CANCEL_SANCTIONS_BODY', [], $language_id), ], 'ITAPE_SECURITY' => [ 'ACTIVE' => 'Y', 'EMAIL_FROM' => Loc::getMessage('ITAPE_MAIL_FROM_SECURE', [], $language_id), 'EMAIL_TO' => '#TO_EMAIL#', 'SUBJECT' => Loc::getMessage('ITAPE_MAIL_SUBJECT_SECURE', [], $language_id), 'BODY_TYPE' => 'html', 'MESSAGE' => Loc::getMessage('ITAPE_MAIL_FROM_SECURE_BODY', [], $language_id), ], 'ITAPE_SCRIPT_ERROR' => [ 'ACTIVE' => 'Y', 'EMAIL_FROM' => Loc::getMessage('ITAPE_MAIL_FROM_ERROR', [], $language_id), 'EMAIL_TO' => '#ADMIN_EMAIL#', 'SUBJECT' => Loc::getMessage('ITAPE_MAIL_ERROR_SUBJECT', [], $language_id), 'BODY_TYPE' => 'text', 'MESSAGE' => Loc::getMessage('ITAPE_MAIL_ERROR_BODY', [], $language_id), ], 'ITAPE_NEW_EVENT_FOR_AUTHOR' => [ 'ACTIVE' => 'Y', 'EMAIL_FROM' => Loc::getMessage('ITAPE_MAIL_FROM_TAPE', [], $language_id), 'EMAIL_TO' => '#TAPE_AUTHOR_EMAIL#', 'BCC' => '#COPY_TO#', 'SUBJECT' => Loc::getMessage('ITAPE_MAIL_FROM_TAPE_PERSONAL', [], $language_id), 'BODY_TYPE' => 'text', 'MESSAGE' => Loc::getMessage('ITAPE_MAIL_FROM_TAPE_PERSONAL_BODY', [], $language_id), ], 'ITAPE_NEW_COMMENT_AUTHOR' => [ 'ACTIVE' => 'Y', 'EMAIL_FROM' => Loc::getMessage('ITAPE_MAIL_FROM_TAPE', [], $language_id), 'EMAIL_TO' => '#AUTHOR_EMAIL#', 'BCC' => '#COPY_TO#', 'SUBJECT' => Loc::getMessage('ITAPE_MAIL_FROM_TAPE_ANSWER', [], $language_id), 'BODY_TYPE' => 'text', 'MESSAGE' => Loc::getMessage('ITAPE_MAIL_FROM_TAPE_ANSWER_BODY', [], $language_id), ], 'ITAPE_NEW_COMMENT_ADMIN' => [ 'ACTIVE' => 'Y', 'EMAIL_FROM' => Loc::getMessage('ITAPE_MAIL_FROM_TAPE', [], $language_id), 'EMAIL_TO' => '#ADMIN_EMAIL#', 'BCC' => '#COPY_TO#', 'SUBJECT' => Loc::getMessage('ITAPE_MAIL_TAPE_ADMIN_FROM', [], $language_id), 'BODY_TYPE' => 'text', 'MESSAGE' => Loc::getMessage('ITAPE_MAIL_TAPE_ADMIN_FROM_BODY', [], $language_id), ], 'ITAPE_COMMENT_CHANGE_STATUS' => [ 'ACTIVE' => 'Y', 'EMAIL_FROM' => Loc::getMessage('ITAPE_MAIL_FROM_TAPE', [], $language_id), 'EMAIL_TO' => '#TAPE_AUTHOR_EMAIL#', 'BCC' => '#COPY_TO#', 'SUBJECT' => Loc::getMessage('ITAPE_COMMENT_CHANGE_STATUS_SUBJECT', [], $language_id), 'BODY_TYPE' => 'text', 'MESSAGE' => Loc::getMessage('ITAPE_COMMENT_CHANGE_STATUS_BODY', [], $language_id), ], 'ITAPE_SANCTION_SET' => [ 'ACTIVE' => 'Y', 'EMAIL_FROM' => Loc::getMessage('ITAPE_MAIL_FROM_TAPE', [], $language_id), 'EMAIL_TO' => '#TAPE_AUTHOR_EMAIL#', 'BCC' => '#COPY_TO#', 'SUBJECT' => Loc::getMessage('ITAPE_SANCTION_SET_SUBJECT', [], $language_id), 'BODY_TYPE' => 'text', 'MESSAGE' => Loc::getMessage('ITAPE_SANCTION_SET_BODY', [], $language_id), ], 'ITAPE_SANCTION_DISCARD' => [ 'ACTIVE' => 'Y', 'EMAIL_FROM' => Loc::getMessage('ITAPE_MAIL_FROM_TAPE', [], $language_id), 'EMAIL_TO' => '#TAPE_AUTHOR_EMAIL#', 'BCC' => '#COPY_TO#', 'SUBJECT' => Loc::getMessage('ITAPE_SANCTION_DISCARD_SUBJECT', [], $language_id), 'BODY_TYPE' => 'text', 'MESSAGE' => Loc::getMessage('ITAPE_SANCTION_DISCARD_BODY', [], $language_id), ], 'ITAPE_UNBAN_SET' => [ 'ACTIVE' => 'Y', 'EMAIL_FROM' => Loc::getMessage('ITAPE_MAIL_FROM_TAPE', [], $language_id), 'EMAIL_TO' => '#TAPE_AUTHOR_EMAIL#', 'BCC' => '#COPY_TO#', 'SUBJECT' => Loc::getMessage('ITAPE_UNBAN_SET_SUBJECT', [], $language_id), 'BODY_TYPE' => 'text', 'MESSAGE' => Loc::getMessage('ITAPE_UNBAN_SET_BODY', [], $language_id), ], ]; } }