]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/YammerImport/scripts/yammer-import.php
Localisation updates from http://translatewiki.net.
[quix0rs-gnu-social.git] / plugins / YammerImport / scripts / yammer-import.php
index ac258e1c7d411abe620d8089696ca71454abc621..22b6422195dc1fa9f2c9d857e47c0bbf9cdaa02c 100644 (file)
@@ -6,36 +6,59 @@ if (php_sapi_name() != 'cli') {
 
 define('INSTALLDIR', dirname(dirname(dirname(dirname(__FILE__)))));
 
+$longoptions = array('verify=', 'reset');
 require INSTALLDIR . "/scripts/commandline.inc";
 
-// temp stuff
-require 'yam-config.php';
-$yam = new SN_YammerClient($consumerKey, $consumerSecret, $token, $tokenSecret);
-$imp = new YammerImporter($yam);
-
-// First, import all the users!
-// @fixme follow paging -- we only get 50 at a time
-$data = $yam->users();
-foreach ($data as $item) {
-    $user = $imp->importUser($item);
-    echo "Imported Yammer user " . $item['id'] . " as $user->nickname ($user->id)\n";
-}
+echo "Checking current state...\n";
+$runner = YammerRunner::init();
 
-// Groups!
-// @fixme follow paging -- we only get 20 at a time
-$data = $yam->groups();
-foreach ($data as $item) {
-    $group = $imp->importGroup($item);
-    echo "Imported Yammer group " . $item['id'] . " as $group->nickname ($group->id)\n";
+if (have_option('reset')) {
+    echo "Resetting Yammer import state...\n";
+    $runner->reset();
+    echo "done.\n";
+    exit(0);
 }
 
-// Messages!
-// Process in reverse chron order...
-// @fixme follow paging -- we only get 20 at a time, and start at the most recent!
-$data = $yam->messages();
-$messages = $data['messages'];
-$messages = array_reverse($messages);
-foreach ($messages as $item) {
-    $notice = $imp->importNotice($item);
-    echo "Imported Yammer notice " . $item['id'] . " as $notice->id\n";
+switch ($runner->state())
+{
+    case 'init':
+        echo "Requesting authentication to Yammer API...\n";
+        $url = $runner->requestAuth();
+        echo "Log in to Yammer at the following URL and confirm permissions:\n";
+        echo "\n";
+        echo "    $url\n";
+        echo "\n";
+        echo "Pass the resulting code back by running:\n";
+        echo "\n";
+        echo "    php yammer-import.php --verify=####\n";
+        echo "\n";
+        break;
+
+    case 'requesting-auth':
+        if (!have_option('verify')) {
+            echo "Awaiting authentication...\n";
+            echo "\n";
+            echo "If you need to start over, reset the state:\n";
+            echo "\n";
+            echo "    php yammer-import.php --reset\n";
+            echo "\n";
+            exit(1);
+        }
+        echo "Saving final authentication token for Yammer API...\n";
+        $runner->saveAuthToken(get_option_value('verify'));
+        // Fall through...
+
+    default:
+        while ($runner->hasWork()) {
+            echo "... {$runner->state()}\n";
+            if (!$runner->iterate()) {
+                echo "FAIL??!?!?!\n";
+            }
+        }
+        if ($runner->isDone()) {
+            echo "... done.\n";
+        } else {
+            echo "... no more import work scheduled.\n";
+        }
+        break;
 }