X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=ljpost%2Fljpost.php;h=9f3af04322b364b728a87d6779fad6e661f1d4fb;hb=48dcbc6f3fc3edae74e3ea2c823011bfb7c26081;hp=3fb30bc8e3a3825da2f136fb4ee61d5c658832c1;hpb=4ff22560f88bc0400f695f11618ab85c8b2bf45e;p=friendica-addons.git diff --git a/ljpost/ljpost.php b/ljpost/ljpost.php old mode 100644 new mode 100755 index 3fb30bc8..9f3af043 --- a/ljpost/ljpost.php +++ b/ljpost/ljpost.php @@ -4,10 +4,13 @@ * Name: LiveJournal Post Connector * Description: Post to LiveJournal * Version: 1.0 - * Author: Tony Baldwin + * Author: Tony Baldwin * Author: Michael Johnston + * Author: Cat Gray */ +use Friendica\Core\PConfig; + function ljpost_install() { register_hook('post_local', 'addon/ljpost/ljpost.php', 'ljpost_post_local'); register_hook('notifier_normal', 'addon/ljpost/ljpost.php', 'ljpost_send'); @@ -30,9 +33,9 @@ function ljpost_jot_nets(&$a,&$b) { if(! local_user()) return; - $lj_post = get_pconfig(local_user(),'ljpost','post'); + $lj_post = PConfig::get(local_user(),'ljpost','post'); if(intval($lj_post) == 1) { - $lj_defpost = get_pconfig(local_user(),'ljpost','post_by_default'); + $lj_defpost = PConfig::get(local_user(),'ljpost','post_by_default'); $selected = ((intval($lj_defpost) == 1) ? ' checked="checked" ' : ''); $b .= '
' . t('Post to LiveJournal') . '
'; @@ -51,16 +54,16 @@ function ljpost_settings(&$a,&$s) { /* Get the current state of our config variables */ - $enabled = get_pconfig(local_user(),'ljpost','post'); + $enabled = PConfig::get(local_user(),'ljpost','post'); $checked = (($enabled) ? ' checked="checked" ' : ''); - $def_enabled = get_pconfig(local_user(),'ljpost','post_by_default'); + $def_enabled = PConfig::get(local_user(),'ljpost','post_by_default'); $def_checked = (($def_enabled) ? ' checked="checked" ' : ''); - $lj_username = get_pconfig(local_user(), 'ljpost', 'lj_username'); - $lj_password = get_pconfig(local_user(), 'ljpost', 'lj_password'); + $lj_username = PConfig::get(local_user(), 'ljpost', 'lj_username'); + $lj_password = PConfig::get(local_user(), 'ljpost', 'lj_password'); /* Add some HTML to the existing form */ @@ -82,11 +85,6 @@ function ljpost_settings(&$a,&$s) { $s .= ''; $s .= '
'; - $s .= '
'; - $s .= ''; - $s .= ''; - $s .= '
'; - $s .= '
'; $s .= ''; $s .= ''; @@ -94,7 +92,7 @@ function ljpost_settings(&$a,&$s) { /* provide a submit button */ - $s .= '
'; + $s .= '
'; } @@ -103,10 +101,10 @@ function ljpost_settings_post(&$a,&$b) { if(x($_POST,'ljpost-submit')) { - set_pconfig(local_user(),'ljpost','post',intval($_POST['ljpost'])); - set_pconfig(local_user(),'ljpost','post_by_default',intval($_POST['lj_bydefault'])); - set_pconfig(local_user(),'ljpost','lj_username',trim($_POST['lj_username'])); - set_pconfig(local_user(),'ljpost','lj_password',trim($_POST['lj_password'])); + PConfig::set(local_user(),'ljpost','post',intval($_POST['ljpost'])); + PConfig::set(local_user(),'ljpost','post_by_default',intval($_POST['lj_bydefault'])); + PConfig::set(local_user(),'ljpost','lj_username',trim($_POST['lj_username'])); + PConfig::set(local_user(),'ljpost','lj_password',trim($_POST['lj_password'])); } @@ -125,11 +123,11 @@ function ljpost_post_local(&$a,&$b) { if($b['private'] || $b['parent']) return; - $lj_post = intval(get_pconfig(local_user(),'ljpost','post')); + $lj_post = intval(PConfig::get(local_user(),'ljpost','post')); $lj_enable = (($lj_post && x($_REQUEST,'ljpost_enable')) ? intval($_REQUEST['ljpost_enable']) : 0); - if($_REQUEST['api_source'] && intval(get_pconfig(local_user(),'ljpost','post_by_default'))) + if($_REQUEST['api_source'] && intval(PConfig::get(local_user(),'ljpost','post_by_default'))) $lj_enable = 1; if(! $lj_enable) @@ -166,18 +164,25 @@ function ljpost_send(&$a,&$b) { if($x && strlen($x[0]['timezone'])) $tz = $x[0]['timezone']; - $lj_username = get_pconfig($b['uid'],'ljpost','lj_username'); - $lj_password = get_pconfig($b['uid'],'ljpost','lj_password'); - $lj_blog = '$lj_url/interface/xmlrpc'; + $lj_username = xmlify(PConfig::get($b['uid'],'ljpost','lj_username')); + $lj_password = xmlify(PConfig::get($b['uid'],'ljpost','lj_password')); + $lj_journal = xmlify(PConfig::get($b['uid'],'ljpost','lj_journal')); +// if(! $lj_journal) +// $lj_journal = $lj_username; + + $lj_blog = xmlify(PConfig::get($b['uid'],'ljpost','lj_blog')); + if(! strlen($lj_blog)) + $lj_blog = xmlify('http://www.livejournal.com/interface/xmlrpc'); if($lj_username && $lj_password && $lj_blog) { require_once('include/bbcode.php'); require_once('include/datetime.php'); - $title = $b['title']; + $title = xmlify($b['title']); $post = bbcode($b['body']); $post = xmlify($post); + $tags = ljpost_get_tags($b['tag']); $date = datetime_convert('UTC',$tz,$b['created'],'Y-m-d H:i:s'); $year = intval(substr($date,0,4)); @@ -187,30 +192,41 @@ function ljpost_send(&$a,&$b) { $min = intval(substr($date,14,2)); $xml = <<< EOT - - -LJ.XMLRPC.postevent - - -year$year -mon$mon -day$day -hour$hour -min$min -usejournal$lj_username -event$post -username$lj_username -password$lj_password -subjectxpost from friendica -lineendingsunix -ver1 -props - -useragentFriendica -taglistfriendica - - - + + + LJ.XMLRPC.postevent + + + + username$lj_username + password$lj_password + event$post + subject$title + lineendingsunix + year$year + mon$mon + day$day + hour$hour + min$min + usejournal$lj_username + + props + + + + useragent + Friendica + + + taglist + $tags + + + + + + + EOT; @@ -218,9 +234,15 @@ EOT; logger('ljpost: data: ' . $xml, LOGGER_DATA); if($lj_blog !== 'test') - $x = post_url($lj_blog,$xml); + $x = post_url($lj_blog,$xml,array("Content-Type: text/xml")); logger('posted to livejournal: ' . ($x) ? $x : '', LOGGER_DEBUG); } } +function ljpost_get_tags($post) +{ + preg_match_all("/\]([^\[#]+)\[/",$post,$matches); + $tags = implode(', ',$matches[1]); + return $tags; +}