Guest Posted June 3, 2006 Share Posted June 3, 2006 (edited) Hi, I'm having a problem with my "Who's Online" module. Every time I hit Refresh, it takes it a long time to refresh and instead of the report I'm getting a Fatal error message: What can be a problem here? Any help would be greatly appreciated. Thanks in advance, Irina. Irina, Where are you storing your sessions? And what version of WOE are you using? ed Edited June 3, 2006 by medvid Quote Link to comment Share on other sites More sharing options...
Irin Posted June 3, 2006 Share Posted June 3, 2006 Irina, Where are you storing your sessions? And what version of WOE are you using? ed My sessions are set to be stored in mysql and I'm using 1.9 version of WOE. I saw there is an updated 2.0 version of the contribution already. What changed in a new release? Thanks. Quote Link to comment Share on other sites More sharing options...
Guest Posted June 3, 2006 Share Posted June 3, 2006 Hi coopco,hi there. I thinks i know what happend already. This is because i not add the related to to the general.php .... btw, thanks you very much @@~ And how u know i install more than 1 contribution :P I saw your posts in other support threads. Quote Link to comment Share on other sites More sharing options...
mark27uk3 Posted June 5, 2006 Share Posted June 5, 2006 Hi Guys, I have just installed this great contrib on my development store and I am having the same problem as people a few pages back and as far as I can see it is still unresolved. The problem is that shopping cart contents are not showing when view who's online. I am storing sessions in the database not files. Any ideas please? Thanks Mark Quote Lifes a bitch, then you marry one, then you die! Link to comment Share on other sites More sharing options...
matrix2223 Posted June 5, 2006 Share Posted June 5, 2006 medvid, I just wanted to say thanks for a great contrib. I have it installed and Zero errors. This contrib lets you see all kinds of info. Also for people who use this I also recomend the visitors, and user tracking with admin. These 3 well tell you everything you need to know and then some about how your store is doing and what you need to do as an owner. Thank you, Quote Link to comment Share on other sites More sharing options...
Guest Posted June 6, 2006 Share Posted June 6, 2006 Hi Guys, I have just installed this great contrib on my development store and I am having the same problem as people a few pages back and as far as I can see it is still unresolved. The problem is that shopping cart contents are not showing when view who's online. I am storing sessions in the database not files. Any ideas please? Thanks Mark Mark, Do you have sessions set to mysql in BOTH catalog/includes/configure.php AND admin/includes/configure.php? ed Quote Link to comment Share on other sites More sharing options...
Guest Posted June 6, 2006 Share Posted June 6, 2006 medvid, I just wanted to say thanks for a great contrib. I have it installed and Zero errors. This contrib lets you see all kinds of info. Also for people who use this I also recomend the visitors, and user tracking with admin. These 3 well tell you everything you need to know and then some about how your store is doing and what you need to do as an owner. Thank you, Eric, Thank you. Kudos go to the many people who have added to the contrib code and to helping on the forum. ed Quote Link to comment Share on other sites More sharing options...
Irin Posted June 6, 2006 Share Posted June 6, 2006 (edited) My sessions are set to be stored in mysql and I'm using 1.9 version of WOE. I saw there is an updated 2.0 version of the contribution already. What changed in a new release? Thanks. Does anybody have any ideas on what might be wrong with my WOE module? Please..., I really need your help. Thanks. Edited June 6, 2006 by Irin Quote Link to comment Share on other sites More sharing options...
mark27uk3 Posted June 6, 2006 Share Posted June 6, 2006 Mark,Do you have sessions set to mysql in BOTH catalog/includes/configure.php AND admin/includes/configure.php? ed Hi Ed, Yes I have both configure files set to use mysql for the sessions. Any further ideas? Thanks Mark Quote Lifes a bitch, then you marry one, then you die! Link to comment Share on other sites More sharing options...
warrenerjm Posted June 6, 2006 Share Posted June 6, 2006 Hi I have installed the 2.0 version by azer 14/2/06 & do not appear to have any problems (I think) I do not quite understand how it all works though, as the figures on the bottom don't match up. I could have one customer & it shows up twice so I get 1 cust, 2 duplicate ip's = -1 real cust :blink: My admin IP is the third different one I have? Down for Maintenance has another & other sites see me as another again? Probably basic computer stuff but I thought 1 computer=1 IP address? Bots show as a bots with session light, but the table says No under the session column. Some bots are showing as guests but the address show them as search engine or is that right? I think I have a great tool here, which has installed great, but I am not using it to it's full ability, as I do not know what I could do with it. Please could someone explain the "How to use Who's online Enhancement 2.0"? Sorry for being so backward :blush: & thank you for your help. :thumbsup: Julie Quote Link to comment Share on other sites More sharing options...
aodfan Posted June 7, 2006 Share Posted June 7, 2006 I updated my version of Whos Online and I get this error: Fatal error: Call to undefined function: get_products() in /hsphere/local/home2/aodfan/alteredmotorsports.com/admin/whos_online.php on line 114 I have not modified this file at all, just dropped it in from the contribution, anyone know what the problem would be? This is the code withine the file: <?php/* $Id: whos_online.php,v 2.00 2006/02/14 15:48:55 harley_vb Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License*/ require('includes/application_top.php'); require(DIR_WS_CLASSES . 'currencies.php'); $currencies = new currencies(); /* Configuration Values Set these to easily personalize your Whos Online*/ // Seconds that a visitor is considered "active" $active_time = 300;// Seconds before visitor is removed from display $track_time = 900; // Automatic refresh times in seconds and display names// Time and Display Text order must match between the arrays// "None" is handled separately in the code $refresh_time = array( 30, 60, 120, 300, 600 ); $refresh_display = array( '0:30', '1:00', '2:00', '5:00', '10:00' ); // Images used for status lights $status_active_cart = 'icon_status_green.gif'; $status_inactive_cart = 'icon_status_red.gif'; $status_active_nocart = 'icon_status_green_light.gif'; $status_inactive_nocart = 'icon_status_red_light.gif'; $status_active_bot = 'icon_status_green_border_light.gif'; $status_inactive_bot = 'icon_status_red_border_light.gif'; // Text color used for table entries - different colored text for different users// Named colors and Hex values should work fine here $fg_color_bot = 'maroon'; $fg_color_admin = 'darkblue'; $fg_color_guest = 'green'; $fg_color_account = 'blue'; // '#000000'; // Black //Determines status and cart of visitor and displays appropriate icon.function tep_check_cart($which, $customer_id, $session_id) { global $cart, $status_active_cart, $status_inactive_cart, $status_active_nocart, $status_inactive_nocart, $status_inactive_bot, $status_active_bot, $active_time; // Pull Session data from the correct source. if (STORE_SESSIONS == 'mysql') { $session_data = tep_db_query("select value from " . TABLE_SESSIONS . " WHERE sesskey = '" . $session_id . "'"); $session_data = tep_db_fetch_array($session_data); $session_data = trim($session_data['value']); } else { if ( (file_exists(tep_session_save_path() . '/sess_' . $session_id)) && (filesize(tep_session_save_path() . '/sess_' . $session_id) > 0) ) { $session_data = file(tep_session_save_path() . '/sess_' . $session_id); $session_data = trim(implode('', $session_data)); } } if ($length = strlen($session_data)) { if (PHP_VERSION < 4) { $start_id = strpos($session_data, 'customer_id[==]s'); $start_cart = strpos($session_data, 'cart[==]o'); $start_currency = strpos($session_data, 'currency[==]s'); $start_country = strpos($session_data, 'customer_country_id[==]s'); $start_zone = strpos($session_data, 'customer_zone_id[==]s'); } else { $start_id = strpos($session_data, 'customer_id|s'); $start_cart = strpos($session_data, 'cart|O'); $start_currency = strpos($session_data, 'currency|s'); $start_country = strpos($session_data, 'customer_country_id|s'); $start_zone = strpos($session_data, 'customer_zone_id|s'); } for ($i=$start_cart; $i<$length; $i++) { if ($session_data[$i] == '{') { if (isset($tag)) { $tag++; } else { $tag = 1; } } elseif ($session_data[$i] == '}') { $tag--; } elseif ( (isset($tag)) && ($tag < 1) ) { break; } } $session_data_id = substr($session_data, $start_id, (strpos($session_data, ';', $start_id) - $start_id + 1)); $session_data_cart = substr($session_data, $start_cart, $i); $session_data_currency = substr($session_data, $start_currency, (strpos($session_data, ';', $start_currency) - $start_currency + 1)); $session_data_country = substr($session_data, $start_country, (strpos($session_data, ';', $start_country) - $start_country + 1)); $session_data_zone = substr($session_data, $start_zone, (strpos($session_data, ';', $start_zone) - $start_zone + 1)); session_decode($session_data_id); session_decode($session_data_currency); session_decode($session_data_country); session_decode($session_data_zone); session_decode($session_data_cart); if (PHP_VERSION < 4) { $broken_cart = $cart; $cart = new shoppingCart; $cart->unserialize($broken_cart); } if (is_object($cart)) { $products = $cart->get_products(); <-----------------------LINE 114 } } $which_query = $session_data; $who_data = tep_db_query("select time_entry, time_last_click from " . TABLE_WHOS_ONLINE . " where session_id='" . $session_id . "'"); $who_query = tep_db_fetch_array($who_data); // Determine if visitor active/inactive $xx_mins_ago_long = (time() - $active_time); // Determine Bot active/inactive if( $customer_id < 0 ) { // inactive if ($who_query['time_last_click'] < $xx_mins_ago_long) { return tep_image(DIR_WS_IMAGES . $status_inactive_bot, TEXT_STATUS_INACTIVE_BOT); // active } else { return tep_image(DIR_WS_IMAGES . $status_active_bot, TEXT_STATUS_ACTIVE_BOT); } } // Determine active/inactive and cart/no cart status // no cart if ( sizeof($products) == 0 ) { // inactive if ($who_query['time_last_click'] < $xx_mins_ago_long) { return tep_image(DIR_WS_IMAGES . $status_inactive_nocart, TEXT_STATUS_INACTIVE_NOCART); // active } else { return tep_image(DIR_WS_IMAGES . $status_active_nocart, TEXT_STATUS_ACTIVE_NOCART); } // cart } else { // inactive if ($who_query['time_last_click'] < $xx_mins_ago_long) { return tep_image(DIR_WS_IMAGES . $status_inactive_cart, TEXT_STATUS_INACTIVE_CART); // active } else { return tep_image(DIR_WS_IMAGES . $status_active_cart, TEXT_STATUS_ACTIVE_CART); } }} /* Display the details about a visitor */function display_details() { global $whos_online, $is_bot, $is_admin, $is_guest, $is_account; // Display Name echo '<b>' . TABLE_HEADING_FULL_NAME . ':</b> ' . $whos_online['full_name']; echo '<br clear="all">' . tep_draw_separator('pixel_trans.gif', '10', '4') . '<br clear="all">'; // Display Customer ID for non-bots if ( !$is_bot ){ echo '<b>' . TABLE_HEADING_CUSTOMER_ID . ':</b> ' . $whos_online['customer_id']; echo '<br clear="all">' . tep_draw_separator('pixel_trans.gif', '10', '4') . '<br clear="all">'; } // original code of 2.8 : echo '<b>' . TABLE_HEADING_IP_ADDRESS . ':</b> ' . $whos_online['ip_address']; // commenter for whois by azer v1.9 // Display IP Address modified by azer for 1.9, to be tested if it doesnt work comment the ligne using variable and uncomment the whois url hardcoded ligne// whois url hardcoded : echo '<b>' . TABLE_HEADING_IP_ADDRESS . ':</b> ' . "<a href='http://www.dnsstuff.com/tools/whois.ch?ip=$whos_online[ip_address]' target='_new'>" . $whos_online['ip_address'] . "</a>";// whois url with variable added in admin : echo '<b>' . TABLE_HEADING_IP_ADDRESS . ':</b> ' . "<a href='" . AZER_WHOSONLINE_WHOIS_URL . $whos_online['ip_address'] . "' target='_new'>" . $whos_online['ip_address'] . "</a>"; echo '<br clear="all">' . tep_draw_separator('pixel_trans.gif', '10', '4') . '<br clear="all">'; // Display User Agent echo '<b>' . TEXT_USER_AGENT . ':</b> ' . $whos_online['user_agent']; echo '<br clear="all">' . tep_draw_separator('pixel_trans.gif', '10', '4') . '<br clear="all">'; // Display Session ID. Bots with no Session ID, have it set to their IP address. Don't display these. if ( $whos_online['session_id'] != $whos_online['ip_address'] ) { echo '<b>' . TEXT_OSCID . ':</b> ' . $whos_online['session_id']; echo '<br clear="all">' . tep_draw_separator('pixel_trans.gif', '10', '4') . '<br clear="all">'; } // Display Referer if available if($whos_online['http_referer'] != "" ) { echo '<b>' . TABLE_HEADING_HTTP_REFERER . ':</b> ' . $whos_online['http_referer']; echo '<br clear="all">' . tep_draw_separator('pixel_trans.gif', '10', '4') . '<br clear="all">'; }} // Time to remove old entries $xx_mins_ago = (time() - $track_time); // remove entries that have expired tep_db_query("delete from " . TABLE_WHOS_ONLINE . " where time_last_click < '" . $xx_mins_ago . "'");?><!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"><html <?php echo HTML_PARAMS; ?>><head><meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <!-- WOL 1.6 - Cleaned up refresh --><?php if( $_SERVER["QUERY_STRING"] > 0 ){ ?> <meta http-equiv="refresh" content="<?php echo $_SERVER["QUERY_STRING"];?>;URL=whos_online.php?<?php echo $_SERVER["QUERY_STRING"];?>"><?php } ?><!-- WOL 1.6 EOF --> <title><?php echo TITLE; ?></title><link rel="stylesheet" type="text/css" href="includes/stylesheet.css"><script language="javascript" src="includes/general.js"></script></head><body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF"><!-- header //--><?php require(DIR_WS_INCLUDES . 'header.php'); ?><!-- header_eof //--> <!-- body //--><table border="0" width="100%" cellspacing="2" cellpadding="2"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft"><!-- left_navigation //--><?php require(DIR_WS_INCLUDES . 'column_left.php'); ?><!-- left_navigation_eof //--> </table></td><!-- body_text //--> <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td valign="bottom" class="pageHeading"> <?php echo HEADING_TITLE; ?> <br clear="all"><br><span class="smallText" style="color:#909090"><? echo TEXT_SET_REFRESH_RATE; ?>: </span> <span style="font-size: 10px; color:#0000CC"> <!-- For loop displays refresh time links --> <?php echo '<a class="menuBoxContentLink" href="whos_online.php"><b> ' . TEXT_NONE_ . ' </b></a>'; foreach ($refresh_time as $key => $value) { echo ' ? <a class="menuBoxContentLink" href="whos_online.php?' . $value . '"><b>' . $refresh_display[$key] . '</b></a>'; } ?> </span> <!-- Display Profile links --> <br clear="all"> <span class="smallText" style="color:#909090"><?php echo TEXT_PROFILE_DISPLAY; ?>: <span style="font-size: 10px; color:#0000CC"> <a href="whos_online.php" class="menuBoxContentLink"><b><?php echo TEXT_NONE_; ?></b></a> ? <a href="whos_online.php?showAll" class="menuBoxContentLink"><b><? echo TEXT_ALL; ?></b></a> ? <a href="whos_online.php?showBots" class="menuBoxContentLink"><b><? echo TEXT_BOTS; ?></b></a> ? <a href="whos_online.php?showCust" class="menuBoxContentLink"><b><? echo TEXT_CUSTOMERS; ?></b></a> </span></span> </td> <!-- Status Legend - Uses variables for image names --> <td align="right" class="smallText" valign="bottom"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="smallText"><?php echo tep_image(DIR_WS_IMAGES . $status_active_cart, TEXT_STATUS_ACTIVE_CART) . ' ' . TEXT_STATUS_ACTIVE_CART . ' '; ?></td> <td class="smallText"><?php echo tep_image(DIR_WS_IMAGES . $status_inactive_cart, TEXT_STATUS_INACTIVE_CART) . ' ' . TEXT_STATUS_INACTIVE_CART . ' '; ?></td> </tr> <tr> <td class="smallText"><?php echo tep_image(DIR_WS_IMAGES . $status_active_nocart, TEXT_STATUS_ACTIVE_NOCART) . ' ' . TEXT_STATUS_ACTIVE_NOCART .' '; ?></td> <td class="smallText"><?php echo tep_image(DIR_WS_IMAGES . $status_inactive_nocart, TEXT_STATUS_INACTIVE_NOCART) . ' ' . TEXT_STATUS_INACTIVE_NOCART . ' '; ?></td> </tr> <tr> <td class="smallText"><?php echo tep_image(DIR_WS_IMAGES . $status_active_bot, TEXT_STATUS_ACTIVE_BOT) . ' ' . TEXT_STATUS_ACTIVE_BOT . ' '; ?></td> <td class="smallText"><?php echo tep_image(DIR_WS_IMAGES . $status_inactive_bot, TEXT_STATUS_INACTIVE_BOT) . ' ' . TEXT_STATUS_INACTIVE_BOT . ' '; ?></td> </tr> </table> </td> </tr> </table></td> </tr> <tr> <td class="pageHeading" align="center"><script language="JavaScript"><!-- BeginStamp = new Date();document.write('<font size="2" face="Arial" color="blue"><?php echo TEXT_LAST_REFRESH. ' '; ?>');var Hours;var Mins;var Time;Hours = Stamp.getHours();if (Hours >= 12) {Time = " p.m.";}else {Time = " a.m.";}if (Hours > 12) {Hours -= 12;}if (Hours == 0) {Hours = 12;}Mins = Stamp.getMinutes();if (Mins < 10) {Mins = "0" + Mins;}document.write(' ' + Hours + ":" + Mins + Time + '</font>');// End --></script></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr class="dataTableHeadingRow"> <td class="dataTableHeadingContent" colspan="2" nowrap align="center"><?php echo TABLE_HEADING_ONLINE; ?></td> <td class="dataTableHeadingContent" nowrap><?php echo TABLE_HEADING_FULL_NAME; ?></td> <td class="dataTableHeadingContent" nowrap><?php echo TABLE_HEADING_IP_ADDRESS; ?></td> <td class="dataTableHeadingContent" nowrap><?php echo TABLE_HEADING_ENTRY_TIME; ?></td> <td class="dataTableHeadingContent" nowrap><?php echo TABLE_HEADING_LAST_CLICK; ?></td> <td class="dataTableHeadingContent" width="200"><?php echo TABLE_HEADING_LAST_PAGE_URL; ?> </td> <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_USER_SESSION; ?> </td> <td class="dataTableHeadingContent" align="center" nowrap><?php echo TABLE_HEADING_HTTP_REFERER; ?> </td> </tr> <?php // Order by is on Last Click. Also initialize total_bots and total_admin counts $whos_online_query = tep_db_query("select customer_id, full_name, ip_address, time_entry, time_last_click, last_page_url, http_referer, user_agent, session_id from " . TABLE_WHOS_ONLINE . ' order by time_last_click DESC'); $total_bots=0; $total_admin=0; $total_guests=0; $total_loggedon=0; while ($whos_online = tep_db_fetch_array($whos_online_query)) { $time_online = ($whos_online['time_last_click'] - $whos_online['time_entry']); if ((!isset($HTTP_GET_VARS['info']) || (isset($HTTP_GET_VARS['info']) && ($HTTP_GET_VARS['info'] == $whos_online['session_id']))) && !isset($info)) { $info = $whos_online['session_id']; } /* BEGIN COUNT MOD */ if ($old_array['ip_address'] == $whos_online['ip_address']) { $i++; }/* END COUNT MOD */ if ($whos_online['session_id'] == $info) { if($whos_online['http_referer'] != "") { $http_referer_url = $whos_online['http_referer']; } echo '<tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)">' . "\n"; } else { echo '<tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_WHOS_ONLINE, tep_get_all_get_params(array('info', 'action')) . 'info=' . $whos_online['session_id'], 'NONSSL') . '\'">' . "\n"; } // Display Status // Check who it is and set values $is_bot = $is_admin = $is_guest = $is_account = false; // Bot detection if ($whos_online['customer_id'] < 0) { $total_bots++; $fg_color = $fg_color_bot; $is_bot = true; // Admin detection } elseif ($whos_online['ip_address'] == tep_get_ip_address() ) { //$_SERVER["REMOTE_ADDR"]) { $total_admin++; $fg_color = $fg_color_admin; $is_admin = true; // Guest detection (may include Bots not detected by Prevent Spider Sessions/spiders.txt) } elseif ($whos_online['customer_id'] == 0) { $fg_color = $fg_color_guest; $is_guest = true; $total_guests++; // Everyone else (should only be account holders) } else { $fg_color = $fg_color_account; $is_account = true; $total_loggedon++; }?> <!-- Status Light Column --> <td class="dataTableContent" align="left" valign="top"> <?php echo ' ' . tep_check_cart($whos_online['session_id'], $whos_online['customer_id'], $whos_online['session_id']); ?> </td> <!-- Time Online Column --> <td class="dataTableContent" valign="top"><font color="<?php echo $fg_color; ?>"> <?php echo gmdate('H:i:s', $time_online); ?> </font> </td> <!-- Name Column --> <td class="dataTableContent" valign="top"><font color="<?php echo $fg_color; ?>"> <?php // WOL 1.6 Restructured to Check for Guest or Admin if ( $is_guest || $is_admin ) { echo $whos_online['full_name'] . ' '; // Check for Bot } elseif ( $is_bot ) { // Tokenize UserAgent and try to find Bots name $tok = strtok($whos_online['full_name']," ();/"); while ($tok) { if ( strlen($tok) > 3 ) if ( !strstr($tok, "mozilla") && !strstr($tok, "compatible") && !strstr($tok, "msie") && !strstr($tok, "windows") ) { echo "$tok"; break; } $tok = strtok(" ();/"); } // Check for Account } elseif ( $is_account ) { // echo '<a HREF="customers.php?selected_box=customers&cID=' . $whos_online['customer_id'] . '&action=edit">' . $whos_online['full_name'] . '</a>'; ?> <a HREF="<?php echo ('customers.php?selected_box=customers&cID=' . $whos_online['customer_id'] . '&action=edit"');?>"> <font color="<?php echo $fg_color; ?>"> <?php echo $whos_online['full_name'];?> </font></a> <?php } else { echo TEXT_ERROR; } ?> </font> </td> <!-- IP Address Column --> <td class="dataTableContent" valign="top"> <?php // Show 'Admin' instead of IP for Admin if ( $is_admin ) echo TEXT_ADMIN; else { // Show IP with link to IP checker // echo '<a HREF="http://www.showmyip.com/?ip=' . $whos_online['ip_address'] . '" target="_blank"> ?> <a HREF="<?php echo ('http://www.showmyip.com/?ip=' . $whos_online['ip_address']);?>" target="_blank"><font color="<?php echo $fg_color; ?>"> <?php echo $whos_online['ip_address']; } ?> </font></a> </td> <!-- Time Entry Column --> <td class="dataTableContent" valign="top"><font color="<?php echo $fg_color; ?>"> <?php echo date('H:i:s', $whos_online['time_entry']); ?> </font></td> <!-- Last Click Column --> <td class="dataTableContent" align="center" valign="top"><font color="<?php echo $fg_color; ?>"> <?php echo date('H:i:s', $whos_online['time_last_click']); ?> </font> </td> <!-- Last URL Column --> <td class="dataTableContent" valign="top"> <?php $temp_url_link = $whos_online['last_page_url']; if (eregi('^(.*)' . tep_session_name() . '=[a-f,0-9]+[&]*(.*)', $whos_online['last_page_url'], $array)) { $temp_url_display = $array[1] . $array[2]; } else { $temp_url_display = $whos_online['last_page_url']; } // WOL 1.6 - Removes osCid from the Last Click URL and the link if ( $osCsid_position = strpos($temp_url_display, "osCsid") ) $temp_url_display = substr_replace($temp_url_display, "", $osCsid_position - 1 ); if ( $osCsid_position = strpos($temp_url_link, "osCsid") ) $temp_url_link = substr_replace($temp_url_link, "", $osCsid_position - 1 ); // alteration for last url product name eof if (strpos($temp_url_link,'product_info.php')) { $temp=str_replace('product_info.php','',$temp_url_link); $temp=str_replace('/?','',$temp); $temp=str_replace('?','',$temp); $parameters=split("&",$temp); $i=0; while($i < count($parameters)) { $a=split("=",$parameters[$i]); if ($a[0]="products_id") { $products_id=$a[1]; } $i++; } $product_query=tep_db_query("select products_name from products_description where products_id='" . $products_id . "' and language_id = '" . $languages_id . "'"); $product = tep_db_fetch_array($product_query); $display_link = $product['products_name'].' <I>(Product)</I>'; }elseif (strpos($temp_url_link,'?cPath=')) { $temp=str_replace('index.php?','',$temp_url_link); $temp=str_replace('?','',$temp); $temp=str_replace('/','',$temp); $parameters=split("&",$temp); $i=0; while($i < count($parameters)) { $a=split("=",$parameters[$i]); if ($a[0]=="cPath") { $cat=$a[1]; } $i++; } $parameters=split("_",$cat); //$cat_list=''; $i=0; while($i < count($parameters)) { $category_query=tep_db_query("select categories_name from categories_description where categories_id='" . $parameters[$i] . "' and language_id = '" . $languages_id . "'"); $category = tep_db_fetch_array($category_query); if ($i>0) { $cat_list.=' / '.$category['categories_name']; } else { $cat_list=$category['categories_name']; } $i++; } $display_link = $cat_list.' <I>(Category)</I>'; } else { $display_link = $temp_url_display; } // alteration for last url product name eof ?> <a HREF="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . $temp_url_link; ?>" target=\"_blank\"> <font color="<?php echo $fg_color; ?>"> <?php // echo $temp_url_display; echo $display_link; // alteration for last url product name ?> </font> </a> </td> <!-- osCsid? Column --> <td class="dataTableContent" align="center" valign="top"><font color="<?php echo $fg_color; ?>"> <?php if($whos_online['session_id'] != $whos_online['ip_address']) { echo TEXT_IN_SESSION; } else { echo TEXT_NO_SESSION; } ?> </font></td> <!-- Referer? Column --> <td class="dataTableContent" align="center" valign="top"><font color="<?php echo $fg_color; ?>"> <?php if($whos_online['http_referer'] == "") { echo TEXT_HTTP_REFERER_NOT_FOUND; } else { echo TEXT_HTTP_REFERER_FOUND; } ?> </font></td> </tr> <tr class="dataTableRow"> <td class="dataTableContent" colspan="3"></td> <td class="dataTableContent" colspan="6"><font color="<?php echo $fg_color; ?>"> <?php // Display Details for All if ( $_SERVER["QUERY_STRING"] == showAll ) { display_details(); } // Display Details for Bots else if( $_SERVER["QUERY_STRING"] == showBots ){ if ( $is_bot ) { display_details(); } } // Display Details for Customers & Quote Link to comment Share on other sites More sharing options...
Guest Posted June 9, 2006 Share Posted June 9, 2006 Hi I have installed the 2.0 version by azer 14/2/06 & do not appear to have any problems (I think) I do not quite understand how it all works though, as the figures on the bottom don't match up. I could have one customer & it shows up twice so I get 1 cust, 2 duplicate ip's = -1 real cust :blink: My admin IP is the third different one I have? Down for Maintenance has another & other sites see me as another again? Probably basic computer stuff but I thought 1 computer=1 IP address? Bots show as a bots with session light, but the table says No under the session column. Some bots are showing as guests but the address show them as search engine or is that right? I think I have a great tool here, which has installed great, but I am not using it to it's full ability, as I do not know what I could do with it. Please could someone explain the "How to use Who's online Enhancement 2.0"? Sorry for being so backward :blush: & thank you for your help. :thumbsup: Julie Julie, The customer counting code doesn't work quite right. WOE 1.3 sorted visitor's by IP address and the counters were written to take advantage of that. In 1.4, I changed the sort to be time based. That messed up the counting and isn't hasn't been fixed yet. On a side note, 1 computer doesn't have to equal 1 customer if 2 people on 2 computers are both behind the same firewall. Often the IP address is the firewall, not the individual computer's IP address. A session is generated to store the customer's info like their login and cart. Bots should not have session or they will fill their search engines with session ids for your site which is bad. Bots may show up as guests if your osCommerce install doesn't recognize them as bots. Install the spiders.txt contribution to have the latest and greatest bot name list, and keep it up to date. Using WOE is easy and addictive. The main idea is to watch it occasionally to get a feel for how visitors (bots and people) traverse your site. On one site I know, customers browse for multiple minutes and then leave, rarely buying. On another site, they come in and either buy the item they searched for or leave immediately. This has helped suggest ways to implement advertising, info on the site, etc. Good luck, ed Quote Link to comment Share on other sites More sharing options...
Guest Posted June 9, 2006 Share Posted June 9, 2006 I updated my version of Whos Online and I get this error:Fatal error: Call to undefined function: get_products() in /hsphere/local/home2/aodfan/alteredmotorsports.com/admin/whos_online.php on line 114 I have not modified this file at all, just dropped it in from the contribution, anyone know what the problem would be? This is the code withine the file: Where do you store your sessions (catalog AND admin)? What settings do you have in admin under Configuration->Sessions? Is the function get_products() in admin/includes/classes/shopping_cart.php? ed Quote Link to comment Share on other sites More sharing options...
warrenerjm Posted June 9, 2006 Share Posted June 9, 2006 Julie,The customer counting code doesn't work quite right. WOE 1.3 sorted visitor's by IP address and the counters were written to take advantage of that. In 1.4, I changed the sort to be time based. That messed up the counting and isn't hasn't been fixed yet. On a side note, 1 computer doesn't have to equal 1 customer if 2 people on 2 computers are both behind the same firewall. Often the IP address is the firewall, not the individual computer's IP address. A session is generated to store the customer's info like their login and cart. Bots should not have session or they will fill their search engines with session ids for your site which is bad. Bots may show up as guests if your osCommerce install doesn't recognize them as bots. Install the spiders.txt contribution to have the latest and greatest bot name list, and keep it up to date. Using WOE is easy and addictive. The main idea is to watch it occasionally to get a feel for how visitors (bots and people) traverse your site. On one site I know, customers browse for multiple minutes and then leave, rarely buying. On another site, they come in and either buy the item they searched for or leave immediately. This has helped suggest ways to implement advertising, info on the site, etc. Good luck, ed Thanks Ed How is this install recognising my IP address because it is different to the one Down for maintenance recognises? :blink: Which bit should I look at for the sessions on bots? The lights say bot with session, but the column says no. When I look at "all" the bot does not have an oscsid number. So does that mean it is OK. I do have the spiders.txt & keep it up to date, but it is still showing some as guests. When I click on the IP address it either comes up with ! which i presume is a proper customer, or takes me so a new window with the bot/search engine details. This is showing guest too. I do not have a robots.txt yet as what should be in it varies greatly & I'm a little confused. I have asked on another thread but haven't come to a conclusion yet. I should do that too. :blush: Thanks for your help. I absorb all the advise I can get. Julie Quote Link to comment Share on other sites More sharing options...
Guest Posted June 10, 2006 Share Posted June 10, 2006 Thanks Ed How is this install recognising my IP address because it is different to the one Down for maintenance recognises? :blink: Which bit should I look at for the sessions on bots? The lights say bot with session, but the column says no. When I look at "all" the bot does not have an oscsid number. So does that mean it is OK. I do have the spiders.txt & keep it up to date, but it is still showing some as guests. When I click on the IP address it either comes up with ! which i presume is a proper customer, or takes me so a new window with the bot/search engine details. This is showing guest too. I do not have a robots.txt yet as what should be in it varies greatly & I'm a little confused. I have asked on another thread but haven't come to a conclusion yet. I should do that too. :blush: Thanks for your help. I absorb all the advise I can get. Julie Julie, WOE makes a standard HTTP check for the IP address. I don't know how the Down for Maintenance does it. The alternate text for the lights incorrectly says "with sessions". If the Details view is correct. When you say a bot shows as a guest, how do you know it is a bot? I suggest checking out the robots.txt contrib. It is a seperate issue from the spiders.txt but is useful to use. ed Quote Link to comment Share on other sites More sharing options...
Guest Posted June 10, 2006 Share Posted June 10, 2006 Hi Ed, Yes I have both configure files set to use mysql for the sessions. Any further ideas? Thanks Mark Mark, What are the settings under Configuration->Sessions in admin? ed Quote Link to comment Share on other sites More sharing options...
Guest Posted June 10, 2006 Share Posted June 10, 2006 Does anybody have any ideas on what might be wrong with my WOE module? Please..., I really need your help. Thanks. Irina, I don't know what is different between 1.9 and 2.0. I'm only at 1.8. A few people have posted that they are having none (or few) problems with 2.0. What are the settings under Configuration->Sessions in admin? ed Quote Link to comment Share on other sites More sharing options...
Irin Posted June 10, 2006 Share Posted June 10, 2006 (edited) Irina, I don't know what is different between 1.9 and 2.0. I'm only at 1.8. A few people have posted that they are having none (or few) problems with 2.0. What are the settings under Configuration->Sessions in admin? ed Ed, In my Configuration-> Sessions I have the following settings: Allow AutoLogon Cookie false Session Directory /var/www/store/oscommerce/sessions/ Force Cookie Use False Check SSL Session ID False Check User Agent False Check IP Address False Prevent Spider Sessions True Recreate Session False Allow AutoLogon Cookie Most of the time I'm getting the following message in my WOE after clicking Refresh, and it also takes a while to refresh the screen. Although, sometimes it refreshes itself in just a second.Fatal error: Maximum execution time of 160 seconds exceeded in /var/www/store/osCommerce/admin/whos_online.php on line 94I ran out of ideas what might be wrong here. I tried to upload the original files but getting the same error. I'll appreciate if somebody could help me to fix it. It really bothering a lot. Thanks. Edited June 10, 2006 by Irin Quote Link to comment Share on other sites More sharing options...
aodfan Posted June 11, 2006 Share Posted June 11, 2006 Where do you store your sessions (catalog AND admin)? What settings do you have in admin under Configuration->Sessions? Is the function get_products() in admin/includes/classes/shopping_cart.php? ed Sessions are in /tmp on both catalog and admin. Here are the settings that I have in admin under Configuration>Sessions: Yes, that function is in that file. Dont know what else, what file(s) do you need me to post? Thanks Quote Link to comment Share on other sites More sharing options...
shiftlocked Posted June 16, 2006 Share Posted June 16, 2006 Hi there, Looks like a great contribution thus far from wht ive seen on it. Ive followed the instructions, ran the sql code and im getting the following errors: 1054 - Unknown column 'user_agent' in 'field list' select customer_id, full_name, ip_address, time_entry, time_last_click, last_page_url, http_referer, user_agent, session_id from whos_online order by time_last_click DESC Im presently using whos online enhancement 2.0 Quote Things still to do before going "live" in no real order... Change "buy now buttons" css styles Change "lets see what we have here" into something meaningfull Main logo of the website Sort out currency to make site UK only (at present) Remove "xx requests since" stuff Update mainpage :D Move shopping cart status into header Add in stock status to product listing page Define styles for product listing standardisation Change CSS background for Headings Increase Category size headings Used mods so far:- basic_design_pack1mk7 | Google XML sitemap w admin | Paypal IPN v 1.2 | Feedmachine | pricematch_1_3_1 | Dynamic Sitemap 1.6 | Whos online Enhancement | Easypopulate 2.72 Each one that I solve I;ll be putting a post on the forum in a "completed shop" thread that Im writing up Link to comment Share on other sites More sharing options...
shiftlocked Posted June 16, 2006 Share Posted June 16, 2006 Hi there, Looks like a great contribution thus far from wht ive seen on it. Ive followed the instructions, ran the sql code and im getting the following errors: 1054 - Unknown column 'user_agent' in 'field list' select customer_id, full_name, ip_address, time_entry, time_last_click, last_page_url, http_referer, user_agent, session_id from whos_online order by time_last_click DESC Im presently using whos online enhancement 2.0 I wish I could edit my posts lol. SOLVED I was confused where it mentions option 2a, i wasnt sure if you had to run option 2b. Quote Things still to do before going "live" in no real order... Change "buy now buttons" css styles Change "lets see what we have here" into something meaningfull Main logo of the website Sort out currency to make site UK only (at present) Remove "xx requests since" stuff Update mainpage :D Move shopping cart status into header Add in stock status to product listing page Define styles for product listing standardisation Change CSS background for Headings Increase Category size headings Used mods so far:- basic_design_pack1mk7 | Google XML sitemap w admin | Paypal IPN v 1.2 | Feedmachine | pricematch_1_3_1 | Dynamic Sitemap 1.6 | Whos online Enhancement | Easypopulate 2.72 Each one that I solve I;ll be putting a post on the forum in a "completed shop" thread that Im writing up Link to comment Share on other sites More sharing options...
mark27uk3 Posted June 17, 2006 Share Posted June 17, 2006 Mark, What are the settings under Configuration->Sessions in admin? ed Hi Ed, Sorry for taking so long to get back to this, my settings are as follows: Session Directory /tmp Force Cookie Use False Check SSL Session ID False Check User Agent False Check IP Address False Prevent Spider Sessions True Recreate Session False Mark Quote Lifes a bitch, then you marry one, then you die! Link to comment Share on other sites More sharing options...
ckyshop.co.uk Posted June 20, 2006 Share Posted June 20, 2006 Hello again One quick question: In configure.php I have this - define('STORE_SESSIONS', ''); // leave empty '' for default handler or set to 'mysql' my sessions are stored in a folder called /sessions but my Who's Online isn't working properly (as per my previous posts). I'm pretty sure that sessions are the problem, would the above be that problem? Quote Thanks for any help/comments. Regards, Lewis Hill Link to comment Share on other sites More sharing options...
Guest Posted June 23, 2006 Share Posted June 23, 2006 Hi there! I would really like to install this contrib so I can keep track of visitors online but I have a couple questions first since right now I am live and I don't want to take the risk unless I know the details. First question -- Do I have to have the regular Who's Online contrib installed to use this one? I don't want the stats shown to visitors on the catalog side, just to me on the admin side. Second question -- The readme file hasn't been updated since 3 versions ago. Is there any new readme file or any alterations that aren't in the current read me file because I don't want to install it wrong. Thanks for anything you can help me with! -- Sarah Quote Link to comment Share on other sites More sharing options...
shiftlocked Posted June 27, 2006 Share Posted June 27, 2006 Hi There, Ive been using this for the last week and only just realised that its not chaning the ip address to the name of a bot as listed in my spiders.txt for example 00:13:43 Guest 66.249.65.130 09:53:26 10:07:09 /shop/thermaltake-armor-va8000swa-aluminum-window-pi-63.html Yes Not Found Name: Guest ID: 0 IP Address: 66.249.65.130 User Agent: osCsid: Clicking on the ip address shows it as gigablast.com and i know that I've had a few sniffs from google bot. As Sarah above me said, the documents havent been updated so is there anything I need to do. Ive had apoke around in here for an answr but not found anything yet. Quote Things still to do before going "live" in no real order... Change "buy now buttons" css styles Change "lets see what we have here" into something meaningfull Main logo of the website Sort out currency to make site UK only (at present) Remove "xx requests since" stuff Update mainpage :D Move shopping cart status into header Add in stock status to product listing page Define styles for product listing standardisation Change CSS background for Headings Increase Category size headings Used mods so far:- basic_design_pack1mk7 | Google XML sitemap w admin | Paypal IPN v 1.2 | Feedmachine | pricematch_1_3_1 | Dynamic Sitemap 1.6 | Whos online Enhancement | Easypopulate 2.72 Each one that I solve I;ll be putting a post on the forum in a "completed shop" thread that Im writing up Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.