1 <?php |
1 <?php |
2 /** |
2 /** |
3 * @package Hello_Dolly |
3 * @package Hello_Dolly |
4 * @version 1.7 |
4 * @version 1.7.2 |
5 */ |
5 */ |
6 /* |
6 /* |
7 Plugin Name: Hello Dolly |
7 Plugin Name: Hello Dolly |
8 Plugin URI: http://wordpress.org/plugins/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. |
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 |
10 Author: Matt Mullenweg |
11 Version: 1.7 |
11 Version: 1.7.2 |
12 Author URI: http://ma.tt/ |
12 Author URI: http://ma.tt/ |
13 */ |
13 */ |
14 |
14 |
15 function hello_dolly_get_lyric() { |
15 function hello_dolly_get_lyric() { |
16 /** These are the lyrics to Hello Dolly */ |
16 /** These are the lyrics to Hello Dolly */ |
23 You're still goin' strong |
23 You're still goin' strong |
24 I feel the room swayin' |
24 I feel the room swayin' |
25 While the band's playin' |
25 While the band's playin' |
26 One of our old favorite songs from way back when |
26 One of our old favorite songs from way back when |
27 So, take her wrap, fellas |
27 So, take her wrap, fellas |
28 Dolly, never go away again |
28 Dolly, never go away again |
29 Hello, Dolly |
29 Hello, Dolly |
30 Well, hello, Dolly |
30 Well, hello, Dolly |
31 It's so nice to have you back where you belong |
31 It's so nice to have you back where you belong |
32 You're lookin' swell, Dolly |
32 You're lookin' swell, Dolly |
33 I can tell, Dolly |
33 I can tell, Dolly |
40 Have a little faith in me, fellas |
40 Have a little faith in me, fellas |
41 Dolly, never go away |
41 Dolly, never go away |
42 Promise, you'll never go away |
42 Promise, you'll never go away |
43 Dolly'll never go away again"; |
43 Dolly'll never go away again"; |
44 |
44 |
45 // Here we split it into lines |
45 // Here we split it into lines. |
46 $lyrics = explode( "\n", $lyrics ); |
46 $lyrics = explode( "\n", $lyrics ); |
47 |
47 |
48 // And then randomly choose a line |
48 // And then randomly choose a line. |
49 return wptexturize( $lyrics[ mt_rand( 0, count( $lyrics ) - 1 ) ] ); |
49 return wptexturize( $lyrics[ mt_rand( 0, count( $lyrics ) - 1 ) ] ); |
50 } |
50 } |
51 |
51 |
52 // This just echoes the chosen line, we'll position it later |
52 // This just echoes the chosen line, we'll position it later. |
53 function hello_dolly() { |
53 function hello_dolly() { |
54 $chosen = hello_dolly_get_lyric(); |
54 $chosen = hello_dolly_get_lyric(); |
55 echo "<p id='dolly'>$chosen</p>"; |
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 ); |
56 } |
66 } |
57 |
67 |
58 // Now we set that function up to execute when the admin_notices action is called |
68 // Now we set that function up to execute when the admin_notices action is called. |
59 add_action( 'admin_notices', 'hello_dolly' ); |
69 add_action( 'admin_notices', 'hello_dolly' ); |
60 |
70 |
61 // We need some CSS to position the paragraph |
71 // We need some CSS to position the paragraph. |
62 function dolly_css() { |
72 function dolly_css() { |
63 // This makes sure that the positioning is also good for right-to-left languages |
|
64 $x = is_rtl() ? 'left' : 'right'; |
|
65 |
|
66 echo " |
73 echo " |
67 <style type='text/css'> |
74 <style type='text/css'> |
68 #dolly { |
75 #dolly { |
69 float: $x; |
76 float: right; |
70 padding-$x: 15px; |
77 padding: 5px 10px; |
71 padding-top: 5px; |
|
72 margin: 0; |
78 margin: 0; |
73 font-size: 11px; |
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 } |
74 } |
95 } |
75 </style> |
96 </style> |
76 "; |
97 "; |
77 } |
98 } |
78 |
99 |
79 add_action( 'admin_head', 'dolly_css' ); |
100 add_action( 'admin_head', 'dolly_css' ); |
80 |
|
81 ?> |
|