function self($params) { global $pages, $page_name; $url = '/' . $page_name; $required_params = $pages[$page_name]['params']; foreach ($required_params as $k => $v) { if (array_key_exists($k, $params)) { $url .= '/' . urlencode($params[$k]); } else { $url .= '/' . urlencode($GLOBALS[$k]); } } $qs = array(); foreach ($_GET as $k => $v) { if (should_persist_param($k)) { $qs[$k] = $v; } } foreach ($params as $k => $v) { if (!array_key_exists($k, $required_params)) { $qs[$k] = $v; } } if (count($qs) > 0) { $url .= '?' . http_build_query($qs); } return $url; }
function form_display($f) { global $forms; $form = $forms[$f]; $params = array(); if ($form['method'] == 'get') { foreach ($_GET as $k => $v) { if (should_persist_param($k)) { $params[$k] = urlencode($v); } } } output_form_start($f, $form['action'] != null, $form['method'] == 'post', $form['errors'], $form['method'], $form['fileupload'], $params, $form['style']); foreach ($form['params'] as $k => $v) { if (isset($_REQUEST[$k])) { $v['value'] = htmlspecialchars($_REQUEST[$k]); } output_form_field($k, $v, $form['style']); } output_form_end($form['submit'], $form['style']); }