wp/wp-content/plugins/hello.php
changeset 9 177826044cd9
parent 7 cf61fcea0001
equal deleted inserted replaced
8:c7c34916027a 9:177826044cd9
     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 ?>