public function linkData($link) { $results = array(); $contents = \ipinga\crypto::printableDecrypt($link); if (is_array($contents) == true) { $linkUserId = $contents['u']; $linkTime = (double) $contents['t']; $t = \ipinga\options::get('password_link_timeout'); if (empty($t) == true) { $timeout = 10; } else { $timeout = (double) $t; } $now = (double) microtime(true); $elapsedMinutes = ($now - $linkTime) / 60; if ($elapsedMinutes > $timeout) { $results['error'] = 1; $results['message'] = 'Password reset link has expired'; } else { $results['error'] = 0; $results['message'] = 'No error. Link is good.'; $u = new \ipinga\userTable('users'); $u->loadById($linkUserId); $results['user'] = $u; } } else { $results['error'] = 2; $results['message'] = 'Password reset link is invalid'; } return $results; }