We are no longer offering accounts on this server. Consider https://gitlab.freedesktop.org/ as a place to host projects.

auth.php 1.51 KB
Newer Older
mattl's avatar
mattl committed
1 2
<?php

3
/* GNU FM -- a free network service for sharing your music listening habits
mattl's avatar
mattl committed
4

5
   Copyright (C) 2009 Free Software Foundation, Inc
mattl's avatar
mattl committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU Affero General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU Affero General Public License for more details.

   You should have received a copy of the GNU Affero General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.

*/

22
require_once('database.php');
23
require_once('data/User.php');
clint's avatar
clint committed
24
require_once($install_path . '/../turtle/temp-utils.php'); // this is extremely dodgy and shameful
25

elleo's avatar
elleo committed
26
session_start();
27
if(isset($_COOKIE['session_id'])) {
clint's avatar
clint committed
28 29 30
	$err = 0;
	$adodb->SetFetchMode(ADODB_FETCH_ASSOC);
	try {
clint's avatar
ugh  
clint committed
31
		$row = $adodb->GetRow('SELECT userid FROM Scrobble_Sessions WHERE '
clint's avatar
clint committed
32 33 34 35 36 37 38
				. 'sessionid = ' . $adodb->qstr($_COOKIE['session_id'])
				. ' AND expires > ' . (int)(time()));
	}
	catch (exception $e) {
		$err = 1;
	}
	if($err || !$row) {
elleo's avatar
elleo committed
39
		// Session is invalid
40 41 42
		setcookie('session_id', '', time() - 3600);
		session_unset();
		session_destroy();
elleo's avatar
elleo committed
43 44
	} else {
		$logged_in = true;
clint's avatar
ugh  
clint committed
45
		$username = uniqueid_to_username($row['userid']);
46
		$this_user = new User($username);
elleo's avatar
elleo committed
47 48 49
	}
}
?>