0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 1095 Просмотров
*

murancha

  • Новичок
  • 9
  • 0 / 0
Всем добрый день.

Срочно нужно решить проблему с регистрацией на сайт, дело в том что при попытке зарегистрироваться новому пользователю выходит ошибка

Fatal error: Cannot redeclare getAttr() (previously declared in /var/www/vhosts/u7044631.plsk.regruhosting.ru/voen-pravo.ru/library/plugins/user/improved_profile/improved_profile.php:187) in /var/www/vhosts/u7044631.plsk.regruhosting.ru/voen-pravo.ru/library/plugins/user/improved_profile/improved_profile.php on line 187



Код: php-brief
// Add the registration fields to the form.
    $db = JFactory::getDBO();
    $db->setQuery("SELECT fields FROM #__offlajn_forms WHERE state=1 AND type='registration' AND (id < 99 OR language='$lang_code') ORDER BY id");
    $res = $db->loadObjectList();
    $elems = isset($res[1])? @json_decode($res[1]->fields)->page[0]->elem : null;
    $trans = '';
    $fields = json_decode($res[0]->fields);
   [color=red]function getAttr($obj, $name) - вот эта 187 строка.....[/color]
    {
      $name = 'jform[elem_'.$name.']';
      return isset($obj->{$name})? $obj->{$name} : null;
    }
    $xml = '<form><fields name="improved"><fieldset name="improved" label="PLG_USER_PROFILE_SLIDER_LABEL"></fieldset></fields></form>';
    $profile = JFactory::getXML($xml, false);
    foreach ($fields->page as $page)
    {
     foreach ($page->elem as $id => $elem)
      {
        $type = getAttr($elem, 'type');
        $name = getAttr($elem, 'name');
        if (!isset($type->profile) || $name->value == 'newsletter') continue;
        $field = $profile->fields->fieldset->addChild('field');
        $field->addAttribute('name', $name->value? $name->value : $name->placeholder);
        $field->addAttribute('id', 'ial-'.($name->value ? $name->value : $name->placeholder));
        $field->addAttribute('type', isset($type->defaultValue)? $type->defaultValue : $type->value);
        $field->addAttribute('required', getAttr($elem, 'required')->checked? 'true' : 'false');
        $label = getAttr($elem, 'label');
        if ($label) {
          if ($elems) $trans = getAttr($elems->{$id}, 'label');
          if ($trans && $trans->value != $label->value) $label->value = $trans->value;
          $field->addAttribute('label', JText::_($label->value? $label->value : (@$label->defaultValue? @$label->defaultValue : @$label->placeholder)));
        }
        $title = getAttr($elem, 'title');
        if ($title) {
          if ($elems) $trans = getAttr($elems->{$id}, 'title');
          if ($trans && $trans->value != $title->value) $title->value = $trans->value;
          $field->addAttribute('description', JText::_($title->value? $title->value : @$title->defaultValue));
        }
        $error = getAttr($elem, 'error');
        if ($error) {
          if ($elems) $trans = getAttr($elems->{$id}, 'error');
          if ($trans && $trans->value != $error->value) $error->value = $trans->value;
          $field->addAttribute('message', JText::_($error->value? $error->value : $error->defaultValue));
        }
        if ($type->value == 'checkbox') $field->addAttribute('value', 'on');
        if ($type->value == 'select')
        {
          $field['type'] = 'list';
          $select = getAttr($elem, 'select');
          if ($elems) $trans = getAttr($elems->{$id}, 'select');
          if ($trans && $trans->value != $select->value) $select->value = $trans->value;
          $opts = JFactory::getXML("<select>{$select->value}</select>", false);
          foreach ($opts as $opt)
          {
            $option = $field->addChild('option');
            $option->addAttribute('value', $opt['value']);
            $option[0] = (string) $opt;
          }
        }
        $article = getAttr($elem, 'article');
        if ($article)
        {
          if ($elems) $trans = getAttr($elems->{$id}, 'article');
          if ($trans && $trans->value != $article->value) $article->value = $trans->value;
          $field->addAttribute('article', $article->value);
          $option = $field->addChild('option');
          $option->addAttribute('value', 'on');
          $option[0] = 'JYES';
        }
      }
    }
    $form->load($profile, false);

if ($name != 'com_users.registration')
      {


Что с этим делать и как бороться
« Последнее редактирование: 23.12.2016, 20:12:28 от murancha »
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
у вас где-то второй раз объявляется getAttr(), обычно это бывает из-за include или require
P.S Уберите код к bbcode и под спойлер
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

murancha

  • Новичок
  • 9
  • 0 / 0
у вас где-то второй раз объявляется getAttr(), обычно это бывает из-за include или require
P.S Уберите код к bbcode и под спойлер

И как это найти?
*

murancha

  • Новичок
  • 9
  • 0 / 0
И как это найти?

Разобрался.... простым способом, удалил папку improved_profile,
Ошибка вызвана компонентом Improved AJAX Login & Register причем после обновления Joomla
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка 0 Call to undefined function GuzzleHttp\choose_handler()

Автор Alllex

Ответов: 0
Просмотров: 128
Последний ответ 15.03.2024, 21:03:09
от Alllex
Ошибка version_compare(): Argument #3 ($operator)

Автор Шмайсер

Ответов: 1
Просмотров: 408
Последний ответ 07.11.2023, 20:44:21
от fsv
reCapcha во всплывающем окне - "Ошибка защиты от спама"

Автор Dannik

Ответов: 12
Просмотров: 1835
Последний ответ 14.09.2023, 18:59:24
от all_zer
403 access Forbidden при попытке обновления

Автор R31rus

Ответов: 1
Просмотров: 397
Последний ответ 12.06.2023, 05:10:04
от R31rus
Ошибка 1054 Unknown column 'created_by' in 'field list' VirtueMart

Автор Evgen Kulibin

Ответов: 3
Просмотров: 782
Последний ответ 26.02.2023, 01:56:42
от lakshmi