Changeset 1562
- Timestamp:
- 08/25/2004 03:24:09 PM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/xmlrpc.php
r1429 r1562 47 47 'blogger.setTemplate' => 'this:blogger_setTemplate', 48 48 'blogger.newPost' => 'this:blogger_newPost', 49 'blogger.editPost' => 'this:blogger_editPost', 50 'blogger.deletePost' => 'this:blogger_deletePost', 49 51 50 52 'demo.sayHello' => 'this:sayHello', … … 149 151 $content .= '<category>'.$categories.'</category>'; 150 152 $content .= stripslashes($post_data['Content']); 151 153 152 154 $struct = array( 153 155 'userid' => $post_data['Author_ID'], … … 156 158 'postid' => $post_data['ID'] 157 159 ); 158 160 159 161 return $struct; 160 162 } … … 274 276 $filename = get_settings('home').'/'.get_settings('blogfilename'); 275 277 $filename = preg_replace('#http://.+?/#', $_SERVER['DOCUMENT_ROOT'].'/', $filename); 276 278 277 279 $f = fopen($filename, 'r'); 278 280 $content = fread($f, filesize($filename)); … … 308 310 $filename = get_settings('home').'/'.get_settings('blogfilename'); 309 311 $filename = preg_replace('#http://.+?/#', $_SERVER['DOCUMENT_ROOT'].'/', $filename); 310 312 311 313 if ($f = fopen($filename, 'w+')) { 312 314 fwrite($f, $content); … … 344 346 $post_author = $user_data->ID; 345 347 346 $post_title = addslashes(xmlrpc_getposttitle($content));348 $post_title = xmlrpc_getposttitle($content); 347 349 $post_category = xmlrpc_getpostcategory($content); 348 350 … … 365 367 return $post_ID; 366 368 } 369 370 371 /* blogger.editPost ...edits a post */ 372 function blogger_editPost($args) { 373 374 global $wpdb; 375 376 $post_ID = $args[1]; 377 $user_login = $args[2]; 378 $user_pass = $args[3]; 379 $new_content = $args[4]; 380 $publish = $args[5]; 381 382 if (!$this->login_pass_ok($user_login, $user_pass)) { 383 return $this->error; 384 } 385 386 $actual_post = wp_get_single_post($post_ID,ARRAY_A); 387 388 if (!$actual_post) { 389 return new IXR_Error(404, 'Sorry, no such post.'); 390 } 391 392 $post_author_data = get_userdata($actual_post['post_author']); 393 $user_data = get_userdatabylogin($user_login); 394 395 if (!user_can_edit_post($user_data->ID, $post_ID)) { 396 return new IXR_Error(401, 'Sorry, you do not have the right to edit this post.'); 397 } 398 399 extract($actual_post); 400 $content = $newcontent; 401 402 $post_title = xmlrpc_getposttitle($content); 403 $post_category = xmlrpc_getpostcategory($content); 404 405 $content = xmlrpc_removepostdata($content); 406 $post_content = format_to_post($content); 407 408 $postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt'); 409 410 $result = wp_update_post($postdata); 411 412 if (!$result) { 413 return new IXR_Error(500, 'For some strange yet very annoying reason, this post could not be edited.'); 414 } 415 416 return true; 417 } 418 419 420 /* blogger.deletePost ...deletes a post */ 421 function blogger_deletePost($args) { 422 423 global $wpdb; 424 425 $post_ID = $args[1]; 426 $user_login = $args[2]; 427 $user_pass = $args[3]; 428 $publish = $args[4]; 429 430 if (!$this->login_pass_ok($user_login, $user_pass)) { 431 return $this->error; 432 } 433 434 $actual_post = wp_get_single_post($post_ID,ARRAY_A); 435 436 if (!$actual_post) { 437 return new IXR_Error(404, 'Sorry, no such post.'); 438 } 439 440 $user_data = get_userdatabylogin($user_login); 441 442 if (!user_can_delete_post($user_data->ID, $post_ID)) { 443 return new IXR_Error(401, 'Sorry, you do not have the right to delete this post.'); 444 } 445 446 $result = wp_delete_post($post_ID); 447 448 if (!$result) { 449 return new IXR_Error(500, 'For some strange yet very annoying reason, this post could not be deleted.'); 450 } 451 452 return true; 453 } 454 367 455 } 368 456 457 369 458 $wp_xmlrpc_server = new wp_xmlrpc_server(); 370 459
Note: See TracChangeset
for help on using the changeset viewer.