コード例 #1
0
ファイル: example-9.php プロジェクト: Cywaithaka/bwawwp
function bwawwp_xmlrpc_getTerm()
{
    global $xmlrpc_url, $xmlrpc_user, $xmlrpc_pass;
    $rpc = new IXR_CLIENT($xmlrpc_url);
    $rpc->query('wp.getTerm', 0, $xmlrpc_user, $xmlrpc_pass, 'category', 1);
    echo '<h1>Term ID 1</h1>';
    echo '<pre>';
    print_r($rpc->getResponse());
    echo '</pre>';
    exit;
}
コード例 #2
0
ファイル: example-5.php プロジェクト: Cywaithaka/bwawwp
function bwawwp_xmlrpc_newPost()
{
    global $xmlrpc_url, $xmlrpc_user, $xmlrpc_pass;
    $rpc = new IXR_CLIENT($xmlrpc_url);
    // create an array with post data
    $content = array('post_title' => 'New Post with XML-RPC');
    $rpc->query('wp.newPost', 0, $xmlrpc_user, $xmlrpc_pass, $content);
    $post_id = $rpc->getResponse();
    echo '<h1>New Post ID: ' . $post_id . '</h1>';
    exit;
}
コード例 #3
0
ファイル: example-10.php プロジェクト: Cywaithaka/bwawwp
function bwawwp_xmlrpc_getTaxonomies()
{
    global $xmlrpc_url, $xmlrpc_user, $xmlrpc_pass;
    $rpc = new IXR_CLIENT($xmlrpc_url);
    $rpc->query('wp.getTaxonomies', 0, $xmlrpc_user, $xmlrpc_pass);
    echo '<h1>Taxonomies</h1>';
    echo '<pre>';
    print_r($rpc->getResponse());
    echo '</pre>';
    exit;
}
コード例 #4
0
ファイル: example-17.php プロジェクト: Cywaithaka/bwawwp
function bwawwp_xmlrpc_getPostTypes()
{
    $rpc = new IXR_CLIENT('http://messenlehner.com/xmlrpc.php');
    $filter = array('public' => 1);
    $rpc->query('wp.getPostTypes', 0, $username, $password, $filter);
    $response = $rpc->getResponse();
    echo '<h1>Post Types</h1>';
    echo '<pre>';
    print_r($response);
    echo '</pre>';
    exit;
}
コード例 #5
0
ファイル: example-15.php プロジェクト: Cywaithaka/bwawwp
function bwawwp_xmlrpc_getMediaLibrary()
{
    global $xmlrpc_url, $xmlrpc_user, $xmlrpc_pass;
    $rpc = new IXR_CLIENT($xmlrpc_url);
    $filter = array('number' => '20');
    $rpc->query('wp.getMediaLibrary', 0, $xmlrpc_user, $xmlrpc_pass, $filter);
    echo '<h1>Media Library</h1>';
    echo '<pre>';
    print_r($rpc->getResponse());
    echo '</pre>';
    exit;
}
コード例 #6
0
ファイル: example-14.php プロジェクト: Cywaithaka/bwawwp
function bwawwp_xmlrpc_getComments()
{
    global $xmlrpc_url, $xmlrpc_user, $xmlrpc_pass;
    $rpc = new IXR_CLIENT($xmlrpc_url);
    $filter = array('status' => 'approve', 'number' => '20');
    $rpc->query('wp.getComments', 0, $xmlrpc_user, $xmlrpc_pass, $filter);
    echo '<h1>Approved Comments</h1>';
    echo '<pre>';
    print_r($rpc->getResponse());
    echo '</pre>';
    exit;
}
コード例 #7
0
ファイル: example-13.php プロジェクト: Cywaithaka/bwawwp
function bwawwp_xmlrpc_setOptions()
{
    global $xmlrpc_url, $xmlrpc_user, $xmlrpc_pass;
    $rpc = new IXR_CLIENT($xmlrpc_url);
    $options = array('blog_title' => 'Site Title via XML-RPC', 'blog_tagline' => 'Just another WordPress site via XML-RPC');
    $rpc->query('wp.setOptions', 0, $xmlrpc_user, $xmlrpc_pass, $options);
    echo '<h1>Set Options</h1>';
    echo '<pre>';
    print_r($rpc->getResponse());
    echo '</pre>';
    exit;
}
コード例 #8
0
ファイル: example-2.php プロジェクト: Cywaithaka/bwawwp
function bwawwp_xmlrpc_getUsersBlogs()
{
    global $xmlrpc_url, $xmlrpc_user, $xmlrpc_pass;
    $rpc = new IXR_CLIENT($xmlrpc_url);
    // returns all blogs in a multisite network
    $rpc->query('wp.getUsersBlogs', $xmlrpc_user, $xmlrpc_pass);
    echo '<h1>Blogs</h1>';
    echo '<pre>';
    print_r($rpc->getResponse());
    echo '</pre>';
    exit;
}
コード例 #9
0
ファイル: example-7.php プロジェクト: Cywaithaka/bwawwp
function bwawwp_xmlrpc_deletePost()
{
    global $xmlrpc_url, $xmlrpc_user, $xmlrpc_pass;
    $rpc = new IXR_CLIENT($xmlrpc_url);
    // return last post to get a post ID
    $filter = array('number' => '1', 'orderby' => 'date', 'order' => 'DESC');
    $fields = array('post_id');
    $rpc->query('wp.getPosts', 0, $xmlrpc_user, $xmlrpc_pass, $filter, $fields);
    $response = $rpc->getResponse();
    $post_id = $response[0]['post_id'];
    // delete post by $post_id
    $rpc->query('wp.deletePost', 0, $xmlrpc_user, $xmlrpc_pass, $post_id);
    echo '<h1>Deleted Post ID: ' . $post_id . '</h1>';
    exit;
}
コード例 #10
0
ファイル: example-6.php プロジェクト: Cywaithaka/bwawwp
function bwawwp_xmlrpc_editPost()
{
    global $xmlrpc_url, $xmlrpc_user, $xmlrpc_pass;
    $rpc = new IXR_CLIENT($xmlrpc_url);
    // return last post to get a post ID
    $filter = array('number' => '1', 'orderby' => 'date', 'order' => 'DESC');
    $fields = array('post_id');
    $rpc->query('wp.getPosts', 0, $xmlrpc_user, $xmlrpc_pass, $filter, $fields);
    $response = $rpc->getResponse();
    $post_id = $response[0]['post_id'];
    // create an array with new post data
    $content = array('post_title' => 'Updated Post with XML-RPC', 'post_status' => 'publish');
    $rpc->query('wp.editPost', 0, $xmlrpc_user, $xmlrpc_pass, $post_id, $content);
    echo '<h1>Updated Post ID: ' . $post_id . '</h1>';
    exit;
}
コード例 #11
0
ファイル: example-12.php プロジェクト: Cywaithaka/bwawwp
function bwawwp_xmlrpc_getOptions()
{
    global $xmlrpc_url, $xmlrpc_user, $xmlrpc_pass;
    $rpc = new IXR_CLIENT($xmlrpc_url);
    $rpc->query('wp.getOptions', 0, $xmlrpc_user, $xmlrpc_pass);
    echo '<h1>All Options</h1>';
    echo '<pre>';
    print_r($rpc->getResponse());
    echo '</pre>';
    $options = array('blog_url', 'template');
    $rpc->query('wp.getOptions', 0, $xmlrpc_user, $xmlrpc_pass, $options);
    echo '<h1>Filter 2 Options</h1>';
    echo '<pre>';
    print_r($rpc->getResponse());
    echo '</pre>';
    exit;
}
コード例 #12
0
ファイル: example-3.php プロジェクト: Cywaithaka/bwawwp
function bwawwp_xmlrpc_getPosts()
{
    global $xmlrpc_url, $xmlrpc_user, $xmlrpc_pass;
    $rpc = new IXR_CLIENT($xmlrpc_url);
    // returns all posts of post post_type
    $rpc->query('wp.getPosts', 0, $xmlrpc_user, $xmlrpc_pass);
    echo '<h1>posts</h1>';
    echo '<pre>';
    print_r($rpc->getResponse());
    echo '</pre>';
    // returns all posts of page post_type (or any specific post type)
    $filter = array('post_type' => 'page');
    $rpc->query('wp.getPosts', 0, $xmlrpc_user, $xmlrpc_pass, $filter);
    echo '<h1>pages</h1>';
    echo '<pre>';
    print_r($rpc->getResponse());
    echo '</pre>';
    // returns 5 published page titles in abc order
    $filter = array('post_type' => 'page', 'status' => 'publish', 'number' => '5', 'orderby' => 'title', 'order' => 'ASC');
    $fields = array('post_title');
    $rpc->query('wp.getPosts', 0, $xmlrpc_user, $xmlrpc_pass, $filter, $fields);
    echo '<h1>5 published page titles</h1>';
    echo '<pre>';
    print_r($rpc->getResponse());
    echo '</pre>';
    exit;
}
コード例 #13
0
ファイル: example-16.php プロジェクト: Cywaithaka/bwawwp
function bwawwp_xmlrpc_uploadFile()
{
    global $xmlrpc_url, $xmlrpc_user, $xmlrpc_pass;
    $rpc = new IXR_CLIENT($xmlrpc_url);
    // grab an image
    $args = array('post_type' => 'attachment', 'post_status' => 'any', 'posts_per_page' => 1, 'post_mime_type' => 'image/jpeg');
    $posts = get_posts($args);
    $name = basename($posts[0]->post_title);
    $type = $posts[0]->post_mime_type;
    $bits = file_get_contents($posts[0]->guid);
    $data = array('name' => $name, 'type' => $type, 'bits' => new IXR_Base64($bits), 'overwrite' => true);
    $rpc->query('wp.uploadFile', 0, $xmlrpc_user, $xmlrpc_pass, $data);
    echo '<h1>Uploaded File</h1>';
    echo '<pre>';
    print_r($rpc->getResponse());
    echo '</pre>';
    exit;
}
コード例 #14
0
ファイル: example-11.php プロジェクト: Cywaithaka/bwawwp
function bwawwp_xmlrpc_getUsers()
{
    global $xmlrpc_url, $xmlrpc_user, $xmlrpc_pass;
    $rpc = new IXR_CLIENT($xmlrpc_url);
    $rpc->query('wp.getUsers', 0, $xmlrpc_user, $xmlrpc_pass);
    echo '<h1>Users</h1>';
    echo '<pre>';
    print_r($rpc->getResponse());
    echo '</pre>';
    $filter = array('role' => 'administrator');
    $fields = array('username', 'email');
    $rpc->query('wp.getUsers', 0, $xmlrpc_user, $xmlrpc_pass, $filter, $fields);
    echo '<h1>Filtered Users</h1>';
    echo '<pre>';
    print_r($rpc->getResponse());
    echo '</pre>';
    exit;
}
コード例 #15
0
ファイル: example-4.php プロジェクト: Cywaithaka/bwawwp
function bwawwp_xmlrpc_getPost()
{
    global $xmlrpc_url, $xmlrpc_user, $xmlrpc_pass;
    $rpc = new IXR_CLIENT($xmlrpc_url);
    $method = 'wp.getPost';
    // return last post to get a post ID
    $filter = array('number' => '1', 'orderby' => 'date', 'order' => 'DESC');
    $fields = array('post_id');
    $rpc->query('wp.getPosts', 0, $xmlrpc_user, $xmlrpc_pass, $filter, $fields);
    $response = $rpc->getResponse();
    $post_id = $response[0]['post_id'];
    // return all data on last $post_id
    $rpc->query('wp.getPost', 0, $xmlrpc_user, $xmlrpc_pass, $post_id);
    echo '<h1>Post ID: ' . $post_id . '</h1>';
    echo '<pre>';
    print_r($rpc->getResponse());
    echo '</pre>';
    exit;
}
コード例 #16
0
function wprss_save_meta_box_data($post_id)
{
    // Check if our nonce is set.
    if (!isset($_POST['wprss_meta_box_nonce'])) {
        return;
    }
    // Verify that the nonce is valid.
    if (!wp_verify_nonce($_POST['wprss_meta_box_nonce'], 'wprss_save_meta_box_data')) {
        return;
    }
    // If this is an autosave, our form has not been submitted, so we don't want to do anything.
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
        return;
    }
    // Check the user's permissions.
    if (isset($_POST['post_type']) && 'page' == $_POST['post_type']) {
        if (!current_user_can('edit_page', $post_id)) {
            return;
        }
    } else {
        if (!current_user_can('edit_post', $post_id)) {
            return;
        }
    }
    // OK, it's safe for us to save the data now.
    $options = get_option('wprss_options');
    if (is_array($options) && count($options) > 0) {
        if (is_object($post_id)) {
            $post_id = $post_id->ID;
        }
        $post = get_post($post_id);
        $post_categories = wp_get_post_categories($post_id);
        $post_tags = wp_get_post_tags($post_id);
        $listcat = array();
        $listtag = array();
        if (count($post_categories) > 0) {
            foreach ($post_categories as $c) {
                $cat = get_category($c);
                $listcat[] = $cat->name;
            }
        }
        if (count($post_tags) > 0) {
            foreach ($post_tags as $t) {
                $listtag[] = $t->name;
            }
        }
        $path_to_www_folder = get_home_path();
        include_once $path_to_www_folder . 'wp-includes/class-IXR.php';
        $post_date_gmt = new IXR_Date(strtotime($post->post_date_gmt));
        foreach ($options as $key => $val) {
            if ($options[$key]["wprss_host"] != "") {
                if ($_POST["wprss_check_" . $key] != "") {
                    $h = $options[$key]["wprss_host"];
                    $u = $options[$key]["wprss_username"];
                    $p = $options[$key]["wprss_pwd"];
                    $update_post = 0;
                    $meta_key = 'post_at_' . $h;
                    $remote_post_id = get_post_meta($post_id, $meta_key, true);
                    $client = new IXR_CLIENT($h . '/xmlrpc.php');
                    if ($remote_post_id != "") {
                        if ($client->query('wp.getPost', '1', $u, $p, $remote_post_id)) {
                            $response = $client->getResponse();
                            if (count($response) > 0) {
                                $update_post = 1;
                            } else {
                                delete_post_meta($post_id, $meta_key, $remote_post_id);
                            }
                        } else {
                            delete_post_meta($post_id, $meta_key, $remote_post_id);
                        }
                    }
                    if ($update_post == 0) {
                        $content = array();
                        $content['post_status'] = $post->post_status;
                        $content['post_title'] = $post->post_title;
                        $content['post_excerpt'] = substr($post->post_content_filtered, 0, 250);
                        $content['post_date_gmt'] = $post_date_gmt;
                        $content['post_content'] = $post->post_content_filtered;
                        $content['terms'] = array('category' => $listcat);
                        $content['terms_names'] = array('post_tag' => $listtag);
                        if (!$client->query('wp.newPost', '', $u, $p, $content)) {
                            error_log("Error creation new post: " . $client->getErrorMessage());
                        } else {
                            $remote_post_id = $client->getResponse();
                            add_post_meta($post_id, $meta_key, $remote_post_id, true);
                        }
                    } else {
                        $content = array();
                        $content['post_status'] = $post->post_status;
                        $content['post_title'] = $post->post_title;
                        $content['post_excerpt'] = substr($post->post_content_filtered, 0, 250);
                        $content['post_date_gmt'] = $post_date_gmt;
                        $content['post_content'] = $post->post_content_filtered;
                        $content['terms'] = array('category' => $listcat);
                        $content['terms_names'] = array('post_tag' => $listtag);
                        if (!$client->query('wp.editPost', "1", $u, $p, $remote_post_id, $content, true)) {
                            error_log("Error edit post: " . $client->getErrorMessage());
                        }
                    }
                }
            }
        }
    }
    return;
}