BIN
hangman.tar.gz
|
@ -1,4 +0,0 @@
|
|||
.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;}
|
||||
|
Before Width: | Height: | Size: 387 B |
Before Width: | Height: | Size: 427 B |
Before Width: | Height: | Size: 498 B |
Before Width: | Height: | Size: 443 B |
Before Width: | Height: | Size: 447 B |
Before Width: | Height: | Size: 455 B |
Before Width: | Height: | Size: 463 B |
Before Width: | Height: | Size: 474 B |
Before Width: | Height: | Size: 481 B |
Before Width: | Height: | Size: 483 B |
Before Width: | Height: | Size: 495 B |
|
@ -1,51 +0,0 @@
|
|||
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<!6!';
|
||||
opts[r++] = '- @+ <+:!3:#9^35 6=*';
|
||||
opts[r++] = '8#<<565<25@9`6@2^6$*';
|
||||
opts[r++] = '@!852!:92^-@#/@018+7';
|
||||
opts[r++] = '4#<8#`!2#9-?!/-__110';
|
||||
opts[r++] = '!8!2^#25@9?=3=_$#95^';
|
||||
opts[r++] = '1+`<!~# 90:6//>?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_$/>@';
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
// 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<parms.length; i++) {var pos = parms[i].indexOf('=');if (pos > 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('<div class="hangt">'); for (var i = 0; i < al.length; i++) {
|
||||
var ltr = String.fromCharCode(i+65); if (al.charAt(i) == ltr) document.write(' '); else document.write('<a href="#" onclick="selectLetter(\''+i+'\')">'+ ltr+'<\/a> '); if (i == 12) document.write('<br \/>');} document.write('<\/div>');}
|
||||
function displayAnswer() {var correct = ''; document.write('<div class="hanga"> <br \/>'); 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('<div class="hangb">'); if (win == 0) availLetter(); else if (win == 4) document.write('<div class="hangt">YOU WIN<br \/><a href="'+page+'">Try Again<\/a><\/div>'); else document.write('<div class="hangt">YOU LOSE<br \/><a href="'+page+'">Try Again<\/a><\/div>'); document.write('<div align="center"> <br \/><img src="'+img+'hang'+wx+'.gif" width="100" height="100" alt="hangman image '+wx+'" \/><br \/> <\/div>'); displayAnswer(); document.write('<\/div>');
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Name: Hangman Plugin
|
||||
* Description: spell words, hang dudes
|
||||
* Version: 1.0
|
||||
* Author: tony baldwin <https://free-haven.org/profile/tony>
|
||||
*/
|
||||
|
||||
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'][] = '<div class="app-title"><a href="hangman">' . t('Hangman') . '</a></div>';
|
||||
}
|
||||
|
||||
|
||||
function hangman_module() {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
function hangman_content(&$a) {
|
||||
|
||||
$baseurl = $a->get_baseurl() . '/addon/hangman';
|
||||
$a->page['htmlhead'] .= '<link rel="stylesheet" href="' .$a->get_baseurl() . '/addon/hangman/hang.css' . '" type="text/css" />' . "\r\n";
|
||||
$a->page['htmlhead'] .= '<script src="' .$a->get_baseurl() . '/addon/hangman/hangans.js' .'" type="text/javascript"> </script>' . "\r\n";
|
||||
$o = '';
|
||||
|
||||
|
||||
|
||||
$o .= <<< EOT
|
||||
|
||||
<script src="$baseurl/hangman.js" type="text/javascript">
|
||||
</script><noscript><div align="center"><b>The Hangman
|
||||
game requires Javascript</b><br />You either have
|
||||
Javascript disabled<br />or the browser you are using does
|
||||
not<br />support Javascript. Please use a Javascript
|
||||
<br />enabled browser to access this game.</div></noscript>
|
||||
|
||||
EOT;
|
||||
return $o;
|
||||
|
||||
}
|
|
@ -1,248 +0,0 @@
|
|||
<?php /*
|
||||
Name: Posterous API Library
|
||||
Description: Object-oriented PHP class for accessing the Posterous API
|
||||
Author: Calvin Freitas
|
||||
Version: 0.1.0
|
||||
Author URI: http://calvinf.com/
|
||||
License: MIT License (see LICENSE) http://creativecommons.org/licenses/MIT/
|
||||
Warranties: None
|
||||
Last Modified: December 07, 2009
|
||||
Requirements: PHP 5 or higher.
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright (c) 2009 Calvin Freitas
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/* Define Static Variables */
|
||||
define('POSTEROUS_API_LIBRARY_VERSION','1.0');
|
||||
define('POSTEROUS_API_LIBRARY_RELEASE_DATE','December 07, 2009');
|
||||
define('POSTEROUS_API_LIBRARY_URL','http://calvinf.com/projects/posterous-api-library-php/');
|
||||
define('POSTEROUS_API_LIBRARY_AUTHOR_NAME','Calvin Freitas');
|
||||
define('POSTEROUS_API_LIBRARY_AUTHOR_URL','http://calvinf.com/');
|
||||
define('POSTEROUS_API_LIBRARY_AUTHOR_EMAIL','cal@calvinfreitas.com');
|
||||
|
||||
define('POSTEROUS_API_URL', 'http://posterous.com/api/');
|
||||
|
||||
// ensure Curl extension installed
|
||||
if(!extension_loaded("curl")) {
|
||||
throw(new Exception("The Curl extension for PHP is required for PosterousAPI to work."));
|
||||
}
|
||||
|
||||
/* Useful to catch this exception separately from standard PHP Exceptions */
|
||||
class PosterousException extends Exception {}
|
||||
|
||||
/* This class contains functions for calling the Posterous API */
|
||||
class PosterousAPI {
|
||||
private $user;
|
||||
private $pass;
|
||||
|
||||
function __construct($user = NULL, $pass = NULL) {
|
||||
$this->user = $user;
|
||||
$this->pass = $pass;
|
||||
}
|
||||
|
||||
/* Reading Methods - http://posterous.com/api/reading */
|
||||
function getsites() {
|
||||
$api_method = 'getsites';
|
||||
$xml = $this->_call( $api_method );
|
||||
return $xml;
|
||||
}
|
||||
|
||||
function readposts($args) {
|
||||
$api_method = 'readposts';
|
||||
|
||||
$valid_args = array('hostname','site_id','num_posts','page','tag');
|
||||
$method_args = $this->_validate($args, $valid_args);
|
||||
|
||||
$xml = $this->_call( $api_method, $method_args );
|
||||
return $xml;
|
||||
}
|
||||
|
||||
function gettags($args) {
|
||||
$api_method = 'gettags';
|
||||
|
||||
$valid_args = array('hostname','site_id');
|
||||
$method_args = $this->_validate($args, $valid_args);
|
||||
|
||||
$xml = $this->_call( $api_method, $method_args );
|
||||
return $xml;
|
||||
}
|
||||
|
||||
/* Posting Methods - http://posterous.com/api/posting */
|
||||
function newpost($args) {
|
||||
$api_method = 'newpost';
|
||||
|
||||
if (!$this->_auth()) {
|
||||
throw new PosterousException('Posterous API call "' . $api_method . '" requires authentication.');
|
||||
}
|
||||
|
||||
$valid_args = array('site_id','media','title','body','autopost','private','date','tags','source','sourceLink');
|
||||
$method_args = $this->_validate($args, $valid_args);
|
||||
|
||||
$xml = $this->_call( $api_method, $method_args );
|
||||
return $xml;
|
||||
}
|
||||
|
||||
function updatepost($args) {
|
||||
$api_method = 'updatepost';
|
||||
|
||||
if (!$this->_auth()) {
|
||||
throw new PosterousException('Posterous API call "' . $api_method . '" requires authentication.');
|
||||
}
|
||||
|
||||
$valid_args = array('post_id','media','title','body');
|
||||
$method_args = $this->_validate($args, $valid_args);
|
||||
|
||||
$xml = $this->_call( $api_method, $method_args );
|
||||
return $xml;
|
||||
}
|
||||
|
||||
function newcomment($args) {
|
||||
$api_method = 'newcomment';
|
||||
|
||||
$valid_args = array('post_id','comment','name','email','date');
|
||||
$method_args = $this->_validate($args, $valid_args);
|
||||
|
||||
$xml = $this->_call( $api_method, $method_args );
|
||||
return $xml;
|
||||
}
|
||||
|
||||
/* Post.ly Methods - http://posterous.com/api/postly */
|
||||
|
||||
function getpost($args) {
|
||||
$api_method = 'getpost';
|
||||
|
||||
$valid_args = array('id');
|
||||
$method_args = $this->_validate($args, $valid_args);
|
||||
|
||||
$xml = $this->_call( $api_method, $method_args );
|
||||
return $xml;
|
||||
}
|
||||
|
||||
/* Twitter Methods - http://posterous.com/api/twitter */
|
||||
function upload() {
|
||||
$api_method = 'upload';
|
||||
|
||||
$valid_args = array('username','password','media','message','body','source','sourceLink');
|
||||
$method_args = $this->_validate( $args, $method_args );
|
||||
|
||||
$xml = $this->_call( $api_method, $method_args );
|
||||
return $xml;
|
||||
}
|
||||
|
||||
function uploadAndPost() {
|
||||
$api_method = 'uploadAndPost';
|
||||
|
||||
$valid_args = array('username','password','media','message','body','source','sourceLink');
|
||||
$method_args = $this->_validate( $args, $method_args );
|
||||
|
||||
$xml = $this->_call( $api_method, $method_args );
|
||||
return $xml;
|
||||
}
|
||||
|
||||
|
||||
/* Helper Functions */
|
||||
private function _call($api_method, $method_args = NULL) {
|
||||
$method_url = POSTEROUS_API_URL . $api_method;
|
||||
|
||||
$user = $this->user();
|
||||
$pass = $this->pass();
|
||||
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $method_url);
|
||||
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);
|
||||
|
||||
if (isset($user) && isset($pass) && $user != '' && $pass != '') {
|
||||
curl_setopt($ch, CURLOPT_USERPWD, $user . ':' . $pass);
|
||||
}
|
||||
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
|
||||
if ( is_array($method_args) && !empty($method_args) ) {
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $method_args);
|
||||
}
|
||||
|
||||
$data = curl_exec($ch);
|
||||
//$response_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
|
||||
curl_close($ch);
|
||||
|
||||
$xml = '';
|
||||
try {
|
||||
$xml = new SimpleXMLElement($data);
|
||||
|
||||
$response_status = $xml['stat'];
|
||||
if ($response_status == 'ok') {
|
||||
return $xml;
|
||||
}
|
||||
elseif ($response_status == 'fail') {
|
||||
throw new PosterousException('Error Code ' . $xml->err['code'] . ': ' . $xml->err['msg']);
|
||||
}
|
||||
else {
|
||||
throw new PosterousException('Error: Invalid Posterous response status.');
|
||||
}
|
||||
}
|
||||
catch (Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
private function _validate($args, $valid_args) {
|
||||
$method_args = array();
|
||||
foreach($args as $key => $value) {
|
||||
if( in_array($key, $valid_args) ) {
|
||||
$method_args[$key] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
return $method_args;
|
||||
}
|
||||
|
||||
private function _auth() {
|
||||
//checks if object has user & password, does not verify w/ Posterous
|
||||
if (isset($this->user) && isset($this->pass) && $this->user != '' && $this->pass != '') {
|
||||
return TRUE;
|
||||
}
|
||||
else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/* Getters & Setters */
|
||||
function user($user = NULL) {
|
||||
if ($user) {
|
||||
$this->user = $user;
|
||||
}
|
||||
return $this->user;
|
||||
}
|
||||
|
||||
function pass($pass = NULL) {
|
||||
if ($pass) {
|
||||
$this->pass = $pass;
|
||||
}
|
||||
return $this->pass;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|