$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);
 }
예제 #3
0
}
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;