X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fapioauthpin.php;h=ad4e7947e27a2e15c5294114df85fc888b401e65;hb=65c540478e8a1c8c14194add7835820b168ce6a5;hp=5a88b5e5908e77890476b169bc50beea4a184ceb;hpb=69e621a3e882cd060eb4314554aada7167edd897;p=quix0rs-gnu-social.git diff --git a/actions/apioauthpin.php b/actions/apioauthpin.php index 5a88b5e590..ad4e7947e2 100644 --- a/actions/apioauthpin.php +++ b/actions/apioauthpin.php @@ -31,29 +31,133 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } -require_once INSTALLDIR . '/lib/info.php'; - /** * Class for displaying an OAuth verifier pin * + * XXX: I'm pretty sure we don't need to check the logged in state here. -- Zach + * * @category Action * @package StatusNet * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ - -class ApiOauthPinAction extends InfoAction +class ApiOAuthPinAction extends InfoAction { + function __construct($title, $message, $verifier, $desktopMode = false) + { + $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'); + } + + /** + * A local menu + * + * Shows different login/register actions. + * + * @return void + */ + function showLocalNav() + { + // NOP + } - function __construct($verifier) + /* + * Override - suppress output in "desktop" mode + */ + function showHeader() { - $this->verifier = $verifier; - $title = _('Authorization succeeded.'); - parent::__construct($title, $title); + if ($this->desktopMode == false) { + parent::showHeader(); + } } - // TODO: Check for logged in state! + /* + * Override - suppress output in "desktop" mode + */ + function showAside() + { + if ($this->desktopMode == false) { + parent::showAside(); + } + } + + /* + * Override - suppress output in "desktop" mode + */ + function showFooter() + { + if ($this->desktopMode == false) { + parent::showFooter(); + } + } + + /** + * Show site notice. + * + * @return nothing + */ + function showSiteNotice() + { + // NOP + } + + /** + * Show notice form. + * + * Show the form for posting a new notice + * + * @return nothing + */ + function showNoticeForm() + { + // NOP + } /** * Display content. @@ -62,8 +166,7 @@ class ApiOauthPinAction extends InfoAction */ function showContent() { - // XXX: make this much nicer - $this->element('div', array('class' => 'info'), $this->verifier); + $this->element('div', array('class' => 'info'), $this->message); + $this->element('div', array('id' => 'oauth_pin'), $this->verifier); } - }