]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - plugins/YammerImport/scripts/yammer-import.php
Documentation + filename uniqueness in File class
[quix0rs-gnu-social.git] / plugins / YammerImport / scripts / yammer-import.php
1 <?php
2
3 if (php_sapi_name() != 'cli') {
4     die('no');
5 }
6
7 define('INSTALLDIR', dirname(dirname(dirname(dirname(__FILE__)))));
8
9 $longoptions = array('verify=', 'reset');
10 require INSTALLDIR . "/scripts/commandline.inc";
11
12 echo "Checking current state...\n";
13 $runner = YammerRunner::init();
14
15 if (have_option('reset')) {
16     echo "Resetting Yammer import state...\n";
17     $runner->reset();
18     echo "done.\n";
19     exit(0);
20 }
21
22 switch ($runner->state())
23 {
24     case 'init':
25         echo "Requesting authentication to Yammer API...\n";
26         $url = $runner->requestAuth();
27         echo "Log in to Yammer at the following URL and confirm permissions:\n";
28         echo "\n";
29         echo "    $url\n";
30         echo "\n";
31         echo "Pass the resulting code back by running:\n";
32         echo "\n";
33         echo "    php yammer-import.php --verify=####\n";
34         echo "\n";
35         break;
36
37     case 'requesting-auth':
38         if (!have_option('verify')) {
39             echo "Awaiting authentication...\n";
40             echo "\n";
41             echo "If you need to start over, reset the state:\n";
42             echo "\n";
43             echo "    php yammer-import.php --reset\n";
44             echo "\n";
45             exit(1);
46         }
47         echo "Saving final authentication token for Yammer API...\n";
48         $runner->saveAuthToken(get_option_value('verify'));
49         // Fall through...
50
51     default:
52         while ($runner->hasWork()) {
53             echo "... {$runner->state()}\n";
54             if (!$runner->iterate()) {
55                 echo "FAIL??!?!?!\n";
56             }
57         }
58         if ($runner->isDone()) {
59             echo "... done.\n";
60         } else {
61             echo "... no more import work scheduled.\n";
62         }
63         break;
64 }