$value) $_SESSION[$name] = $value; mysql_free_result($defaultsQuery); } else { if (isset($_SESSION['nincs_megerositve'])) unset($_SESSION['nincs_megerositve']); $rendeles_megjegyzes = $_SESSION['rendeles']['megjegyzes']; // kosar 1. lépés megjegyzást ha kitöltötte de utána loginol akkor ne felejtse el $userQuery = mysql_query(" SELECT user_id, IFNULL(user_nev, user_username) username, user_cim_nev teljes_nev, user_tipus tipus, user_email email, user_def_szall_user_cim_id, (SELECT nyelv_id FROM nyelv WHERE nyelv_active=1 ORDER BY nyelv_id=user_def_nyelv_id DESC, nyelv_default DESC LIMIT 1) nyelv_id, (SELECT CONCAT_WS('|', nyelv_id, nyelv_code) FROM nyelv WHERE nyelv_active=1 ORDER BY nyelv_id=user_def_nyelv_id DESC, nyelv_default DESC LIMIT 1) nyelv, (SELECT penznem_id FROM penznem WHERE penznem_active=1 ORDER BY penznem_id=user_def_penznem_id DESC, penznem_default=1 DESC LIMIT 1) penznem_id, (SELECT fizetesi__modok_id FROM fizetesi__modok WHERE fizetesi__modok_active=1 ORDER BY fizetesi__modok_id=user_def_fizmod_id DESC, fizetesi__modok_default=1 DESC, fizetesi__modok_sorrend LIMIT 1) fizmod_id, (SELECT szallitasi__modok_id FROM szallitasi__modok WHERE szallitasi__modok_active=1 ORDER BY szallitasi__modok_id=user_def_szallmod_id DESC, szallitasi__modok_default=1 DESC, szallitasi__modok_sorrend DESC LIMIT 1) szallmod_id, NULL rendeles, FIND_IN_SET('inaktiv', user_tipus) OR user_jog_user_id IS NOT NULL inaktiv FROM user LEFT JOIN user_cim ON user_cim_user_id=user_id AND user_cim_tipus='szamla' LEFT JOIN user_jog ON user_jog_user_id=user_id AND user_jog_group_id=2 WHERE user_username='".addslashes($username)."' AND user_password='".md5($password)."'; ") or die(mysql_error()." - auth.php, felhasználó adatainak lekérdezése"); if (mysql_num_rows($userQuery) > 0) { // hitelesites rendben $user = mysql_fetch_array($userQuery, MYSQL_ASSOC); if ($user['inaktiv']) { $loginerrors[] = 'Az e-mail cím még nincs aktiválva. A bejelentkezéshez szükséges az e-mail cím megerősítése. Az aktiváló kódot tartalmazó levél újraküldéséhez kattintson IDE.'; $_SESSION['nincs_megerositve'] = 1; } else { // session feltoltese $_SESSION = array(); foreach ($user as $name => $value) $_SESSION[$name] = $value; $_SESSION['rendeles']['megjegyzes'] = $rendeles_megjegyzes; // visszaallitom a megjegyzest mysql_query(" UPDATE user SET user_def_nyelv_id=".$_SESSION['nyelv_id'].", user_def_penznem_id=".$_SESSION['penznem_id'].", user_def_fizmod_id=".$_SESSION['fizmod_id'].", user_def_szallmod_id=".$_SESSION['szallmod_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"); unset($_SESSION['nyelv_id']); } } else { $loginerrors[] = 'Hibás e-mail cím, vagy jelszó'; } mysql_free_result($userQuery); } if (!empty($_SESSION['nyelv'])) { // ha kaptam nyelvadatot (nincs login error), szetdarabolom $_SESSION['nyelv'] = explode("|", $_SESSION['nyelv']); $_SESSION['nyelv_id'] = $_SESSION['nyelv'][0]; $_SESSION['lang_code'] = $_SESSION['nyelv'][1]; $_SESSION['url_lang_code'] = $_SESSION['lang_code'] != "hu" ? $_SESSION['lang_code']."/" : ""; unset($_SESSION['nyelv']); } if (!empty($_SESSION['penznem_id'])) { // ha kaptam penznem adatot (nincs login error), szetdarabolom $penznemQuery = mysql_query(" SELECT penznem_id id, penznem_nev nev, penznem_jel jel, penznem_kod kod, penznem_dpoint dpoint, penznem_thousep thousep, penznem_ertek ertek FROM penznem WHERE penznem_id='".$_SESSION['penznem_id']."'; ") or die(mysql_error()." - auth.php, penznemhez tartozo beallitasok lekerdezese"); $_SESSION['penznem'] = mysql_fetch_array($penznemQuery, MYSQL_ASSOC); unset($_SESSION['penznem_id']); mysql_free_result($penznemQuery); } return $loginerrors; } header("Content-Type: text/html; charset=utf-8"); session_start(); if (isset($_GET['action'])) $_POST['action'] = $_GET['action']; if (!isset($_SESSION['user_id']) && isset($_COOKIE['login_cookie']) && empty($_POST['action'])) { // nincs bejelentkezve, de van cookie-ja -> bejelentkezesse valtoztatom list($_POST['username'], $_POST['password']) = explode('[]', $_COOKIE['login_cookie']); $_POST['action'] = 'login'; } if (isset($_POST['action'])) { if ($_POST['action'] == 'login') { // bejelentkezes $loginerrors = array(); 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 = mysql_real_escape_string($_POST['password']); } if (!count($loginerrors)) { if (!empty($_POST['stay_in'])) { // jegyezze meg a belepesi adatokat setcookie('login_cookie', $username.'[]'.md5($password), 2147483647); } $loginerrors = fillSession($username, $password); } if (count($loginerrors)) { $_SESSION['loginerrorstr'] = "
"; } } elseif ($_POST['action'] == 'logout') { // kijelentkezes mysql_query(" DELETE FROM kosar WHERE kosar_sessionid='".session_id()."'; ") or die(mysql_error()." - auth.php, kijelentkezes - session kosaranak uritese"); setcookie('login_cookie', "", time() - 60); session_destroy(); fillSession('guest'); header("Location: ".$_SERVER['PHP_SELF']); } } if (!isset($_SESSION['tipus'])) { // anonymus (guest) login fillSession('guest'); } /**** ennek ki tudja, hol lenne a helye. Inkabb az index.php-ben ****/ $_SESSION['hird'] = !isset($_COOKIE['hirdetes_cookie']); if ($_SESSION['hird']) setcookie('hirdetes_cookie', "active", time()+1800); // 30 perc // Megtekintett termékek vezetése cookie-ban, if (isset($_GET['termek'])) { $hist_arr = array(); if (isset($_COOKIE['hist'])) $hist_arr = explode(',', $_COOKIE['hist']); // ha van már cookie if (in_array ($_GET['termek'], $hist_arr)) { if (($akey = array_search($_GET['termek'], $hist_arr)) !== false) unset($hist_arr[$akey]); } else { mysql_query("UPDATE termekek SET termekek_megtekintve = termekek_megtekintve+1 WHERE termekek_id = '".$_GET['termek']."'"); // Termék megtekintési számláló növelése } $hist_arr[] = $_GET['termek']; if (count($hist_arr)>12) array_shift($hist_arr); // ha több akkor törli az elsőt $hist_string = implode(',', $hist_arr); setcookie('hist', $hist_string, time()+86400, '/'); //echo 'Megtekintett termékek: '.$_COOKIE['hist']; } /**** ennek ki tudja, hol lenne a helye ****/ mysql_query(" DELETE FROM kosar WHERE letrehozva<(NOW() - INTERVAL 2 HOUR); ") or die(mysql_error()." - auth.php, 2 oranal regebbi kosartartalmak uritese"); /**** ennek lehet, inkabb az index.php-ben lenne a helye ****/ if (!isset($_GET['lang'])) $_GET['lang'] = 'hu'; if ($_GET['lang'] != $_SESSION['lang_code']) { // ha nyelv kod jott az URL-ben es valtozott, modositom $nyelvQuery = mysql_query(" SELECT nyelv_id, nyelv_code lang_code, IF(nyelv_code='hu', '', CONCAT(nyelv_code, '/')) url_lang_code FROM nyelv ORDER BY nyelv_code='".mysql_real_escape_string($_GET['lang'])."' DESC, nyelv_default DESC LIMIT 1; ") or die(mysql_error()." - auth.php, aktualis nyelv modositasa"); $nyelv = mysql_fetch_array($nyelvQuery, MYSQL_ASSOC); if (!strstr($_SESSION['tipus'], 'guest')) { // ha bejelentkezett felhasznalo, modositom a nyelvet mysql_query(" UPDATE user SET user_def_nyelv_id='".$nyelv['nyelv_id']."' WHERE user_id='".$_SESSION['user_id']."'; ") or die(mysql_error()." - auth.php, felhasznalo def. nyelv modositasa"); } // $_SESSION = array_merge($_SESSION, mysql_fetch_array($nyelv, MYSQL_ASSOC)); // bug: http://php.net/manual/en/function.array-merge.php; helyette: foreach ($nyelv as $name => $value) $_SESSION[$name] = $value; mysql_free_result($nyelvQuery); } ?>