diff options
author | Brion Vibber <brion@pobox.com> | 2010-09-22 17:51:50 -0700 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2010-09-28 07:44:23 -0700 |
commit | 472dab4a86c0ba365404b0994c3eb7e9979a80c2 (patch) | |
tree | baa11fa8496e7b9753bc1aafda710b56e24cd869 /plugins/YammerImport/lib | |
parent | 22434a5daeb535b72d4797877bacad9eb6a74f2e (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.php | 27 | ||||
-rw-r--r-- | plugins/YammerImport/lib/yammerqueuehandler.php | 47 |
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; + } + } +} |