Ejemplo n.º 1
0
 public function run(User $user, $args)
 {
     if (mt_rand(0, 20) == 0) {
         return [PasswordUtils::get(mt_rand(20, 100)), true];
     }
     return ['Неправильный пароль! Попробуйте снова.', true];
 }
Ejemplo n.º 2
0
function showFirst($email, $validation = null, Form $form = null)
{
    $token = PasswordUtils::get(20);
    $_SESSION['token'] = $token;
    require_once "pages/recovery/recovery1.php";
}
Ejemplo n.º 3
0
<?php

use Core\Utils\PasswordUtils;
use SocioChat\DAO\ActivationsDAO;
use SocioChat\DI;
use SocioChat\DIBuilder;
use Zend\Config\Config;
require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . 'config.php';
$container = DI::get()->container();
DIBuilder::setupNormal($container);
$config = $container->get('config');
/* @var $config Config */
$db = new \Core\DB\DB($config);
$list = $db->query("SELECT email, p.name, p.sex FROM users AS u\nJOIN sessions AS s ON s.user_id = u.id\nJOIN user_properties AS p ON u.id = p.user_id\nWHERE s.access < '2015-03-01 00:00:00'\nAND s.access > '2014-06-01 00:00:00'\nAND u.email IS NOT NULL\nAND p.is_subscribed IS TRUE\nAND u.id NOT IN (\nSELECT o.user_id FROM users_online AS o\n)");
foreach ($list as $item) {
    $email = $item['email'];
    $name = $item['name'];
    $ending = $item['sex'] == 1 || $item['sex'] == 3 ? 'ой' : 'ая';
    $activation = ActivationsDAO::create();
    $activation->fillParams([ActivationsDAO::EMAIL => $email, ActivationsDAO::CODE => substr(base64_encode(PasswordUtils::get(64)), 0, 64), ActivationsDAO::TIMESTAMP => date('Y-m-d H:i:s'), ActivationsDAO::USED => false]);
    $activation->save();
    $msg = "<h2>Возвращайтесь в СоциоЧат!</h2>\n<p>Дорог{$ending} {$name}!</p><br>\n<p>Скучаете в пятницу вечером? Не беда! <a target=\"_blank\" href=\"" . $config->domain->protocol . $config->domain->web . "\">Заходите к нам!</a></p>\n<p>У нас много интересных собеседников.</p>\n<p></p>\n<p>Если вы забыли свой пароль, то можно восстановить <a target=\"_blank\" href=\"" . $config->domain->protocol . $config->domain->web . "/recovery.php?email={$email}\">здесь</a></p>\n<p>Если вы не желаете получать рассылку, то <a target=\"_blank\" href=\"" . $config->domain->protocol . $config->domain->web . "/unsubsribe.php?email={$email}&code=" . $activation->getCode() . "\">отпишитесь</a></p>";
    $mailer = \SocioChat\DAO\MailQueueDAO::create();
    $mailer->setEmail($email)->setTopic('Вы давно не были на SocioChat.Me')->setMessage($msg);
    $mailer->save();
}