Новости Joomla

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

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Здравствуйте!
Столкнулся с проблемой регистрации через обычный файл, а именно мне необходимо что бы при вызове моей функции с передачей логина и емайла вызывалась регистрация пользователя.

напрямую к контроллеру обратиться не могу или просто не понимаю как.

подойдут любые варианты)

компонент регистрации обычный com_users

*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
или просто дайте синтаксис обращения, спасибо
*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
ребят ну хоть напишите или перенаправьте... как стандартными средствами PHP вызвать регистрацию пользователя?
*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
спасибо за ответ, а есть ли все таки возможность как то передать емаил и логин...
нужно что бы этапы регистрации были письмо с просьбой перейти на страницу ввести код регистрации(я могу создать именно пользователя в бд и он по идее будет но надо что бы было по этапно)

вот в чем косяк!(

выкладывайте любые идеи... как угодно (просто у меня уже фантазия закончилась)

если нужно затронуть компонент то пишите смело

спасибо!
*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
ответьте пожалуйста
*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
мужики помогите начальник завтра табуреткой по голове бить будет....
за мужскую солидарность! хотя бы ....
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
уже на сайте ответил но на всякий случай напишу и тут:
Код: php
$user = new JUser;
$userData = array( 'name' => 'Вася Пупкин',
    'username' => 'VasyaPupkin',
    'password' => 'passord1234',
    'password2' => 'passord1234',
    'email' => 'vasyapupkin@ссылка вырезана, так как домен распространяет вирусы',
    'activate' => JApplication::getHash(JUserHelper::genRandomPassword())
    'groups' => array( 2 )
);
$user->bind( $userData );
if ( $user->save() ) {
    $config = JFactory::getConfig();
    $mailer = JFactory::getMailer();
    $mailer->IsHTML( true );
    $mailer->setSender( array( $config->get( 'mailfrom' ), $config->get( 'fromname' ) ) );
    $mailer->addRecipient( $data['email'] );
    $mailer->setSubject( 'Активация на сайте' );
    $body = 'Для активации учетной записи перейдите по <a href="'.JUri::base(). JRoute::_('index.php?option=com_users&task=registration.activate&token=' . $userData['activation'], false).'">ссылке</a>';
    $mailer->setBody( $body );
    $mailer->send();

}

По логике так, но не уверен что все правильно
*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
я думаю что все это то что нужно, только вот у меня Joomla 3 и файл лежит в корне сайта с этим скриптом....
не могли бы вы подсказать как подключить все функции Joomla 3 что бы методы работали джумловские?
тоесть все классы которые используют JApplication JFactory и т.д.
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
я думаю что все это то что нужно, только вот у меня Joomla 3 и файл лежит в корне сайта с этим скриптом....
не могли бы вы подсказать как подключить все функции Joomla 3 что бы методы работали джумловские?
Код: php
define('_JEXEC', 1);
define('JPATH_BASE', dirname(__FILE__). '/../..' );
define('DS', DIRECTORY_SEPARATOR);
require_once(JPATH_BASE.DS.'includes'.DS.'defines.php');
require_once(JPATH_BASE.DS.'includes'.DS.'framework.php');
JFactory::getApplication('site')->initialise();
*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
спасибо огромное за ваш труд!

но почему то белая страницы... письмо не приходит на почту... вставлял в разные места эхо выводиться только если все удалить и оставить это эхо с надписью

да же не знаю как тестировать....



*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
define('_JEXEC', 1);

define('JPATH_BASE', dirname(__FILE__). '/../..' );
define('DS', DIRECTORY_SEPARATOR);

require_once(JPATH_BASE.DS.'includes'.DS.'defines.php');
require_once(JPATH_BASE.DS.'includes'.DS.'framework.php');
JFactory::getApplication('site')->initialise();

$user = new JUser;
$userData = array( 'name' => 'Вася Пупкин',
    'username' => 'VasyaPupkin',
    'password' => 'passord1234',
    'password2' => 'passord1234',
    'email' => 'igor456727@yandex.ru',
    'activate' => JApplication::getHash(JUserHelper::genRandomPassword())
    'groups' => array( 2 )
);
echo 'ssssss';
$user->bind( $userData );
if ( $user->save() ) {
    $config = JFactory::getConfig();
    $mailer = JFactory::getMailer();
    $mailer->IsHTML( true );
    $mailer->setSender( array( $config->get( 'mailfrom' ), $config->get( 'fromname' ) ) );
    $mailer->addRecipient( $data['email'] );
    $mailer->setSubject( 'Активация на сайте' );
    $body = 'Для активации учетной записи перейдите по <a href="'.JUri::base(). JRoute::_('index.php?option=com_users&task=registration.activate&token=' . $userData['activation'], false).'">ссылке</a>';
    $mailer->setBody( $body );
    $mailer->send();
 
}
*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
нашел ошибку 'activate' => JApplication::getHash(JUserHelper::genRandomPassword())

у кого нить есть идеи как и что тут не так ?

тесты делаю на http://78.47.152.235/test.php
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
нашел ошибку 'activate' => JApplication::getHash(JUserHelper::genRandomPassword())

у кого нить есть идеи как и что тут не так ?

тесты делаю на http://78.47.152.235/test.php
Полный код ошибки напишите, ибо мы не телепаты а по указанному адресу ничего не открывается
*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
посмотрите пожалуйста строницу http://78.47.152.235/test.php говорит что sql ломаный. ID пустой... его надо передавать ?

ошибка
1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3 SQL=SELECT `id`,`title` FROM `j_usergroups` WHERE `id` =
*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Полный код ошибки напишите, ибо мы не телепаты а по указанному адресу ничего не открывается
да вот именно что ничего нет) белый экран в случае ошибки а сейчас поставил в активайт восемь едениц и пишет sql ошибку

1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3 SQL=SELECT `id`,`title` FROM `j_usergroups` WHERE `id` =

это метод  $user->save() или JUser-save()

пока не трогую скрипт на этой странице http://78.47.152.235/test.php жду вашего ответа
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
пока не трогую скрипт на этой странице http://78.47.152.235/test.php жду вашего ответа
По указанной вами ссылки ничего не открывается! Пишет страница не найдена!
Код: php
$userData = array( 'name' => 'Вася Пупкин',
    'username' => 'VasyaPupkin',
    'password' => 'passord1234',
    'password2' => 'passord1234',
    'email' => 'igor456727@yandex.ru',
    'activate' => JApplication::getHash(JUserHelper::genRandomPassword()),
    'groups' => array( 2 )
);
тут ошибка не хватает запятой, перебейте массив на указанный!
*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
да дело было в запитой (
но условие не выполняется  $user->save()
*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
метод $user->save() возвращает false
*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
разобрался, все работает только пользователя активирует сразу после выполнения скрипта без почты и т.д.
*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
$config = JFactory::getConfig();
    $mailer = JFactory::getMailer();
    $mailer->IsHTML( true );
    $mailer->setSender( array( $config->get( 'mailfrom' ), $config->get( 'fromname' ) ) );
    $mailer->addRecipient( $data['email'] );
    $mailer->setSubject( 'Активация на сайте' );
    $body = 'Для активации учетной записи перейдите по <a href="'.JUri::base(). JRoute::_('index.php?option=com_users&task=registration.activate&token=' . $userData['activation'], false).'">ссылке</a>';
    $mailer->setBody( $body );
    $mailer->send();


каковы причины обхода этого скрипта? почему пользователь сразу активен без подтверждения ?

вопрос открытый
*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
скажите а есть ли способ запустить форму регистрации программно (послать запрос или еще что то ? )

проблема в том что в файле регистрации много чего прикручено
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
скажите а есть ли способ запустить форму регистрации программно (послать запрос или еще что то ? )

проблема в том что в файле регистрации много чего прикручено
Зачем если можно программно зарегить юзера!
Просто надо было изучить немного либо таблицу #__users либо код что ли посмотреть тут: /components/com_users/models/registration.php
и понять что для того что бы юзер не был активен сразу сделать:
Код: php
$userData = array( 'name' => 'Вася Пупкин',
    'username' => 'VasyaPupkin',
    'password' => 'passord1234',
    'password2' => 'passord1234',
    'email' => 'igor456727@yandex.ru',
    'activate' => JApplication::getHash(JUserHelper::genRandomPassword()),
    'groups' => array( 2 ),
    'block' => 1
);
*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
пишет что токен Неправильный, при переходе по ссылке

*

igor_456727

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
код подьверждения не найден
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Проверьте или в ссылке то что в token равно тому что в базе
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как создать модуль с использованием php?

Автор nartan

Ответов: 23
Просмотров: 3514
Последний ответ 11.08.2017, 10:54:08
от Никoлaй
Узнать название группы залогинившегося\нет пользователя Joomla 3.5

Автор paladdin

Ответов: 4
Просмотров: 1120
Последний ответ 29.03.2016, 21:43:41
от b2z
Вывод данных из MySQL в зависимости от авторизованного пользователя

Автор lopata12

Ответов: 6
Просмотров: 1416
Последний ответ 21.02.2015, 21:09:33
от lopata12
Сложная регистрация

Автор alexey_bar

Ответов: 15
Просмотров: 1538
Последний ответ 12.02.2015, 18:46:51
от alexey_bar
Чтение данных пользователя

Автор motokraft

Ответов: 4
Просмотров: 915
Последний ответ 16.06.2014, 21:54:02
от Fedor Vlasenko