function update_user_settings() { $user_settings = get_user_option('settings', get_current_user_id()); // If settings allready exists if (!empty($user_settings)) { $categories = $user_settings['categories']; $beneficiars = $user_settings['beneficiars']; if (!$beneficiars) { $beneficiars = array(); } // Add new category if ($_REQUEST['the_action'] == "add" && $_REQUEST['setting'] == "category") { if (!empty($categories)) { $categories[] .= $_REQUEST['category']; } else { $categories = array(); $categories[] .= $_REQUEST['category']; } $draw_categories = true; } // Add new beneficiar if ($_REQUEST['the_action'] == "add" && $_REQUEST['setting'] == "beneficiars") { if (!empty($beneficiars)) { $beneficiars[] .= $_REQUEST['beneficiar']; } else { $beneficiars = array(); $beneficiars[] .= $_REQUEST['beneficiar']; } $draw_beneficiars = true; } // Delete the category from array if ($_REQUEST['the_action'] == 'delete' && $_REQUEST['key'] != "") { $key = $_REQUEST['key']; reset($categories); reset($beneficiars); $result = delete_posts_from_category($_REQUEST['category_name'], $_REQUEST['setting']); if ($_REQUEST['setting'] == "beneficiar") { $draw_beneficiars = $result; } if ($_REQUEST['setting'] == "categoria") { $draw_categories = $result; } // $draw_beneficiars = $_REQUEST['setting'] == "beneficiar"?$result:true; // $draw_categories = $_REQUEST['setting'] == "categoria"?$result:true; if ($result) { if ($_REQUEST['setting'] == 'categoria') { unset($categories[(int) $key]); } if ($_REQUEST['setting'] == 'beneficiar') { unset($beneficiars[(int) $key]); } delete_posts_from_category($_REQUEST['category_name'], $_REQUEST['setting']); } } // Edit existing category if ($_REQUEST['the_action'] == 'edit' && $_REQUEST['setting'] == 'category') { $setting = $_REQUEST['setting'] == "category" ? "categoria" : "beneficiar"; change_settings_in_postmeta($setting, $categories[$_REQUEST['key']], $_REQUEST['new_value']); $categories[$_REQUEST['key']] = $_REQUEST['new_value']; $draw_categories = true; } // Edit existing beneficiar if ($_REQUEST['the_action'] == 'edit' && $_REQUEST['setting'] == 'beneficiars') { $setting = $_REQUEST['setting'] == "beneficiars" ? "beneficiar" : "categoria"; change_settings_in_postmeta($setting, $beneficiars[$_REQUEST['key']], $_REQUEST['new_value']); $beneficiars[$_REQUEST['key']] = $_REQUEST['new_value']; $draw_beneficiars = true; } $user_settings['categories'] = $categories; $user_settings['beneficiars'] = $beneficiars; $result_update = update_user_option(get_current_user_id(), 'settings', $user_settings); if ($draw_categories) { draw_setting("categories"); } if ($draw_beneficiars) { draw_setting("beneficiars"); } } else { // Initializing user settings $categories = array(); $beneficiars = array(); if (!empty($_REQUEST['category'])) { $categories[] .= $_REQUEST['category']; } if (!empty($_REQUEST['beneficiar'])) { $beneficiars[] .= $_REQUEST['beneficiar']; } // $categories[] .= $_REQUEST['category']; // $beneficiars[] .= $_REQUEST['beneficiar']; $user_settings = array('categories' => $categories, 'beneficiars' => $beneficiars); // create user settings $result_update = update_user_option(get_current_user_id(), 'settings', $user_settings); // draw_setting("categories"); // draw_setting("beneficiars"); $_REQUEST['setting'] == "beneficiars" ? draw_setting("beneficiars") : draw_setting("categories"); } die; }
<input type="text" name="category"/> <span id="add_category" class="add_setting" the_action="add">Adauga</span> </form> <div id="categories_result"> <?php draw_setting("categories"); ?> </div> <form action="" method="post"> <label for="add_beneficiar">Adauga Beneficiar</label> <input type="text" name="beneficiar" /> <span id="add_beneficiar" class="add_setting" the_action="add">Adauga</span> </form> <div id="beneficiar_result"> <?php draw_setting("beneficiars"); ?> </div> <?php //echo "<pre>"; //var_dump($user_settings); //echo "</pre>"; ?> </div> <div class="right sidebar"> <?php get_sidebar(); ?> </div>