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:' ), |
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' ); |