public function onAppendUserActivityStreamObjects(UserActivityStream $uas, array &$objs)
 {
     // Messages _from_ the user
     $msgMap = Message::listGet('from_profile', array($uas->getUser()->id));
     $messages = $msgMap[$uas->getUser()->id];
     if (!empty($uas->after)) {
         $messages = array_filter($messages, array($uas, 'createdAfter'));
     }
     foreach ($messages as $message) {
         $objs[] = clone $message;
     }
     // Messages _to_ the user
     $msgMap = Message::listGet('to_profile', array($uas->getUser()->id));
     $messages = $msgMap[$uas->getUser()->id];
     if (!empty($uas->after)) {
         $messages = array_filter($messages, array($uas, 'createdAfter'));
     }
     foreach ($messages as $message) {
         $objs[] = clone $message;
     }
     return true;
 }
Пример #2
0
 public function onAppendUserActivityStreamObjects(UserActivityStream $uas, array &$objs)
 {
     $fave = new Fave();
     $fave->user_id = $uas->getUser()->id;
     if (!empty($uas->after)) {
         $fave->whereAdd("modified > '" . common_sql_date($uas->after) . "'");
     }
     if ($fave->find()) {
         while ($fave->fetch()) {
             $objs[] = clone $fave;
         }
     }
     return true;
 }
Пример #3
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);
}
Пример #4
0
 * (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/>.
 */
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
$shortoptions = 'i:n:f:';
$longoptions = array('id=', 'nickname=', 'file=');
$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
  -f --file     file to export to (default STDOUT)

END_OF_EXPORTACTIVITYSTREAM_HELP;
require_once INSTALLDIR . '/scripts/commandline.inc';
try {
    $user = getUser();
    $actstr = new UserActivityStream($user, true, UserActivityStream::OUTPUT_RAW);
    print $actstr->getString();
} catch (Exception $e) {
    print $e->getMessage() . "\n";
    exit(1);
}
Пример #5
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());
 }