Всем добрый день.
Срочно нужно решить проблему с регистрацией на сайт, дело в том что при попытке зарегистрироваться новому пользователю выходит ошибка
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
// 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')