Skip to content

Instantly share code, notes, and snippets.

@sandeepshetty
Created October 28, 2012 21:05
Show Gist options
  • Save sandeepshetty/3969907 to your computer and use it in GitHub Desktop.
Save sandeepshetty/3969907 to your computer and use it in GitHub Desktop.
<?php
/**
* WP1
* To Dos
*
* * sending comments needs to add current author data along with the comment data and thus register authorA ? on B along with the comment ?
* * send comment to a post on B from a post on A
* * send comment to a post on B from a comment on a post on A
* * parse url in post / comment
* * handle response from B @A so as to notify authorA
*/
/*
Plugin Name: Ping
Description: Attempting to do this http://activitypingback.org/
Author: Jigar Vyas
Version: 1.0
*/
require "/var/www/html/library/curl.php";
add_action("publish_post", "send");
if (!empty($_POST)) {
add_action("the_posts", "get");
}
function get($post) {
return add_comment(array("post_id" => $post[0]->ID, "comment" => $_POST['comment']));
exit;
}
function add_comment($comment_data) {
$commentdata['comment_post_ID'] = $comment_data['post_id'];
$commentdata['comment_content'] = $comment_data['comment'];
return wp_new_comment($commentdata);
}
function send($post_id) {
$_post_data = get_post($post_id);
$_urls = _parse_for_urls($_post_data->post_content);
if ($_urls) {
$curl = new Curl();
foreach ($_urls as $_url) {
$params['url'] = $_url;
$comment = "MY 2 cents:<br>";
$params['fields_data'] = array("comment" => $comment . $_post_data->post_content);
$curl->post($params);
}
}
return false;
}
function _parse_for_urls($str) {
$to_return = array("http://localhost/wp2/?p=1");
return $to_return;
}
?>
@sandeepshetty
Copy link
Author

BTW does Wordpress have its own http client? If yes, then you could use that so don't have to bundle the curl.php dependency.

@jigar
Copy link

jigar commented Oct 30, 2012

  • the exit was during testing when I was sending a normal form post from a local link to a blog and that get would load the WP Blog header before getting $_POST data. Not reqd now
  • haven't looked for a client within WP itself. Got to check. Will update

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment