web/wp-content/plugins/hello.php
author ymh <ymh.work@gmail.com>
Mon, 22 Mar 2010 16:36:28 +0100
changeset 5 ac511f1ccc8e
parent 1 0d28b7c10758
permissions -rw-r--r--
add hgignore
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
0d28b7c10758 First commit
ymh
parents:
diff changeset
     1
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
     2
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
     3
 * @package Hello_Dolly
0d28b7c10758 First commit
ymh
parents:
diff changeset
     4
 * @author Matt Mullenweg
0d28b7c10758 First commit
ymh
parents:
diff changeset
     5
 * @version 1.5.1
0d28b7c10758 First commit
ymh
parents:
diff changeset
     6
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
     7
/*
0d28b7c10758 First commit
ymh
parents:
diff changeset
     8
Plugin Name: Hello Dolly
0d28b7c10758 First commit
ymh
parents:
diff changeset
     9
Plugin URI: http://wordpress.org/#
0d28b7c10758 First commit
ymh
parents:
diff changeset
    10
Description: This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong: Hello, Dolly. When activated you will randomly see a lyric from <cite>Hello, Dolly</cite> in the upper right of your admin screen on every page.
0d28b7c10758 First commit
ymh
parents:
diff changeset
    11
Author: Matt Mullenweg
0d28b7c10758 First commit
ymh
parents:
diff changeset
    12
Version: 1.5.1
0d28b7c10758 First commit
ymh
parents:
diff changeset
    13
Author URI: http://ma.tt/
0d28b7c10758 First commit
ymh
parents:
diff changeset
    14
*/
0d28b7c10758 First commit
ymh
parents:
diff changeset
    15
0d28b7c10758 First commit
ymh
parents:
diff changeset
    16
function hello_dolly_get_lyric() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    17
	/** These are the lyrics to Hello Dolly */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    18
	$lyrics = "Hello, Dolly
0d28b7c10758 First commit
ymh
parents:
diff changeset
    19
Well, hello, Dolly
0d28b7c10758 First commit
ymh
parents:
diff changeset
    20
It's so nice to have you back where you belong
0d28b7c10758 First commit
ymh
parents:
diff changeset
    21
You're lookin' swell, Dolly
0d28b7c10758 First commit
ymh
parents:
diff changeset
    22
I can tell, Dolly
0d28b7c10758 First commit
ymh
parents:
diff changeset
    23
You're still glowin', you're still crowin'
0d28b7c10758 First commit
ymh
parents:
diff changeset
    24
You're still goin' strong
0d28b7c10758 First commit
ymh
parents:
diff changeset
    25
We feel the room swayin'
0d28b7c10758 First commit
ymh
parents:
diff changeset
    26
While the band's playin'
0d28b7c10758 First commit
ymh
parents:
diff changeset
    27
One of your old favourite songs from way back when
0d28b7c10758 First commit
ymh
parents:
diff changeset
    28
So, take her wrap, fellas
0d28b7c10758 First commit
ymh
parents:
diff changeset
    29
Find her an empty lap, fellas
0d28b7c10758 First commit
ymh
parents:
diff changeset
    30
Dolly'll never go away again
0d28b7c10758 First commit
ymh
parents:
diff changeset
    31
Hello, Dolly
0d28b7c10758 First commit
ymh
parents:
diff changeset
    32
Well, hello, Dolly
0d28b7c10758 First commit
ymh
parents:
diff changeset
    33
It's so nice to have you back where you belong
0d28b7c10758 First commit
ymh
parents:
diff changeset
    34
You're lookin' swell, Dolly
0d28b7c10758 First commit
ymh
parents:
diff changeset
    35
I can tell, Dolly
0d28b7c10758 First commit
ymh
parents:
diff changeset
    36
You're still glowin', you're still crowin'
0d28b7c10758 First commit
ymh
parents:
diff changeset
    37
You're still goin' strong
0d28b7c10758 First commit
ymh
parents:
diff changeset
    38
We feel the room swayin'
0d28b7c10758 First commit
ymh
parents:
diff changeset
    39
While the band's playin'
0d28b7c10758 First commit
ymh
parents:
diff changeset
    40
One of your old favourite songs from way back when
0d28b7c10758 First commit
ymh
parents:
diff changeset
    41
Golly, gee, fellas
0d28b7c10758 First commit
ymh
parents:
diff changeset
    42
Find her a vacant knee, fellas
0d28b7c10758 First commit
ymh
parents:
diff changeset
    43
Dolly'll never go away
0d28b7c10758 First commit
ymh
parents:
diff changeset
    44
Dolly'll never go away
0d28b7c10758 First commit
ymh
parents:
diff changeset
    45
Dolly'll never go away again";
0d28b7c10758 First commit
ymh
parents:
diff changeset
    46
0d28b7c10758 First commit
ymh
parents:
diff changeset
    47
	// Here we split it into lines
0d28b7c10758 First commit
ymh
parents:
diff changeset
    48
	$lyrics = explode("\n", $lyrics);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    49
0d28b7c10758 First commit
ymh
parents:
diff changeset
    50
	// And then randomly choose a line
0d28b7c10758 First commit
ymh
parents:
diff changeset
    51
	return wptexturize( $lyrics[ mt_rand(0, count($lyrics) - 1) ] );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    52
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    53
0d28b7c10758 First commit
ymh
parents:
diff changeset
    54
// This just echoes the chosen line, we'll position it later
0d28b7c10758 First commit
ymh
parents:
diff changeset
    55
function hello_dolly() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    56
	$chosen = hello_dolly_get_lyric();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    57
	echo "<p id='dolly'>$chosen</p>";
0d28b7c10758 First commit
ymh
parents:
diff changeset
    58
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    59
0d28b7c10758 First commit
ymh
parents:
diff changeset
    60
// Now we set that function up to execute when the admin_footer action is called
0d28b7c10758 First commit
ymh
parents:
diff changeset
    61
add_action('admin_footer', 'hello_dolly');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    62
0d28b7c10758 First commit
ymh
parents:
diff changeset
    63
// We need some CSS to position the paragraph
0d28b7c10758 First commit
ymh
parents:
diff changeset
    64
function dolly_css() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    65
	// This makes sure that the posinioning is also good for right-to-left languages
0d28b7c10758 First commit
ymh
parents:
diff changeset
    66
	$x = ( 'rtl' == get_bloginfo( 'text_direction' ) ) ? 'left' : 'right';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    67
0d28b7c10758 First commit
ymh
parents:
diff changeset
    68
	echo "
0d28b7c10758 First commit
ymh
parents:
diff changeset
    69
	<style type='text/css'>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    70
	#dolly {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    71
		position: absolute;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    72
		top: 4.5em;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    73
		margin: 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    74
		padding: 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    75
		$x: 215px;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    76
		font-size: 11px;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    77
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    78
	</style>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    79
	";
0d28b7c10758 First commit
ymh
parents:
diff changeset
    80
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    81
0d28b7c10758 First commit
ymh
parents:
diff changeset
    82
add_action('admin_head', 'dolly_css');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    83
0d28b7c10758 First commit
ymh
parents:
diff changeset
    84
?>