示例#1
0
function xfac_wp_logout()
{
    $config = xfac_option_getConfig();
    if (empty($config)) {
        // do nothing
        return;
    }
    $wpUser = wp_get_current_user();
    if (empty($wpUser->ID)) {
        // hmm, how could guest perform log out?
        return;
    }
    $records = xfac_user_getRecordsByUserId($wpUser->ID);
    if (!empty($records)) {
        foreach ($records as $record) {
            $accessToken = xfac_user_getAccessTokenForRecord($record);
            $ott = xfac_api_generateOneTimeToken($config, $record->identifier, $accessToken);
            $redirectTo = xfac_api_getRedirectTo();
            $newRedirectTo = xfac_api_getLogoutLink($config, $ott, $redirectTo);
            $_REQUEST['redirect_to'] = $newRedirectTo;
        }
    }
}
示例#2
0
                        </div>
                </th>
                <td valign="top">
                    <p>
                        <a href="<?php 
        echo admin_url('profile.php?xfac=disconnect&id=' . $apiRecord->id);
        ?>
">
                            <?php 
        _e('Disconnect this account', 'xenforo-api-consumer');
        ?>
                        </a>
                    </p>

                    <?php 
        if (xfac_user_getAccessTokenForRecord($apiRecord) === null) {
            ?>
                    <p>
                        <a href="<?php 
            echo site_url('wp-login.php?xfac=1&redirect_to=' . rawurlencode(admin_url('profile.php')), 'login_post');
            ?>
">
                            <?php 
            _e('Refresh connection', 'xenforo-api-consumer');
            ?>
                        </a>
                    </p>
                    <?php 
        }
        ?>
                </td>
示例#3
0
function xfac_user_getAccessToken($wpUserId)
{
    $records = xfac_user_getRecordsByUserId($wpUserId);
    if (empty($records)) {
        return null;
    }
    $record = reset($records);
    return xfac_user_getAccessTokenForRecord($record);
}