Основной курс по Joomla
0 Пользователей и 1 Гость просматривают эту тему.
  • 29 Ответов
  • 21948 Просмотров
*

ecolora

  • Живу я здесь
  • ******
  • 1410
  • 168
  • творец
Попробуйте сгенерировать новый пароль через ссылку "Забыли пароль"?

Если не получается, то ниже решение, которое заключается в изменении одного файла Вашего шаблона.

Решение!

Эта проблема и её решение подробно описано тут:
http://docs.joomla.org/Confirm_password_in_1.5.16

Как и оказалось в действительности, в моём шаблоне в файле templates/[шаблон]/html/com_user/reset/confirm.php

отсутствовали строчки (выделил в коде), когда их добавил, код принял вид:

Код
<div class="user">

<h1 class="pagetitle">
<?php echo JText::_('Confirm your Account'); ?>
</h1>

<p>
<?php echo JText::_('RESET_PASSWORD_CONFIRM_DESCRIPTION'); ?>
</p>

<form action="<?php echo JRoute::_( 'index.php?option=com_user&amp;task=confirmreset' ); ?>" method="post" class="josForm form-validate">
<fieldset>
<legend><?php echo JText::_('Confirm your Account'); ?></legend>

-------------Вставленный код (эту строчку с надписью удалите когда будете вставлять!) --------------------
<div>
                        <label for="username" class="hasTip" title="<?php echo JText::_('RESET_PASSWORD_USERNAME_TIP_TITLE'); ?>::<?php echo JText::_('RESET_PASSWORD_USERNAME_TIP_TEXT'); ?>"><?php echo JText::_('User Name'); ?>:</label>
                        <input id="username" name="username" type="text" class="required" size="36" />
                </div>
-------------Вставленный код (эту строчку с надписью удалите когда будете вставлять!) --------------------

<div>
<label for="token" class="hasTip" title="<?php echo JText::_('RESET_PASSWORD_TOKEN_TIP_TITLE'); ?>::<?php echo JText::_('RESET_PASSWORD_TOKEN_TIP_TEXT'); ?>"><?php echo JText::_('Token'); ?>:</label>
<input id="token" name="token" type="text" class="required" size="36" />
</div>
<div>
<button type="submit"><?php echo JText::_('Submit'); ?></button>
</div>

</fieldset>
<?php echo JHTML::_( 'form.token' ); ?>
</form>

</div>

И сразу после этого на форме восстановления пароля появилось второе поле для ввода имени пользователя (раньше было только для ввода кода).
« Последнее редактирование: 16.07.2010, 07:30:18 от ecolora »
Научу зарабатывать на сайте ->>

Давайте делать Интернет вместе!
*

smart

  • Администратор
  • *******
  • 6846
  • 1297
Мда... что-то у них как-то не ладится работа... второй релиз за 3 дня, и опять такой суровый промах...
*

GDV

  • Тестеры
  • *****
  • 1986
  • 196
Мдя... Я вот вчера поставил тоже 1.5.17. А сижу читаю и начинаю жалеть. crazy! Чета много глюков у людей вылезло. Хотя у меня не наблюдается такие глюки. Писали что там проблемы с картинками в статьях. Проверял у себя. Нормально. Ща буду юзать генерацию пароля. Правда у меня комунити буилдер.
p.s. Теперь вод ищу описание траблов и тестю на своем. :'(
Убедительная просьба не писать в ЛС. Для решения Ваших проблем есть форум.
*

ecolora

  • Живу я здесь
  • ******
  • 1410
  • 168
  • творец
Это ещё цветочки... я сегодня обнаружил СУПЕРБАГ во всех версиях Joomla. :-)
Подробнее по ссылке:
http://joomlaforum.ru/index.php/topic,112127
Научу зарабатывать на сайте ->>

Давайте делать Интернет вместе!
*

GDV

  • Тестеры
  • *****
  • 1986
  • 196
Хух пронесло. Пароли генерирует. Пошел дольше искать баги.
Может ну его - это обновление. Сделать откат до стабильной версии.
Как я понимаю выпускают обновления этой линейки потому что досих пор не могут решить глючность 1.6?
Убедительная просьба не писать в ЛС. Для решения Ваших проблем есть форум.
*

wfedin

  • Живу я здесь
  • ******
  • 1290
  • 102
*

fltwo

  • Новичок
  • *
  • 1
  • 0
Обновился сразу с 1,5,15 до 1,5,17.
CB не установлен, но есть VirtueMart.

Баг не подтвержден.
(Пришло письмо с кодом актив. - ввел код - ввел логин - ввел новый пароль - авторизовался - все ok)
*

smart

  • Администратор
  • *******
  • 6846
  • 1297
Что интересно, сначала у меня баг проявлялся (но там было обновление), но на чистой установке я повторить не смог, после чего попробовал еще на паре сайтов обновить - там тоже все работает. Почитал официальный форум - там у какой-то части все работает, у какой-то нет... какие-то чудеса... ну ведь не бывает осетрина второй свежести, тут ведь по идее должно либо работать у всех, либо не работать.
*

smart

  • Администратор
  • *******
  • 6846
  • 1297
Забавно. У меня вирт стоит, но пароль не могу сгенерировать... может дело не только в сборке, но и в версии php? apache? Я думаю, если проблема возникает с некоторой долей вероятности, о ней стоит хотя бы упомянуть и предложить решение.
я изначально эту проблему разработчикам озвучил, они не смогли ее повторить, я решил пошагово воспроизвести, и у меня тоже не получилось
*

GDV

  • Тестеры
  • *****
  • 1986
  • 196
Вот и у меня глюк обнаружился. Притом очень сильный. Не могу делать перелинковку в статьях. В редакторе JCE не активна кнопка ссылок. Тупо в простом редакторе вставляю ссылки. Откатываюсь до 1.5.15 :(
Убедительная просьба не писать в ЛС. Для решения Ваших проблем есть форум.
*

jafff

  • Осваиваюсь на форуме
  • ***
  • 30
  • 5
Скажите пожалуйста как запретить смену пароля супер юзера? а то заходят на сайт и сбрасывают мне пароль, не ломают а тупо делают забыл пароль, соответственно постоянно приходится менять.
*

PaLyCH

  • Живу я здесь
  • ******
  • 973
  • 127
  • Архитектор сайтов
Попробуйте сгенерировать новый пароль через ссылку "Забыли пароль"?

Если не получается, то ниже решение, которое заключается в изменении одного файла Вашего шаблона.

Решение!

........

И сразу после этого на форме восстановления пароля появилось второе поле для ввода имени пользователя (раньше было только для ввода кода).

Это не совсем выход, потому что в присылаемом письме нет "Имя/Логин", а пользователь мог и его забыть
*

glebov

  • Осваиваюсь на форуме
  • ***
  • 60
  • -1
У меня таже беда только что выяснилась на версии "Joomla! 1.5.20 Stable [ senu takaa ] 18-July-2010"
Шаблон "JV Kentro"

Используя вышеуказанный код, проблему удалось решить.

Только у меня шаблон построен не на DIV, а на  табличных тэгах.
И сообщения у меня берутся из языкового файла Joomla.

Мой код такой:
Код
<?php // @version $Id: confirm.php 11786 2009-04-24 17:48:08Z kdevine $
defined('_JEXEC') or die('Restricted access');
?>

<div class="componentheading">
<?php echo JText::_('Confirm your Account'); ?>
</div>

<form action="<?php echo JRoute::_( 'index.php?option=com_user&task=confirmreset' ); ?>" method="post" class="josForm form-validate">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="contentpane">
<tr>
<td colspan="2" height="40">
<p><?php echo JText::_('RESET_PASSWORD_CONFIRM_DESCRIPTION'); ?></p>
</td>
</tr>

<tr>
<td height="40">
                        <label for="username" class="hasTip" title="<?php echo JText::_('RESET_PASSWORD_USERNAME_TIP_TITLE'); ?>::<?php echo JText::_('RESET_PASSWORD_USERNAME_TIP_TEXT'); ?>"><?php echo JText::_('User Name'); ?>:</label>
                        <input id="username" name="username" type="text" class="required" size="36" />
</td>
                </tr>
<tr>
<td height="40">
<label for="token" class="hasTip" title="<?php echo JText::_('RESET_PASSWORD_TOKEN_TIP_TITLE'); ?>::<?php echo JText::_('RESET_PASSWORD_TOKEN_TIP_TEXT'); ?>"><?php echo JText::_('Token'); ?>:</label>

<input id="token" name="token" type="text" class="required" size="36" />
</td>
</tr>
</table>

<button type="submit" class="validate"><?php echo JText::_('Submit'); ?></button>
<?php echo JHTML::_( 'form.token' ); ?>
</form>

*

kronda

  • Новичок
  • *
  • 3
  • 0
Гигантское спасибо!
Секисама закончилась, теперь все работает.
Идем дальше баги вылавливать и VirtueMart переводить на русский)
*

ilgizon87

  • Осваиваюсь на форуме
  • ***
  • 134
  • 11
в факе сказано что если в папке templates нет templates/[шаблон]/html/com_user/reset/confirm.php,что эта статья не для вас.Куда же эти строки добавить.Шаблон joomlart
*

ilgizon87

  • Осваиваюсь на форуме
  • ***
  • 134
  • 11
я это сделал епта./www/ваш_домен.ru/plugins/system/jat3/base-themes/default/html/com_user/reset/confirm.php-открываем его.
вставляем туда
Код
<tr>
<td height="40">
<label for="username" class="hasTip"
title="<?php echo JText::_('RESET_PASSWORD_USERNAME_TIP_TITLE'); ?>
::<?php echo JText::_('RESET_PASSWORD_USERNAME_TIP_TEXT'); ?>">
<?php echo JText::_('User Name'); ?>:
</label>
</td>
<td>
<input id="username" name="username" type="text" class="required" size="36" />
</td>
</tr>
в итоге получается
Код
<?php


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

<h1 class="componentheading">
<?php echo JText::_('Confirm your Account'); ?>
</h1>

<form action="<?php echo JRoute::_( 'index.php?option=com_user&task=confirmreset' ); ?>" method="post" class="josForm form-validate">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="contentpane">
<tr>
<td colspan="2" height="40">
<p><?php echo JText::_('RESET_PASSWORD_CONFIRM_DESCRIPTION'); ?></p>
</td>
</tr>
//а вот и наш кусочек-------------------------------------------------------------------------------------------------------------------
<tr>
<td height="40">
<label for="username" class="hasTip"
title="<?php echo JText::_('RESET_PASSWORD_USERNAME_TIP_TITLE'); ?>
::<?php echo JText::_('RESET_PASSWORD_USERNAME_TIP_TEXT'); ?>">
<?php echo JText::_('User Name'); ?>:
</label>
</td>
<td>
<input id="username" name="username" type="text" class="required" size="36" />
</td>
</tr>
//конец:)--------------------------------------------------------------------------------------------------------------------------------
<tr>
<td height="40">
<label for="token" class="hasTip" title="<?php echo JText::_('RESET_PASSWORD_TOKEN_TIP_TITLE'); ?>::<?php echo JText::_('RESET_PASSWORD_TOKEN_TIP_TEXT'); ?>"><?php echo JText::_('Token'); ?>:</label>
</td>
<td>
<input id="token" name="token" type="text" class="required" size="36" />
</td>
</tr>
</table>

<button type="submit" class="validate"><?php echo JText::_('Submit'); ?></button>
<?php echo JHTML::_( 'form.token' ); ?>
</form>
Правда веселье не закончилось. пароль норм сбрасывается,но после сброса кидает на страницу со стандартной авторизации.нужно полазить в файлах com_user и ссылки поменять,допустим вместо ссылки поставить index.php.правильно ли это?
*

ilgizon87

  • Осваиваюсь на форуме
  • ***
  • 134
  • 11
Код
// Reset the password
if ($model->completeReset($password1, $password2) === false)
{
$message = JText::sprintf('PASSWORD_RESET_FAILED', $model->getError());
$this->setRedirect('index.php?option=com_user&view=reset&layout=complete', $message);
return false;
}

$message = JText::_('PASSWORD_RESET_SUCCESS');
$this->setRedirect('index.php', $message);
}
в файле www/ваш_доменl.ru/components/com_user/controller.php в строке 447(у меня,$this->setRedirect('index.php', $message);) изменил ссылку 'index.php?option=com_user&view=login' на 'index.php' теперь после сброса перенаправляет на главную ,системное сообщение то же выводится.
*

Vadoo

  • Захожу иногда
  • **
  • 11
  • 0
Все решение не помогли. все равно пишет - Сбой подтверждения запроса сброса пароля по причине: неправильный символ (знак). Я так понял вы предлагаете добавить необходимые строки. Но они у меня есть. Пытался удалить эту строку - Имя/Логин, что бы просто вставлять код. Тоже самое. Помогайте.
*

Baobab

  • Новичок
  • *
  • 8
  • 0
Не удается решить проблему на Joomla 1.5.23 (обновлена ранее 1.5.18 -> 1.5.22 -> 1.5.23):

"Сбой подтверждения запроса сброса пароля по причине: неправильный символ (знак).."

--- 09.06.2011, 00:33:48 ---
Проблема решена своими силами.

Крылась она в файле /components/com_user/controller.php
Его как оказалось просто не обновили раньше при проведении обновлений патчами Joomla (до 1.5.22 включительно).
---------------------------------

Вот конфигурация моего сервера и Joomla (обобщенная):
Код
PHP/5.2.10
MySQL 5.1.41-log (сервер)/5.1.36(клиент) - MySQL-кодировка: UTF-8

Joomla 1.5.23 (обновлена: 1.5.18 -> 1.5.22 -> 1.5.23)
Включить SEO = Да
Использовать mod_rewrite = Да
GZIP-сжатие страниц = Нет
Включить SSL = Нет
Префикс базы данных = jos_
Авторизация = Joomla plugin
Язык = ru-RU
Шаблон свой (в нем нет /html/com_user/reset/confirm.php)

Мои исследования показали, что проблема осталась в той же функции, которую фиксили из-за данной проблемы в Joomla 1.5.23:
(файл reset.php)

Код
function confirmReset($token, $username)
...
// и именно в этой её части:
$db = &JFactory::getDBO();
$db->setQuery('SELECT id, activation FROM #__users WHERE block = 0 AND username = '.$db->Quote($username));

$row = $db->loadObject();

// Verify the token
if (!$row)
{
$this->setError(JText::_('INVALID_TOKEN'));
return false;
}

Получается, что $db->loadObject(); не возвращает ничего, поэтому и фэйлится именно тут.
Я даже пробовал конкретного пользователя подставлять в запрос (того, которому пытался сбросить пароль):

$db->setQuery( 'SELECT id, activation FROM #__users WHERE block = 0 AND username = test1 );
или
$db->setQuery( "SELECT id, activation FROM #__users WHERE block = \'0\' AND username = \'test1\' " );

Но все равно фэйлится на проверке if (!$row)

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

Проблема решена своими силами.
« Последнее редактирование: 09.06.2011, 02:43:05 от Baobab »
*

kiddywear

  • Осваиваюсь на форуме
  • ***
  • 33
  • 0
Не удается решить проблему на Joomla 1.5.23 (обновлена ранее 1.5.18 -> 1.5.22 -> 1.5.23):

"Сбой подтверждения запроса сброса пароля по причине: неправильный символ (знак).."

--- 09.06.2011, 00:33:48 ---
Проблема решена своими силами.

Крылась она в файле /components/com_user/controller.php
Его как оказалось просто не обновили раньше при проведении обновлений патчами Joomla (до 1.5.22 включительно).
---------------------------------

Вот конфигурация моего сервера и Joomla (обобщенная):
Код
PHP/5.2.10
MySQL 5.1.41-log (сервер)/5.1.36(клиент) - MySQL-кодировка: UTF-8

Joomla 1.5.23 (обновлена: 1.5.18 -> 1.5.22 -> 1.5.23)
Включить SEO = Да
Использовать mod_rewrite = Да
GZIP-сжатие страниц = Нет
Включить SSL = Нет
Префикс базы данных = jos_
Авторизация = Joomla plugin
Язык = ru-RU
Шаблон свой (в нем нет /html/com_user/reset/confirm.php)

Мои исследования показали, что проблема осталась в той же функции, которую фиксили из-за данной проблемы в Joomla 1.5.23:
(файл reset.php)

Код
function confirmReset($token, $username)
...
// и именно в этой её части:
$db = &JFactory::getDBO();
$db->setQuery('SELECT id, activation FROM #__users WHERE block = 0 AND username = '.$db->Quote($username));

$row = $db->loadObject();

// Verify the token
if (!$row)
{
$this->setError(JText::_('INVALID_TOKEN'));
return false;
}

Получается, что $db->loadObject(); не возвращает ничего, поэтому и фэйлится именно тут.
Я даже пробовал конкретного пользователя подставлять в запрос (того, которому пытался сбросить пароль):

$db->setQuery( 'SELECT id, activation FROM #__users WHERE block = 0 AND username = test1 );
или
$db->setQuery( "SELECT id, activation FROM #__users WHERE block = \'0\' AND username = \'test1\' " );

Но все равно фэйлится на проверке if (!$row)

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

Проблема решена своими силами.
А можно поподробнее как Вы решили данную проблему. Я так понял нужно обновить components/com_user/controller.php. А где его взять? Спасибо!
« Последнее редактирование: 20.11.2011, 14:40:51 от kiddywear »
*

Baobab

  • Новичок
  • *
  • 8
  • 0
А можно поподробнее как Вы решили данную проблему. Я так понял нужно обновить components/com_user/controller.php. А где его взять? Спасибо!

Я не уверен, что помню точно какое изменение я вносил, но привожу свой вариант решения относительно Joomla 1.5.23.
Попробуйте в файле controller.php, который находится в каталоге /components/com_user/controller.php, заменить строку #124
Код
JRequest::checkToken('request') or jexit( 'Invalid Token' );
на эту строку:
Код
JRequest::checkToken() or header('Location: http://www.урлвашегосайта/'); 
« Последнее редактирование: 20.11.2011, 16:39:36 от Baobab »
*

Baobab

  • Новичок
  • *
  • 8
  • 0
Я так понял нужно обновить components/com_user/controller.php. А где его взять? Спасибо!
Файл находится в самом пакете Joomla - /components/com_user/controller.php
Вам все же думаю стоит просто обновить свою Joomla до последней версии Joomla 1.5.24
Но если не хотите обновлять, то можете и своими руками вносить изменения.

Но не забывайте делать резервные копии перед внесением изменений!
*

kiddywear

  • Осваиваюсь на форуме
  • ***
  • 33
  • 0
Файл находится в самом пакете Joomla - /components/com_user/controller.php
Вам все же думаю стоит просто обновить свою Joomla до последней версии Joomla 1.5.24
Но если не хотите обновлять, то можете и своими руками вносить изменения.

Но не забывайте делать резервные копии перед внесением изменений!


Ничего не помогает, обновился уже до 1.5.25. Выдает Invalid Token и на генерацию нового пароля и логина то же.
*

Baobab

  • Новичок
  • *
  • 8
  • 0
Ничего не помогает, обновился уже до 1.5.25. Выдает Invalid Token и на генерацию нового пароля и логина то же.
А вы пробовали внести то изменение, что я предлагал вам в топике выше? « Ответ #22 : Сегодня в 14:21:03 »
*

kiddywear

  • Осваиваюсь на форуме
  • ***
  • 33
  • 0
А вы пробовали внести то изменение, что я предлагал вам в топике выше? « Ответ #22 : Сегодня в 14:21:03 »
Да пробовал, ничего не выходит, при переходе Joomla 1.5.25 один раз получилось обновить пароль, далее опять начал перекидывать на  Invalid Token, еще и при заказе в VirtueMart тормозить начал сайт при переходе с одной страницы заказа на другую, откатил обратно на версию 1.5.22.
*

xoxol39

  • Осваиваюсь на форуме
  • ***
  • 29
  • 0
  • Хохол...
всё выше описанное не помогло Joomla 1.5.25
не решено ((

Проблема оказалась в другом.
Был забыт не только пароль, но и логин. Вводился не верный логин, но сообщение об этом не выводилось, было сообщение: Сбой подтверждения запроса сброса пароля по причине: неправильный символ (знак)..
Но ведь это совсем разные вещи, не верный код подтверждения и логин.

Проблема поменяла вид: нужно решить вывод нужных сообщений при ошибке ввода данных.
« Последнее редактирование: 27.02.2012, 02:11:17 от xoxol39 »
Когда научусь начну советовать сам, если советую, значит научился.
*

Baobab

  • Новичок
  • *
  • 8
  • 0
Если найду немного свободного времени, то попытаюсь еще раз проанализировать ситуацию, и если удастся найти еще вариант вероятной причины, то отпишусь здесь.
*

xoxol39

  • Осваиваюсь на форуме
  • ***
  • 29
  • 0
  • Хохол...
Есть  2 разных шаблона на div и на tr, td  последний принимает код сброса пароля, первый никак.
файл: confirm.php
код первого

Спойлер
[свернуть]


код второго
Спойлер
[свернуть]

как мне показалось, по функциям коды одинаковы, но увы...

Проблема через пост выше.
« Последнее редактирование: 27.02.2012, 02:15:27 от xoxol39 »
Когда научусь начну советовать сам, если советую, значит научился.