Changeset 144379
- Timestamp:
- 08/10/2009 12:52:41 PM (17 years ago)
- Location:
- wp-whos-online/trunk
- Files:
-
- 2 moved
-
wp-whos-online.js (moved) (moved from wp-whos-online/trunk/whos-online.js) (3 diffs)
-
wp-whos-online.php (moved) (moved from wp-whos-online/trunk/whos-online.php) (13 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wp-whos-online/trunk/wp-whos-online.js
r144355 r144379 3 3 * Update author "last online" timestamps 4 4 */ 5 function get Whosonline(){5 function getwpwhosonline(){ 6 6 toggleUpdates(); 7 var queryString = w hosonline.ajaxUrl +'?action=whosonline_ajax_update&load_time=' + whosonline.whosonlineLoadTime + '&frontpage=' +whosonline.isFirstFrontPage;7 var queryString = wpwhosonline.ajaxUrl +'?action=wpwhosonline_ajax_update&load_time=' + wpwhosonline.wpwhosonlineLoadTime + '&frontpage=' + wpwhosonline.isFirstFrontPage; 8 8 ajaxCheckAuthors = $.getJSON(queryString, function(response){ 9 9 if(typeof response.latestupdate != 'undefined') { 10 w hosonline.whosonlineLoadTime = response.latestupdate;10 wpwhosonline.wpwhosonlineLoadTime = response.latestupdate; 11 11 for(var i = 0; i < response.authors.length; i++) { 12 $('#w hosonline-'+response.authors[i].user_id).13 text( response.authors[i].w hosonline ).14 data('w hosonline_timestamp', response.authors[i].whosonline_unix);12 $('#wpwhosonline-'+response.authors[i].user_id). 13 text( response.authors[i].wpwhosonline ). 14 data('wpwhosonline_timestamp', response.authors[i].wpwhosonline_unix); 15 15 } 16 16 } … … 27 27 var ancient = 7200; // 2 hours 28 28 29 $('.widget_w hosonline span').each(function(){29 $('.widget_wpwhosonline span').each(function(){ 30 30 var $o = $(this); 31 31 var since, oclass; 32 32 33 var last = $o.data('w hosonline_timestamp');33 var last = $o.data('wpwhosonline_timestamp'); 34 34 if( typeof last == 'undefined' ) { 35 35 last = Date.parse($o.text()) / 1000; … … 51 51 52 52 function toggleUpdates() { 53 if (0 == w hosonline.getWhosonlineUpdate) {54 w hosonline.getWhosonlineUpdate = setInterval(getWhosonline, 30000);53 if (0 == wpwhosonline.getwpwhosonlineUpdate) { 54 wpwhosonline.getwpwhosonlineUpdate = setInterval(getwpwhosonline, 30000); 55 55 } 56 56 else { 57 clearInterval(w hosonline.getWhosonlineUpdate);58 w hosonline.getWhosonlineUpdate = '0';57 clearInterval(wpwhosonline.getwpwhosonlineUpdate); 58 wpwhosonline.getwpwhosonlineUpdate = '0'; 59 59 } 60 60 } -
wp-whos-online/trunk/wp-whos-online.php
r144355 r144379 10 10 */ 11 11 12 function w hosonline_init() {13 add_action( 'wp_head', 'w hosonline_pageoptions_js' );14 add_action( 'wp_head', 'w hosonline_css' );15 16 wp_enqueue_script('w hosonline', '/' . PLUGINDIR . '/whos-online/whos-online.js', array('jquery'));17 18 w hosonline_update();19 } 20 add_action('template_redirect', 'w hosonline_init');12 function wpwhosonline_init() { 13 add_action( 'wp_head', 'wpwhosonline_pageoptions_js' ); 14 add_action( 'wp_head', 'wpwhosonline_css' ); 15 16 wp_enqueue_script('wpwhosonline', '/' . PLUGINDIR . '/wp-whos-online/wp-whos-online.js', array('jquery')); 17 18 wpwhosonline_update(); 19 } 20 add_action('template_redirect', 'wpwhosonline_init'); 21 21 22 22 // our own ajax call 23 add_action( 'wp_ajax_w hosonline_ajax_update', 'whosonline_ajax_update' );23 add_action( 'wp_ajax_wpwhosonline_ajax_update', 'wpwhosonline_ajax_update' ); 24 24 25 25 // hook into p2 ajax calls, if they're there 26 add_action( 'wp_ajax_prologue_latest_posts', 'w hosonline_update' );27 add_action( 'wp_ajax_prologue_latest_comments', 'w hosonline_update' );26 add_action( 'wp_ajax_prologue_latest_posts', 'wpwhosonline_update' ); 27 add_action( 'wp_ajax_prologue_latest_comments', 'wpwhosonline_update' ); 28 28 29 29 /** 30 30 * Update a user's "last online" timestamp. 31 31 */ 32 function w hosonline_update() {32 function wpwhosonline_update() { 33 33 if( !is_user_logged_in() ) 34 34 return null; … … 36 36 global $user_ID; 37 37 38 update_usermeta( $user_ID, 'w hosonline_timestamp', time() );39 }//end w hosonline_update38 update_usermeta( $user_ID, 'wpwhosonline_timestamp', time() ); 39 }//end wpwhosonline_update 40 40 41 41 /** … … 43 43 * since the client's last update. 44 44 */ 45 function w hosonline_ajax_update() {45 function wpwhosonline_ajax_update() { 46 46 global $wpdb; 47 47 48 48 // update timestamp of user who is checking 49 w hosonline_update();49 wpwhosonline_update(); 50 50 51 51 $load_time = strtotime($_GET['load_time'] . ' GMT'); 52 $authors = $wpdb->get_results($wpdb->prepare("SELECT user_id, meta_value AS w hosonline FROM $wpdb->usermeta53 WHERE meta_key = 'w hosonline_timestamp' AND meta_value > %d", $load_time));52 $authors = $wpdb->get_results($wpdb->prepare("SELECT user_id, meta_value AS wpwhosonline FROM $wpdb->usermeta 53 WHERE meta_key = 'wpwhosonline_timestamp' AND meta_value > %d", $load_time)); 54 54 55 55 if( count($authors) == 0 ) { … … 59 59 $latest = 0; 60 60 foreach($authors as $author) { 61 if( $author->w hosonline > $latest )62 $latest = $author->w hosonline;63 64 $author->w hosonline_unix = (int)$author->whosonline;65 $author->w hosonline = strftime( '%d %b %Y %H:%M:%S %Z', $author->whosonline );61 if( $author->wpwhosonline > $latest ) 62 $latest = $author->wpwhosonline; 63 64 $author->wpwhosonline_unix = (int)$author->wpwhosonline; 65 $author->wpwhosonline = strftime( '%d %b %Y %H:%M:%S %Z', $author->wpwhosonline ); 66 66 } 67 67 … … 70 70 } 71 71 72 function w hosonline_css() {72 function wpwhosonline_css() { 73 73 ?><style type="text/css"> 74 .widget_w hosonline .active { font-weight: bold; color: green; }75 .widget_w hosonline .recent { }76 .widget_w hosonline .ancient { font-style: italic; color: red; }77 .widget_w hosonline ul li { float: none; width: auto; height: 33px; }78 .widget_w hosonline h2 {}79 .widget_w hosonline ul li strong {}80 .widget_w hosonline ul li img.avatar { float: left; margin-right: 1ex; }74 .widget_wpwhosonline .active { font-weight: bold; color: green; } 75 .widget_wpwhosonline .recent { } 76 .widget_wpwhosonline .ancient { font-style: italic; color: red; } 77 .widget_wpwhosonline ul li { float: none; width: auto; height: 33px; } 78 .widget_wpwhosonline h2 {} 79 .widget_wpwhosonline ul li strong {} 80 .widget_wpwhosonline ul li img.avatar { float: left; margin-right: 1ex; } 81 81 /* kubrick style follows */ 82 #sidebar ul li.widget_w hosonline ul li:before { content: none; }82 #sidebar ul li.widget_wpwhosonline ul li:before { content: none; } 83 83 </style><?php 84 84 } 85 85 86 function w hosonline_pageoptions_js() {86 function wpwhosonline_pageoptions_js() { 87 87 global $page_options; 88 88 ?><script type='text/javascript'> 89 89 // <![CDATA[ 90 var w hosonline = {90 var wpwhosonline = { 91 91 'ajaxUrl': "<?php echo js_escape( get_bloginfo( 'wpurl' ) . '/wp-admin/admin-ajax.php' ); ?>", 92 'w hosonlineLoadTime': "<?php echo gmdate( 'Y-m-d H:i:s' ); ?>",93 'get WhosonlineUpdate': '0',92 'wpwhosonlineLoadTime': "<?php echo gmdate( 'Y-m-d H:i:s' ); ?>", 93 'getwpwhosonlineUpdate': '0', 94 94 'isFirstFrontPage': "<?php echo is_home(); ?>" 95 95 }; … … 99 99 100 100 /** 101 * Custom version of wp_list_authors() for the w hos-online plugin.101 * Custom version of wp_list_authors() for the wp-whos-online plugin. 102 102 * 103 103 * optioncount (boolean) (false): Show the count in parenthesis next to the … … 115 115 * @return null|string The output, if echo is set to false. 116 116 */ 117 function w hosonline_list_authors($args = '') {117 function wpwhosonline_list_authors($args = '') { 118 118 global $wpdb; 119 119 … … 122 122 'show_fullname' => false, 'hide_empty' => true, 123 123 'feed' => '', 'feed_image' => '', 'feed_type' => '', 'echo' => true, 124 'avatar_size' => 0, 'w hosonline' => 0124 'avatar_size' => 0, 'wpwhosonline' => 0 125 125 ); 126 126 … … 189 189 } 190 190 191 if ( $w hosonline ) {192 $w hosonline_time = get_usermeta( $author->ID, 'whosonline_timestamp' );193 if( $w hosonline_time ) {194 $w hosonline_time = strftime( '%d %b %Y %H:%M:%S %Z', $whosonline_time );191 if ( $wpwhosonline ) { 192 $wpwhosonline_time = get_usermeta( $author->ID, 'wpwhosonline_timestamp' ); 193 if( $wpwhosonline_time ) { 194 $wpwhosonline_time = strftime( '%d %b %Y %H:%M:%S %Z', $wpwhosonline_time ); 195 195 } else { 196 $w hosonline_time = '';196 $wpwhosonline_time = ''; 197 197 } 198 $link .= '<br /><span id="w hosonline-' . $author->ID . '" title="Last online timestamp">' . $whosonline_time . '</span>';198 $link .= '<br /><span id="wpwhosonline-' . $author->ID . '" title="Last online timestamp">' . $wpwhosonline_time . '</span>'; 199 199 } 200 200 … … 207 207 } 208 208 209 function widget_w hosonline_init() {209 function widget_wpwhosonline_init() { 210 210 211 211 // Check for the required plugin functions. This will prevent fatal … … 215 215 216 216 // This is the function that outputs the Authors code. 217 function widget_w hosonline($args) {217 function widget_wpwhosonline($args) { 218 218 extract($args); 219 219 … … 221 221 ?> 222 222 <ul> 223 <?php w hosonline_list_authors('optioncount=1&exclude_admin=0&show_fullname=1&hide_empty=0&avatar_size=32&whosonline=1'); ?>223 <?php wpwhosonline_list_authors('optioncount=1&exclude_admin=0&show_fullname=1&hide_empty=0&avatar_size=32&wpwhosonline=1'); ?> 224 224 </ul> 225 225 <?php … … 229 229 // This registers our widget so it appears with the other available 230 230 // widgets and can be dragged and dropped into any active sidebars. 231 register_sidebar_widget('Who\'s Online', 'widget_w hosonline');231 register_sidebar_widget('Who\'s Online', 'widget_wpwhosonline'); 232 232 } 233 233 234 234 // Run our code later in case this loads prior to any required plugins. 235 add_action('plugins_loaded', 'widget_w hosonline_init');235 add_action('plugins_loaded', 'widget_wpwhosonline_init');
Note: See TracChangeset
for help on using the changeset viewer.