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

DimkaJack

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Добрый день, собственно решение части проблемы уже найдено(если мыслю правильно). Программная регистрация:
Код
$user = new JUser;
$userData = array( 'name' => 'Вася Пупкин',
    'username' => 'VasyaPupkin',
    'password' => 'passord1234',
    'password2' => 'passord1234',
    'email' => 'vasyapupkin@ссылка вырезана, так как домен распространяет вирусы',
    'groups' => array( 2 )
);
$user->bind( $userData );
if ( $user->save() ) {
    echo 'Пользователь ' . $user->username . ' успешно зарегестрирован!';
}
но вот как заставить $user работать с внешней бд, на которой тоже Joomla
« Последнее редактирование: 06.08.2014, 18:39:24 от b2z »
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
*

DimkaJack

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Только если приконнектится к внешней базе данных и внести данные в таблицу #__users. Объект JUser тут Вам мало поможет.

То есть так?
Код
$query = " INSERT INTO `#__user` (`name`, `username`, `password`, `email`, `groups`) VALUES  ('name', 'phone', '".md5($pass)."', 'mail@mail.ru', '".array( 2 )."'";
$dbb->setQuery($query);

if ( $dbb->query() ) {
    echo "good";
}
Если да, то почему-то не работает
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Вы пытаетесь сделать мост при регистрации?
Как выше написали вам, объект JUser вам не поможет, он работает с текущей базой..
Но можно попробовать унаследоваться от класса JUser и сделать так:
Код: php
class RemoteUser extends JUser
{
public static function getTable( $type = null, $prefix = 'JTable' )
{
$db = JDatabase::getInstance(
array(
'driver' => 'mysqli',
'host' => 'Имя хоста',
'user' => 'Имя юзера',
'password' => 'Пароль',
'database' => 'Название базы данных',
'prefix' => 'префикс таблицы'
)
);
return new JTableUser( $db );
}
}


$user = new RemoteUser();
$userData = array( 'name' => 'Вася Пупкин',
'username' => 'VasyaPupkin',
'password' => 'passord1234',
'password2' => 'passord1234',
'email' => 'vasyapupkin@ссылка вырезана, так как домен распространяет вирусы',
'groups' => array( 2 )
);
$user->bind( $userData );
if ( $user->save() ) {
echo 'Пользователь ' . $user->username . ' успешно зарегестрирован!';
}

p.s. не уверен что будет работать, просто теория...
*

DimkaJack

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Вы пытаетесь сделать мост при регистрации?

Да, при отправке формы на вспомогательном сайте происходит регистрация на основном.

Как выше написали вам, объект JUser вам не поможет, он работает с текущей базой..
Но можно попробовать унаследоваться от класса JUser и сделать так:

p.s. не уверен что будет работать, просто теория...

выдает ошибку Fatal error: Class 'JTableUser' not found in,
может изза того что я прописал новый класс в модель компонента, пробовал jimport('joomla.database.table.user'); ошибка та же.
« Последнее редактирование: 06.08.2014, 18:34:17 от DimkaJack »
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
попробуйте просто подключить класс JTableUser через reguire_once JPATH_SITE . 'путь к файлу';
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
можно еще так попробовать:
Код: php
JTable::getInstance('user', 'JTable' , array('dbo' => $db));

Самому интересно будет ли работать удаленная регистрация)
интернет-блог: http://websiteprog.ru
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
можно еще так попробовать:
Код: php
JTable::getInstance('user', 'JTable' , array('dbo' => $db));

Самому интересно будет ли работать удаленная регистрация)
По логике должна, но могут быть подводные камни..
*

DimkaJack

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
можно еще так попробовать:
Код: php
JTable::getInstance('user', 'JTable' , array('dbo' => $db));

Самому интересно будет ли работать удаленная регистрация)

Возможно я неправильно использовал, но у меня не прокатило.

попробуйте просто подключить класс JTableUser через reguire_once JPATH_SITE . 'путь к файлу';

Да все сработало при require_once JPATH_SITE . '/libraries/joomla/database/table/user.php';
Огромное спасибо!  :D
Тему можно закрывать)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] title category

Автор spirit1086

Ответов: 4
Просмотров: 1250
Последний ответ 17.08.2015, 16:42:04
от spirit1086
[Решено] Вставить визуальный редактор в модуль

Автор mat.konstantin

Ответов: 6
Просмотров: 3743
Последний ответ 10.03.2014, 14:33:05
от mat.konstantin
Программная авторизация без отметки времени входа на сайт

Автор Aeliot

Ответов: 2
Просмотров: 2086
Последний ответ 14.01.2014, 09:40:57
от Aeliot
[Решено] Как разобрать JURI::current() при помощи route.php?

Автор platonische

Ответов: 17
Просмотров: 3072
Последний ответ 10.01.2014, 20:55:19
от Arkadiy
[Решено] Собственная валидация в формах FrontEnd

Автор platonische

Ответов: 1
Просмотров: 1014
Последний ответ 01.08.2013, 13:16:23
от platonische