Sammerset
Постоялец
- Регистрация
- 14 Сен 2008
- Сообщения
- 134
- Реакции
- 10
- Автор темы
- #1
Ребята! Подскажите если кто знает.
У меня возникла проблема - я установил joomla 1.5.13 и phpBB3 3.0.5
В общем, накинул мост на них, по указаниям на следующей странице - Для просмотра ссылки Войдиили Зарегистрируйся.
Всё работает, всё классно.
Но теперь я захотел установить чат (компонент) Yos Ajax Chat 1.0. Он встал превосходно, всё классно. Но при залогинивании может авторизоваться только админ и пользователи, которые регались в джуме до установки моста.
Я решил узнать в чём проблема - а проблема в том, что мост (а именно плагин)при регистрации прописывает в базе только password_clear - а это равнозначно, что ничего не прописывает. Пустое место. Привожу эту проблему:
_______________________________________________________________
____________________________________________________________
Переменную $user['password_clear'] можно сменить на $user['password'] - и тогда в базу будет прописываться не прикрытый ничем пароль, указанный пользователем при регистрации.
Если бы это была джума 1.0.15 - тогда можно было-бы просто сделать так - md5 ($user['password']) - и всё было бы гуд.
В базу пойдёт хэш. И компонент согласован.
Проблема в джуме 1.5.13 - там не просто один мдэшник стоит.
Вопрос, господа знатоки - как зашифровать $user['password'] точно так же, как и при регистрации? (Получить нормальный хэш?)
Как, имея просто открытый пароль, закинуть его в хеш ? (joomla 1.5.13 only!!!bc:
У меня возникла проблема - я установил joomla 1.5.13 и phpBB3 3.0.5
В общем, накинул мост на них, по указаниям на следующей странице - Для просмотра ссылки Войди
Всё работает, всё классно.
Но теперь я захотел установить чат (компонент) Yos Ajax Chat 1.0. Он встал превосходно, всё классно. Но при залогинивании может авторизоваться только админ и пользователи, которые регались в джуме до установки моста.
Я решил узнать в чём проблема - а проблема в том, что мост (а именно плагин)при регистрации прописывает в базе только password_clear - а это равнозначно, что ничего не прописывает. Пустое место. Привожу эту проблему:
_______________________________________________________________
PHP:
/**
* This method will return a user object
*
* If options['autoregister'] is true, if the user doesn't exist yet he will be created
*
* @access public
* @param array holds the user data
* @param array array holding options (remember, autoregister, group)
* @return object A JUser object
* @since 1.5
*/
function &_getUser($user, $options = array())
{
$instance = new JUser();
if($id = intval(JUserHelper::getUserId($user['username']))) {
$instance->load($id);
return $instance;
}
//TODO : move this out of the plugin
jimport('joomla.application.component.helper');
$config = &JComponentHelper::getParams( 'com_users' );
$usertype = $config->get( 'new_usertype', 'Registered' );
$acl =& JFactory::getACL();
$instance->set( 'id' , 0 );
$instance->set( 'name' , $user['fullname'] );
$instance->set( 'username' , $user['username'] );
$instance->set( 'password_clear' , $user['password_clear'] );
$instance->set( 'email' , $user['email'] ); // Result should contain an email (check)
$instance->set( 'gid' , $acl->get_group_id( '', $usertype));
$instance->set( 'usertype' , $usertype );
//If autoregister is set let's register the user
$autoregister = isset($options['autoregister']) ? $options['autoregister'] : $this->params->get('autoregister', 1);
if($autoregister)
{
if(!$instance->save()) {
return JError::raiseWarning('SOME_ERROR_CODE', $instance->getError());
}
} else {
// No existing user and autoregister off, this is a temporary user.
$instance->set( 'tmp_user', true );
}
return $instance;
}
Переменную $user['password_clear'] можно сменить на $user['password'] - и тогда в базу будет прописываться не прикрытый ничем пароль, указанный пользователем при регистрации.
Если бы это была джума 1.0.15 - тогда можно было-бы просто сделать так - md5 ($user['password']) - и всё было бы гуд.
В базу пойдёт хэш. И компонент согласован.
Проблема в джуме 1.5.13 - там не просто один мдэшник стоит.
Вопрос, господа знатоки - как зашифровать $user['password'] точно так же, как и при регистрации? (Получить нормальный хэш?)
Как, имея просто открытый пароль, закинуть его в хеш ? (joomla 1.5.13 only!!!bc: