Yammer import (work run via background queues) now can be started from the admin panel! :DDDD Still requires that the app be registered on your network manually first.
This commit is contained in:
parent
05c12c58bb
commit
585c7f35ca
|
@ -48,7 +48,7 @@ class YammerImportPlugin extends Plugin
|
||||||
*/
|
*/
|
||||||
function onEndInitializeQueueManager(QueueManager $qm)
|
function onEndInitializeQueueManager(QueueManager $qm)
|
||||||
{
|
{
|
||||||
$qm->connect('importym', 'ImportYmQueueHandler');
|
$qm->connect('yammer', 'YammerQueueHandler');
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -122,6 +122,7 @@ class YammerImportPlugin extends Plugin
|
||||||
case 'yammerauthinitform':
|
case 'yammerauthinitform':
|
||||||
case 'yammerauthverifyform':
|
case 'yammerauthverifyform':
|
||||||
case 'yammerprogressform':
|
case 'yammerprogressform':
|
||||||
|
case 'yammerqueuehandler':
|
||||||
require_once "$base/lib/$lower.php";
|
require_once "$base/lib/$lower.php";
|
||||||
return false;
|
return false;
|
||||||
case 'yammeradminpanelaction':
|
case 'yammeradminpanelaction':
|
||||||
|
|
|
@ -76,6 +76,10 @@ class YammeradminpanelAction extends AdminPanelAction
|
||||||
return $this->showAjaxForm($form);
|
return $this->showAjaxForm($form);
|
||||||
} else if ($this->verify_token) {
|
} else if ($this->verify_token) {
|
||||||
$this->runner->saveAuthToken($this->verify_token);
|
$this->runner->saveAuthToken($this->verify_token);
|
||||||
|
|
||||||
|
// Haho! Now we can make THE FUN HAPPEN
|
||||||
|
$this->runner->startBackgroundImport();
|
||||||
|
|
||||||
$form = new YammerProgressForm($this, $this->runner);
|
$form = new YammerProgressForm($this, $this->runner);
|
||||||
return $this->showAjaxForm($form);
|
return $this->showAjaxForm($form);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -64,7 +64,20 @@ class YammerAuthVerifyForm extends Form
|
||||||
|
|
||||||
function formData()
|
function formData()
|
||||||
{
|
{
|
||||||
$this->out->input('verify_token', _m('Verification code:'), '', _m("Click through and paste the code it gives you below..."));
|
$this->out->elementStart('p');
|
||||||
|
$this->out->text(_m('Follow this link to confirm authorization at Yammer; you will be prompted to log in if necessary:'));
|
||||||
|
$this->out->elementEnd('p');
|
||||||
|
|
||||||
|
$this->out->elementStart('blockquote');
|
||||||
|
$this->out->element('a',
|
||||||
|
array('href' => $this->runner->getAuthUrl(),
|
||||||
|
'target' => '_blank'),
|
||||||
|
_m('Open Yammer authentication window'));
|
||||||
|
$this->out->elementEnd('blockquote');
|
||||||
|
|
||||||
|
$this->out->element('p', array(), _m('Copy the verification code you are given into the form below:'));
|
||||||
|
|
||||||
|
$this->out->input('verify_token', _m('Verification code:'));
|
||||||
|
|
||||||
// iframe would be nice to avoid leaving -- since they don't seem to have callback url O_O
|
// iframe would be nice to avoid leaving -- since they don't seem to have callback url O_O
|
||||||
/*
|
/*
|
||||||
|
@ -72,10 +85,6 @@ class YammerAuthVerifyForm extends Form
|
||||||
'src' => $this->runner->getAuthUrl()));
|
'src' => $this->runner->getAuthUrl()));
|
||||||
*/
|
*/
|
||||||
// yeah, it ignores the callback_url
|
// yeah, it ignores the callback_url
|
||||||
$this->out->element('a',
|
|
||||||
array('href' => $this->runner->getAuthUrl(),
|
|
||||||
'target' => '_blank'),
|
|
||||||
'clicky click');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -41,8 +41,7 @@ class YammerQueueHandler extends QueueHandler
|
||||||
if ($runner->iterate()) {
|
if ($runner->iterate()) {
|
||||||
if ($runner->hasWork()) {
|
if ($runner->hasWork()) {
|
||||||
// More to do? Shove us back on the queue...
|
// More to do? Shove us back on the queue...
|
||||||
$qm = QueueManager::get();
|
$runner->startBackgroundImport();
|
||||||
$qm->enqueue('YammerImport', 'yammer');
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -386,4 +386,13 @@ class YammerRunner
|
||||||
return $map->count();
|
return $map->count();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Start running import work in the background queues...
|
||||||
|
*/
|
||||||
|
public function startBackgroundImport()
|
||||||
|
{
|
||||||
|
$qm = QueueManager::get();
|
||||||
|
$qm->enqueue('YammerImport', 'yammer');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user