From c2de0a74072433ad0cc356694a03971e890ebb76 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Mon, 27 Sep 2010 12:34:01 -0700 Subject: [PATCH] Ok, got the AJAX clicky-throughs working for yammer auth (if app is already registered), but needs prettification. Yammer ignores callback URLs unless they're pre-registered with the app, and this apparently requires manual intervention to become a 'trusted' app, you don't get it on those you register yourself. Sigh. Also can't use an iframe since it breaks out of the frame (fair 'nuff) --- plugins/YammerImport/actions/yammeradminpanel.php | 2 +- plugins/YammerImport/lib/yammerauthverifyform.php | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/YammerImport/actions/yammeradminpanel.php b/plugins/YammerImport/actions/yammeradminpanel.php index 71651cdf56..fdf7a084f4 100644 --- a/plugins/YammerImport/actions/yammeradminpanel.php +++ b/plugins/YammerImport/actions/yammeradminpanel.php @@ -76,7 +76,7 @@ class YammeradminpanelAction extends AdminPanelAction return $this->showAjaxForm($form); } else if ($this->verify_token) { $this->runner->saveAuthToken($this->verify_token); - $form = new YammerAuthProgressForm(); + $form = new YammerProgressForm($this, $this->runner); return $this->showAjaxForm($form); } else { throw new ClientException('Invalid POST'); diff --git a/plugins/YammerImport/lib/yammerauthverifyform.php b/plugins/YammerImport/lib/yammerauthverifyform.php index dc9d2ce1b2..96decea102 100644 --- a/plugins/YammerImport/lib/yammerauthverifyform.php +++ b/plugins/YammerImport/lib/yammerauthverifyform.php @@ -65,8 +65,17 @@ class YammerAuthVerifyForm extends Form function formData() { $this->out->input('verify_token', _m('Verification code:'), '', _m("Click through and paste the code it gives you below...")); + + // iframe would be nice to avoid leaving -- since they don't seem to have callback url O_O + /* $this->out->element('iframe', array('id' => 'yammer-oauth', 'src' => $this->runner->getAuthUrl())); + */ + // yeah, it ignores the callback_url + $this->out->element('a', + array('href' => $this->runner->getAuthUrl(), + 'target' => '_blank'), + 'clicky click'); } /**