Exemplo n.º 1
0
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']);
    }
}
Exemplo n.º 2
0
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');
}