DatabaseReminderRepository.php 1.1 KB
Newer Older
1 2
<?php namespace Jenssegers\Mongodb\Auth;

3 4 5
use DateTime;
use MongoDate;

6 7
class DatabaseReminderRepository extends \Illuminate\Auth\Reminders\DatabaseReminderRepository {

8 9 10 11 12 13 14 15 16 17 18 19
	/**
	 * Build the record payload for the table.
	 *
	 * @param  string  $email
	 * @param  string  $token
	 * @return array
	 */
	protected function getPayload($email, $token)
	{
		return array('email' => $email, 'token' => $token, 'created_at' => new MongoDate);
	}

20 21 22 23 24 25 26 27
	/**
	 * Determine if the reminder has expired.
	 *
	 * @param  object  $reminder
	 * @return bool
	 */
	protected function reminderExpired($reminder)
	{
28 29 30
		// Convert MongoDate to a date string.
		if ($reminder['created_at'] instanceof MongoDate)
		{
31 32
			$date = new DateTime;

33 34 35 36 37
			$date->setTimestamp($reminder['created_at']->sec);

			$reminder['created_at'] = $date->format('Y-m-d H:i:s');
		}

38
		// Convert DateTime to a date string (backwards compatibility).
39
		elseif (is_array($reminder['created_at']))
40
		{
41 42 43
			$date = DateTime::__set_state($reminder['created_at']);

			$reminder['created_at'] = $date->format('Y-m-d H:i:s');
44 45 46 47 48 49
		}

		return parent::reminderExpired($reminder);
	}

}