defined('_JEXEC') or die('Hozzáférés megtagadva'); function query2Session($q) { // $_SESSION = array_merge($_SESSION, $q); foreach ($q as $name => $value) $_SESSION[$name] = $value; if (!empty($_SESSION['nyelv'])) { // ha kaptam nyelvadatot (nincs login error), szetdarabolom // $_SESSION = array_merge($_SESSION, json_decode($_SESSION['nyelv'], true)); $q = json_decode($_SESSION['nyelv'], true); foreach ($q as $name => $value) $_SESSION[$name] = $value; unset($_SESSION['nyelv']); } if (!empty($_SESSION['penznem'])) { // ha kaptam penznem adatot (nincs login error), szetdarabolom $_SESSION['penznem'] = json_decode($_SESSION['penznem'], true); } } function fillSession($username, $password = null) { $loginerrors = array(); if ($username == 'guest') { $defaultsQuery = mysql_query(" SELECT 'guest' tipus, (SELECT MIN(fizetesi__modok_id) FROM fizetesi__modok WHERE fizetesi__modok_default=1) fizmod_id, (SELECT MIN(szallitasi__modok_id) FROM szallitasi__modok WHERE szallitasi__modok_default=1) szallmod_id, (SELECT CONCAT('{\"id\":\"', penznem_id, '\",\"nev\":\"', penznem_nev, '\",\"jel\":\"', penznem_jel, '\",\"kod\":\"', penznem_kod, '\",\"dpoint\":\"', penznem_dpoint, '\",\"thousep\":\"', penznem_thousep, '\",\"ertek\":\"', penznem_ertek, '\"}') FROM penznem WHERE penznem_default=1 LIMIT 1) penznem, (SELECT CONCAT('{\"nyelv_id\":\"', id, '\",\"lang_code\":\"', code, '\",\"url_lang_code\":\"', IF(code='hu', '', CONCAT(code, '/')), '\"}') FROM nyelvek WHERE nyelvek_default=1 LIMIT 1) nyelv; ") or die(mysql_error()." - auth.php, defaultok betoltese"); query2Session(mysql_fetch_array($defaultsQuery, MYSQL_ASSOC)); mysql_free_result($defaultsQuery); } else { $userQuery = mysql_query(" SELECT user_tipus tipus, (SELECT fizetesi__modok_id FROM fizetesi__modok ORDER BY fizetesi__modok_id=user_def_fizmod_id, fizetesi__modok_sorrend DESC LIMIT 1) fizmod_id, (SELECT szallitasi__modok_id FROM szallitasi__modok ORDER BY szallitasi__modok_id=user_def_szallmod_id, szallitasi__modok_sorrend DESC LIMIT 1) szallmod_id, (SELECT CONCAT('{\"id\":\"', penznem_id, '\",\"nev\":\"', penznem_nev, '\",\"jel\":\"', penznem_jel, '\",\"kod\":\"', penznem_kod, '\",\"dpoint\":\"', penznem_dpoint, '\",\"thousep\":\"', penznem_thousep, '\",\"ertek\":\"', penznem_ertek, '\"}') FROM penznem ORDER BY penznem_id=user_def_penznem_id DESC, penznem_default DESC LIMIT 1) penznem, (SELECT CONCAT('{\"nyelv_id\":\"', id, '\",\"lang_code\":\"', code, '\",\"url_lang_code\":\"', IF(code='hu', '', CONCAT(code, '/')), '\"}') FROM nyelvek ORDER BY id=user_def_nyelv_id DESC, nyelvek_default DESC LIMIT 1) nyelv, user_id, IFNULL(user_nev, user_username) username, user_cim_nev teljes_nev, user_email email, user_def_szall_user_cim_id FROM user LEFT JOIN user_cim ON user_cim_user_id=user_id AND user_cim_tipus='szamla' WHERE user_username='".addslashes($username)."' AND user_password='".$password."' AND NOT FIND_IN_SET('inaktiv', user_tipus) AND (FIND_IN_SET('admin', user_tipus) OR FIND_IN_SET('user', user_tipus)); ") or die(mysql_error()." - auth.php, felhasználó adatainak lekérdezése"); if (mysql_num_rows($userQuery) > 0) { // hitelesites rendben; session feltoltese query2Session(mysql_fetch_array($userQuery, MYSQL_ASSOC)); mysql_query(" UPDATE user SET user_def_fizmod_id='".$_SESSION['fizmod_id']."', user_def_szallmod_id='".$_SESSION['szallmod_id']."', user_def_penznem_id='".$_SESSION['penznem']['id']."', user_def_nyelv_id='".$_SESSION['nyelv_id']."', user_last_ip='".$_SERVER['REMOTE_ADDR']."', user_last_visit_datum=NOW(), user_visit_count=user_visit_count+1 WHERE user_id='".$_SESSION['user_id']."'; ") or die(mysql_error()." - auth.php, bejelentkezett felhasználó adatainak frissitese"); } else { $loginerrors[] = 'Hibás e-mail cím, vagy jelszó'; } mysql_free_result($userQuery); } return $loginerrors; } header("Content-Type: text/html; charset=utf-8"); session_start(); if (isset($_GET['action'])) $_POST['action'] = $_GET['action']; if (isset($_POST['action'])) { if ($_POST['action'] == 'login') { // bejelentkezes $loginerrors = array(); if (isset($_COOKIE['login_cookie'])) { // van login cookie if ($_POST['cookie'] = $_POST['password'] == "******") { // nem valtoztak a belepesi adatok list($_POST['username'], $_POST['password']) = explode('[]', $_COOKIE['login_cookie']); } else { // valtoztak a belepesi adatok, cookie torlese setcookie('login_cookie', "", time() - 60); } } if (empty($_POST['username'])) { $loginerrors[] = 'Adja meg e-mail címét'; } else { $username = mysql_real_escape_string($_POST['username']); } if (empty($_POST['password'])) { $loginerrors[] = 'Adja meg jelszavát'; } else { $password = isset($_POST['cookie']) ? $_POST['password'] : md5(mysql_real_escape_string($_POST['password'])); } if (!count($loginerrors)) { if (!empty($_POST['stay_in'])) { // jegyezze meg a belepesi adatokat setcookie('login_cookie', $username.'[]'.$password, 2147483647); } $loginerrors = fillSession($username, $password); } if (count($loginerrors)) { $_SESSION['loginerrorstr'] = "