(is_closed_trans($type, $trans_no) ? set_icon(ICON_CLOSED, _('Closed')) :
pager_link(_("Edit"), sprintf($editor_url[$type], $trans_no, $type), ICON_EDIT));
}
+
+// This script updates the browser history when
+// any of the passed variables change.
+// This way, if the user changes these variables,
+// then uses the back button to return, it returns to the page
+// as the user modified it.
+function get_js_history(...$vars)
+{
+ $js = '
+ function changeVar() {
+ var stateObj = { foo: "bar" };
+ var state = "";
+';
+
+ $first = true;
+ foreach ( $vars as $var ) {
+ $js .= '
+ var element = document.getElementsByName("' . $var. '");
+ if (element[0])';
+ if ($first) {
+ $first = false;
+ $js .= '
+ state += "' . basename($_SERVER['SCRIPT_NAME']) . "?";
+ } else
+ $js .= '
+ state += "&';
+ $js .= $var .'="' . ' + element[0].value;';
+ }
+
+ $js .= '
+ history.replaceState(stateObj, "page 2", state);
+ }';
+ return $js;
+}
+
+function set_posts(...$vars)
+{
+ foreach ( $vars as $var )
+ if (isset($_GET[$var]))
+ $_POST[$var] = $_GET[$var];
+}
var sname = '_'+s.name+'_update';
var update = document.getElementsByName(sname)[0];
if(update) {
+ if (typeof changeVar === "function")
+ changeVar();
JsHttpRequest.request(update);
}
}
function(e) {
e.onclick = function() {
if (validate(e)) {
+ if (typeof changeVar === "function")
+ changeVar();
+
save_focus(e);
var asp = e.getAttribute('aspect')
if (asp && (asp.indexOf('process') !== -1))