当前位置: 首页>>代码示例>>PHP>>正文


PHP pingback函数代码示例

本文整理汇总了PHP中pingback函数的典型用法代码示例。如果您正苦于以下问题:PHP pingback函数的具体用法?PHP pingback怎么用?PHP pingback使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了pingback函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: do_all_pings

 /**
  * 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();
 }
开发者ID:howardlei82,项目名称:IGSM-Website,代码行数:29,代码来源:podcasting-metabox.php

示例2: wp_insert_post

function wp_insert_post($postarr = array())
{
    global $wpdb, $allowedtags;
    // export array as variables
    extract($postarr);
    $post_name = sanitize_title($post_title);
    $post_author = (int) $post_author;
    // Make sure we set a valid category
    if (0 == count($post_category) || !is_array($post_category)) {
        $post_category = array(get_option('default_category'));
    }
    $post_cat = $post_category[0];
    if (empty($post_date)) {
        $post_date = current_time('mysql');
    }
    // Make sure we have a good gmt date:
    if (empty($post_date_gmt)) {
        $post_date_gmt = get_gmt_from_date($post_date);
    }
    if (empty($comment_status)) {
        $comment_status = get_settings('default_comment_status');
    }
    if (empty($ping_status)) {
        $ping_status = get_settings('default_ping_status');
    }
    if (empty($post_parent)) {
        $post_parent = 0;
    }
    if ('publish' == $post_status) {
        $post_name_check = $wpdb->get_var("SELECT post_name FROM {$wpdb->posts} WHERE post_name = '{$post_name}' AND post_status = 'publish' AND ID != '{$post_ID}' LIMIT 1");
        if ($post_name_check) {
            $suffix = 2;
            while ($post_name_check) {
                $alt_post_name = $post_name . "-{$suffix}";
                $post_name_check = $wpdb->get_var("SELECT post_name FROM {$wpdb->posts} WHERE post_name = '{$alt_post_name}' AND post_status = 'publish' AND ID != '{$post_ID}' LIMIT 1");
                $suffix++;
            }
            $post_name = $alt_post_name;
        }
    }
    $sql = "INSERT INTO {$wpdb->posts} \n\t\t(post_author, post_date, post_date_gmt, post_modified, post_modified_gmt, post_content, post_title, post_excerpt, post_category, post_status, post_name, comment_status, ping_status, post_parent) \n\t\tVALUES ('{$post_author}', '{$post_date}', '{$post_date_gmt}', '{$post_date}', '{$post_date_gmt}', '{$post_content}', '{$post_title}', '{$post_excerpt}', '{$post_cat}', '{$post_status}', '{$post_name}', '{$comment_status}', '{$ping_status}', '{$post_parent}')";
    $result = $wpdb->query($sql);
    $post_ID = $wpdb->insert_id;
    // Set GUID
    $wpdb->query("UPDATE {$wpdb->posts} SET guid = '" . get_permalink($post_ID) . "' WHERE ID = '{$post_ID}'");
    wp_set_post_cats('', $post_ID, $post_category);
    if ($post_status == 'publish') {
        do_action('publish_post', $post_ID);
    }
    pingback($content, $post_ID);
    // Return insert_id if we got a good result, otherwise return zero.
    return $result ? $post_ID : 0;
}
开发者ID:BackupTheBerlios,项目名称:steampress-svn,代码行数:53,代码来源:functions-post.php

示例3: execute_all_pings

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);
    }
}
开发者ID:robertlange81,项目名称:Website,代码行数:21,代码来源:execute-pings.php

示例4: mweditpost

function mweditpost($params)
{
    // ($postid, $user, $pass, $content, $publish)
    $xpostid = $params->getParam(0);
    $xuser = $params->getParam(1);
    $xpass = $params->getParam(2);
    $xcontent = $params->getParam(3);
    $xpublish = $params->getParam(4);
    $ID = intval($xpostid->scalarval());
    $username = $xuser->scalarval();
    $password = $xpass->scalarval();
    $contentstruct = php_xmlrpc_decode($xcontent);
    $postarr['post_status'] = $xpublish->scalarval() ? 'publish' : 'draft';
    // Check login
    if (user_pass_ok($username, $password)) {
        $postdata = wp_get_single_post($ID, ARRAY_A);
        if (!$postdata) {
            return new xmlrpcresp(0, $GLOBALS['xmlrpcerruser'] + 2, "No such post '{$ID}'.");
        }
        $userdata = get_userdatabylogin($username);
        if ($userdata->user_level < 1) {
            return new xmlrpcresp(0, $GLOBALS['xmlrpcerruser'] + 1, 'Sorry, level 0 users can not edit posts');
        }
        if ($userdata->ID != $postdata['post_author'] && $userdata->user_level != 10) {
            $authordata = get_userdata($postdata['post_author']);
            if ($userdata->user_level <= $authordata->user_level) {
                return new xmlrpcresp(0, $GLOBALS['xmlrpcerruser'] + 1, 'Sorry, you do not have the right to edit this post');
            }
        }
        $postarr['ID'] = $ID;
        if (array_key_exists('title', $contentstruct)) {
            $postarr['post_title'] = $contentstruct['title'];
            logIO('O', $contentstruct['title']);
        }
        if (array_key_exists('description', $contentstruct)) {
            $postarr['post_content'] = format_to_post($contentstruct['description']);
            logIO('O', $contentstruct['description']);
        }
        if (array_key_exists('mt_excerpt', $contentstruct)) {
            $postarr['post_excerpt'] = $contentstruct['mt_excerpt'];
        }
        if (array_key_exists('mt_text_more', $contentstruct)) {
            if (trim(format_to_post($contentstruct['mt_text_more']))) {
                $postarr['post_content'] .= "\n<!--more-->\n" . format_to_post($contentstruct['mt_text_more']);
            }
        }
        if (array_key_exists('mt_allow_comments', $contentstruct)) {
            $postarr['comment_status'] = $contentstruct['mt_allow_comments'] ? 'open' : 'closed';
        }
        if (array_key_exists('mt_allow_pings', $contentstruct)) {
            $postarr['ping_status'] = $contentstruct['mt_allow_pings'] ? 'open' : 'closed';
        }
        if (!empty($contentstruct['dateCreated'])) {
            $dateCreated = preg_split('/([+\\-Z])/', $contentstruct['dateCreated'], -1, PREG_SPLIT_DELIM_CAPTURE);
            if (count($dateCreated) == 3) {
                $dateCreated[2] = str_replace(':', '', $dateCreated[2]);
            }
            if ($dateCreated[1] == '+') {
                $dateoffset = intval($dateCreated[2]) * 36;
            } else {
                if ($dateCreated[1] == '-') {
                    $dateoffset = -intval($dateCreated[2]) * 36;
                } else {
                    $dateoffset = 0;
                }
            }
            $dateCreated = iso8601_decode($dateCreated[0], 1) - $dateoffset + get_settings('time_difference') * 3600;
        } else {
            $dateCreated = current_time('timestamp', 0);
        }
        $postarr['post_date'] = date('Y-m-d H:i:s', $dateCreated);
        $postarr['post_category'] = array();
        if (array_key_exists('categories', $contentstruct) && is_array($contentstruct['categories'])) {
            foreach ($contentstruct['categories'] as $cat) {
                $postarr['post_category'][] = get_cat_ID(mb_conv($cat), 'EUC-JP', 'auto');
            }
        } else {
            $postarr['post_category'][] = $GLOBALS['post_default_category'];
        }
        $post_ID = wp_update_post($postarr);
        if (!$post_ID) {
            return new xmlrpcresp(0, $GLOBALS['xmlrpcerruser'] + 2, 'For some strange yet very annoying reason, your entry could not be posted.');
        }
        if (empty($GLOBALS['blog_ID'])) {
            $GLOBALS['blog_ID'] = 1;
        }
        pingWeblogs($GLOBALS['blog_ID']);
        pingback($postarr['post_content'], $post_ID);
        if (array_key_exists('mt_tb_ping_urls', $contentstruct)) {
            trackback_url_list($content_struct['mt_tb_ping_urls'], $post_ID);
        }
        logIO('O', "(MW) Edited ! ID: {$post_ID}");
        $myResp = new xmlrpcval(true, 'boolean');
        return new xmlrpcresp($myResp);
    } else {
        logIO('O', "(MW) Wrong username/password combination <b>{$username} / {$password}</b>");
        return new xmlrpcresp(0, $GLOBALS['xmlrpcerruser'] + 3, 'Wrong username/password combination ' . $username . ' / ' . starify($password));
    }
}
开发者ID:nobunobuta,项目名称:xoops_mod_WordPress,代码行数:99,代码来源:xmlrpc.php

示例5: do_all_pings

/**
 * 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();
}
开发者ID:xalgorithm,项目名称:capistrano-stuff,代码行数:35,代码来源:comment.php

示例6: header

     $location = 'post.php';
 }
 header('Location: ' . $location);
 $postObject->assignCategories($post_category);
 // are we going from draft/private to published?
 if (($prev_status == 'draft' || $prev_status == 'private') && $post_status == 'publish') {
     if (get_settings('use_geo_positions') && $post_latf != null && $post_lonf != null) {
         pingGeoUrl();
     }
     pingWeblogs();
     pingBlogs();
 }
 // end if moving from draft/private to published
 if ($post_status == 'publish') {
     if ($post_pingback) {
         pingback($postObject->getVar('post_content', 'e'), $post_ID);
     }
     do_action('publish_post', $post_ID);
     do_trackback($postObject, $useutf8);
 }
 // Meta Stuff
 if ($meta) {
     foreach ($meta as $key => $value) {
         update_meta($key, $value['key'], $value['value']);
     }
 }
 if ($deletemeta) {
     foreach ($deletemeta as $key => $value) {
         delete_meta($key);
     }
 }
开发者ID:BackupTheBerlios,项目名称:nobunobuxoops-svn,代码行数:31,代码来源:post.php

示例7: do_all_pings

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();
}
开发者ID:staylor,项目名称:develop.svn.wordpress.org,代码行数:25,代码来源:comment.php

示例8: mbpoPingServices

 /**
  * 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);
 }
开发者ID:haizrul,项目名称:WP-Mizon,代码行数:49,代码来源:maxblogpress-ping-optimizer.php

示例9: do_all_pings

/**
 * 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();
}
开发者ID:hadywisam,项目名称:WordPress,代码行数:30,代码来源:comment-functions.php

示例10: mweditpost

function mweditpost($params)
{
    // ($postid, $user, $pass, $content, $publish)
    global $xmlrpcerruser;
    $xpostid = $params->getParam(0);
    $xuser = $params->getParam(1);
    $xpass = $params->getParam(2);
    $xcontent = $params->getParam(3);
    $xpublish = $params->getParam(4);
    $ID = $xpostid->scalarval();
    $username = $xuser->scalarval();
    $password = $xpass->scalarval();
    $contentstruct = xmlrpc_decode1($xcontent);
    $postdata = wp_get_single_post($ID);
    if (!$postdata) {
        return new xmlrpcresp(0, $xmlrpcerruser + 2, "No such post {$ID}.");
    }
    $userdata = get_userdatabylogin($username);
    $user_ID = $userdata->ID;
    $user_level = $userdata->user_level;
    $post_author_ID = $postdata->post_author;
    $post_authordata = get_userdata($post_author_ID);
    if ($user_ID != $post_author_ID && $user_level <= $post_authordata->user_level) {
        return new xmlrpcresp(0, $xmlrpcerruser + 1, "Sorry, you do not have the right to edit this post.");
    }
    // Check login
    if (user_pass_ok($username, $password)) {
        if ($user_level < 1) {
            return new xmlrpcresp(0, $xmlrpcerruser + 1, "Sorry, level 0 users cannot edit posts");
        }
        extract($postdata);
        $post_title = $contentstruct['title'];
        $post_content = format_to_post($contentstruct['description']);
        $catnames = $contentstruct['categories'];
        logIO("O", "Cat Count" . count($catnames));
        foreach ($catnames as $cat) {
            $post_category[] = get_cat_ID($cat);
        }
        $post_excerpt = $contentstruct['mt_excerpt'];
        $post_more = $contentstruct['mt_text_more'];
        $post_status = $xpublish->scalarval() ? 'publish' : 'draft';
        if ($post_more) {
            $post_content = $post_content . "\n<!--more-->\n" . $post_more;
        }
        $comment_status = 1 == $contentstruct['mt_allow_comments'] ? 'open' : 'closed';
        $ping_status = $contentstruct['mt_allow_pings'] ? 'open' : 'closed';
        $time_difference = get_settings("time_difference");
        $dateCreated = $contentstruct['dateCreated'];
        $dateCreated = $dateCreated ? iso8601_decode($contentstruct['dateCreated']) : time() + $time_difference * 3600;
        $post_date = date("Y-m-d H:i:s", $dateCreated);
        // 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');
        $newpost_ID = wp_update_post($newpost);
        if (!$newpost_ID) {
            return new xmlrpcresp(0, $xmlrpcerruser + 2, "For some strange yet very annoying reason, your entry could not be posted.");
        }
        if (!isset($blog_ID)) {
            $blog_ID = 1;
        }
        if (isset($sleep_after_edit) && $sleep_after_edit > 0) {
            sleep($sleep_after_edit);
        }
        pingWeblogs($blog_ID);
        pingCafelog($cafelogID, $post_title, $post_ID);
        pingBlogs($blog_ID);
        pingback($content, $post_ID);
        trackback_url_list($content_struct['mt_tb_ping_urls'], $post_ID);
        logIO("O", "(MW) Edited ! ID: {$post_ID}");
        $myResp = new xmlrpcval($ID, "string");
        return new xmlrpcresp($myResp);
    } else {
        logIO("O", "(MW) Wrong username/password combination <b>{$username} / {$password}</b>");
        return new xmlrpcresp(0, $xmlrpcerruser + 3, 'Wrong username/password combination ' . $username . ' / ' . starify($password));
    }
}
开发者ID:BackupTheBerlios,项目名称:nobunobuxoops-svn,代码行数:75,代码来源:xmlrpc.php

示例11: wp_mail_receive


//.........这里部分代码省略.........
                $post_category = get_settings('default_category');
                if (preg_match('/<category>(.+?)<\\/category>/is', $content, $matchcat)) {
                    $post_category = xmlrpc_getpostcategory($content);
                }
                if ($post_category == '') {
                    $post_category = get_settings('default_post_category');
                }
                if (function_exists('mb_convert_encoding')) {
                    echo "Subject : " . mb_convert_encoding($subject, $blog_charset, $sub_charset) . " <br />\n";
                } else {
                    echo "Subject : " . $subject . " <br />\n";
                }
                echo "Category : {$post_category} <br />\n";
                if (!get_settings('emailtestonly')) {
                    // Attaching Image Files Save
                    if ($att_boundary != "") {
                        $attachment = wp_getattach($contents[2], trim($user_login), 1);
                    }
                    if ($boundary != "" && $hatt_boundary != "") {
                        for ($i = 2; $i < count($contents); $i++) {
                            $hattachment = wp_getattach($contents[$i], trim($user_login), 0);
                            if ($hattachment) {
                                if (preg_match("/Content-Id: \\<([^\\>]*)>/i", $contents[$i], $matches)) {
                                    $content = preg_replace("/(cid:" . preg_quote($matches[1]) . ")/", "{$siteurl}/attach/" . $hattachment, $content);
                                }
                            }
                        }
                    }
                    if ($boundary != "") {
                        $content = preg_replace("/\\=[\r\n]/", "", $content);
                        $content = preg_replace("/[\r\n]/", " ", $content);
                    }
                    $content = preg_replace("|\n([^\n])|", " \$1", $content);
                    if ($charset == "" || trim($charset == "ISO-2022-JP")) {
                        $charset = "JIS";
                    }
                    if (trim($charset) == "Shift_JIS") {
                        $charset = "SJIS";
                    }
                    $content = preg_replace("/\\=([0-9a-fA-F]{2,2})/e", "pack('c',base_convert('\\1',16,10))", $content);
                    if (function_exists('mb_convert_encoding')) {
                        $content = addslashes(mb_convert_encoding(trim($content), $blog_charset, $charset));
                        $post_title = addslashes(trim(mb_convert_encoding($post_title, $blog_charset, $sub_charset)));
                    } else {
                        $content = addslashes(trim($content));
                        $post_title = addslashes(trim($post_title));
                    }
                    // If we find an attachment, add it to the post
                    if ($attachment) {
                        if (file_exists("attach/thumb-" . $attachment)) {
                            $content = "<a href=\"" . $siteurl . "/attach/" . $attachment . "\"><img style=\"float: left;\" hspace=\"6\" src = \"" . $siteurl . "/attach/thumb-" . $attachment . "\"  alt=\"moblog\" ></a>" . $content . "<br clear=left>";
                        } else {
                            $content = "<a href=\"" . $siteurl . "/attach/" . $attachment . "\"><img style=\"float: left;\" hspace=\"6\" src = \"" . $siteurl . "/attach/" . $attachment . "\"  alt=\"moblog\" ></a>" . $content . "<br clear=left>";
                        }
                    }
                    if ($flat > 500) {
                        $sql = "INSERT INTO {$wpdb->posts[$wp_id]} (post_author, post_date, post_content, post_title, post_category) VALUES ({$post_author}, '{$post_date}', '{$content}', '{$post_title}', {$post_category})";
                    } else {
                        $sql = "INSERT INTO {$wpdb->posts[$wp_id]} (post_author, post_date, post_content, post_title, post_category, post_lat, post_lon) VALUES ({$post_author}, '{$post_date}', '{$content}', '{$post_title}', {$post_category}, {$flat}, {$flon})";
                    }
                    $result = $wpdb->query($sql);
                    $post_ID = $wpdb->insert_id;
                    echo "Post ID = {$post_ID}<br />\n";
                    if (isset($sleep_after_edit) && $sleep_after_edit > 0) {
                        sleep($sleep_after_edit);
                    }
                    $blog_ID = 1;
                    if ($flat < 500) {
                        pingGeoUrl($post_ID);
                    }
                    // Double check it's not there already
                    $exists = $wpdb->get_row("SELECT * FROM {$wpdb->post2cat[$wp_id]} WHERE post_id = {$post_ID} AND category_id = {$post_category}");
                    if (!$exists && $result) {
                        $wpdb->query("\n\t\t\t\t\t\tINSERT INTO {$wpdb->post2cat[$wp_id]}\n\t\t\t\t\t\t(post_id, category_id)\n\t\t\t\t\t\tVALUES\n\t\t\t\t\t\t({$post_ID}, {$post_category})\n\t\t\t\t\t\t");
                    }
                    pingWeblogs($blog_ID);
                    pingBlogs($blog_ID);
                    pingback($content, $post_ID);
                    do_action('publish_post', $post_ID);
                    do_action('publish_phone', $post_ID);
                }
                echo "\n<p><b>Posted title:</b> {$post_title}<br />\n";
                echo "<b>Posted content:</b><br /><pre>" . $content . "</pre></p>\n";
                if (!$pop3->delete($iCount)) {
                    echo "<p>Oops " . $pop3->ERROR . "</p></div>\n";
                    $pop3->reset();
                    return;
                } else {
                    echo "<p>Mission complete, message <strong>{$iCount}</strong> deleted.</p>\n";
                }
            } else {
                echo "<p><strong>Level 0 users can\\'t post.</strong></p>\n";
            }
            echo "</div>\n";
        }
    }
    $pop3->quit();
    timer_stop($output_debugging_info);
    return;
}
开发者ID:BackupTheBerlios,项目名称:nobunobuxoops-svn,代码行数:101,代码来源:wp-mail.php

示例12: mbpoPingServices

 /**
  * 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);
 }
开发者ID:jasmith152,项目名称:golf_atlantic,代码行数:51,代码来源:maxblogpress-ping-optimizer.php

示例13: processItem


//.........这里部分代码省略.........
     global $wpdb, $realcount;
     trigger_error(sprintf(__('Processing item %1s', WPeMatico::TEXTDOMAIN), $item->get_title()), E_USER_NOTICE);
     // First exclude filters
     if ($this->exclude_filters($this->current_item, $this->campaign, $feed, $item)) {
         return -1;
     }
     //********** Do parses contents and titles
     $this->current_item = $this->Item_parsers($this->current_item, $this->campaign, $feed, $item, $realcount, $feedurl);
     if ($this->current_item == -1) {
         return -1;
     }
     // Item date
     $itemdate = $item->get_date('U');
     if ($this->campaign['campaign_feeddate'] && ($itemdate > $this->campaign['lastrun'] && $itemdate < current_time('timestamp', 1))) {
         $this->current_item['date'] = $itemdate;
         trigger_error(__('Assigning original date to post.', WPeMatico::TEXTDOMAIN), E_USER_NOTICE);
     } else {
         $this->current_item['date'] = null;
         trigger_error(__('Original date out of range.  Assigning current date to post.', WPeMatico::TEXTDOMAIN), E_USER_NOTICE);
     }
     // Primero proceso las categorias si las hay y las nuevas las agrego al final del array
     $this->current_item['categories'] = (array) $this->campaign['campaign_categories'];
     if ($this->campaign['campaign_autocats']) {
         if ($autocats = $item->get_categories()) {
             trigger_error(__('Assigning Auto Categories.', WPeMatico::TEXTDOMAIN), E_USER_NOTICE);
             foreach ($autocats as $id => $catego) {
                 $catname = $catego->term;
                 if (!empty($catname)) {
                     //$this->current_item['categories'][] = wp_create_category($catname);  //Si ya existe devuelve el ID existente  // wp_insert_category(array('cat_name' => $catname));  //
                     $term = term_exists($catname, 'category');
                     if ($term !== 0 && $term !== null) {
                         // ya existe
                         trigger_error(__('Category exist: ', WPeMatico::TEXTDOMAIN) . $catname, E_USER_NOTICE);
                     } else {
                         //si no existe la creo
                         trigger_error(__('Adding Category: ', WPeMatico::TEXTDOMAIN) . $catname, E_USER_NOTICE);
                         $arg = array('description' => __("Auto Added by WPeMatico", WPeMatico::TEXTDOMAIN), 'parent' => "0");
                         $term = wp_insert_term($catname, "category", $arg);
                     }
                     $this->current_item['categories'][] = $term['term_id'];
                 }
             }
         }
     }
     $this->current_item['posttype'] = $this->campaign['campaign_posttype'];
     $this->current_item['allowpings'] = $this->campaign['campaign_allowpings'];
     $this->current_item['commentstatus'] = $this->campaign['campaign_commentstatus'];
     $this->current_item['customposttype'] = $this->campaign['campaign_customposttype'];
     //********** Do filters
     $this->current_item = $this->Item_filters($this->current_item, $this->campaign, $feed, $item);
     //ACA ARMO EL ARRAY DE IMAGENES Y MODIFICO EL CONTENT QUE APUNTEN BIEN
     $this->current_item = $this->Item_images($this->current_item, $this->campaign, $feed, $item);
     // Meta
     $this->current_item['meta'] = array('wpe_campaignid' => $this->campaign_id, 'wpe_feed' => $feed->feed_url, 'wpe_sourcepermalink' => $this->getReadUrl($item->get_permalink()));
     if ($this->cfg['nonstatic']) {
         $this->current_item['images'] = NoNStatic::img1s($this->current_item, $this->campaign, $item);
     }
     $this->current_item = $this->Item_parseimg($this->current_item, $this->campaign, $feed, $item);
     if ($this->cfg['nonstatic']) {
         $this->current_item = NoNStatic::metaf($this->current_item, $this->campaign, $feed, $item);
     }
     // escape the content ??
     //$this->current_item['content'] = $wpdb->escape($this->current_item['content']);
     if ($this->cfg['nonstatic']) {
         $this->current_item['campaign_tags'] = $this->current_item['tags'];
     }
     // Create post
     $postid = $this->insertPost($this->current_item['title'], $this->current_item['content'], $this->current_item['date'], $this->current_item['categories'], $this->current_item['posttype'], $this->current_item['author'], $this->current_item['allowpings'], $this->current_item['commentstatus'], $this->current_item['meta'], $this->current_item['customposttype'], $this->current_item['images'], $this->current_item['campaign_tags']);
     // Attaching images uploaded to created post in media library
     if (!$this->campaign['campaign_cancel_imgcache']) {
         if (($this->cfg['imgcache'] || $this->campaign['campaign_imgcache']) && $this->cfg['imgattach']) {
             if (is_array($this->current_item['images'])) {
                 if (sizeof($this->current_item['images'])) {
                     // Si hay alguna imagen
                     trigger_error(__('Attaching images', WPeMatico::TEXTDOMAIN) . ": " . sizeof($this->current_item['images']), E_USER_NOTICE);
                     $custom_imagecount = 0;
                     if (!empty($this->current_item['nofeatimg'])) {
                         $custom_imagecount = 1;
                         trigger_error('<strong>' . __('Skip Featured Image.', WPeMatico::TEXTDOMAIN) . '</strong>', E_USER_NOTICE);
                     }
                     foreach ($this->current_item['images'] as $imagen_src) {
                         $attachid = $this->insertfileasattach($imagen_src, $postid);
                         if ($custom_imagecount == 0 && $this->cfg['featuredimg']) {
                             trigger_error(__('Featured Image Into Post.', WPeMatico::TEXTDOMAIN), E_USER_NOTICE);
                             set_post_thumbnail($postid, $attachid);
                             //add_post_meta($postid, '_thumbnail_id', $attachid);
                             $custom_imagecount++;
                         }
                     }
                 }
             }
         }
     }
     // If pingback/trackbacks
     if ($this->campaign['campaign_allowpings']) {
         trigger_error(__('Processing item pingbacks', WPeMatico::TEXTDOMAIN), E_USER_NOTICE);
         require_once ABSPATH . WPINC . '/comment.php';
         pingback($this->current_item['content'], $postid);
     }
 }
开发者ID:bcbroussard,项目名称:POST,代码行数:101,代码来源:campaign_fetch.php

示例14: mw_editPost

 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;
 }
开发者ID:BackupTheBerlios,项目名称:steampress-svn,代码行数:67,代码来源:xmlrpc.php

示例15: processItem

 /**
  * Processes an item
  *
  * @param   $campaign   object    Campaign database object   
  * @param   $feed       object    Feed database object
  * @param   $item       object    SimplePie_Item object
  */
 function processItem(&$campaign, &$feed, &$item)
 {
     global $wpdb;
     $this->log('Processing item');
     // Item content
     // We can limit words by feed source's request via get_feedmeta($feed->id, 'string_limit');
     // That way we can appease some people, but still have something more than one sentance for
     // feeds that don't mind.
     $content = $this->parseItemContent($campaign, $feed, $item);
     $content = strip_tags($content, '<img>');
     $content = $this->string_limit_words($content, $this->get_feedmeta($feed->id, 'string_limit'));
     // Item date
     if ($campaign->feeddate && ($item->get_date('U') > current_time('timestamp', 1) - $campaign->frequency && $item->get_date('U') < current_time('timestamp', 1))) {
         $date = $item->get_date('U');
     } else {
         $date = null;
     }
     $hash = $this->getItemHash($item);
     $test = $wpdb->get_var("SELECT post_id FROM " . $this->db['campaign_post'] . "\n   \t\tWHERE hash ='" . $hash . "'");
     // This post is already in here.
     if ($test) {
         return false;
     }
     // Categories
     $categories = $this->getCampaignData($campaign->id, 'categories');
     $author_id = $this->processAuthor($item);
     // Meta
     $meta = array('wpo_campaignid' => $campaign->id, 'wpo_feedid' => $feed->id, 'wpo_sourcepermalink' => $item->get_permalink(), 'wpo_author' => $author_id);
     // Create post
     $post_id = $this->insertPost($wpdb->escape($item->get_title()), $wpdb->escape($content), $date, $categories, $campaign->posttype, $this->feeduser, $campaign->allowpings, $campaign->comment_status, $meta);
     // Save post to wpo table
     // if it fails delete post.  This will help with preventing duplicate entries.
     $test = $wpdb->query(WPOTools::insertQuery($this->db['campaign_post'], array('campaign_id' => $campaign->id, 'feed_id' => $feed->id, 'post_id' => $post_id, 'hash' => $hash)));
     if (null == $wpdb->insert_id || !$wpdb->insert_id || 0 == $wpdb->insert_id || !$test) {
         // for testing only
         //error_log(
         wp_delete_post($post_id, true);
         return false;
     }
     // If pingback/trackbacks
     if ($campaign->dopingbacks) {
         $this->log('Processing item pingbacks');
         require_once ABSPATH . WPINC . '/comment.php';
         pingback($content, $postid);
     }
     return true;
 }
开发者ID:elizabethcb,项目名称:Daily-Globe,代码行数:54,代码来源:wpomatic-class-copy-thing.php


注:本文中的pingback函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。