/**
  * The ping method modified to use our enclosure method over WordPress'
  */
 function do_all_pings()
 {
     global $wpdb;
     // Do pingbacks
     while ($ping = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme' LIMIT 1")) {
         $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme';");
         pingback($ping->post_content, $ping->ID);
     }
     # Do enclosures if enabled, and if doing enclosures, use our custom method
     if (get_option('pod_disable_enclose') != 'yes') {
         // Do Enclosures
         while ($enclosure = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) {
             $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->postmeta} WHERE post_id = %d AND meta_key = '_encloseme';", $enclosure->ID));
             $this->do_enclose($enclosure->post_content, $enclosure->ID);
         }
     }
     // Do Trackbacks
     $trackbacks = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE to_ping <> '' AND post_status = 'publish'");
     if (is_array($trackbacks)) {
         foreach ($trackbacks as $trackback) {
             do_trackbacks($trackback);
         }
     }
     //Do Update Services/Generic Pings
     generic_ping();
 }
function execute_all_pings()
{
    global $wpdb;
    // Do pingbacks
    while ($ping = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme' LIMIT 1")) {
        $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme';");
        pingback($ping->post_content, $ping->ID);
        echo "Pingback: {$ping->post_title} : {$ping->ID}<br/>";
    }
    // Do Enclosures
    while ($enclosure = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) {
        $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$enclosure->ID} AND meta_key = '_encloseme';");
        do_enclose($enclosure->post_content, $enclosure->ID);
        echo "Enclosure: {$enclosure->post_title} : {$enclosure->ID}<br/>";
    }
    // Do Trackbacks
    while ($trackback = $wpdb->get_row("SELECT ID FROM {$wpdb->posts} WHERE TRIM(to_ping) != '' AND post_status != 'draft' LIMIT 1")) {
        echo "Trackback : {$trackback->ID}<br/>";
        do_trackbacks($trackback->ID);
    }
}
/**
 * Perform all pingbacks, enclosures, trackbacks, and send to pingback services.
 *
 * @since 2.1.0
 *
 * @global wpdb $wpdb WordPress database abstraction object.
 */
function do_all_pings()
{
    global $wpdb;
    // Do pingbacks
    while ($ping = $wpdb->get_row("SELECT ID, post_content, meta_id FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme' LIMIT 1")) {
        delete_metadata_by_mid('post', $ping->meta_id);
        pingback($ping->post_content, $ping->ID);
    }
    // Do Enclosures
    while ($enclosure = $wpdb->get_row("SELECT ID, post_content, meta_id FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) {
        delete_metadata_by_mid('post', $enclosure->meta_id);
        do_enclose($enclosure->post_content, $enclosure->ID);
    }
    // Do Trackbacks
    $trackbacks = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE to_ping <> '' AND post_status = 'publish'");
    if (is_array($trackbacks)) {
        foreach ($trackbacks as $trackback) {
            do_trackbacks($trackback);
        }
    }
    //Do Update Services/Generic Pings
    generic_ping();
}
<?php

require_once '../wp-config.php';
// Do pingbacks
while ($ping = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme' LIMIT 1")) {
    $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme';");
    pingback($ping->post_content, $ping->ID);
}
// Do Enclosures
while ($enclosure = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) {
    $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$enclosure->ID} AND meta_key = '_encloseme';");
    do_enclose($enclosure->post_content, $enclosure->ID);
}
// Do Trackbacks
$trackbacks = $wpdb->get_results("SELECT ID FROM {$wpdb->posts} WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status != 'draft'");
if (is_array($trackbacks)) {
    foreach ($trackbacks as $trackback) {
        do_trackbacks($trackback->ID);
    }
}
/**
 * Perform all pingbacks, enclosures, trackbacks, and send to pingback services.
 *
 * @since 2.1.0
 * @uses $wpdb
 */
function do_all_pings()
{
    global $wpdb;
    // Do pingbacks
    while ($ping = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme' LIMIT 1")) {
        $mid = $wpdb->get_var("SELECT meta_id FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme' LIMIT 1");
        do_action('delete_postmeta', $mid);
        $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->postmeta} WHERE meta_id = %d", $mid));
        do_action('deleted_postmeta', $mid);
        pingback($ping->post_content, $ping->ID);
    }
    // Do Enclosures
    while ($enclosure = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) {
        $mid = $wpdb->get_var($wpdb->prepare("SELECT meta_id FROM {$wpdb->postmeta} WHERE post_id = %d AND meta_key = '_encloseme'", $enclosure->ID));
        do_action('delete_postmeta', $mid);
        $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->postmeta} WHERE meta_id =  %d", $mid));
        do_action('deleted_postmeta', $mid);
        do_enclose($enclosure->post_content, $enclosure->ID);
    }
    // Do Trackbacks
    $trackbacks = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE to_ping <> '' AND post_status = 'publish'");
    if (is_array($trackbacks)) {
        foreach ($trackbacks as $trackback) {
            do_trackbacks($trackback);
        }
    }
    //Do Update Services/Generic Pings
    generic_ping();
}
function do_sidebar()
{
    global $db, $dblang, $globals;
    echo '<div id="sidebar">';
    if (!empty($_REQUEST['id'])) {
        $doing_story = true;
        do_trackbacks();
        echo '<ul class="main-menu">' . "\n";
    } else {
        $doing_story = false;
        echo '<ul class="main-menu">' . "\n";
        echo '<li>' . "\n";
        echo '<div class="note-temp">' . "\n";
        echo '<strong>' . _("menéame") . '</strong>' . "\n";
        echo _("es un sistema de promoción colaborativa de blogs...") . ' <a href="/faq-' . $dblang . '.php">' . _("leer más") . '</a>.' . "\n";
        echo '</div>' . "\n";
        echo '</li>' . "\n";
    }
    // Menear box
    echo '<li class="main-mnm"><a href="/shakeit.php">' . _("menear pendientes") . '</a></li>' . "\n";
    if ($globals['do_vote_queue']) {
        echo '<li class="main-mnm-moretext"><a href="/shakeit.php?category=' . $globals['category_id'] . '">' . _("menear pendientes de la categoría") . ' <strong>' . $globals['category_name'] . '</strong></a></li>' . "\n";
    }
    if (empty($_REQUEST['id'])) {
        // submit box
        echo '<li id="main-submit"><a href="/submit.php">' . _("enviar una historia") . '</a></li>' . "\n";
        echo '<li class="main-sneak"><a href="/sneak.php">' . _("fisgón") . '</a></li>' . "\n";
        do_categories('index', $_REQUEST['category']);
        //		do_tags_box();
        do_standard_links();
        //do_banner_right_a(); // right side banner
    }
    echo '<li><div class="mnu-bugs"><a href="http://meneame.wikispaces.com/Bugs">' . _("reportar un bug") . '</a></div></li>' . "\n";
    do_rss_box();
    echo '</ul></div><!--html1:do_sidebar-->' . "\n";
}
function do_all_pings() {
	global $wpdb;

	// Do pingbacks
	while ($ping = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme' LIMIT 1")) {
		$wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme';");
		pingback($ping->post_content, $ping->ID);
	}

	// Do Enclosures
	while ($enclosure = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) {
		$wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$enclosure->ID} AND meta_key = '_encloseme';");
		do_enclose($enclosure->post_content, $enclosure->ID);
	}

	// Do Trackbacks
	$trackbacks = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status = 'publish'");
	if ( is_array($trackbacks) ) {
		foreach ( $trackbacks as $trackback )
			do_trackbacks($trackback->ID);
	}

	//Do Update Services/Generic Pings
	generic_ping();
}
	}
	
	// Add any?
	foreach ($post_categories as $new_cat) {
		if (!in_array($new_cat, $old_categories))
			$wpdb->query("INSERT INTO $wpdb->post2cat (post_id, category_id) VALUES ($post_ID, $new_cat)");
	}

	if ($prev_status != 'publish' && $post_status == 'publish')
		do_action('private_to_published', $post_ID);

	do_action('edit_post', $post_ID);

	if ($post_status == 'publish') {
		do_action('publish_post', $post_ID);
		do_trackbacks($post_ID);
		do_enclose( $content, $post_ID );
		if ( get_option('default_pingback_flag') )
			pingback($content, $post_ID);
	}

	if ($post_status == 'static') {
		generate_page_rewrite_rules();

		if ( ! update_post_meta($post_ID, '_wp_page_template',  $_POST['page_template'])) {
			add_post_meta($post_ID, '_wp_page_template',  $_POST['page_template'], true);
		}
	}

	exit();
	break;
 /**
  * Copy of WP's "generic_ping".
  * Uses another function to send the actual XML-RPC messages.
  * @param string $post_title Title of the post
  * @param integer $post_type Future post or current post
  */
 function mbpoPingServices($post_title, $post_type)
 {
     global $wpdb;
     $this->already_pinged = array();
     $this->_post_type = $post_type;
     if (strpos($post_title, '~#') !== false) {
         $post_id_title = explode('~#', $post_title);
         $this->_post_title = $post_id_title[1];
         $this->_post_url = get_permalink($post_id_title[0]);
     } else {
         $this->_post_title = $post_title;
         $this->_post_url = '';
     }
     if ($this->mbpo_wp_version >= 2.1) {
         // Do pingbacks
         while ($ping = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme' LIMIT 1")) {
             $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme';");
             pingback($ping->post_content, $ping->ID);
         }
         // Do Enclosures
         while ($enclosure = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) {
             $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$enclosure->ID} AND meta_key = '_encloseme';");
             do_enclose($enclosure->post_content, $enclosure->ID);
         }
         // Do Trackbacks
         $trackbacks = $wpdb->get_results("SELECT ID FROM {$wpdb->posts} WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status = 'publish'");
         if (is_array($trackbacks)) {
             foreach ($trackbacks as $trackback) {
                 do_trackbacks($trackback->ID);
             }
         }
     }
     $services = get_settings('ping_sites');
     $services = preg_replace("|(\\s)+|", '$1', $services);
     $services = trim($services);
     if ('' != $services) {
         set_time_limit(300);
         $services = explode("\n", $services);
         foreach ($services as $service) {
             $this->mbpoSendXmlrpc($service);
         }
     }
     unset($this->already_pinged);
     set_time_limit(60);
 }
 function mw_editPost($args)
 {
     global $wpdb, $post_default_category;
     $this->escape($args);
     $post_ID = $args[0];
     $user_login = $args[1];
     $user_pass = $args[2];
     $content_struct = $args[3];
     $publish = $args[4];
     if (!$this->login_pass_ok($user_login, $user_pass)) {
         return $this->error;
     }
     $user_data = get_userdatabylogin($user_login);
     if (!user_can_edit_post($user_data->ID, $post_ID)) {
         return new IXR_Error(401, 'Sorry, you can not edit this post.');
     }
     $postdata = wp_get_single_post($post_ID, ARRAY_A);
     extract($postdata);
     $this->escape($postdata);
     $post_title = $content_struct['title'];
     $post_content = apply_filters('content_save_pre', $content_struct['description']);
     $catnames = $content_struct['categories'];
     $post_category = array();
     if (is_array($catnames)) {
         foreach ($catnames as $cat) {
             $post_category[] = get_cat_ID($cat);
         }
     }
     $post_excerpt = $content_struct['mt_excerpt'];
     $post_more = $content_struct['mt_text_more'];
     $post_status = $publish ? 'publish' : 'draft';
     if ($post_more) {
         $post_content = $post_content . "\n<!--more-->\n" . $post_more;
     }
     $to_ping = $content_struct['mt_tb_ping_urls'];
     $comment_status = empty($content_struct['mt_allow_comments']) ? get_settings('default_comment_status') : $content_struct['mt_allow_comments'];
     $ping_status = empty($content_struct['mt_allow_pings']) ? get_settings('default_ping_status') : $content_struct['mt_allow_pings'];
     // Do some timestamp voodoo
     $dateCreatedd = $content_struct['dateCreated'];
     if (!empty($dateCreatedd)) {
         $dateCreated = $dateCreatedd->getIso();
         $post_date = get_date_from_gmt(iso8601_to_datetime($dateCreated));
         $post_date_gmt = iso8601_to_datetime($dateCreated, GMT);
     } else {
         $post_date = $postdata['post_date'];
         $post_date_gmt = $postdata['post_date_gmt'];
     }
     // We've got all the data -- post it:
     $newpost = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'comment_status', 'ping_status', 'post_date', 'post_date_gmt', 'to_ping');
     $result = wp_update_post($newpost);
     if (!$result) {
         return new IXR_Error(500, 'Sorry, your entry could not be edited. Something wrong happened.');
     }
     logIO('O', "(MW) Edited ! ID: {$post_ID}");
     // FIXME: do we pingback always? pingback($content, $post_ID);
     // trackback_url_list($content_struct['mt_tb_ping_urls'], $post_ID);
     if ('publish' == $post_status) {
         if ($post_pingback) {
             pingback($content, $post_ID);
         }
         do_enclose($content, $post_ID);
         do_trackbacks($post_ID);
         do_action('publish_post', $post_ID);
     }
     do_action('edit_post', $post_ID);
     return true;
 }
 /**
  * Copy of WP's "generic_ping".
  * Uses another function to send the actual XML-RPC messages.
  * @param string $post_title Title of the post
  * @param integer $post_type Future post or current post
  */
 function mbpoPingServices($post_title, $post_type)
 {
     global $wpdb;
     $this->already_pinged = array();
     $this->_post_type = $post_type;
     if (strpos($post_title, '~#') !== false) {
         $post_id_title = explode('~#', $post_title);
         $this->_post_title = $post_id_title[1];
         $this->_post_url = get_permalink($post_id_title[0]);
     } else {
         $this->_post_title = $post_title;
         $this->_post_url = '';
     }
     if ($this->mbpo_wp_version >= 2.1) {
         // Do pingbacks
         $ping = $this->__mpoGetPingbackPost();
         $this->__mpoDeletePingBack($ping->ID);
         pingback($ping->post_content, $ping->ID);
         // Do Enclosures
         $enclosure = $this->__mpoGetEnclosurePost();
         $this->__mpoDeleteEnclosure($enclosure->ID);
         do_enclose($enclosure->post_content, $enclosure->ID);
         // Do Trackbacks
         $trackbacks = $this->__mpoGetTrackbacks();
         if (is_array($trackbacks)) {
             foreach ($trackbacks as $trackback) {
                 do_trackbacks($trackback->ID);
             }
         }
     }
     $services = get_option('mbp_ping_sites');
     $services = preg_replace("|(\\s)+|", '$1', $services);
     $services = trim($services);
     if ('' != $services) {
         set_time_limit(300);
         $services = explode("\n", $services);
         foreach ($services as $service) {
             $this->mbpoSendXmlrpc($service);
         }
     }
     unset($this->already_pinged);
     set_time_limit(60);
 }
/**
 * Perform all pingbacks, enclosures, trackbacks, and send to pingback services.
 *
 * @since 2.1.0
 * @uses $wpdb
 */
function do_all_pings()
{
    global $wpdb;
    // Do pingbacks
    while ($ping = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme' LIMIT 1")) {
        $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme';");
        pingback($ping->post_content, $ping->ID);
    }
    // Do Enclosures
    while ($enclosure = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) {
        $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->postmeta} WHERE post_id = %d AND meta_key = '_encloseme';", $enclosure->ID));
        do_enclose($enclosure->post_content, $enclosure->ID);
    }
    // Do Trackbacks
    $trackbacks = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE to_ping <> '' AND post_status = 'publish'");
    if (is_array($trackbacks)) {
        foreach ($trackbacks as $trackback) {
            do_trackbacks($trackback);
        }
    }
}
                pingback($ping->post_content, $ping->ID);
            }
        }
        // Do Enclosures
        if (apply_filters('vip_do_enclosures', true)) {
            while ($enclosure = $wpdb->get_row("SELECT ID, post_content, meta_id FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) {
                delete_metadata_by_mid('post', $enclosure->meta_id);
                do_enclose($enclosure->post_content, $enclosure->ID);
            }
        }
        // Do Trackbacks
        if (apply_filters('vip_do_trackbacks', false)) {
            $trackbacks = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE to_ping <> '' AND post_status = 'publish' LIMIT 10");
            if (is_array($trackbacks)) {
                foreach ($trackbacks as $trackback) {
                    do_trackbacks($trackback);
                }
            }
        }
        // Do Update Services/Generic Pings
        generic_ping();
    });
}
/**
 * On Go, all API usage must be over HTTPS for security
 *
 * Filter `rest_url` to always return the https:// version
 *
 * If this must be disabled for local development, the filter
 * can be removed, but be aware that HTTPS is enforced at the web server
 * level in production, meaning non-HTTPS API calls will result in a 406 error.