diff --git a/hangman.tar.gz b/hangman.tar.gz new file mode 100644 index 00000000..ea720f4d Binary files /dev/null and b/hangman.tar.gz differ diff --git a/hangman/hang.css b/hangman/hang.css new file mode 100644 index 00000000..2a5114a9 --- /dev/null +++ b/hangman/hang.css @@ -0,0 +1,4 @@ +.hanga {font:bold 14pt Courier, "Courier New", monospace;text-align:center;} +.hangt {font:normal 16pt Courier, "Courier New", monospace;text-align:center;color:#efefef;} +.hangb {width:800px;height:430px;overflow:hidden;background:#777;border:#000000 1px solid;} + diff --git a/hangman/hang0.gif b/hangman/hang0.gif new file mode 100644 index 00000000..3ed630ea Binary files /dev/null and b/hangman/hang0.gif differ diff --git a/hangman/hang1.gif b/hangman/hang1.gif new file mode 100644 index 00000000..d3704fc1 Binary files /dev/null and b/hangman/hang1.gif differ diff --git a/hangman/hang10.gif b/hangman/hang10.gif new file mode 100644 index 00000000..c7252ffa Binary files /dev/null and b/hangman/hang10.gif differ diff --git a/hangman/hang2.gif b/hangman/hang2.gif new file mode 100644 index 00000000..d613f892 Binary files /dev/null and b/hangman/hang2.gif differ diff --git a/hangman/hang3.gif b/hangman/hang3.gif new file mode 100644 index 00000000..6dd5ee8c Binary files /dev/null and b/hangman/hang3.gif differ diff --git a/hangman/hang4.gif b/hangman/hang4.gif new file mode 100644 index 00000000..42dfb469 Binary files /dev/null and b/hangman/hang4.gif differ diff --git a/hangman/hang5.gif b/hangman/hang5.gif new file mode 100644 index 00000000..0690482a Binary files /dev/null and b/hangman/hang5.gif differ diff --git a/hangman/hang6.gif b/hangman/hang6.gif new file mode 100644 index 00000000..8de1f672 Binary files /dev/null and b/hangman/hang6.gif differ diff --git a/hangman/hang7.gif b/hangman/hang7.gif new file mode 100644 index 00000000..6976754e Binary files /dev/null and b/hangman/hang7.gif differ diff --git a/hangman/hang8.gif b/hangman/hang8.gif new file mode 100644 index 00000000..af3e0c41 Binary files /dev/null and b/hangman/hang8.gif differ diff --git a/hangman/hang9.gif b/hangman/hang9.gif new file mode 100644 index 00000000..f9898d6c Binary files /dev/null and b/hangman/hang9.gif differ diff --git a/hangman/hangans.js b/hangman/hangans.js new file mode 100644 index 00000000..28c28fcd --- /dev/null +++ b/hangman/hangans.js @@ -0,0 +1,51 @@ +var img = '' +var opts = new Array(); var r = 0; +opts[r++] = '^!33#`4!<^#`/9~1$4>-'; +opts[r++] = '#:#0# 9 66@28?>0?/@+'; +opts[r++] = '@!45::!@9/5/1>*5_2>7'; +opts[r++] = '1`-52:#<<9_`2:2#8/9!'; +opts[r++] = '4! $:5 $9_=^+59-9:25'; +opts[r++] = '1+`2-52+-<917:0*!1#3'; +opts[r++] = '65<@#::! /9<6649 *6>'; +opts[r++] = '6+4#`!25+ 9_7^2?~:+<'; +opts[r++] = '1-`250#:/933:5!>679 '; +opts[r++] = '^!88# <2! @#99/*_^`>'; +opts[r++] = '!68:52-4#9_53*24:$>4'; +opts[r++] = '$!`$! 2-! 9+$$~+71?$'; +opts[r++] = '#:#8^! 2525<9--4>~-+'; +opts[r++] = '2#<25@-:!`9:335^~+9/'; +opts[r++] = '8+45!2`5<294 57#52#6'; +opts[r++] = '@!`45+:+$/9_@4` -42`'; +opts[r++] = '2#68#<2-+-<933$=4@`~'; +opts[r++] = '5 @+ <+:!3:#9-~$8+-+'; +opts[r++] = '- @+ <@5+ !3:#957?=1'; +opts[r++] = '<5 5<2#`9`58$$462$!9'; +opts[r++] = '8+`2# 25+-<99<^4<14*'; +opts[r++] = '^!33#`4!<^#`/9$5-<$3'; +opts[r++] = '6+`25@5! 9<:**6 *!`<'; +opts[r++] = '1!::+85! 9181+!>$8- '; +opts[r++] = '>+`@#<2#`<^5`#91>!=?'; +opts[r++] = '6!$ 515@# 29+:21?750+'; +opts[r++] = '45<@+ <+:!2#9//_*35$'; +opts[r++] = '^+``515@92/>@5:?5_@4'; +opts[r++] = '<+:52-4#9+#8>?6_4#*7'; +opts[r++] = '568#`@#8253:#96+?0!@'; +opts[r++] = '8525!3:#917_~ 2^16!*'; +opts[r++] = '@/ 5@!:9!32`20#?6^@3'; +opts[r++] = '@+ 4#6 #494`0`-`2-~='; +opts[r++] = '4#<+:!2#96@@<*^:!/~='; +opts[r++] = ':-$-3`5+-<9_*3=*?842'; +opts[r++] = '4#<8+ 4# 2902+83>#8^'; +opts[r++] = ' #@`+25@95?3<_+`*+3^'; +opts[r++] = '1- #3`5+-<90*@>3?-->'; +opts[r++] = ':!6# 2!3:#9>6/9@_6>3'; +opts[r++] = '+352-!`/9 #9~--1<<1<'; +opts[r++] = '@`565 !:95^@3701#$~$'; +opts[r++] = '6#:! @^+:/9>:<4_$/>@'; + diff --git a/hangman/hangman.js b/hangman/hangman.js new file mode 100644 index 00000000..4d050c54 --- /dev/null +++ b/hangman/hangman.js @@ -0,0 +1,22 @@ +// Hangman Javascript +// copyright 10th June 2005, 8th December 2005 by Stephen Chapman +// permission to use this Javascript on your web page is granted +// provided that all of the code in this script (including these +// comments) is used without any alteration + +var page = self.location.toString(); page = page.substr(0,page.indexOf('?')); +var qsParm = new Array();function qs() {var query = window.location.search.substring(1);var parms = query.split('&');for (var i=0; i 0) {var key = parms[i].substring(0,pos);var val = parms[i].substring(pos+1);qsParm[key] = val;}}} +qsParm['opt'] = null;qsParm['al'] = null;qsParm['w'] = null;qs(); +var win = 0;if (qsParm['win']) win = parseInt(qsParm['win']); +var opt = -1;if (qsParm['opt']) opt = qsParm['opt']%71; else opt = Math.floor(Math.random()*opts.length); +var al = '--------------------------';if (qsParm['al']) al = qsParm['al']; +var wr = 'xhwdarqpnez';var dc = '7!3@4#1$^5*~:6 +8=`<2-0>_/?9'; +var wx = 0; if (qsParm['w']) wx = wr.indexOf(qsParm['w']); +var answer = trans2(opts[opt]); +function trans2(op) {var opn = '';for (var i = 0; i < op.length; i++) {var ch = op.substr(i,1);if (ch == dc.substr(27,1)) break; if (ch == dc.substr(0,1)) opn += ' '; else opn += String.fromCharCode(dc.indexOf(ch)+64);} return opn;} +function selectLetter(s) {s = parseInt(s); var ch = String.fromCharCode(s+65); if (answer.indexOf(ch) == -1) wx++; al = al.substring(0,s) + ch + al.substring(s+1,al.length); var opty = Math.floor(Math.random()*165)*71 + opt; top.location = page + '?opt='+opty+'&al='+al+'&w=' +wr.charAt(wx); return false;} +function availLetter() {document.write('
'); for (var i = 0; i < al.length; i++) { +var ltr = String.fromCharCode(i+65); if (al.charAt(i) == ltr) document.write(' '); else document.write(''+ ltr+'<\/a> '); if (i == 12) document.write('
');} document.write('<\/div>');} +function displayAnswer() {var correct = ''; document.write('

'); for (var i = 0; i < answer.length; i++) {if (answer.substr(i,1) == ' ') {document.write(' '); correct += ' ';} else {var ltr = ''; if (win == 0) ltr = al.charAt(answer.charCodeAt(i)-65); else ltr = answer.substr(i,1); document.write(ltr + ' '); correct += ltr;}} document.write('<\/div>'); if (win == 0) {var opty = Math.floor(Math.random()*165)*71 + opt; if (wr.charAt(wx) == 'z') top.location = page + '?win=1&opt='+opty+'&w='+wr.charAt(wx); if (correct == answer.toUpperCase()) top.location = page + '?win=4&opt='+ opty+'&w='+wr.charAt(wx);}} +document.write('
'); if (win == 0) availLetter(); else if (win == 4) document.write('
YOU WIN
Try Again<\/a><\/div>'); else document.write('
YOU LOSE
Try Again<\/a><\/div>'); document.write('

hangman image '+wx+'
<\/div>'); displayAnswer(); document.write('<\/div>'); + diff --git a/hangman/hangman.php b/hangman/hangman.php new file mode 100644 index 00000000..e8524179 --- /dev/null +++ b/hangman/hangman.php @@ -0,0 +1,49 @@ + +*/ + +function hangman_install() { +register_hook('app_menu', 'addon/hangman/hangman.php', 'hangman_app_menu'); +} + +function hangman_uninstall() { +unregister_hook('hangman_menu', 'addon/hangman/hangman.php', 'hangman_app_menu'); + +} + +function hangman_app_menu($a,&$b) { +$b['app_menu'][] = '
'; +} + + +function hangman_module() { +return; +} + + +function hangman_content(&$a) { + +$baseurl = $a->get_baseurl() . '/addon/hangman'; +$a->page['htmlhead'] .= '' . "\r\n"; +$a->page['htmlhead'] .= '' . "\r\n"; +$o = ''; + + + + $o .= <<< EOT + + + +EOT; +return $o; + +} diff --git a/posterous.tgz b/posterous.tgz index 20cf7d88..f8080587 100755 Binary files a/posterous.tgz and b/posterous.tgz differ diff --git a/posterous/posterous.php b/posterous/posterous.php index 35c0d1e7..25a009c5 100755 --- a/posterous/posterous.php +++ b/posterous/posterous.php @@ -2,9 +2,10 @@ /** * Name: Posterous Post Connector - * Description: DISABLE THIS PLUGIN! System stability at risk! Post to Posterous accounts + * Description: Post to Posterous accounts * Version: 1.0 * Author: Mike Macgirvin + * Author: Tony Baldwin */ function posterous_install() { @@ -59,6 +60,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 */ @@ -80,6 +83,16 @@ function posterous_settings(&$a,&$s) { $s .= ''; $s .= '
'; + $s .= '
'; + $s .= ''; + $s .= ''; + $s .= '
'; + + $s .= '
'; + $s .= ''; + $s .= ''; + $s .= '
'; + $s .= '
'; $s .= ''; $s .= ''; @@ -100,6 +113,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'])); } @@ -139,7 +154,6 @@ function posterous_post_local(&$a,&$b) { function posterous_send(&$a,&$b) { logger('posterous_send: invoked'); - logger('posterous: plugin disabled. API endpoint no longer responds.'); return; if($b['deleted'] || $b['private'] || ($b['created'] !== $b['edited'])) @@ -154,12 +168,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('addon/posterous/posterous-api.php'); $tag_arr = array(); $tags = ''; $x = preg_match_all('/\#\[(.*?)\](.*?)\[/',$b['tag'],$matches,PREG_SET_ORDER); @@ -174,20 +189,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); - logger('posterous: params: ' . print_r($params,true), LOGGER_DATA); + $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); } }