function privatesquare_checkins_for_user(&$user, $more = array()) { $cluster_id = $user['cluster_id']; $enc_user = AddSlashes($user['id']); $sql = "SELECT * FROM PrivatesquareCheckins WHERE user_id='{$enc_user}'"; if (isset($more['when'])) { list($start, $stop) = datetime_when_parse($more['when']); $enc_start = AddSlashes(strtotime($start)); $enc_stop = AddSlashes(strtotime($stop)); $sql .= " AND created BETWEEN '{$enc_start}' AND '{$enc_stop}'"; } else { if (isset($more['venue_id'])) { $enc_venue = AddSlashes($more['venue_id']); $sql .= " AND venue_id='{$enc_venue}'"; } else { if (isset($more['locality'])) { $enc_locality = AddSlashes($more['locality']); $sql .= " AND locality='{$enc_locality}'"; } } } $sql .= " ORDER BY created DESC"; $rsp = db_fetch_paginated_users($cluster_id, $sql, $more); if (!$rsp['ok']) { return $rsp; } $count = count($rsp['rows']); for ($i = 0; $i < $count; $i++) { privatesquare_checkins_inflate_extras($rsp['rows'][$i], $more); } return $rsp; }
$more = array(); if ($page = get_int32("page")) { $more['page'] = $page; } if ($when = get_str("when")) { $more['when'] = $when; $history_url .= urlencode($when) . "/"; # TO DO: find some better heuristic for this number # besides "pull it out of my ass" (20120206/straup) $more['per_page'] = 100; } $more['inflate_locality'] = 1; $rsp = privatesquare_checkins_for_user($owner, $more); # TO DO: oh god...timezones :-( if ($when) { list($start, $stop) = datetime_when_parse($more['when']); $GLOBALS['smarty']->assign("when", $when); $GLOBALS['smarty']->assign("start", $start); $GLOBALS['smarty']->assign("stop", $stop); } $status_map = privatesquare_checkins_status_map(); $GLOBALS['smarty']->assign_by_ref("status_map", $status_map); $GLOBALS['smarty']->assign("pagination_url", $GLOBALS['cfg']['abs_root_url'] . $history_url); $GLOBALS['smarty']->assign_by_ref("owner", $owner); $GLOBALS['smarty']->assign_by_ref("is_own", $is_own); $export_formats = privatesquare_export_valid_formats(); $GLOBALS['smarty']->assign("export_formats", array_keys($export_formats)); $geo_stats = privatesquare_checkins_utils_geo_stats($rsp['rows']); $GLOBALS['smarty']->assign_by_ref("geo_stats", $geo_stats); $GLOBALS['smarty']->assign_by_ref("checkins", $rsp['rows']); $GLOBALS['smarty']->display("page_user_history.txt");