Example #1
0
    function logout($VAR)
    {
        global $C_debug, $C_translate;
        $db =& DB();
        # get the account id (for DB mapping):
        $q = "SELECT account_id FROM " . AGILE_DB_PREFIX . "session WHERE\n\t\t\t id = '" . SESS . "' AND\n\t\t\t site_id = '" . DEFAULT_SITE . "'";
        $result = $db->Execute($q);
        $account_id = $result->fields['account_id'];
        # logout the current session by editing the database record
        $q = "UPDATE " . AGILE_DB_PREFIX . "session SET logged='0'\n\t\t\t WHERE id = '" . SESS . "' AND\n\t\t\t site_id = '" . DEFAULT_SITE . "'";
        $result = $db->Execute($q);
        # delete any session caches!
        $q = 'DELETE FROM ' . AGILE_DB_PREFIX . 'session_auth_cache WHERE
				session_id  = ' . $db->qstr(SESS) . ' AND
				site_id     = ' . $db->qstr(DEFAULT_SITE);
        $db->Execute($q);
        # logout success:
        $C_debug->alert($C_translate->translate('logout_success', '', ''));
        ####################################################################
        ### Do any db_mapping
        ####################################################################
        $sql = 'SELECT id FROM ' . AGILE_DB_PREFIX . 'module WHERE
					site_id     = ' . $db->qstr(DEFAULT_SITE) . ' AND
					name        = ' . $db->qstr('db_mapping') . ' AND
					status      = ' . $db->qstr("1");
        $result = $db->Execute($sql);
        if ($result->RecordCount() > 0) {
            include_once PATH_MODULES . 'db_mapping/db_mapping.inc.php';
            $db_map = new db_mapping();
            $db_map->logout($account_id);
        }
    }