public function importer_go()
    {
        ?>
		<div class="wrap">
		<h1>GroupMe Importer</h1>
		
		<ol>
		<?php 
        $_access_token = get_user_meta(get_current_user_id(), $this->meta_key, true);
        if (empty($_access_token)) {
            echo "<li>Connect</li>\n";
        } else {
            echo "<li>Connected &#x2713;</li>\n";
        }
        ?>
			<li>Groups
				<ul>
					<?php 
        $rest_api = new pjw_groupme_rest_api($_access_token);
        $groups = $rest_api->groups();
        foreach ($groups as $group) {
            echo "<li><img src='{$group->image_url}' width='25px' height='25px'/> {$group->name} - {$group->id}</li>\n";
        }
        ?>
				</ul>
			</li>
		</ol>
		</div>
		<?php 
    }
Beispiel #2
0
function __dispatch_request($args)
{
    if (isset($args['user-id']) && isset($args['action'])) {
        wp_set_current_user($args['user-id']);
        $_access_token = get_user_meta(get_current_user_id(), 'pjw_groupme_oauth_token', true);
        $rest_api = new pjw_groupme_rest_api($_access_token);
        switch ($args['action']) {
            case 'list-groups':
                $groups = $rest_api->groups();
                foreach ($groups as $group) {
                    echo "{$group->name} - {$group->id} - {$group->messages->count} messages\n";
                }
                break;
            case 'fetch-messages':
                if (isset($args['group-id'])) {
                    $messages = $rest_api->messages($args['group-id']);
                    foreach ($messages->messages as $message) {
                        echo date(DATE_ISO8601, $message->created_at) . " {$message->name}: {$message->text}\n";
                    }
                } else {
                    echo "Usage: --user-id=X --action=fetch-messages --group-id=X ...\n\n";
                }
                break;
            case 'walk-messages':
                if (isset($args['group-id'])) {
                    // Hack use an after_id of 1 to get the first message in a group
                    $messages = $rest_api->messages($args['group-id'], array('limit' => 100, 'after_id' => 1));
                    while (!empty($messages->messages)) {
                        foreach ($messages->messages as $message) {
                            echo date(DATE_ISO8601, $message->created_at) . " {$message->name}: {$message->text}\n";
                            if (count($message->attachments)) {
                                foreach ($message->attachments as $attachment) {
                                    echo "\t" . date(DATE_ISO8601, $message->created_at) . " {$attachment->type} - {$attachment->url}\n";
                                }
                            }
                        }
                        $messages = $rest_api->messages($args['group-id'], array('limit' => 100, 'after_id' => $message->id));
                    }
                } else {
                    echo "Usage: --user-id=X --action=walk-messages --group-id=X ...\n\n";
                }
                break;
            case 'sync-messages':
                if (isset($args['group-id'])) {
                    // Find ID of last synced message
                    $pjw_groupme_wp_api = new pjw_groupme_wp_api();
                    $after_id = $pjw_groupme_wp_api->get_last_synced_message_id($args['group-id']);
                    if (!$after_id) {
                        // Hack use an after_id of 1 to get the first message in a group
                        $after_id = 1;
                    }
                    $messages = $rest_api->messages($args['group-id'], array('limit' => 100, 'after_id' => $after_id));
                    while (!empty($messages->messages)) {
                        foreach ($messages->messages as $message) {
                            echo '.';
                            $pjw_groupme_wp_api->sync_message($message);
                        }
                        $messages = $rest_api->messages($args['group-id'], array('limit' => 100, 'after_id' => $message->id));
                    }
                } else {
                    echo "Usage: --user-id=X --action=sync-messages --group-id=X ...\n\n";
                }
                break;
        }
    } else {
        echo "Usage: --user-id=X --action=Y ...\n\n";
    }
}