diff options
Diffstat (limited to 'actions/apioauthpin.php')
-rw-r--r-- | actions/apioauthpin.php | 52 |
1 files changed, 47 insertions, 5 deletions
diff --git a/actions/apioauthpin.php b/actions/apioauthpin.php index 5e6713a54..64baf260d 100644 --- a/actions/apioauthpin.php +++ b/actions/apioauthpin.php @@ -31,8 +31,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } -require_once INSTALLDIR . '/lib/info.php'; - /** * Class for displaying an OAuth verifier pin * @@ -47,14 +45,58 @@ require_once INSTALLDIR . '/lib/info.php'; class ApiOauthPinAction extends InfoAction { - function __construct($title, $message, $verifier) + function __construct($title, $message, $verifier, $desktopMode = false) { - $this->verifier = $verifier; - $this->title = $title; + $this->verifier = $verifier; + $this->title = $title; + $this->desktopMode = $desktopMode; parent::__construct($title, $message); } /** + * Show body - override to add a special CSS class for the pin pages's + * "desktop mode" (minimal display) + * + * Calls template methods + * + * @return nothing + */ + function showBody() + { + $bodyClasses = array(); + + if ($this->desktopMode) { + $bodyClasses[] = 'oauth-desktop-mode'; + } + + if (common_current_user()) { + $bodyClasses[] = 'user_in'; + } + + $attrs = array('id' => strtolower($this->trimmed('action'))); + + if (!empty($bodyClasses)) { + $attrs['class'] = implode(' ', $bodyClasses); + } + + $this->elementStart('body', $attrs); + + $this->elementStart('div', array('id' => 'wrap')); + if (Event::handle('StartShowHeader', array($this))) { + $this->showHeader(); + Event::handle('EndShowHeader', array($this)); + } + $this->showCore(); + if (Event::handle('StartShowFooter', array($this))) { + $this->showFooter(); + Event::handle('EndShowFooter', array($this)); + } + $this->elementEnd('div'); + $this->showScripts(); + $this->elementEnd('body'); + } + + /** * Display content. * * @return nothing |