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/rospirotorg.ru/bitrix/js/burlakastudio.realcommenter/ |
Upload File : |
'use strict'; /** * Модуль "Полноценные Комментарии D7" под Битрикс * Официальный сайт модуля: www.realcommenter.com * Официальный сайт разработчика: burlaka.studio * Автор и разработчик: Алексей Бурлака (AlexeyGfi) -> alexeygfi@gmail.com */ function realcommenter_auth_form_scan_and_init () { /** * Ищем все не проинициализиваронные формы */ let forms = document.querySelectorAll( realcommenter_get_selector('form_auth') + ':not([data-inited])' ); forms.forEach(function (item) { realcommenter_auth_form_init(item); }); } document.addEventListener('auth_form_placed', realcommenter_auth_form_scan_and_init); function realcommenter_auth_form_init (_form) { // Страховка if (_form.hasAttribute('data-inited')) { return; } // Кнопка отправки логин-пароля на авторизацию let _button = _form.querySelector('button'); if (!_button) { return false; } _button.addEventListener('click', realcommenter_auth_form_check_and_submit.bind(_button, _form)); } function realcommenter_auth_form_check_and_submit (_form) { // this - кнопка, по которой нажали let _fields = realcommenter_auth_form_parse_form(_form); if (!_fields) { return false; } _fields['request_type'] = 'login'; realcommenter_ajaxion.bind(_form, { url: '/bitrix/admin/burlakastudio.realcommenter.auth_ajax.php', onsuccess: realcommenter_auth_aftermath.bind(_form), data: _fields })(); } function realcommenter_auth_aftermath (result) { //this - блочок авторизации внутри формы if (typeof result['ERROR'] !== 'undefined' && Object.keys(result['ERROR']).length) { this.classList.toggle(realcommenter_get_selector('form_has_errors'), true); let _messages = []; if (typeof result['ERROR'] === 'string') { _messages.push(result['ERROR']); } else { _messages = result['ERROR']; } realcommenter_form_notice_from_object(_messages, this, realcommenter_get_selector('form_error_area_classname')); return; } let _form = this.closest(realcommenter_get_selector('form')); if (!_form) { return; } // Авторизация прошла успешно - пинаем форму комментирования if (typeof result['AUTH_SUCCESS'] !== 'undefined' && result['AUTH_SUCCESS']) { /** * Нужно перепнуть форму на комментирование * Найдём линк, пинающий открытие и пнём его ещё раз */ let comment_obj = _form.closest(realcommenter_get_selector('comment')); if (comment_obj) { let form_to = +_form.getAttribute('data-form-to'); let form_target = _form.getAttribute('data-form-target'); let comment_link = false; // Не ноль (форма вверху или внизу) if (form_to) { comment_link = comment_obj.querySelector( realcommenter_get_selector('add_node') + ' [data-inited]' ); _form.parentNode.removeChild(_form); } else if (form_target) { comment_link = comment_obj.querySelector( realcommenter_get_selector('add_node') + '[data-new-comment="' + form_target + '"]' + ' [data-inited]' ); } if (comment_link) { comment_link.click(); } } } } function realcommenter_auth_form_parse_form (_form) { if (!_form) { return false; } if (!realcommenter_form_valid(_form)) { return false; } let _result = {}; // Поля ввода let inputs = _form.querySelectorAll(realcommenter_get_selector('form_inputs')); inputs.forEach(function (item) { if (!item.value) { return; } _result[item.getAttribute('data-input')] = item.value; }); return _result; }