function kakapo_postdata($post_id) { if (!isset($_POST['kakapo_noncename'])) { return $post_id; } if (!wp_verify_nonce($_POST['kakapo_noncename'], plugin_basename(__FILE__))) { return $post_id; } if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return $post_id; } if ('page' == $_POST['post_type']) { if (!current_user_can('edit_page', $post_id)) { return $post_id; } } else { if (!current_user_can('edit_post', $post_id)) { return $post_id; } } global $wp_registered_sidebars; if ($_POST['title_sidebar_input'] == null) { update_post_meta($_POST['ID'], 'title_sidebar', $_POST['title_sidebar_select']); } else { $text = '|\'id\'\\s=>\\s\'' . $_POST['title_sidebar_input'] . '\'|U'; $default_value = array('before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>'); if (sizeof($wp_registered_sidebars) != 0) { foreach ($wp_registered_sidebars as $sidebar_current) { $id = explode('-', $sidebar_current['id']); if (sizeof($id) > 1) { if ($id[0] == 'kakapo') { $id = true; } else { $id = false; } } else { $id = false; } if (!$id) { $default_value = array('before_widget' => str_replace("'", '"', $sidebar_current['before_widget']), 'after_widget' => str_replace("'", '"', $sidebar_current['after_widget']), 'before_title' => str_replace("'", '"', $sidebar_current['before_title']), 'after_title' => str_replace("'", '"', $sidebar_current['after_title'])); break; } } } $default_value['id'] = md5(sizeof($wp_registered_sidebars) . mktime()); $default_value['title'] = $_POST['title_sidebar_input']; $json_data = get_kakapo_json_array(); $json_data[] = $default_value; $fp = fopen(ABS_KAKAPO_JSON_LIST_SIDEBARS, 'w'); fputs($fp, json_encode($json_data)); fclose($fp); reload_list_sidebar($json_data); update_post_meta($_POST['ID'], 'title_sidebar', 'kakapo-' . $default_value['id']); } }
function add_kakapo_sidebars() { if (isset($_GET['page'])) { if ($_GET['page'] == 'kakapo') { if (isset($_REQUEST['action'])) { if ('delete' == $_REQUEST['action']) { $json_data = get_kakapo_json_array(); $new_json_data = array(); for ($i = 0; $i < sizeof($json_data); $i++) { if ('kakapo-' . $json_data[$i]['id'] != $_REQUEST['title']) { $new_json_data[] = $json_data[$i]; } } unset($json_data); $fp = fopen(ABS_KAKAPO_JSON_LIST_SIDEBARS, 'w'); fputs($fp, json_encode($new_json_data)); fclose($fp); reload_list_sidebar($new_json_data); unset($new_json_data); header("Location: " . get_bloginfo('url') . "/wp-admin/themes.php?page=kakapo&delete=true"); die; } } } } add_theme_page("Sidebars", "Sidebars", 'edit_themes', 'kakapo', 'page_list_sidebar'); }