/** !!
  * After submitting page changes fill out the array 
  * { @link $new_page_settings } with the different pages elements: 
  * left, right, middle, javascripts and css.  Afterwards call
  * { @link set_inner_template() } and { @link generate_inner_html() } to
  * update the page html.
  * @param array $request_data data from the server to configure the page with
  */
 function handlePOSTPageSubmit($request_data)
 {
     global $error_msg;
     if (isset($request_data['form_data'])) {
         $new_page_settings = $request_data['form_data'];
         $new_page_settings['left'] = array();
         $new_page_settings['middle'] = array();
         $new_page_settings['right'] = array();
         $new_page_settings['javascripts'] = array();
         $new_page_settings['page_css'] = array();
         if (!empty($request_data['form_data']['left'])) {
             $new_page_settings['left'] = explode(',', $request_data['form_data']['left']);
         }
         if (!empty($request_data['form_data']['middle'])) {
             $new_page_settings['middle'] = explode(',', $request_data['form_data']['middle']);
         }
         if (!empty($request_data['form_data']['right'])) {
             $new_page_settings['right'] = explode(',', $request_data['form_data']['right']);
         }
         if (!empty($request_data['form_data']['javascripts'])) {
             $new_page_settings['javascripts'] = explode(',', $request_data['form_data']['javascripts']);
         }
         if (!empty($request_data['form_data']['page_css'])) {
             $new_page_settings['page_css'] = explode(',', $request_data['form_data']['page_css']);
         }
         if (!empty($request_data['form_data']['navigation_code'])) {
             $code = trim($request_data['form_data']['navigation_code']);
             $new_page_settings['navigation_code'] = $code;
         }
         if (!empty($request_data['form_data']['boot_code'])) {
             $bcode = trim($request_data['form_data']['boot_code']);
             $new_page_settings['boot_code'] = $bcode;
         }
         $page_settings = array();
         try {
             $dyn = new DynamicPage($new_page_settings['page_id']);
             $dyn->initialize();
             $save_page = isset($request_data['save_page']) ? true : false;
             $page_settings = $dyn->buildPageSettings($new_page_settings);
             $serialized_settings = serialize($page_settings);
             $this->set_inner_template('submit_success_inner.tpl');
             $this->inner_HTML = $this->generate_inner_html(array('page_id' => $this->page_id, 'page_settings' => $page_settings, 'serialized_settings' => $serialized_settings, 'save_page' => $save_page, 'adm_permissions' => $this->adm_permissions));
         } catch (DynamicPageException $e) {
             $error_msg = $e->getMessage();
         }
     }
 }
     }
 }
 global $use_theme;
 // Theme name defined in page XML config file
 try {
     $save_page = $app->getRequestParam('save');
     $new_page_settings = $app->getRequestParam('page_settings') ? unserialize(urldecode($app->getRequestParam('page_settings'))) : null;
     $cache_id = "dyn_page_{$req_page}";
     if (FileCache::is_cached($cache_id)) {
         $dynamic_page = FileCache::fetch($cache_id);
         $page_settings = $dynamic_page->buildPageSettings($new_page_settings);
     } else {
         $dynamic_page = new DynamicPage($req_page);
         $dynamic_page->initialize();
         $dynamic_page->save_page = $save_page;
         $page_settings = $dynamic_page->buildPageSettings($new_page_settings);
         FileCache::store($cache_id, $dynamic_page, 1200);
     }
     // Force login if we're on a private network, unless we're on login.php, register.php or dologin.php.
     $login_required = $page_settings['page_mode'] != 'public' ? true : false;
     if (!$login_required && PA::$network_info->is_private() && !@$login_never_required) {
         $login_required = TRUE;
     }
     // Check user session / login status, and redirect to login page (or
     // request page, for private networks) if required.
     if (!check_session($login_required, @$page_redirect_function)) {
         if ($login_required) {
             exit;
         }
     }
     $use_theme = $page_settings['page_theme'];