本文整理汇总了PHP中xmlrpc_getposttitle函数的典型用法代码示例。如果您正苦于以下问题:PHP xmlrpc_getposttitle函数的具体用法?PHP xmlrpc_getposttitle怎么用?PHP xmlrpc_getposttitle使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了xmlrpc_getposttitle函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: blogger_editPost
function blogger_editPost($args)
{
global $wpdb;
$this->escape($args);
$post_ID = (int) $args[1];
$user_login = $args[2];
$user_pass = $args[3];
$content = $args[4];
$publish = $args[5];
if (!$this->login_pass_ok($user_login, $user_pass)) {
return $this->error;
}
$actual_post = wp_get_single_post($post_ID, ARRAY_A);
if (!$actual_post) {
return new IXR_Error(404, __('Sorry, no such post.'));
}
$this->escape($actual_post);
set_current_user(0, $user_login);
if (!current_user_can('edit_post', $post_ID)) {
return new IXR_Error(401, __('Sorry, you do not have the right to edit this post.'));
}
extract($actual_post, EXTR_SKIP);
if ('publish' == $post_status && !current_user_can('publish_posts')) {
return new IXR_Error(401, __('Sorry, you do not have the right to publish this post.'));
}
$post_title = xmlrpc_getposttitle($content);
$post_category = xmlrpc_getpostcategory($content);
$post_content = xmlrpc_removepostdata($content);
$postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt');
$result = wp_update_post($postdata);
if (!$result) {
return new IXR_Error(500, __('For some strange yet very annoying reason, this post could not be edited.'));
}
$this->attach_uploads($ID, $post_content);
return true;
}
示例2: trim
continue;
}
}
} else {
$sql = "SELECT ID, user_level FROM {$tableusers} WHERE user_login='" . trim($user_login) . "' AND user_pass='{$user_pass}' ORDER BY ID DESC LIMIT 1";
$result = $wpdb->get_row($sql);
if (!$result) {
echo '<p><b>Wrong login or password.</b></p></div>';
continue;
}
}
$user_level = $result->user_level;
$post_author = $result->ID;
if ($user_level > 0) {
$default_category = '1';
$post_title = xmlrpc_getposttitle($content);
$post_category = xmlrpc_getpostcategory($content);
if ($post_title == '') {
$post_title = $subject;
}
if ($post_category == '') {
$post_category = $default_category;
}
$content = addslashes(mb_convert_encoding(trim($content), $blog_charset, "JIS"));
if (!$emailtestonly) {
$post_title = addslashes(trim($post_title));
#If we find an attachment, add it to the post
if ($attachment) {
if (file_exists("attach/thumb-" . $temp_file)) {
$content = "<a href=\"" . $siteurl . "\\/attach\\/" . $temp_file . "\"><img style=\"float: left;\" hspace=\"6\" src = \"" . $siteurl . "\\/attach\\/thumb-" . $temp_file . "\" alt=\"moblog\" ></a>" . $content . "<br clear=left>";
} else {
示例3: blogger_editPost
/**
* Edit a post.
*
* @since 1.5.0
*
* @param array $args Method parameters.
* @return bool|IXR_Error true when done.
*/
public function blogger_editPost($args)
{
$this->escape($args);
$post_ID = (int) $args[1];
$username = $args[2];
$password = $args[3];
$content = $args[4];
$publish = $args[5];
if (!($user = $this->login($username, $password))) {
return $this->error;
}
/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
do_action('xmlrpc_call', 'blogger.editPost');
$actual_post = get_post($post_ID, ARRAY_A);
if (!$actual_post || $actual_post['post_type'] != 'post') {
return new IXR_Error(404, __('Sorry, no such post.'));
}
$this->escape($actual_post);
if (!current_user_can('edit_post', $post_ID)) {
return new IXR_Error(401, __('Sorry, you do not have the right to edit this post.'));
}
if ('publish' == $actual_post['post_status'] && !current_user_can('publish_posts')) {
return new IXR_Error(401, __('Sorry, you do not have the right to publish this post.'));
}
$postdata = array();
$postdata['ID'] = $actual_post['ID'];
$postdata['post_content'] = xmlrpc_removepostdata($content);
$postdata['post_title'] = xmlrpc_getposttitle($content);
$postdata['post_category'] = xmlrpc_getpostcategory($content);
$postdata['post_status'] = $actual_post['post_status'];
$postdata['post_excerpt'] = $actual_post['post_excerpt'];
$result = wp_update_post($postdata);
if (!$result) {
return new IXR_Error(500, __('For some strange yet very annoying reason, this post could not be edited.'));
}
$this->attach_uploads($actual_post['ID'], $postdata['post_content']);
/**
* Fires after a post has been successfully updated via the XML-RPC Blogger API.
*
* @since 3.4.0
*
* @param int $post_ID ID of the updated post.
* @param array $args An array of arguments for the post to edit.
*/
do_action('xmlrpc_call_success_blogger_editPost', $post_ID, $args);
return true;
}
示例4: wp_mail_receive
//.........这里部分代码省略.........
} else {
$user_login = trim($user_login);
}
$content = $contentfirstline . str_replace($firstline, '', $content);
$content = trim($content);
// Please uncomment following line, only if you want to check user and password.
// echo "<p><b>Login:</b> $user_login, <b>Pass:</b> $user_pass</p>";
echo "<p><b>Login:</b> {$user_login}, <b>Pass:</b> *********</p>";
if ($xoopsDB) {
$sql = "SELECT ID, user_level FROM {$wpdb->users[$wp_id]} WHERE user_login='{$user_login}' ORDER BY ID DESC LIMIT 1";
$result = $wpdb->get_row($sql);
if (!$result) {
echo "<p><b>Wrong Login.</b></p></div>\n";
continue;
} else {
$sql = "SELECT * FROM " . $xoopsDB->prefix('users') . " WHERE uname='{$user_login}' AND pass='" . md5(trim($user_pass)) . "' ORDER BY uid DESC LIMIT 1";
$result1 = $wpdb->get_row($sql);
if (!$result1) {
echo "<p><b>Wrong login or password.</b></p></div>\n";
continue;
}
}
} else {
$sql = "SELECT ID, user_level FROM {$wpdb->users[$wp_id]} WHERE user_login='{$user_login}' AND user_pass='{$user_pass}' ORDER BY ID DESC LIMIT 1";
$result = $wpdb->get_row($sql);
if (!$result) {
echo "<p><b>Wrong login or password.</b></p></div>\n";
continue;
}
}
$user_level = $result->user_level;
$post_author = $result->ID;
if ($user_level > 0) {
$post_title = xmlrpc_getposttitle($content);
if ($post_title == '') {
$post_title = $subject;
}
$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 != "") {
示例5: blogger_editPost
/**
* Edit a post.
*
* @since 1.5.0
*
* @param array $args Method parameters.
* @return bool true when done.
*/
function blogger_editPost($args)
{
$this->escape($args);
$post_ID = (int) $args[1];
$username = $args[2];
$password = $args[3];
$content = $args[4];
$publish = $args[5];
if (!($user = $this->login($username, $password))) {
return $this->error;
}
do_action('xmlrpc_call', 'blogger.editPost');
$actual_post = get_post($post_ID, ARRAY_A);
if (!$actual_post || $actual_post['post_type'] != 'post') {
return new IXR_Error(404, __('Sorry, no such post.'));
}
$this->escape($actual_post);
if (!current_user_can('edit_post', $post_ID)) {
return new IXR_Error(401, __('Sorry, you do not have the right to edit this post.'));
}
extract($actual_post, EXTR_SKIP);
if ('publish' == $post_status && !current_user_can('publish_posts')) {
return new IXR_Error(401, __('Sorry, you do not have the right to publish this post.'));
}
$post_title = xmlrpc_getposttitle($content);
$post_category = xmlrpc_getpostcategory($content);
$post_content = xmlrpc_removepostdata($content);
$postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt');
$result = wp_update_post($postdata);
if (!$result) {
return new IXR_Error(500, __('For some strange yet very annoying reason, this post could not be edited.'));
}
$this->attach_uploads($ID, $post_content);
do_action('xmlrpc_call_success_blogger_editPost', $post_ID, $args);
return true;
}
示例6: bloggereditpost
function bloggereditpost($m)
{
global $wpdb;
global $xmlrpcerruser;
// import user errcode value
global $blog_ID, $cache_userdata, $tableposts, $use_rss, $use_weblogsping, $post_autobr;
global $post_default_title, $post_default_category, $sleep_after_edit;
$err = "";
$post_ID = $m->getParam(1);
$username = $m->getParam(2);
$password = $m->getParam(3);
$newcontent = $m->getParam(4);
$publish = $m->getParam(5);
$ID = $post_ID->scalarval();
$username = $username->scalarval();
$password = $password->scalarval();
$newcontent = $newcontent->scalarval();
$post_status = $publish->scalarval() ? 'publish' : 'draft';
$result = wp_get_single_post($ID, ARRAY_A);
if (!$result) {
return new xmlrpcresp(0, $xmlrpcerruser + 2, "No such post '{$ID}'.");
}
$userdata = get_userdatabylogin($username);
$user_ID = $userdata->ID;
$user_level = $userdata->user_level;
$postdata = get_postdata($ID);
$post_authordata = get_userdata($postdata["Author_ID"]);
$post_author_ID = $postdata["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");
}
if (user_pass_ok($username, $password)) {
if ($user_level < 1) {
return new xmlrpcresp(0, $xmlrpcerruser + 1, "Sorry, level 0 users can not edit posts");
}
extract($result);
$content = $newcontent;
$post_title = xmlrpc_getposttitle($content);
$post_category = xmlrpc_getpostcategory($content);
$content = xmlrpc_removepostdata($content);
$post_content = format_to_post($content);
$postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_date', 'post_excerpt');
$result = wp_update_post($postdata);
if (!$result) {
return new xmlrpcresp(0, $xmlrpcerruser + 2, "For some strange yet very annoying reason, the entry couldn't be edited.");
}
if (!isset($blog_ID)) {
$blog_ID = 1;
}
if (isset($sleep_after_edit) && $sleep_after_edit > 0) {
sleep($sleep_after_edit);
}
pingWeblogs($blog_ID);
return new xmlrpcresp(new xmlrpcval("1", "boolean"));
} else {
return new xmlrpcresp(0, $xmlrpcerruser + 3, 'Wrong username/password combination ' . $username . ' / ' . starify($password));
}
}
示例7: wp_mail_receive
//.........这里部分代码省略.........
$flon = 999.0;
$secondlineParts = explode(':', strip_tags($secondline));
if (strncmp($secondlineParts[0], "POS", 3) == 0) {
echo "Found POS:<br />\n";
// echo "Second parts is:".$secondlineParts[1];
// the second line is the postion listing line
$secLineParts = explode(',', $secondlineParts[1]);
$flatStr = $secLineParts[0];
$flonStr = $secLineParts[1];
// echo "String are ".$flatStr.$flonStr;
$flat = floatval($secLineParts[0]);
$flon = floatval($secLineParts[1]);
// echo "values are ".$flat." and ".$flon;
// ok remove that position... we should not have it in the final output
$content = str_replace($secondline, '', $content);
}
$blah = explode(':', $userpassstring);
$user_login = $blah[0];
$user_pass = $blah[1];
$user_login = mb_conv(trim($user_login), $blog_charset, $charset);
$content = $contentfirstline . str_replace($firstline, '', $content);
$content = trim($content);
// Please uncomment following line, only if you want to check user and password.
// echo "<p><b>Login:</b> $user_login, <b>Pass:</b> $user_pass</p>";
echo "<p><b>Login:</b> {$user_login}, <b>Pass:</b> *********</p>";
if (!user_pass_ok($user_login, $user_pass)) {
echo "<p><b>Error: Wrong Login.</b></p></div>\n";
continue;
}
$userdata = get_userdatabylogin($user_login);
$user_level = $userdata->user_level;
$post_author = $userdata->ID;
if ($user_level > 0) {
$post_title = xmlrpc_getposttitle($content);
if ($post_title == '') {
$post_title = $subject;
}
echo "Subject : " . mb_conv($post_title, $blog_charset, $sub_charset) . " <br />\n";
$post_category = get_settings('default_category');
if (preg_match('/<category>(.+?)<\\/category>/is', $content, $matchcat)) {
$post_category = xmlrpc_getpostcategory($content);
}
if (empty($post_category)) {
$post_category = get_settings('default_post_category');
}
echo "Category : {$post_category} <br />\n";
$post_category = explode(',', $post_category);
if (!get_settings('emailtestonly')) {
// Attaching Image Files Save
if ($att_boundary != "") {
$attachment = wp_getattach($contents[2], "user-" . trim($post_author), 1);
}
if ($boundary != "" && $hatt_boundary != "") {
for ($i = 2; $i < count($contents); $i++) {
$hattachment = wp_getattach($contents[$i], "user-" . trim($post_author), 0);
if ($hattachment) {
if (preg_match("/Content-Id: \\<([^\\>]*)>/i", $contents[$i], $matches)) {
$content = preg_replace("/(cid:" . preg_quote($matches[1]) . ")/", get_settings('fileupload_url') . '/' . $hattachment, $content);
}
}
}
}
if ($boundary != "") {
$content = preg_replace("/\\=[\r\n]/", "", $content);
$content = preg_replace("/[\r\n]/", " ", $content);
}
示例8: bloggereditpost
function bloggereditpost($m)
{
$ID = $m->getParam(1);
$username = $m->getParam(2);
$password = $m->getParam(3);
$newcontent = $m->getParam(4);
$publish = $m->getParam(5);
$ID = intval($ID->scalarval());
$username = $username->scalarval();
$password = $password->scalarval();
$newcontent = $newcontent->scalarval();
$postarr['post_status'] = $publish->scalarval() ? 'publish' : 'draft';
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;
$postarr['post_title'] = xmlrpc_getposttitle($newcontent);
$postarr['post_category'] = array(xmlrpc_getpostcategory($newcontent));
$postarr['post_content'] = format_to_post(xmlrpc_removepostdata($newcontent));
$post_ID = wp_update_post($postarr);
if (!$post_ID) {
return new xmlrpcresp(0, $GLOBALS['xmlrpcerruser'] + 2, 'For some strange yet very annoying reason, the entry could not be edited.');
}
if (!isset($GLOBALS['blog_ID'])) {
$GLOBALS['blog_ID'] = 1;
}
pingWeblogs($GLOBALS['blog_ID']);
return new xmlrpcresp(new xmlrpcval('1', 'boolean'));
} else {
return new xmlrpcresp(0, $GLOBALS['xmlrpcerruser'] + 3, 'Wrong username/password combination ' . $username . ' / ' . starify($password));
}
}
示例9: blogger_editPost
function blogger_editPost($args)
{
global $wpdb;
$this->escape($args);
$post_ID = $args[1];
$user_login = $args[2];
$user_pass = $args[3];
$content = $args[4];
$publish = $args[5];
if (!$this->login_pass_ok($user_login, $user_pass)) {
return $this->error;
}
$actual_post = wp_get_single_post($post_ID, ARRAY_A);
if (!$actual_post) {
return new IXR_Error(404, 'Sorry, no such post.');
}
$this->escape($actual_post);
$user = new WP_User(0, $user_login);
if (!$user->has_cap('edit_post', $post_ID)) {
return new IXR_Error(401, 'Sorry, you do not have the right to edit this post.');
}
extract($actual_post);
$post_title = xmlrpc_getposttitle($content);
$post_category = xmlrpc_getpostcategory($content);
$post_content = xmlrpc_removepostdata($content);
$postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt');
$result = wp_update_post($postdata);
if (!$result) {
return new IXR_Error(500, 'For some strange yet very annoying reason, this post could not be edited.');
}
return true;
}
示例10: blogger_editpost
/**
* blogger.editPost changes the contents of a given post.
*
* Optionally, will publish the blog the post belongs to after changing the post.
* (In b2evo, this means the changed post will be moved to published state).
* On success, it returns a boolean true value.
* On error, it will return a fault with an error message.
*
* @see http://www.blogger.com/developers/api/1_docs/xmlrpc_editPost.html
* @see http://www.sixapart.com/developers/xmlrpc/blogger_api/bloggereditpost.html
*
* @param xmlrpcmsg XML-RPC Message
* 0 appkey (string): Unique identifier/passcode of the application sending the post.
* (See access info {@link http://www.blogger.com/developers/api/1_docs/#access} .)
* 1 postid (string): Unique identifier of the post to be changed.
* 2 username (string): Login for a Blogger user who has permission to edit the given
* post (either the user who originally created it or an admin of the blog).
* 3 password (string): Password for said username.
* 4 content (string): New content of the post.
* 5 publish (boolean): If true, the blog will be published immediately after the
* post is made. (In b2evo,this means, the new post will be in 'published' state,
* otherwise it would be in draft state).
* @return xmlrpcresp XML-RPC Response
*
* @todo check current status and permission on it
*/
function blogger_editpost($m)
{
// CHECK LOGIN:
/**
* @var User
*/
if (!($current_User =& xmlrpcs_login($m, 2, 3))) {
// Login failed, return (last) error:
return xmlrpcs_resperror();
}
// GET POST:
/**
* @var Item
*/
if (!($edited_Item =& xmlrpcs_get_Item($m, 1))) {
// Failed, return (last) error:
return xmlrpcs_resperror();
}
// We need to be able to edit this post:
if (!$current_User->check_perm('item_post!CURSTATUS', 'edit', false, $edited_Item)) {
return xmlrpcs_resperror(3);
// Permission denied
}
$content = $m->getParam(4);
$content = $content->scalarval();
$publish = $m->getParam(5);
$publish = $publish->scalarval();
$status = $publish ? 'published' : 'draft';
logIO("Publish: {$publish} -> Status: {$status}");
$title = xmlrpc_getposttitle($content);
$cat_IDs = xmlrpc_getpostcategories($content);
// Cleanup content from extra tags like <category> and <title>:
$content = xmlrpc_removepostdata($content);
$params = array('title' => $title, 'content' => $content, 'cat_IDs' => $cat_IDs, 'status' => $status);
// COMPLETE VALIDATION & INSERT:
return xmlrpcs_edit_item($edited_Item, $params);
}
示例11: wp_mail_receive
//.........这里部分代码省略.........
$flat = 999.0;
$flon = 999.0;
$secondlineParts = explode(':', strip_tags($secondline));
if (strncmp($secondlineParts[0], "POS", 3) == 0) {
echo "Found POS:<br />\n";
// echo "Second parts is:".$secondlineParts[1];
// the second line is the postion listing line
$secLineParts = explode(',', $secondlineParts[1]);
$flatStr = $secLineParts[0];
$flonStr = $secLineParts[1];
// echo "String are ".$flatStr.$flonStr;
$flat = floatval($secLineParts[0]);
$flon = floatval($secLineParts[1]);
// echo "values are ".$flat." and ".$flon;
// ok remove that position... we should not have it in the final output
$content = str_replace($secondline, '', $content);
}
$blah = explode(':', $userpassstring);
$user_login = trim($blah[0]);
$user_pass = $blah[1];
$content = $contentfirstline . str_replace($firstline, '', $content);
$content = trim($content);
// Please uncomment following line, only if you want to check user and password.
// echo "<p><b>Login:</b> $user_login, <b>Pass:</b> $user_pass</p>";
echo "<p><b>Login:</b> {$user_login}, <b>Pass:</b> *********</p>";
if (!user_pass_ok($user_login, $user_pass)) {
echo "<p><b>Error: Wrong Login.</b></p></div>\n";
continue;
}
$userdata = get_userdatabylogin($user_login);
$user_level = $userdata->user_level;
$post_author = $userdata->ID;
if ($user_level > 0) {
$post_title = xmlrpc_getposttitle($content);
if ($post_title == '') {
$post_title = $subject;
}
echo "Subject : " . mb_conv($post_title, $GLOBALS['blog_charset'], $sub_charset) . " <br />\n";
$post_category = get_settings('default_category');
if (preg_match('/<category>(.+?)<\\/category>/is', $content, $matchcat)) {
$post_category = xmlrpc_getpostcategory($content);
$content = xmlrpc_removepostdata($content);
}
if (empty($post_category)) {
$post_category = get_settings('default_post_category');
}
echo "Category : {$post_category} <br />\n";
$post_category = explode(',', $post_category);
if (!get_settings('emailtestonly')) {
$content = preg_replace('|\\n([^\\n])|', " \$1", trim($content));
$content_before = "";
$content_after = "";
for ($i = 0; $i < count($attaches); $i++) {
$create_thumbs = $attaches[$i]['type'] == 'mix' ? 1 : 0;
list($file_name, $is_img, $orig_name) = wp_getattach($attaches[$i]['body'], "user-" . trim($post_author), $create_thumbs);
if ($file_name) {
if ($attaches[$i]['type'] == 'relate') {
$content = preg_replace("/cid:" . preg_quote($attaches[$i]['id']) . "/", get_settings('fileupload_url') . '/' . $file_name, $content);
} else {
if (isset($img_target) && $img_target) {
$img_target = ' target="' . $img_target . '"';
} else {
$img_target = '';
}
if ($is_img) {
if (file_exists(get_settings('fileupload_realpath') . "/thumb-" . $file_name)) {
示例12: bloggereditpost
function bloggereditpost($m)
{
global $xmlrpcerruser;
// import user errcode value
global $blog_ID, $cache_userdata, $tableposts, $use_rss, $use_weblogsping, $post_autobr;
global $post_default_title, $post_default_category, $sleep_after_edit;
$err = "";
dbconnect();
$post_ID = $m->getParam(1);
$username = $m->getParam(2);
$password = $m->getParam(3);
$newcontent = $m->getParam(4);
$post_ID = $post_ID->scalarval();
$username = $username->scalarval();
$password = $password->scalarval();
$newcontent = $newcontent->scalarval();
$sql = "SELECT * FROM {$tableposts} WHERE ID = '{$post_ID}'";
$result = @mysql_query($sql);
if (!$result) {
return new xmlrpcresp(0, $xmlrpcerruser + 2, "No such post.");
}
$userdata = get_userdatabylogin($username);
$user_ID = $userdata["ID"];
$user_level = $userdata["user_level"];
$postdata = get_postdata($post_ID);
$post_authordata = get_userdata($postdata["Author_ID"]);
$post_author_ID = $postdata["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");
}
if (user_pass_ok($username, $password)) {
if ($user_level < 1) {
return new xmlrpcresp(0, $xmlrpcerruser + 1, "Sorry, level 0 users can not edit posts");
}
$content = $newcontent;
$post_title = addslashes(xmlrpc_getposttitle($content));
$post_category = xmlrpc_getpostcategory($content);
$content = xmlrpc_removepostdata($content);
$content = format_to_post($content);
$sql = "UPDATE {$tableposts} SET post_content='{$content}', post_title='{$post_title}', post_category='{$post_category}' WHERE ID = '{$post_ID}'";
$result = mysql_query($sql);
if (!$result) {
return new xmlrpcresp(0, $xmlrpcerruser + 2, "For some strange yet very annoying reason, the entry couldn't be edited.");
}
if (!isset($blog_ID)) {
$blog_ID = 1;
}
if (isset($sleep_after_edit) && $sleep_after_edit > 0) {
sleep($sleep_after_edit);
}
rss_update($blog_ID);
pingWeblogs($blog_ID);
return new xmlrpcresp(new xmlrpcval("1", "boolean"));
} else {
return new xmlrpcresp(0, $xmlrpcerruser + 3, 'Wrong username/password combination ' . $username . ' / ' . starify($password));
}
}
示例13: test_xmlrpc_getposttitle_bad_cdate
/**
* pass cdata with tag title
*/
function test_xmlrpc_getposttitle_bad_cdate()
{
$this->assertEquals('<![CDATA["<title>title', xmlrpc_getposttitle('<title><![CDATA["<title>title</title>"]]></title>'));
}
示例14: blogger_editpost
/**
* blogger.editPost changes the contents of a given post.
*
* Optionally, will publish the blog the post belongs to after changing the post.
* (In b2evo, this means the changed post will be moved to published state).
* On success, it returns a boolean true value.
* On error, it will return a fault with an error message.
*
* @see http://www.blogger.com/developers/api/1_docs/xmlrpc_editPost.html
* @see http://www.sixapart.com/developers/xmlrpc/blogger_api/bloggereditpost.html
*
* @param xmlrpcmsg XML-RPC Message
* 0 appkey (string): Unique identifier/passcode of the application sending the post.
* (See access info {@link http://www.blogger.com/developers/api/1_docs/#access} .)
* 1 postid (string): Unique identifier of the post to be changed.
* 2 username (string): Login for a Blogger user who has permission to edit the given
* post (either the user who originally created it or an admin of the blog).
* 3 password (string): Password for said username.
* 4 content (string): New content of the post.
* 5 publish (boolean): If true, the blog will be published immediately after the
* post is made. (In b2evo,this means, the new post will be in 'published' state,
* otherwise it would be in draft state).
* @return xmlrpcresp XML-RPC Response
*
* @todo check current status and permission on it
*/
function blogger_editpost($m)
{
global $xmlrpcerruser;
// import user errcode value
global $DB;
global $Messages;
// CHECK LOGIN:
/**
* @var User
*/
if (!($current_User =& xmlrpcs_login($m, 2, 3))) {
// Login failed, return (last) error:
return xmlrpcs_resperror();
}
// GET POST:
/**
* @var Item
*/
if (!($edited_Item =& xmlrpcs_get_Item($m, 1))) {
// Failed, return (last) error:
return xmlrpcs_resperror();
}
$content = $m->getParam(4);
$content = $content->scalarval();
$publish = $m->getParam(5);
$publish = $publish->scalarval();
$status = $publish ? 'published' : 'draft';
logIO("Publish: {$publish} -> Status: {$status}");
$cat_IDs = xmlrpc_getpostcategories($content);
if (empty($cat_IDs)) {
// There were no categories passed in the content:
$main_cat = $edited_Item->main_cat_ID;
$cat_IDs = array($main_cat);
} else {
$main_cat = $cat_IDs[0];
}
// CHECK PERMISSION: (we need perm on all categories, especially if they are in different blogs)
if (!$current_User->check_perm('cats_post!' . $status, 'edit', false, $cat_IDs)) {
// Permission denied
return xmlrpcs_resperror(3);
// User error 3
}
logIO('Permission granted.');
logIO('Main cat: ' . $main_cat);
// Check if category exists
if (get_the_category_by_ID($main_cat, false) === false) {
// Cat does not exist:
// fp> TODO use $Blog->get_default_cat_ID();
return xmlrpcs_resperror(11);
// User error 11
}
$post_date = NULL;
$post_title = xmlrpc_getposttitle($content);
$content = xmlrpc_removepostdata($content);
// COMPLETE VALIDATION & UPDATE:
return xmlrpcs_edit_item($edited_Item, $post_title, $content, $post_date, $main_cat, $cat_IDs, $status);
}