1 | <?php |
---|
2 | /** |
---|
3 | * @package Hello_Dolly |
---|
4 | * @version 1.7.2 |
---|
5 | */ |
---|
6 | /* |
---|
7 | Plugin Name: Hello Dolly |
---|
8 | Plugin URI: http://wordpress.org/plugins/hello-dolly/ |
---|
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. |
---|
10 | Author: Matt Mullenweg |
---|
11 | Version: 1.7.2 |
---|
12 | Author URI: http://ma.tt/ |
---|
13 | */ |
---|
14 | |
---|
15 | function hello_dolly_get_lyric() { |
---|
16 | /** These are the lyrics to Hello Dolly */ |
---|
17 | $lyrics = "Hello, Dolly |
---|
18 | Well, hello, Dolly |
---|
19 | It's so nice to have you back where you belong |
---|
20 | You're lookin' swell, Dolly |
---|
21 | I can tell, Dolly |
---|
22 | You're still glowin', you're still crowin' |
---|
23 | You're still goin' strong |
---|
24 | I feel the room swayin' |
---|
25 | While the band's playin' |
---|
26 | One of our old favorite songs from way back when |
---|
27 | So, take her wrap, fellas |
---|
28 | Dolly, never go away again |
---|
29 | Hello, Dolly |
---|
30 | Well, hello, Dolly |
---|
31 | It's so nice to have you back where you belong |
---|
32 | You're lookin' swell, Dolly |
---|
33 | I can tell, Dolly |
---|
34 | You're still glowin', you're still crowin' |
---|
35 | You're still goin' strong |
---|
36 | I feel the room swayin' |
---|
37 | While the band's playin' |
---|
38 | One of our old favorite songs from way back when |
---|
39 | So, golly, gee, fellas |
---|
40 | Have a little faith in me, fellas |
---|
41 | Dolly, never go away |
---|
42 | Promise, you'll never go away |
---|
43 | Dolly'll never go away again"; |
---|
44 | |
---|
45 | // Here we split it into lines. |
---|
46 | $lyrics = explode( "\n", $lyrics ); |
---|
47 | |
---|
48 | // And then randomly choose a line. |
---|
49 | return wptexturize( $lyrics[ mt_rand( 0, count( $lyrics ) - 1 ) ] ); |
---|
50 | } |
---|
51 | |
---|
52 | // This just echoes the chosen line, we'll position it later. |
---|
53 | function hello_dolly() { |
---|
54 | $chosen = hello_dolly_get_lyric(); |
---|
55 | $lang = ''; |
---|
56 | if ( 'en_' !== substr( get_user_locale(), 0, 3 ) ) { |
---|
57 | $lang = ' lang="en"'; |
---|
58 | } |
---|
59 | |
---|
60 | printf( |
---|
61 | '<p id="dolly"><span class="screen-reader-text">%s </span><span dir="ltr"%s>%s</span></p>', |
---|
62 | __( 'Quote from Hello Dolly song, by Jerry Herman:', 'hello-dolly' ), |
---|
63 | $lang, |
---|
64 | $chosen |
---|
65 | ); |
---|
66 | } |
---|
67 | |
---|
68 | // Now we set that function up to execute when the admin_notices action is called. |
---|
69 | add_action( 'admin_notices', 'hello_dolly' ); |
---|
70 | |
---|
71 | // We need some CSS to position the paragraph. |
---|
72 | function dolly_css() { |
---|
73 | echo " |
---|
74 | <style type='text/css'> |
---|
75 | #dolly { |
---|
76 | float: right; |
---|
77 | padding: 5px 10px; |
---|
78 | margin: 0; |
---|
79 | font-size: 12px; |
---|
80 | line-height: 1.6666; |
---|
81 | } |
---|
82 | .rtl #dolly { |
---|
83 | float: left; |
---|
84 | } |
---|
85 | .block-editor-page #dolly { |
---|
86 | display: none; |
---|
87 | } |
---|
88 | @media screen and (max-width: 782px) { |
---|
89 | #dolly, |
---|
90 | .rtl #dolly { |
---|
91 | float: none; |
---|
92 | padding-left: 0; |
---|
93 | padding-right: 0; |
---|
94 | } |
---|
95 | } |
---|
96 | </style> |
---|
97 | "; |
---|
98 | } |
---|
99 | |
---|
100 | add_action( 'admin_head', 'dolly_css' ); |
---|