Example #1
0
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();
}
Example #2
0
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;
}