function handle_save_swaps() { $logger = new SlotLogger(); $logger->open($this->file); require_once 'modules/DynamicLayout/DeleteFields.php'; $df = new DeleteFields(); $df->get_trash_file($this->file); $df->load_deleted_fields(); $view = $this->contents; $counter = 0; $return_view = ''; for ($i = 0; $i < sizeof($this->slots); $i++) { $slot = $this->slots[$i]; $explode = explode($slot[0], $view, 2); $explode[0] .= '<slot>'; $explode[1] = '</slot>' . $explode[1]; if (!empty($_REQUEST['add_slot_' . $i])) { $logger->add_field($i, from_html($_REQUEST['add_slot_' . $i])); $return_view .= $explode[0] . from_html($_REQUEST['add_slot_' . $i]); } else { if ($_REQUEST['form_slot_' . $i] == '-33' || $_REQUEST['form_slot_' . $i] == '-1') { //this is a delete row $return_view .= $explode[0] . ' '; $logger->swap_fields($i, $_REQUEST['form_slot_' . $i]); $df->delete_field($this->slots[$i][1]); } else { if ($_REQUEST['form_slot_' . $i] < 0) { $_REQUEST['form_slot_' . $i] = $i; } $logger->swap_fields($i, $_REQUEST['form_slot_' . $i]); $return_view .= $explode[0] . $this->slots[$_REQUEST['form_slot_' . $i]][1]; } } $view = $explode[1]; $counter++; } $logger->close(); $df->save_deleted_fields(); if (empty($return_view)) { return $this->contents; } return $return_view . $view; }