}
function pagination() {
- $offset = 1;
+ $first_page = 1;
$per_page = $GLOBALS['default_page_size'];
parse_str($_SERVER['QUERY_STRING'], $params);
- if (array_key_exists('page', $params)) if (is_numeric($params['page'])) $offset = $params['page'];
+ if (array_key_exists('page', $params)) if (is_numeric($params['page'])) $first_page = $params['page'];
if (array_key_exists('size', $params)) if (is_numeric($params['size'])) $per_page = $params['size'];
- return array($offset, $per_page);
+ return array($first_page, $per_page);
}
function page_link($alt, $n, $cur, $max, $size) {
function show_pagination($pager, $n = 5) {
if (! $pager->haveToPaginate()) return;
- list($offset, $per_page) = pagination();
+ list($first_page, $per_page) = pagination();
$pages = ceil($pager->getNbResults() / $per_page);
$pages++;
$links = array();
- $links[] = page_link('First', 1, $offset, $pages, $per_page);
- $links[] = page_link('Previous', $offset - 1, $offset, $pages, $per_page);
- foreach ($pager->getLinks($n) as $link) $links[] = page_link($link, $link, $offset, $pages, $per_page);
- $links[] = page_link('Next', $offset + 1, $offset, $pages, $per_page);
- $links[] = page_link('Last', $pages, $offset, $pages, $per_page);
+ $links[] = page_link('First', 1, $first_page, $pages, $per_page);
+ $links[] = page_link('Previous', $first_page - 1, $first_page, $pages, $per_page);
+ foreach ($pager->getLinks($n) as $link) $links[] = page_link($link, $link, $first_page, $pages, $per_page);
+ $links[] = page_link('Next', $first_page + 1, $first_page, $pages, $per_page);
+ $links[] = page_link('Last', $pages, $first_page, $pages, $per_page);
echo "<p>Page: ";
echo implode(' / ', $links);
exit;
}
- function show_orders($offset, $per_page, $requester_ids = null, $beneficiary_ids = null, $state_mask = null) {
- list($offset, $per_page) = pagination();
+ function show_orders($requester_ids = null, $beneficiary_ids = null, $state_mask = null) {
+ list($first_page, $per_page) = pagination();
/* XXX: Use Propel methods. */
if (isset($state_mask)) $order_ids = get_order_ids_by_state($state_mask);
$q = new OrderQuery;
# XXX: Doesn't work.
#if (isset($state_mask)) $q->useOrderStateQuery()->addSelectQuery($latest_state, 'latestState')->where("order_id=latestState.order_id")->where("state & $state_mask")->endUse();
if (isset($state_mask)) $q->filterById($order_ids);
- $orders = $q->orderByDate('desc')->orderById('desc')->paginate($offset, $per_page);
+ $orders = $q->orderByDate('desc')->orderById('desc')->paginate($first_page, $per_page);
if (count($orders)) {
foreach ($orders as $order) {
echo "<br>\n" . get_order_summary($order) . "<br>\n";
else echo " none";
}
- function show_city_orders($offset, $per_page, $city_name, $city_id = null, $state_mask = null) {
+ function show_city_orders($city_name, $city_id = null, $state_mask = null) {
if (isset($city_id)) $city = get_city_by_id($city_id);
else if ($city_name) $city = get_city_by_name($city_name);
if ($city) {
foreach ($contacts as $contact) $beneficiary_ids[] = $contact->getId();
echo "<p>Orders in city " . $city->getLink(get_city_displayname($city)) . ":";
- return show_orders($offset, $per_page, null, $beneficiary_ids, $state_mask);
+ return show_orders(null, $beneficiary_ids, $state_mask);
}
else echo "<p>No such city!</p>\n";
}
- function show_requester_orders($offset, $per_page, $contact_name, $contact_id = null, $state_mask = null) {
+ function show_requester_orders($contact_name, $contact_id = null, $state_mask = null) {
if (isset($contact_id)) $contact = get_contact_by_id($contact_id);
else if ($contact_name) $contact = get_contact_by_name($contact_name);
if ($contact) {
echo "<p>Orders from referrer " . $contact->getLink() . ":";
- return show_orders($offset, $per_page, $contact->getId(), null, $state_mask);
+ return show_orders($contact->getId(), null, $state_mask);
}
else echo "<p>No such contact!</p>\n";
}
- function show_beneficiary_orders($offset, $per_page, $contact_name, $contact_id = null, $state_mask = null) {
+ function show_beneficiary_orders($contact_name, $contact_id = null, $state_mask = null) {
if (isset($contact_id)) $contact = get_contact_by_id($contact_id);
else if ($contact_name) $contact = get_contact_by_name($contact_name);
if ($contact) {
echo "<p>Orders to beneficiary " . $contact->getLink() . ":";
- return show_orders($offset, $per_page, null, $contact->getId(), $state_mask);
+ return show_orders(null, $contact->getId(), $state_mask);
}
else echo "<p>No such contact!</p>\n";
}
- function show_area_orders($offset, $per_page, $area_name, $area_id = null, $state_mask = null) {
+ function show_area_orders($area_name, $area_id = null, $state_mask = null) {
if (isset($area_id)) $area = get_area_by_id($area_id);
else if ($area_name) $area = get_area_by_name($area_name);
if ($area) {
foreach ($contacts as $contact) $contact_ids[] = $contact->getId();
echo "<p>Orders in area " . $area->getLink() . ":";
- return show_orders($offset, $per_page, null, $contact_ids, $state_mask);
+ return show_orders(null, $contact_ids, $state_mask);
}
else echo "<p>No such area!</p>\n";
}
$area = $q->findOneById($area_id);
$city = get_area_city($area);
if ($city) $city_id = $city->getId();
- show_area_orders(0, 10, $parameters[2], $area_id, $state_mask);
+ show_area_orders($parameters[2], $area_id, $state_mask);
break;
case "city":
$_POST['city_id'] = $city_id;
$q = new CityQuery;
$city = $q->findOneById($city_id);
- show_city_orders(0, 10, $parameters[2], $city_id, $state_mask);
+ show_city_orders($parameters[2], $city_id, $state_mask);
break;
}
}
$contact_id = $parameters[3];
$q = new ContactQuery;
$contact = $q->findOneById($contact_id);
- show_requester_orders(0, 10, $parameters[2], $contact_id, $state_mask);
+ show_requester_orders($parameters[2], $contact_id, $state_mask);
break;
}
}
$contact_id = $parameters[3];
$q = new ContactQuery;
$hub = $q->findOneById($contact_id);
- show_beneficiary_orders(0, 10, $parameters[2], $contact_id, $state_mask);
+ show_beneficiary_orders($parameters[2], $contact_id, $state_mask);
break;
}
}
}
}
else if (isset($id)) show_order($id);
- else if ($state_mask) show_orders(0, 10, null, null, $state_mask);
+ else if ($state_mask) show_orders(null, null, $state_mask);
show_order_forms($city_id, $state_mask);
show_add_new_order_form($city_id);