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

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

  • Живу я здесь
  • 2738
  • 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
Правовой уголок офицера Вооруженных Сил Российской Федерации
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вылезла ошибка на странице. (Parameter must be an array or an object...)

Автор fireman

Ответов: 1
Просмотров: 45
Последний ответ 23.02.2018, 13:25:29
от kern.USR
SM FAQ вылетает ошибка - Joomla

Автор ulka5659

Ответов: 0
Просмотров: 52
Последний ответ 22.02.2018, 19:17:04
от ulka5659
Ошибка при открытии тега/метки: Call to a member function get() on string

Автор Vadym.O

Ответов: 3
Просмотров: 108
Последний ответ 13.02.2018, 11:44:40
от Vadym.O
[Решено] Ошибка 500 вместо 404 на несуществующих страницах

Автор Comrade Steel

Ответов: 17
Просмотров: 175
Последний ответ 09.02.2018, 12:22:02
от Comrade Steel
Ошибка 500 после бэкапа

Автор Gbsyi

Ответов: 28
Просмотров: 737
Последний ответ 08.02.2018, 02:34:26
от yevrowl