summaryrefslogtreecommitdiff
path: root/plugins/YammerImport/lib
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-09-22 17:51:50 -0700
committerBrion Vibber <brion@pobox.com>2010-09-28 07:44:23 -0700
commit472dab4a86c0ba365404b0994c3eb7e9979a80c2 (patch)
treebaa11fa8496e7b9753bc1aafda710b56e24cd869 /plugins/YammerImport/lib
parent22434a5daeb535b72d4797877bacad9eb6a74f2e (diff)
WORK IN PROGRESS: Starting infrastructure to initiate Yammer import from web UI and process it in the background queues. Totally not complete yet.
Diffstat (limited to 'plugins/YammerImport/lib')
-rw-r--r--plugins/YammerImport/lib/yammerimporter.php27
-rw-r--r--plugins/YammerImport/lib/yammerqueuehandler.php47
2 files changed, 53 insertions, 21 deletions
diff --git a/plugins/YammerImport/lib/yammerimporter.php b/plugins/YammerImport/lib/yammerimporter.php
index 9ce0d1e58..b1d2815b9 100644
--- a/plugins/YammerImport/lib/yammerimporter.php
+++ b/plugins/YammerImport/lib/yammerimporter.php
@@ -26,9 +26,6 @@
class YammerImporter
{
protected $client;
- protected $users=array();
- protected $groups=array();
- protected $notices=array();
function __construct(SN_YammerClient $client)
{
@@ -330,44 +327,32 @@ class YammerImporter
private function findImportedUser($origId)
{
- if (isset($this->users[$origId])) {
- return $this->users[$origId];
- } else {
- return false;
- }
+ return Yammer_user::staticGet('id', $origId);
}
private function findImportedGroup($origId)
{
- if (isset($this->groups[$origId])) {
- return $this->groups[$origId];
- } else {
- return false;
- }
+ return Yammer_group::staticGet('id', $origId);
}
private function findImportedNotice($origId)
{
- if (isset($this->notices[$origId])) {
- return $this->notices[$origId];
- } else {
- return false;
- }
+ return Yammer_notice::staticGet('id', $origId);
}
private function recordImportedUser($origId, $userId)
{
- $this->users[$origId] = $userId;
+ Yammer_user::record($origId, $userId);
}
private function recordImportedGroup($origId, $groupId)
{
- $this->groups[$origId] = $groupId;
+ Yammer_group::record($origId, $groupId);
}
private function recordImportedNotice($origId, $noticeId)
{
- $this->notices[$origId] = $noticeId;
+ Yammer_notice::record($origId, $noticeId);
}
/**
diff --git a/plugins/YammerImport/lib/yammerqueuehandler.php b/plugins/YammerImport/lib/yammerqueuehandler.php
new file mode 100644
index 000000000..ca81cbb34
--- /dev/null
+++ b/plugins/YammerImport/lib/yammerqueuehandler.php
@@ -0,0 +1,47 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ * Queue handler for bumping the next chunk of Yammer import activity!
+ *
+ * @package YammerImportPlugin
+ * @author Brion Vibber <brion@status.net>
+ */
+class YammerQueueHandler extends QueueHandler
+{
+ function transport()
+ {
+ return 'yammer';
+ }
+
+ function handle($notice)
+ {
+ $importer = new YammerImporter();
+ if ($importer->hasWork()) {
+ return $importer->iterate();
+ } else {
+ // We're done!
+ return true;
+ }
+ }
+}