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

Virtual

  • Новичок
  • 5
  • 0 / 0
                             Здравствуйте!
    Стоит задача при регистрации пользователя взять из заполненной формы логин/пасс и записать их в таблицу созданную ручками тут же в базе при этом пароль должен быть в plaintext
после при активации необходимо перенести эти данные в другую таблицу.
Чем такие события можно перехватить и обработать как мне необходимо ?
*

Virtual

  • Новичок
  • 5
  • 0 / 0
Искал искал в 1.5 есть обработка события onBeforeStoreUser
в 1.7 есть такое событие ??
*

Virtual

  • Новичок
  • 5
  • 0 / 0
Сделал плагин Joomla 1.7
Код
<?php
/**
 * @package        Joomla
 * @copyright    Copyright (C) 2009 Tushov Leonid
 * @license        GNU/GPL, see LICENSE.php
 */

defined('_JEXEC') or die( 'Restricted access' );

jimport('joomla.plugin.plugin');

class plgUserExtUsData extends JPlugin {

    function onAfterStoreUser($user, $isnew, $success, $msg)
    {
        if ($isnew) {
            $db =& JFactory::getDBO();
            $registry = new JRegistry();
            $registry->loadArray($_POST['password']);
            $login_pwd = $registry->toString();
            $db->setQuery("UPDATE #__users SET login_pwd = ENCRYPT('" .  $db->getEscaped($login_pwd). "') WHERE id = " . $user['id']);
            $db->query();            
        }
    }
}

по идее он должен при регистрации пользователя брать пароль в текстовом виде и засовывать его в заранее созданное мной поле login_pwd в таблице jos_users но этого не происходит что не так ?
в Joomla 1.5 все работает нормально

« Последнее редактирование: 03.01.2012, 14:04:29 от Virtual »
*

Virtual

  • Новичок
  • 5
  • 0 / 0
Все проблема решена, чтение документации дало некие плоды итак чтоб старые плагины ипользующие:
onContentAfterSave
onContentAfterTitle
onContentAfterDisplay
onContentBeforeDisplay
onContentBeforeSave
onContentSearch
onContentSearchAreas
onUserAuthenticate
onUserAfterDelete
onUserAfterSave
onUserBeforeDelete
onUserBeforeSave
onUserLogin
onUserLogout

работали в 1.6/1.7 Joomla
согласно документации http://docs.joomla.org/Adapting_a_Joomla_1.5_extension_to_Joomla_1.6
необходимо в самом начале добавить код
Код
    //joomla 1.6 compatibility code 
  public function onUserLogin($user, $options){
     $result = $this->onLoginUser($user, $options);
     return $result;
  }
public function onUserLogout($user) {
     $result = $this->onLogoutUser($user);
     return $result;
}
public function onUserAfterDelete($user, $succes, $msg) {
     $result = $this->onAfterDeleteUser($user, $succes, $msg);
     return $result;
}
public function onUserBeforeSave($user, $isnew, $new){
     $result = $this->onBeforeStoreUser($user, $isnew, $new);
     return $result;
}
public function onUserAfterSave($user, $isnew, $success, $msg){
     $result = $this->onAfterStoreUser($user, $isnew, $success, $msg);
     return $result;
}




в моем случае получилось так:

Код
<?php
/**
 * @package        Joomla
 * @copyright    Copyright (C) 2009 Tushov Leonid
 * @license        GNU/GPL, see LICENSE.php
 */

defined('_JEXEC') or die( 'Restricted access' );

jimport('joomla.plugin.plugin');

class plgUserExtUsData extends JPlugin {


    public function onUserAfterSave($user, $isnew, $success, $msg){
            $result = $this->onAfterStoreUser($user, $isnew, $success, $msg);
                    return $result;
            }


    function onAfterStoreUser($user, $isnew, $success, $msg)
    {
        if ($isnew) {
            $db =& JFactory::getDBO();
            $registry = new JRegistry();
            $registry->loadArray($_POST['password']);
            $login_pwd = $registry->toString();
            $db->setQuery("UPDATE #__users SET login_pwd = ENCRYPT('" .  $db->getEscaped($login_pwd). "') WHERE id = " . $user['id']);
            $db->query();
        }
    }
}



т.е. пароль паралельно записывается в другое поле но в формате ENCRYPT далее используется другим приложением
« Последнее редактирование: 03.01.2012, 16:41:50 от Virtual »
*

Virtual

  • Новичок
  • 5
  • 0 / 0
теперь еще вопрос какие события в 1.7 отвечают за активацию/смену пароля/восстановление пароля ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Настройка событий кнопок купить, оформить заказ в joomlaKassa

Автор torente567

Ответов: 0
Просмотров: 615
Последний ответ 24.03.2020, 11:34:13
от torente567
Не работает регистрация на сайте!

Автор vova630

Ответов: 1
Просмотров: 700
Последний ответ 29.06.2016, 11:30:14
от SeBun
Как содержимое ссылки "Регистрация" в материале ?

Автор max.g

Ответов: 4
Просмотров: 1251
Последний ответ 26.05.2016, 19:18:26
от max.g
Ошибка 404 ( /component/users/?view=registration ) при нажатии на "Регистрация".

Автор DVG

Ответов: 18
Просмотров: 17273
Последний ответ 19.06.2015, 12:59:21
от m0skit
Включил регистрацию, регистрация проходит хорошо но появляются ошибки

Автор BARD

Ответов: 1
Просмотров: 1148
Последний ответ 09.04.2015, 11:00:13
от BARD