X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=posterous%2Fposterous.php;h=76eaf77ad338eab352c4b78b9913b22cae632c6f;hb=18784a484b04b5f74e6d4dca516b2dc20cffe953;hp=639042b8b5bef584d568b42a1d00390d23c5e59c;hpb=a18b91b73ef7f42c21c0cadfd2c2d816bd7428e4;p=friendica-addons.git diff --git a/posterous/posterous.php b/posterous/posterous.php old mode 100644 new mode 100755 index 639042b8..76eaf77a --- a/posterous/posterous.php +++ b/posterous/posterous.php @@ -2,8 +2,11 @@ /** * Name: Posterous Post Connector + * Description: Post to Posterous accounts * Version: 1.0 * Author: Mike Macgirvin + * Author: Tony Baldwin + * Status: Unsupported */ function posterous_install() { @@ -31,7 +34,7 @@ function posterous_jot_nets(&$a,&$b) { if(intval($pstr_post) == 1) { $pstr_defpost = get_pconfig(local_user(),'posterous','post_by_default'); $selected = ((intval($pstr_defpost) == 1) ? ' checked="checked" ' : ''); - $b .= '
' + $b .= '
' . t('Post to Posterous') . '
'; } } @@ -58,6 +61,8 @@ function posterous_settings(&$a,&$s) { $pstr_username = get_pconfig(local_user(), 'posterous', 'posterous_username'); $pstr_password = get_pconfig(local_user(), 'posterous', 'posterous_password'); + $pstr_site_id = get_pconfig(local_user(), 'posterous', 'posterous_site_id'); + $pstr_api_token = get_pconfig(local_user(), 'posterous', 'posterous_api_token'); /* Add some HTML to the existing form */ @@ -79,6 +84,16 @@ function posterous_settings(&$a,&$s) { $s .= ''; $s .= '
'; + $s .= '
'; + $s .= ''; + $s .= ''; + $s .= '
'; + + $s .= '
'; + $s .= ''; + $s .= ''; + $s .= '
'; + $s .= '
'; $s .= ''; $s .= ''; @@ -86,7 +101,7 @@ function posterous_settings(&$a,&$s) { /* provide a submit button */ - $s .= '
'; + $s .= '
'; } @@ -99,6 +114,8 @@ function posterous_settings_post(&$a,&$b) { set_pconfig(local_user(),'posterous','post_by_default',intval($_POST['posterous_bydefault'])); set_pconfig(local_user(),'posterous','posterous_username',trim($_POST['posterous_username'])); set_pconfig(local_user(),'posterous','posterous_password',trim($_POST['posterous_password'])); + set_pconfig(local_user(),'posterous','posterous_site_id',trim($_POST['posterous_site_id'])); + set_pconfig(local_user(),'posterous','posterous_api_token',trim($_POST['posterous_api_token'])); } @@ -149,12 +166,13 @@ function posterous_send(&$a,&$b) { $pstr_username = get_pconfig($b['uid'],'posterous','posterous_username'); $pstr_password = get_pconfig($b['uid'],'posterous','posterous_password'); - $pstr_blog = 'http://www.posterous.com/api/write'; + $pstr_site_id = get_pconfig($b['uid'],'posterous','posterous_site_id'); + $pstr_blog = "http://posterous.com/api/2/sites/$pstr_site_id/posts"; + $pstr_api_token = get_pconfig($b['uid'],'posterous','posterous_api_token'); if($pstr_username && $pstr_password && $pstr_blog) { require_once('include/bbcode.php'); - require_once('posterous-api.php'); $tag_arr = array(); $tags = ''; $x = preg_match_all('/\#\[(.*?)\](.*?)\[/',$b['tag'],$matches,PREG_SET_ORDER); @@ -169,18 +187,28 @@ function posterous_send(&$a,&$b) { $params = array( - 'title' => (($b['title']) ? $b['title'] : t('Post from Friendica')), - 'type' => 'regular', - 'autopost' => 1, - 'source' => 'Friendica', - 'is_private' => false, - 'tags' => $tags, - 'body' => bbcode($b['body']) + 'post[title]' => (($b['title']) ? $b['title'] : t('Post from Friendica')), + 'post[source]' => 'Friendica', + 'post[tags]' => $tags, + 'post[body]' => bbcode($b['body']), + 'api_token' => $pstr_api_token, + 'site_id' => $pstr_site_id ); + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $pstr_blog); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); + curl_setopt($ch, CURLOPT_HEADER, false); + curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); + curl_setopt($ch, CURLOPT_USERPWD, $pstr_username . ':' . $pstr_password); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_POSTFIELDS, $params); + + $data = curl_exec($ch); + $result = curl_multi_getcontent($ch); + curl_close($ch); - $api = new PosterousAPI($pstr_username,$pstr_password); - - $result = $api->newpost($params); logger('posterous_send: ' . $result); } }