-function nuke_session() {
- if (get_config('system', 'disable_database_session')) {
- session_unset();
- return;
- }
-
- new_cookie(0); // make sure cookie is deleted on browser close, as a security measure
-
- unset($_SESSION['authenticated']);
- unset($_SESSION['uid']);
- unset($_SESSION['visitor_id']);
- unset($_SESSION['administrator']);
- unset($_SESSION['cid']);
- unset($_SESSION['theme']);
- unset($_SESSION['mobile-theme']);
- unset($_SESSION['page_flags']);
- unset($_SESSION['submanage']);
- unset($_SESSION['my_url']);
- unset($_SESSION['my_address']);
- unset($_SESSION['addr']);
- unset($_SESSION['return_url']);
+// When the "Friendica" cookie is set, take the value to authenticate and renew the cookie.
+if (isset($_COOKIE["Friendica"])) {
+ $data = json_decode($_COOKIE["Friendica"]);
+ if (isset($data->uid)) {
+ $r = q("SELECT `user`.*, `user`.`pubkey` as `upubkey`, `user`.`prvkey` as `uprvkey`
+ FROM `user` WHERE `uid` = %d AND NOT `blocked` AND NOT `account_expired` AND NOT `account_removed` AND `verified` LIMIT 1",
+ intval($data->uid)
+ );