<?php

namespace Authority\Mailers;

class UserMailer extends Mailer {

	/**
	 * Outline all the events this class will be listening for.
	 * @param  [type] $events
	 * @return void
	 */
	public function subscribe($events) {
		$events->listen('user.signup', 'Authority\Mailers\UserMailer@welcome');
		$events->listen('user.resend', 'Authority\Mailers\UserMailer@welcome');
		$events->listen('user.forgot', 'Authority\Mailers\UserMailer@forgotPassword');
		$events->listen('user.newpassword', 'Authority\Mailers\UserMailer@newPassword');
	}

	/**
	 * Send a welcome email to a new user.
	 * @param  string $email
	 * @param  int    $userId
	 * @param  string $activationCode
	 * @return bool
	 */
	public function welcome($email, $password, $firstName, $lastName) {
		$subject						 = 'Добро пожаловать в CRM2.legaton.com';
		$view								 = 'emails.auth.welcome';
		$data['email']			 = $email;
		$data['password']		 = $password;
		$data['first_name']	 = $firstName;
		$data['last_name']	 = $lastName;

		return $this->sendTo($email, $subject, $view, $data);
	}

	/**
	 * Email Password Reset info to a user.
	 * @param  string $email
	 * @param  int    $userId
	 * @param  string $resetCode
	 * @return bool
	 */
	public function forgotPassword($email, $userId, $resetCode) {
		$subject					 = 'Восстановление пароля на CRM2.legaton.com';
		$view							 = 'emails.auth.reset';
		$data['userId']		 = $userId;
		$data['resetCode'] = $resetCode;
		$data['email']		 = $email;

		return $this->sendTo($email, $subject, $view, $data);
	}

	/**
	 * Email New Password info to user.
	 * @param  string $email
	 * @param  int    $userId
	 * @param  string $resetCode
	 * @return bool
	 */
	public function newPassword($email, $newPassword) {
		$subject						 = 'Новый пароль на CRM2.legaton.com';
		$view								 = 'emails.auth.newpassword';
		$data['newPassword'] = $newPassword;
		$data['email']			 = $email;

		return $this->sendTo($email, $subject, $view, $data);
	}

}
