forked from GNUsocial/gnu-social
New "desktop" mode for the OAuth authorization page. If mode=deskstop
is specified in the request the page is probably meant to be displayed in a small webview of another application, so suppress header, aside and footer.
This commit is contained in:
parent
8ac8f3d2dc
commit
bab012bd67
@ -68,11 +68,12 @@ class ApiOauthAuthorizeAction extends Action
|
|||||||
{
|
{
|
||||||
parent::prepare($args);
|
parent::prepare($args);
|
||||||
|
|
||||||
$this->nickname = $this->trimmed('nickname');
|
$this->nickname = $this->trimmed('nickname');
|
||||||
$this->password = $this->arg('password');
|
$this->password = $this->arg('password');
|
||||||
$this->oauthTokenParam = $this->arg('oauth_token');
|
$this->oauthTokenParam = $this->arg('oauth_token');
|
||||||
$this->callback = $this->arg('oauth_callback');
|
$this->callback = $this->arg('oauth_callback');
|
||||||
$this->store = new ApiStatusNetOAuthDataStore();
|
$this->mode = $this->arg('mode');
|
||||||
|
$this->store = new ApiStatusNetOAuthDataStore();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$this->app = $this->store->getAppByRequestToken($this->oauthTokenParam);
|
$this->app = $this->store->getAppByRequestToken($this->oauthTokenParam);
|
||||||
@ -429,6 +430,51 @@ class ApiOauthAuthorizeAction extends Action
|
|||||||
// NOP
|
// NOP
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Checks to see if a the "mode" parameter is present in the request
|
||||||
|
* and set to "desktop". If it is, the page is meant to be displayed in
|
||||||
|
* a small frame of another application, and we should suppress the
|
||||||
|
* header, aside, and footer.
|
||||||
|
*/
|
||||||
|
function desktopMode()
|
||||||
|
{
|
||||||
|
if (isset($this->mode) && $this->mode == 'desktop') {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Override - suppress output in "desktop" mode
|
||||||
|
*/
|
||||||
|
function showHeader()
|
||||||
|
{
|
||||||
|
if ($this->desktopMode() == false) {
|
||||||
|
parent::showHeader();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Override - suppress output in "desktop" mode
|
||||||
|
*/
|
||||||
|
function showAside()
|
||||||
|
{
|
||||||
|
if ($this->desktopMode() == false) {
|
||||||
|
parent::showHeader();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Override - suppress output in "desktop" mode
|
||||||
|
*/
|
||||||
|
function showFooter()
|
||||||
|
{
|
||||||
|
if ($this->desktopMode() == false) {
|
||||||
|
parent::showHeader();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show site notice.
|
* Show site notice.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user