*** wordpress/xmlrpc.php Thu May 13 11:15:02 2004 --- wordpress-local/xmlrpc.php Thu May 13 17:31:28 2004 *************** *** 53,58 **** --- 53,60 ---- // Do some escapes for safety $post_title = $wpdb->escape($post_title); + $post_excerpt = $wpdb->escape($post_excerpt); + $post_content = $wpdb->escape($post_content); $post_name = sanitize_title($post_title); $post_cat = $post_category[0]; *************** *** 114,119 **** --- 116,122 ---- // Do some escapes for safety $post_title = $wpdb->escape($post_title); $post_excerpt = $wpdb->escape($post_excerpt); + $post_content = $wpdb->escape($post_content); $post_modified = current_time('mysql'); $post_modified_gmt = current_time('mysql', 1); *************** *** 1296,1302 **** $post_category[] = get_cat_ID($cat); } } else { ! $post_category[] = 1; } // We've got all the data -- post it: --- 1299,1305 ---- $post_category[] = get_cat_ID($cat); } } else { ! $post_category = 0; } // We've got all the data -- post it: *************** *** 1462,1481 **** $allow_comments = ('open' == $postdata['comment_status'])?1:0; $allow_pings = ('open' == $postdata['ping_status'])?1:0; $resp = array( ! 'link' => new xmlrpcval(post_permalink($post_ID)), 'title' => new xmlrpcval($postdata["Title"]), 'description' => new xmlrpcval($post['main']), 'dateCreated' => new xmlrpcval($post_date,'dateTime.iso8601'), 'userid' => new xmlrpcval($postdata["Author_ID"]), 'postid' => new xmlrpcval($postdata["ID"]), 'content' => new xmlrpcval($postdata["Content"]), ! 'permalink' => new xmlrpcval(post_permalink($post_ID)), ! 'categories' => new xmlrpcval($catlist,'array'), 'mt_excerpt' => new xmlrpcval($postdata['Excerpt']), 'mt_allow_comments' => new xmlrpcval($allow_comments,'int'), 'mt_allow_pings' => new xmlrpcval($allow_pings,'int'), ! 'mt_text_more' => new xmlrpcval($post['extended']) ); $resp = new xmlrpcval($resp,'struct'); --- 1465,1495 ---- $allow_comments = ('open' == $postdata['comment_status'])?1:0; $allow_pings = ('open' == $postdata['ping_status'])?1:0; + // Retrun if Markdown is active or not. Useful for ecto. + // without this, ecto could apply "Convert linebreaks" sometimes. + $current_plugins = explode("\n", (get_settings('active_plugins'))); + if (!empty($current_plugins) && in_array( "markdown.php", $current_plugins)) { + $mt_convert_breaks = 'markdown'; + } else { + $mt_convert_breaks = '__default__'; + } + $resp = array( ! 'link' => new xmlrpcval(get_permalink($post_ID)), 'title' => new xmlrpcval($postdata["Title"]), 'description' => new xmlrpcval($post['main']), 'dateCreated' => new xmlrpcval($post_date,'dateTime.iso8601'), 'userid' => new xmlrpcval($postdata["Author_ID"]), 'postid' => new xmlrpcval($postdata["ID"]), 'content' => new xmlrpcval($postdata["Content"]), ! 'permalink' => new xmlrpcval(get_permalink($post_ID)), ! // Disable this field. use 'mt.getPostCategories instead ! //'categories' => new xmlrpcval($catlist,'array'), 'mt_excerpt' => new xmlrpcval($postdata['Excerpt']), 'mt_allow_comments' => new xmlrpcval($allow_comments,'int'), 'mt_allow_pings' => new xmlrpcval($allow_pings,'int'), ! 'mt_text_more' => new xmlrpcval($post['extended']), ! 'mt_convert_breaks' => new xmlrpcval($mt_convert_breaks) ); $resp = new xmlrpcval($resp,'struct'); *************** *** 1525,1531 **** $content = new xmlrpcval($entry['post_content']); $excerpt = new xmlrpcval($entry['post_excerpt']); ! $pcat = stripslashes(get_cat_name($entry['post_category'])); // For multiple cats, we might do something like // this in the future: --- 1539,1545 ---- $content = new xmlrpcval($entry['post_content']); $excerpt = new xmlrpcval($entry['post_excerpt']); ! // $pcat = stripslashes(get_cat_name($entry['post_category'])); // For multiple cats, we might do something like // this in the future: *************** *** 1535,1549 **** //$catstruct['isPrimary'] = TRUE; //$catstruct2 = phpxmlrpc_encode($catstruct); ! $categories = new xmlrpcval(array(new xmlrpcval($pcat)),'array'); $post = get_extended($entry['post_content']); $postid = new xmlrpcval($entry['ID']); $title = new xmlrpcval(stripslashes($entry['post_title'])); $description = new xmlrpcval(stripslashes($post['main'])); ! $link = new xmlrpcval(post_permalink($entry['ID'])); $permalink = $link; $extended = new xmlrpcval(stripslashes($post['extended'])); --- 1549,1570 ---- //$catstruct['isPrimary'] = TRUE; //$catstruct2 = phpxmlrpc_encode($catstruct); + + $catids = wp_get_post_cats('1', $entry['ID']); + + // This should return multiple categories correctly + foreach($catids as $catid) { + $catarray[] = new xmlrpcval(get_cat_name($catid),'string'); + } ! $categories = new xmlrpcval($catarray,'array'); $post = get_extended($entry['post_content']); $postid = new xmlrpcval($entry['ID']); $title = new xmlrpcval(stripslashes($entry['post_title'])); $description = new xmlrpcval(stripslashes($post['main'])); ! $link = new xmlrpcval(get_permalink($entry['ID'])); $permalink = $link; $extended = new xmlrpcval(stripslashes($post['extended'])); *************** *** 1801,1810 **** $struct['postid'] = new xmlrpcval($post['ID'], 'string'); $struct['title'] = new xmlrpcval($post['post_title'], 'string'); ! $result[] = $struct; } ! return new xmlrpcresp(new xmlrpcval($results,'array')); } else { return new xmlrpcresp(0, $xmlrpcerruser+3, // user error 3 --- 1822,1831 ---- $struct['postid'] = new xmlrpcval($post['ID'], 'string'); $struct['title'] = new xmlrpcval($post['post_title'], 'string'); ! $result[] = new xmlrpcval($struct,'struct'); } ! return new xmlrpcresp(new xmlrpcval($result,'array')); } else { return new xmlrpcresp(0, $xmlrpcerruser+3, // user error 3 *************** *** 1820,1826 **** // This should probably check the status of the 'use_bbcode' // and 'use_gmcode' config options. ! return new xmlrpcresp(new xmlrpcval(array(),'array')); } --- 1841,1855 ---- // This should probably check the status of the 'use_bbcode' // and 'use_gmcode' config options. ! // Archaic Markdown check ! $current_plugins = explode("\n", (get_settings('active_plugins'))); ! if (!empty($current_plugins) && in_array( "markdown.php", $current_plugins)) { ! $struct['label'] = 'Markdown'; ! $struct['key'] = 'markdown'; ! } ! ! $xmlstruct = phpxmlrpc_encode($struct); ! return new xmlrpcresp(new xmlrpcval(array($xmlstruct),'array')); }