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

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

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

murancha

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

И как это найти?
Правовой уголок офицера Вооруженных Сил Российской Федерации
*

murancha

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

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

500 - ОШИБКА: Неверный Статья родителя ID (101)\! (err 410)

Автор nazin

Ответов: 1
Просмотров: 48
Последний ответ 22.11.2017, 21:46:48
от nazin
Вылезла ошибка на 404 страничке

Автор markizmds

Ответов: 0
Просмотров: 57
Последний ответ 16.11.2017, 18:41:53
от markizmds
Ошибка 200 при импорте това через CSVI 6.5.4 в VM

Автор Усач911

Ответов: 9
Просмотров: 241
Последний ответ 08.11.2017, 00:30:33
от Messir
ошибка настроек

Автор grigkh

Ответов: 11
Просмотров: 102
Последний ответ 22.10.2017, 22:51:05
от grigkh
ХЕЛП\! При попытке зайти в админку - обновляет главную форма входа отсутствует

Автор realabram

Ответов: 32
Просмотров: 578
Последний ответ 22.10.2017, 11:36:58
от SeBun