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; }
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; }
$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); }
* (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); }
/** * 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()); }