function txPartnerLogout() { global $C, $DB, $L, $t, $domain; if (isset($_COOKIE['tgpxpartner'])) { parse_str($_COOKIE['tgpxpartner'], $cookie); $DB->Update('UPDATE `tx_partners` SET `session`=?,`session_start`=? WHERE `username`=? AND `session`=?', array(null, null, $cookie['username'], $cookie['session'])); } setcookie('tgpxpartner', '', time() - 3600, '/', $C['cookie_domain']); $t->assign('logged_out', TRUE); txShPartnerLogin(); }
function ValidPartnerLogin() { global $DB, $C, $L; $error = $L['INVALID_LOGIN']; if (isset($_POST['login_username']) && isset($_POST['login_password'])) { $partner = $DB->Row('SELECT * FROM `tx_partners` WHERE `username`=? AND `password`=?', array($_POST['login_username'], sha1($_POST['login_password']))); if ($partner) { // Only allow active partners to login if ($partner['status'] == 'active') { // Setup the session $session = sha1(uniqid(rand(), true) . $_POST['login_password']); setcookie('tgpxpartner', 'username='******'login_username']) . '&session=' . $session, time() + 86400, '/', $C['cookie_domain']); $DB->Update('UPDATE `tx_partners` SET `session`=?,`session_start`=? WHERE `username`=?', array($session, time(), $partner['username'])); // Get user defined fields and merge with default partner data $user_fields = $DB->Row('SELECT * FROM `tx_partner_fields` WHERE `username`=?', array($partner['username'])); $partner = array_merge($partner, $user_fields); return $partner; } else { $error = $partner['status'] == 'suspended' ? $L['ACCOUNT_SUSPENDED'] : $L['ACCOUNT_PENDING']; } } } else { if (isset($_COOKIE['tgpxpartner'])) { parse_str($_COOKIE['tgpxpartner'], $cookie); $partner = $DB->Row('SELECT * FROM `tx_partners` WHERE `username`=? AND `session`=?', array($cookie['username'], $cookie['session'])); if ($partner) { if ($partner['status'] == 'active') { // Get user defined fields and merge with default partner data $user_fields = $DB->Row('SELECT * FROM `tx_partner_fields` WHERE `username`=?', array($partner['username'])); $partner = array_merge($partner, $user_fields); return $partner; } else { $error = $partner['status'] == 'suspended' ? $L['ACCOUNT_SUSPENDED'] : $L['ACCOUNT_PENDING']; } } else { $error = $L['EXPIRED_LOGIN']; } } } txShPartnerLogin(array($error)); return FALSE; }