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);
 }