public function getObjectByToken($token)
{
$originalToken = $token;
$token = str_replace("~", "=", $token);
// base64 can contain = which isn't safe in URL's
$data = \Zend_Json::decode(base64_decode($token));
if ($data) {
if ($object = Object::getById($data["id"])) {
if ($version = $object->getLatestVersion()) {
$object = $version->getData();
}
if ($object->getProperty("token") == $originalToken) {
if ($object->getEmail() == $data["email"]) {
return $object;
}
}
}
}
return false;
}