public function manage_form_page($action, $form_id, $page_no = null, $new_page_name = null) { $form = new RM_Forms(); $form->load_from_db($form_id); $fopts = $form->get_form_options(); $form_pages = $fopts->form_pages; switch ($action) { case 'add_page': if ($form_pages == null) { $form_pages = array('Page 1', 'Page 2'); } else { $total_page = count($form_pages); $new_page_no = $total_page + 1; $form_pages[] = 'Page ' . $new_page_no; } break; case 'delete_page': if ($form_pages == null || !$page_no) { return; } else { if ($page_no == 1) { return; } //can't delete first page. if (isset($form_pages[$page_no - 1])) { RM_DBManager::remove_fields_for_page($page_no, $form_id); unset($form_pages[$page_no - 1]); } } break; case 'rename_page': if ($form_pages == null || !$page_no || !$new_page_name) { return; } else { if (isset($form_pages[$page_no - 1])) { $form_pages[$page_no - 1] = $new_page_name; } } break; } $x = (object) array('form_pages' => $form_pages); $form->set_form_options($x); $form->update_into_db(); return count($form_pages); }