Ошибка при попытке провести регмстрацию

  • 3 Ответов
  • 368 Просмотров

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

Всем добрый день.

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

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, 22:12:28 от murancha »
Правовой уголок офицера Вооруженных Сил Российской Федерации

*

Оффлайн Septdir

  • *******
  • 2096
  • [+]106 / [-]0
  • JoomlaZen
    • Просмотр профиля
    • Игорь «Septdir» Бердичевский
у вас где-то второй раз объявляется getAttr(), обычно это бывает из-за include или require
P.S Уберите код к bbcode и под спойлер
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
________
Мои Контакты: Сайт | skype:septdir | Telegram | VK | Facebook | Twiter | Все контакты

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

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

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

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