wp/wp-content/plugins/hello.php
author ymh <ymh.work@gmail.com>
Mon, 14 Oct 2019 17:39:30 +0200
changeset 7 cf61fcea0001
parent 0 d970ebf37754
child 9 177826044cd9
permissions -rw-r--r--
resynchronize code repo with production
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 * @package Hello_Dolly
7
cf61fcea0001 resynchronize code repo with production
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
     4
 * @version 1.7
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
/*
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
Plugin Name: Hello Dolly
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
Plugin URI: http://wordpress.org/plugins/hello-dolly/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
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.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
Author: Matt Mullenweg
7
cf61fcea0001 resynchronize code repo with production
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    11
Version: 1.7
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
Author URI: http://ma.tt/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
*/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
function hello_dolly_get_lyric() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
	/** These are the lyrics to Hello Dolly */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
	$lyrics = "Hello, Dolly
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
Well, hello, Dolly
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
It's so nice to have you back where you belong
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
You're lookin' swell, Dolly
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
I can tell, Dolly
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
You're still glowin', you're still crowin'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
You're still goin' strong
7
cf61fcea0001 resynchronize code repo with production
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    24
I feel the room swayin'
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
While the band's playin'
7
cf61fcea0001 resynchronize code repo with production
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    26
One of our old favorite songs from way back when
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
So, take her wrap, fellas
7
cf61fcea0001 resynchronize code repo with production
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    28
Dolly, never go away again 
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
Hello, Dolly
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
Well, hello, Dolly
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
It's so nice to have you back where you belong
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
You're lookin' swell, Dolly
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
I can tell, Dolly
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
You're still glowin', you're still crowin'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
You're still goin' strong
7
cf61fcea0001 resynchronize code repo with production
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    36
I feel the room swayin'
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
While the band's playin'
7
cf61fcea0001 resynchronize code repo with production
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    38
One of our old favorite songs from way back when
cf61fcea0001 resynchronize code repo with production
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    39
So, golly, gee, fellas
cf61fcea0001 resynchronize code repo with production
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    40
Have a little faith in me, fellas
cf61fcea0001 resynchronize code repo with production
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    41
Dolly, never go away
cf61fcea0001 resynchronize code repo with production
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    42
Promise, you'll never go away
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
Dolly'll never go away again";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
	// Here we split it into lines
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
	$lyrics = explode( "\n", $lyrics );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
	// And then randomly choose a line
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
	return wptexturize( $lyrics[ mt_rand( 0, count( $lyrics ) - 1 ) ] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
// This just echoes the chosen line, we'll position it later
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
function hello_dolly() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
	$chosen = hello_dolly_get_lyric();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
	echo "<p id='dolly'>$chosen</p>";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
// Now we set that function up to execute when the admin_notices action is called
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
add_action( 'admin_notices', 'hello_dolly' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
// We need some CSS to position the paragraph
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
function dolly_css() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
	// This makes sure that the positioning is also good for right-to-left languages
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
	$x = is_rtl() ? 'left' : 'right';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
	echo "
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
	<style type='text/css'>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
	#dolly {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
		float: $x;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
		padding-$x: 15px;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
		padding-top: 5px;		
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
		margin: 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
		font-size: 11px;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
	</style>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
	";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
add_action( 'admin_head', 'dolly_css' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
?>