예제 #1
0
$shortoptions = 'i:n:f:a:j';
$longoptions = array('id=', 'nickname=', 'file=', 'after=', 'json');
$helptext = <<<END_OF_EXPORTACTIVITYSTREAM_HELP
exportactivitystream.php [options]
Export a StatusNet user history to a file

  -i --id       ID of user to export
  -n --nickname nickname of the user to export
  -j --json     Output JSON (default Atom)
  -a --after    Only activities after the given date

END_OF_EXPORTACTIVITYSTREAM_HELP;
require_once INSTALLDIR . '/scripts/commandline.inc';
try {
    $user = getUser();
    if (have_option('a', 'after')) {
        $afterStr = get_option_value('a', 'after');
        $after = strtotime($afterStr);
        $actstr = new UserActivityStream($user, true, UserActivityStream::OUTPUT_RAW, $after);
    } else {
        $actstr = new UserActivityStream($user, true, UserActivityStream::OUTPUT_RAW);
    }
    if (have_option('j', 'json')) {
        $actstr->writeJSON(STDOUT);
    } else {
        print $actstr->getString();
    }
} catch (Exception $e) {
    print $e->getMessage() . "\n";
    exit(1);
}
예제 #2
0
 /**
  * Send a feed of the user's activities to the browser
  *
  * Uses the UserActivityStream class; may take a long time!
  *
  * @return void
  */
 function sendFeed()
 {
     $cur = common_current_user();
     $stream = new UserActivityStream($cur, true, UserActivityStream::OUTPUT_RAW);
     header('Content-Disposition: attachment; filename=' . $cur->nickname . '.atom');
     header('Content-Type: application/atom+xml; charset=utf-8');
     // @fixme atom feed logic is in getString...
     // but we just want it to output to the outputter.
     $this->raw($stream->getString());
 }