$msg = "ajax/modulesettings.php: No IDs for uid({$uid}) or page_id({$page_id}) passed"; Logger::log($msg); print "ERROR: " . $msg; exit; } $json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE); $data = stripslashes($_GET['data']); $new_settings_data = $json->decode($data); // remove the possibly auto added ActionsModule $new_settings_data['left'] = delete_module_from_array('ActionsModule', $new_settings_data['left']); $new_settings_data['right'] = delete_module_from_array('ActionsModule', $new_settings_data['right']); Logger::log("ajax/modulesettings.php: writing settings for uid({$uid}) or page_id({$page_id}) "); Logger::log("settings DATA IS:: " . print_r($new_settings_data, true)); // Logger::log("RAW JSON DATA IS:: ".$data ); // save settings for THIS page ModuleSetting::save_setting($uid, $page_id, $new_settings_data); /* if ($page_id == 1) { // if this is the USER page // we also want to save thiose settings // for her PUBLIC page //Code to remove modules from user public page $new_settings_data_public = $new_settings_data; $public_page_blacklist_modules = array('EnableModule', 'UserMessagesModule'); $new_settings_data_public['left'] = delete_module_from_array( $public_page_blacklist_modules, $new_settings_data_public['left'] );
/** !! * Save the selected modules as the future defaults * @param array $request_data form containing the modules settings */ private function handlePOST_saveModuleSettings($request_data) { $page_templates = $this->page_templates; $form_data = $request_data['form_data']; $page_template = $page_templates[$form_data['page_template']]; $left = null; $middle = null; $right = null; $new_settings = array(); foreach (array('left', 'middle', 'right') as $column) { if (isset($form_data[$column])) { foreach ($form_data[$column] as $module_data) { if (!empty($module_data['name'])) { if ($module_data['column'] == 'left') { $left[] = $module_data; } elseif ($module_data['column'] == 'middle') { $middle[] = $module_data; } elseif ($module_data['column'] == 'right') { $right[] = $module_data; } else { } } } } } if ($left) { usort($left, "sortByPosition"); foreach ($left as $key => $lmodule) { if (isset($lmodule['name'])) { $left[$key] = $lmodule['name']; } } } if ($middle) { usort($middle, "sortByPosition"); foreach ($middle as $key => $mmodule) { if (isset($mmodule['name'])) { $middle[$key] = $mmodule['name']; } } } if ($right) { usort($right, "sortByPosition"); foreach ($right as $key => $rmodule) { if (isset($rmodule['name'])) { $right[$key] = $rmodule['name']; } } } $new_settings['left'] = $left; $new_settings['middle'] = $middle; $new_settings['right'] = $right; $new_settings['page_template'] = $page_template; try { ModuleSetting::save_setting($this->assoc_id, $this->pid, $new_settings, $this->settings_type); } catch (Exception $e) { throw $e; } unset($request_data['form_data']); unset($request_data['page_template']); $this->setupCustomizeModuleSettings($request_data); }
} if (!$uid || !$page_id) { $msg = "ajax/modulesettings.php: No IDs for uid({$uid}) or page_id({$page_id}) passed"; Logger::log($msg); print "ERROR: " . $msg; exit; } $json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE); $data = stripslashes($_GET['data']); $new_settings_data = $json->decode($data); Logger::log("ajax/modulesettings.php: writing settings for uid({$uid}) or page_id({$page_id}) "); Logger::log("settings DATA IS:: " . print_r($new_settings_data, true)); // Logger::log("RAW JSON DATA IS:: ".$data ); // save settings for THIS page ModuleSetting::save_setting($uid, $page_id, $new_settings_data); if ($page_id == 1) { // if this is the USER page // we also want to save thiose settings // for her PUBLIC page /*Code to remove modules from user public page */ $new_settings_data_public = $new_settings_data; $public_page_blacklist_modules = array('EnableModule', 'UserMessagesModule'); $new_settings_data_public['left'] = delete_module_from_array($public_page_blacklist_modules, $new_settings_data_public['left']); $new_settings_data_public['right'] = delete_module_from_array($public_page_blacklist_modules, $new_settings_data_public['right']); // save setting for the PUBLIC page also Logger::log("public settings DATA IS:: " . print_r($new_settings_data_public, true)); ModuleSetting::save_setting($uid, PAGE_USER_PUBLIC, $new_settings_data_public); } // output something to the browser print_r($new_settings_data); exit;