<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум ReadyScript &mdash; Форма входа]]></title>
		<link>https://forum.readyscript.ru/topic/779/forma-vkhoda/</link>
		<atom:link href="https://forum.readyscript.ru/feed/rss/topic/779/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Форма входа».]]></description>
		<lastBuildDate>Mon, 11 Jul 2016 05:31:31 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Форма входа]]></title>
			<link>https://forum.readyscript.ru/post/3913/#p3913</link>
			<description><![CDATA[<div class="quotebox"><cite>Закусило Александр пишет:</cite><blockquote><p>Ну всё дело в том я так думаю, про то что я говорил, что нужно проверять на флажок приходящий из поста о том, что нужно генерировать пароль. <br />Вы можете свой код закомментировать и попробовать туже схему. Я думаю всё будет как надо. Т.е. Вам не хватает проверок на то, что именно сейчас делается с пользователем. Попробуйте завардампить объекты в Вашем коде и приходящий POST или GET запрос, чтобы проанализировать.</p></blockquote></div><p>Думаю я с этим уже не справлюсь. Давайте&nbsp; тогда по другому решим этот вопрос</p>]]></description>
			<author><![CDATA[null@example.com (Андрей)]]></author>
			<pubDate>Mon, 11 Jul 2016 05:31:31 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/3913/#p3913</guid>
		</item>
		<item>
			<title><![CDATA[Re: Форма входа]]></title>
			<link>https://forum.readyscript.ru/post/3900/#p3900</link>
			<description><![CDATA[<p>Ну всё дело в том я так думаю, про то что я говорил, что нужно проверять на флажок приходящий из поста о том, что нужно генерировать пароль. <br />Вы можете свой код закомментировать и попробовать туже схему. Я думаю всё будет как надо. Т.е. Вам не хватает проверок на то, что именно сейчас делается с пользователем. Попробуйте завардампить объекты в Вашем коде и приходящий POST или GET запрос, чтобы проанализировать.</p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Fri, 08 Jul 2016 13:53:41 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/3900/#p3900</guid>
		</item>
		<item>
			<title><![CDATA[Re: Форма входа]]></title>
			<link>https://forum.readyscript.ru/post/3898/#p3898</link>
			<description><![CDATA[<p>Заметил следующий баг. Если выйти из профиля и попытатся зайти, пишет неверный e-mail или пароль. А если не вводить пароль то авторизовывает. И это только с теми аккаунтами, которые зарегистрированы данным методом(автоматическим паролем)</p>]]></description>
			<author><![CDATA[null@example.com (Андрей)]]></author>
			<pubDate>Fri, 08 Jul 2016 13:07:03 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/3898/#p3898</guid>
		</item>
		<item>
			<title><![CDATA[Re: Форма входа]]></title>
			<link>https://forum.readyscript.ru/post/3895/#p3895</link>
			<description><![CDATA[<p>Он вызывает из этого же класса функцию <strong>checkOpenPassword</strong>, посмотрите что в ней.</p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Fri, 08 Jul 2016 12:14:37 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/3895/#p3895</guid>
		</item>
		<item>
			<title><![CDATA[Re: Форма входа]]></title>
			<link>https://forum.readyscript.ru/post/3891/#p3891</link>
			<description><![CDATA[<p>Да, так работает <img src="https://forum.readyscript.ru/img/smilies/smile.png" width="15" height="15" alt="smile" /> И сразу же исчесла проблема с переадрисацией на страницу регистрации. Теперь все как надо, сразу авторизовывает.<br />Только почему то регистрация работает, если только заккоментирована вот эта строчка из <strong>user.inc.php</strong><br /></p><div class="codebox"><pre><code>Checker&#039; =&gt; array(array(__CLASS__, &#039;checkOpenPassword&#039;), &#039;&#039;)</code></pre></div><p>Не хватает какой то проверки?</p>]]></description>
			<author><![CDATA[null@example.com (Андрей)]]></author>
			<pubDate>Fri, 08 Jul 2016 10:16:31 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/3891/#p3891</guid>
		</item>
		<item>
			<title><![CDATA[Re: Форма входа]]></title>
			<link>https://forum.readyscript.ru/post/3890/#p3890</link>
			<description><![CDATA[<p>Да точно! здесь же у нас идёт на прямую запись. Я думаю Вот так поможет.<br />изменить<br /></p><div class="codebox"><pre><code>$user[&#039;pass&#039;] = $user::cryptPass(\RS\Helper\Tools::generatePassword(6));</code></pre></div><p>на <br /></p><div class="codebox"><pre><code>$user[&#039;openpass&#039;] = \RS\Helper\Tools::generatePassword(6);
$user[&#039;pass&#039;] = $user::cryptPass();

Ато у нас получается [b]openpass[/b] поэтому и пустой, что нигде не присваивается.</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Fri, 08 Jul 2016 10:01:41 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/3890/#p3890</guid>
		</item>
		<item>
			<title><![CDATA[Re: Форма входа]]></title>
			<link>https://forum.readyscript.ru/post/3888/#p3888</link>
			<description><![CDATA[<p>Не помогло, все равно не показывает пароль. Единственное что стало, так это два письма приходить<br />Можно конечно сделать так, но им тогда хеш будет зашифрованный пароль присылаться.<br />Какой еще есть вариант?<br /></p><div class="codebox"><pre><code>$user[&#039;openpass&#039;] = $user[&#039;pass&#039;] = $user::cryptPass(\RS\Helper\Tools::generatePassword(6));</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Андрей)]]></author>
			<pubDate>Fri, 08 Jul 2016 09:49:22 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/3888/#p3888</guid>
		</item>
		<item>
			<title><![CDATA[Re: Форма входа]]></title>
			<link>https://forum.readyscript.ru/post/3883/#p3883</link>
			<description><![CDATA[<p>Чтобы видеть ошибки, а не 500-ю включите отображение ошибок:<br /><a href="http://readyscript.ru/faq/#faq-errors">http://readyscript.ru/faq/#faq-errors</a></p><div class="codebox"><pre><code> $user = $data[&#039;orm&#039;];
 $flag  = $data[&#039;flag&#039;]; //Флаг insert или update
 if ($flag == self::INSERT_FLAG &amp;&amp; \Setup::$INSTALLED &amp;&amp; !$this[&#039;no_send_notice&#039;]) {
            
 // Уведомление пользователю
 $user = new \Users\Model\Notice\UserRegisterUser;
 $user-&gt;init($this, $this[&#039;openpass&#039;]);
 \Alerts\Model\Manager::send($user); </code></pre></div><p>Что касается уведомления, то Вы переприсвоили переменной <strong>$user</strong>, объект самого уведомления и передали объект самого себя, а не пользователя. Зачем? <br />Вам в Уведомдение нужно передать объект пользователя который вы получаете из объекта $data выше.</p><p>Нужно же так:)<br /></p><div class="codebox"><pre><code> $user = $data[&#039;orm&#039;];
 $flag  = $data[&#039;flag&#039;]; //Флаг insert или update
 if ($flag == $user::INSERT_FLAG &amp;&amp; \Setup::$INSTALLED &amp;&amp; !$user[&#039;no_send_notice&#039;]) {
            
 // Уведомление пользователю
 $user_notice = new \Users\Model\Notice\UserRegisterUser;
 $user_notice-&gt;init($user, $user[&#039;openpass&#039;]);
 \Alerts\Model\Manager::send($user_notice); </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Fri, 08 Jul 2016 08:55:35 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/3883/#p3883</guid>
		</item>
		<item>
			<title><![CDATA[Re: Форма входа]]></title>
			<link>https://forum.readyscript.ru/post/3879/#p3879</link>
			<description><![CDATA[<div class="quotebox"><cite>Закусило Александр пишет:</cite><blockquote><p>Попробуйте в Вашем хуке <strong>beforeWrite</strong> выполнить сразу после установки <strong>openpass</strong><br /></p><div class="codebox"><pre><code>/**
* Действия перед записью объекта пользователя
* 
* @param array $data - Массив  с данными
*/
public static function ormBeforeWriteUsersUser($data){
     /**
     * @var \User\Model\Orm\User
     */
     $user = $data[&#039;orm&#039;];
     $flag  = $data[&#039;flag&#039;]; //Флаг insert или update
     if ($flag==$user::INSERT_FLAG){ //Делаем только на создание (insert)
          $my_autologin = \RS\Http\Request::commonInstance()-&gt;request(&#039;my_autologin&#039;, TYPE_INTEGER, false); //Получаем флаг из запроса
          if ($my_autologin){ //Если флаг стоит

              $user[&#039;pass&#039;] = $user::cryptPass(\RS\Helper\Tools::generatePassword(6));
          }

     }
}</code></pre></div><p>Я думаю, тогда 100% всё будет как надо.</p></blockquote></div><p>Вот сейчас пароль записывается в БД, но на почту поле пароль приходит пустое.</p><p>Что же получается нужен хук после записи обьекта?Вот я его создал, но допустил ошибку и выдает ошибку 500 при регистрации<br /></p><div class="codebox"><pre><code>    /**
    * Действия после записи объекта
    * 
    * @param string $flag - insert или update
    */
public static function ormAfterWriteUsersUser($data){
    /**
     * @var \User\Model\Orm\User
     */
     $user = $data[&#039;orm&#039;];
     $flag  = $data[&#039;flag&#039;]; //Флаг insert или update
             if ($flag == self::INSERT_FLAG &amp;&amp; \Setup::$INSTALLED &amp;&amp; !$this[&#039;no_send_notice&#039;]) {
            
            // Уведомление пользователю
            $user = new \Users\Model\Notice\UserRegisterUser;
            $user-&gt;init($this, $this[&#039;openpass&#039;]);
            \Alerts\Model\Manager::send($user); 
            
        }

} </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Андрей)]]></author>
			<pubDate>Fri, 08 Jul 2016 06:22:55 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/3879/#p3879</guid>
		</item>
		<item>
			<title><![CDATA[Re: Форма входа]]></title>
			<link>https://forum.readyscript.ru/post/3869/#p3869</link>
			<description><![CDATA[<p>Попробуйте в Вашем хуке <strong>beforeWrite</strong> выполнить сразу после установки <strong>openpass</strong><br /></p><div class="codebox"><pre><code>/**
* Действия перед записью объекта пользователя
* 
* @param array $data - Массив  с данными
*/
public static function ormBeforeWriteUsersUser($data){
     /**
     * @var \User\Model\Orm\User
     */
     $user = $data[&#039;orm&#039;];
     $flag  = $data[&#039;flag&#039;]; //Флаг insert или update
     if ($flag==$user::INSERT_FLAG){ //Делаем только на создание (insert)
          $my_autologin = \RS\Http\Request::commonInstance()-&gt;request(&#039;my_autologin&#039;, TYPE_INTEGER, false); //Получаем флаг из запроса
          if ($my_autologin){ //Если флаг стоит

              $user[&#039;pass&#039;] = $user::cryptPass(\RS\Helper\Tools::generatePassword(6));
          }

     }
}</code></pre></div><p>Я думаю, тогда 100% всё будет как надо.</p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Thu, 07 Jul 2016 15:29:15 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/3869/#p3869</guid>
		</item>
		<item>
			<title><![CDATA[Re: Форма входа]]></title>
			<link>https://forum.readyscript.ru/post/3866/#p3866</link>
			<description><![CDATA[<p>Вставляю следующий код в свою форму но пароль не записывается в бд. где искать ошибку<br /></p><div class="codebox"><pre><code>             &lt;tr&gt;
                    &lt;td class=&quot;key&quot;&gt;Пароль:&lt;/td&gt;
                    &lt;td class=&quot;value&quot;&gt;
                        &lt;input type=&quot;checkbox&quot; name=&quot;my_autologin&quot; checked value=&quot;1&quot; id=&quot;my-autologin&quot;&gt;
                        &lt;label for=&quot;my-autologin&quot;&gt;Получить автоматически на e-mail&lt;/label&gt;
                        &lt;div class=&quot;help&quot;&gt;Нужен для проверки статуса заказа, обращения в поддержку, входа в кабинет&lt;/div&gt;
                        &lt;div id=&quot;manual-login&quot; style=&quot;display:none&quot;&gt;
                            &lt;div class=&quot;inline f&quot;&gt;
                                &lt;input name=&quot;openpass&quot; value=&quot;&quot; maxlength=&quot;70&quot;  size=&quot;18&quot; type=&quot;password&quot; /&gt;
                                &lt;div class=&quot;help&quot;&gt;Пароль&lt;/div&gt;
                            &lt;/div&gt;
                            &lt;div class=&quot;inline&quot;&gt;
                                &lt;input name=&quot;openpass_confirm&quot; value=&quot;&quot; maxlength=&quot;70&quot;  size=&quot;18&quot; type=&quot;password&quot; /&gt;
                                &lt;div class=&quot;help&quot;&gt;Повтор пароля&lt;/div&gt;
                            &lt;/div&gt;
                        &lt;/div&gt;
                    &lt;/td&gt;
                &lt;/tr&gt;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Андрей)]]></author>
			<pubDate>Thu, 07 Jul 2016 12:50:43 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/3866/#p3866</guid>
		</item>
		<item>
			<title><![CDATA[Re: Форма входа]]></title>
			<link>https://forum.readyscript.ru/post/3865/#p3865</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>значит мне в форму регистрации нужно вставить данный код?<br />а что тогда использовать вместо? &lt;input type=&quot;checkbox&quot; name=&quot;reg_autologin&quot; {if $order.reg_autologin}checked{/if} value=&quot;1&quot; id=&quot;reg-autologin&quot;&gt;</p></blockquote></div><p>Да, только проверка там не нужна на if ведь объекта <strong>$order</strong> просто в том шаблоне у Вас не существует. И сделайте <strong>name</strong> другой например просто <strong>my_autologin</strong>, чтобы не пересеклось ни где. А потом в хуке на него и проверите.</p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Thu, 07 Jul 2016 12:23:57 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/3865/#p3865</guid>
		</item>
		<item>
			<title><![CDATA[Re: Форма входа]]></title>
			<link>https://forum.readyscript.ru/post/3864/#p3864</link>
			<description><![CDATA[<p>Потому что в объектах используются функции beforeWrite(перед записью в БД) и afterWrite(После записи в БД) в которых и происходят все дейтсвия. Если вы откроете класс <strong>\Users\Model\Orm\User</strong> (<strong>/modules/users/model/orm/user.inc.php</strong>) и посмотрите в метод <br /><strong>beforeWrite</strong>.<br />То там задаётся сам пароль вот так:<br /></p><div class="codebox"><pre><code>if (!empty($this[&#039;openpass&#039;])) {
      $this[&#039;pass&#039;] = self::cryptPass($this[&#039;openpass&#039;]);
}</code></pre></div><p>Т.е. если задан <strong>openpass</strong>, что Вы и делаете в хуке, то <strong>pass</strong> будет сформирован из него.<br />Мы не храним в открытом виде пароли в БД.</p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Thu, 07 Jul 2016 12:21:22 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/3864/#p3864</guid>
		</item>
		<item>
			<title><![CDATA[Re: Форма входа]]></title>
			<link>https://forum.readyscript.ru/post/3863/#p3863</link>
			<description><![CDATA[<p>Да именно так, но если смотреть в var_dump то<br /><strong> [&quot;pass&quot;]=&gt;<br />&nbsp; &nbsp; &nbsp; NULL</strong></p><p>в базу ничего не передается, почему?</p><p>значит мне в форму регистрации нужно вставить данный код?<br />а что тогда использовать вместо? &lt;input type=&quot;checkbox&quot; <span style="color: red"><strong>name=&quot;reg_autologin&quot; {if $order.reg_autologin}checked{/if} value=&quot;1&quot; id=&quot;reg-autologin&quot;&gt;</strong></span><br /></p><div class="codebox"><pre><code>                &lt;tr&gt;
                    &lt;td class=&quot;key&quot;&gt;Пароль:&lt;/td&gt;
                    &lt;td class=&quot;value&quot;&gt;
                        &lt;input type=&quot;checkbox&quot; name=&quot;reg_autologin&quot; {if $order.reg_autologin}checked{/if} value=&quot;1&quot; id=&quot;reg-autologin&quot;&gt;
                        &lt;label for=&quot;reg-autologin&quot;&gt;Получить автоматически на e-mail&lt;/label&gt;
                        &lt;div class=&quot;help&quot;&gt;Нужен для проверки статуса заказа, обращения в поддержку, входа в кабинет&lt;/div&gt;
                        &lt;div id=&quot;manual-login&quot; {if $order.reg_autologin}style=&quot;display:none&quot;{/if}&gt;
                            &lt;div class=&quot;inline f&quot;&gt;
                                {$order.__reg_openpass-&gt;formView([&#039;form&#039;])}
                                &lt;div class=&quot;help&quot;&gt;Пароль&lt;/div&gt;
                            &lt;/div&gt;
                            &lt;div class=&quot;inline&quot;&gt;
                                {$order.__reg_pass2-&gt;formView()}
                                &lt;div class=&quot;help&quot;&gt;Повтор пароля&lt;/div&gt;
                            &lt;/div&gt;
                            &lt;div class=&quot;inline&quot;&gt;
                                &lt;div class=&quot;form-error&quot;&gt;{$order-&gt;getErrorsByForm(&#039;reg_openpass&#039;, &#039;, &#039;)}&lt;/div&gt;
                            &lt;/div&gt;
                        &lt;/div&gt;
                    &lt;/td&gt;
                &lt;/tr&gt;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Андрей)]]></author>
			<pubDate>Thu, 07 Jul 2016 12:15:28 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/3863/#p3863</guid>
		</item>
		<item>
			<title><![CDATA[Re: Форма входа]]></title>
			<link>https://forum.readyscript.ru/post/3862/#p3862</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>А для чего проверять на это галочку?</p></blockquote></div><p>Потому, что запись в пользователя в БД может происходить и через админку. Вот представьте вы создаёте в админ панели пользователя указываете у него пароль. А он потом не подходит. Для этого и нужна проверка на галочку. Или программно создаёте пользователя, хотите присвоить ему пароль и никак не получается. Проверьте на параметр в посте.</p><div class="quotebox"><blockquote><p>А на каком же тогда этапе пароль должен записываться в поле pass?<br />Не понимаю что то я</p></blockquote></div><p>На этом этапе Вы и передаёте пароль для записи. Просто генерируете его самостоятельно. Ведь Вы же так хотели.</p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Thu, 07 Jul 2016 12:12:58 +0000</pubDate>
			<guid>https://forum.readyscript.ru/post/3862/#p3862</guid>
		</item>
	</channel>
</rss>
