Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Who's Online Enhancement 1.4


Guest

Recommended Posts

how can i enable the link text (that the user or bot is currently looking at) to be indefinate?

 

at present it cuts off at a certain character count, which can lead to false alarms :)

Link to comment
Share on other sites

Sorry... try this code:

 

 ? ? ? ? ? ? ? ?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=1");
? ? ?	$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=1");
? ? ? ?$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;
? ? ? ? ? ? ? ?}

 

I finally got around to having another look at making the last URL Show the product name and I got it to work as Dan had posted it back in August 2005.

Thank you very much Dan for your work on this. The reason it would not work for me before was because in the Admin -> Configuration I had this "Use Search-Engine Safe URLs (still in development)" set to TRUE. Now after finding this setting was also affecting other things and turning it OFF some time ago, this addon also works great and so far can not fault it.

 

ONE warning however.

If you have the MOD "Previous - Next" (contrib No. 1164) installed on your product_info.php pages, the latest version currently listed has an error in the button code, reversing the url product coding. This still works, but WOE will not display the correct product, in fact something quiet bogus if someone uses these buttons while viewing. I will post an update to this MOD shortly.

 

Back to WOE and this little GREAT addon.

To make this easy for any that may be interested in adding this onto their WOE I am posting the whole catalog/admin/whos_online.php file here.

NOTE, this is based on my last Contrib posting of version 1.8 (Haven't felt the desire to upgrade any further as yet).

You should be able to Copy and Paste this to your catalog/admin/whos_online.php file. (Don't forget to backup your original file, as usual no guarantees offerred or implied, but should be a simple drop in.)

Will post this file in Contrib section also, later.

<?php
/*
 $Id: whos_online.php,v 1.32 2003/06/29 22:50:52 hpdl 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();
	  }
	}

 $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);
}
 }
}
// WOL 1.5 EOF

/* 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">';
  } 
// Display IP Address
  echo '<b>' . TABLE_HEADING_IP_ADDRESS . ':</b> ' . $whos_online['ip_address'];
  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">
<!-- Begin
Stamp = new Date();
document.write('<font size="2" face="Arial" color="blue">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 ('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
							else if( $_SERVER["QUERY_STRING"] == showCust ){
							  if ( $is_guest || $is_account || $is_admin ) {
								  display_details();
								}
							}	
					?>
					</font></td>
					</tr>

<?php
$old_array = $whos_online;
 }

 if (!$i) {
  $i=0;
 }
 $total_dupes = $i;
 $total_sess = tep_db_num_rows($whos_online_query);
 // WOL 1.4 - Subtract Bots and Me from Real Customers.  Only subtract me once as Dupes will remove others
 $total_cust = $total_sess - $total_dupes - $total_bots - ($total_admin > 1? 1 : $total_admin);
 // WOL 1.4 eof
?>
<?php
 if(isset($http_referer_url))
 {
?>
 <tr>
<td class="smallText" colspan="9"><?php echo '<strong>' . TEXT_HTTP_REFERER_URL . ':</strong> <a href='. $http_referer_url.' target=_blank>' . $http_referer_url.'</a>'; ?></td>
 </tr>
 <?php
 }
?>
		  <tr>
<!-- WOL 1.4 - Added Bot and Me counts -->
			<td class="smallText" colspan="9"><br><table border="0" cellpadding="0" cellspacing="0" width="600">
<tr>
	<td class="smallText" align="left" colspan="2">??????<?php echo sprintf(TEXT_NUMBER_OF_CUSTOMERS, $total_sess);?></td>
</tr>
<tr>
	<td class="smallText" align="right" width="30"><?php print "$total_dupes" ?></td>
	<td class="smallText" align="left" width="570">??<?php echo TEXT_DUPLICATE_IP; ?></td>
</tr>
<tr>
	<td class="smallText" align="right" width="30"><?php print "$total_bots" ?></td>
	<td class="smallText" width="570">??<?php echo TEXT_BOTS; ?></td>
</tr>
<tr>
	<td class="smallText" align="right" width="30"><?php print "$total_admin" ?></td>
	<td class="smallText" width="570">??<?php echo TEXT_ME; ?></td>
</tr>
<tr>
	<td class="smallText" align="right" width="30"><?php print "$total_cust" ?></td>
	<td class="smallText" width="570">??<?php echo TEXT_REAL_CUSTOMERS; ?></td>
</tr>
</table><br>
<?php print "<b>" . TEXT_MY_IP_ADDRESS . ":</b>?".tep_get_ip_address(); ?><br><br><b>Note.</b> "N/A". Not Available</td>
<!-- WOL 1.4 eof -->				
		  </tr>
		</table></td>

<?php
 $heading = array();
 $contents = array();
 $heading[] = array('text' => '<b>' . TABLE_HEADING_SHOPPING_CART . '</b>');
 if (isset($info)) {
if (STORE_SESSIONS == 'mysql') {
  $session_data = tep_db_query("select value from " . TABLE_SESSIONS . " WHERE sesskey = '" . $info . "'");
  $session_data = tep_db_fetch_array($session_data);
  $session_data = trim($session_data['value']);
} else {
  if ( (file_exists(tep_session_save_path() . '/sess_' . $info)) && (filesize(tep_session_save_path() . '/sess_' . $info) > 0) ) {
	$session_data = file(tep_session_save_path() . '/sess_' . $info);
	$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();
	for ($i = 0, $n = sizeof($products); $i < $n; $i++) {
	  $contents[] = array('text' => $products[$i]['quantity'] . ' x ' . $products[$i]['name']);
	}

	if (sizeof($products) > 0) {
	 $contents[] = array('text' => tep_draw_separator('pixel_black.gif', '100%', '1'));
	 $contents[] = array('align' => 'right', 'text'  => TEXT_SHOPPING_CART_SUBTOTAL . ' ' . $currencies->format($cart->show_total(), true, $currency));
	} else {
	 $contents[] = array('text' => 'Empty');
  }
}
 }
}
  // Show shopping cart contents for selected entry
  echo '			<td valign="top">' . "\n";

  $box = new box;
  echo $box->infoBox($heading, $contents);

  echo '</td>' . "\n";
?>
	  </tr>
	</table></td>
  </tr>
</table></td>
<!-- body_text_eof //-->
 </tr>
</table>
<!-- body_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
<br>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Link to comment
Share on other sites

John,

 

It sounds like the search engines indexed you with the so called Search Engine Safe URLs and they haven't removed the pages because they are still getting a legitimate page.

 

ed

 

Ed

Sorry for no response for a while. kids keeping me flat out during the school holidays.

 

In response, Yes I kind of thought the same thing, I just watch it for a while longer and see how it goes.

 

Thanks Ed

 

John

Link to comment
Share on other sites

Hey

 

Can anyone tell me why I this sometimes happens:

 

 

it doesnt load the footer and doesn't give correct info?

 

 

Go back to version 1.8 (or 1.8a) and see if your getting the same problem.

Version 1.9 etc are not necessary updates as such.

 

John

Edited by Gob
Link to comment
Share on other sites

Go back to version 1.8 (or 1.8a) and see if your getting the same problem.

Version 1.9 etc are not necessary updates as such.

 

John

 

Thanks for the reply but I've always had this problem, even before updating to 1.9 or even 1.8.

 

It only happens sometimes, I'm stumped?

Thanks for any help/comments.

 

Regards,

 

Lewis Hill

Link to comment
Share on other sites

Thanks for the reply but I've always had this problem, even before updating to 1.9 or even 1.8.

 

It only happens sometimes, I'm stumped?

 

Have you been replacing the file catalog/whos_online.php as well?

 

Are receiving any error message when the page loads?

 

Have your tried emptying your browsers cache, (Temp files)? In particular if using IE, I recommend setting the temp setting to max of 300MB temp file storage. I also set mine to Refresh, "Every time I open IE".

 

Also where are you storing your session data? Mysql or Files.

Make sure you have both configure files set the same catalog/includes/configure.php and catalog/admin/includes/configure.php

If set to Files have you got your session directory properly set in Admin -> Configuration -> Sessions

Should be something like this:

/home/yourusername/sessions

Have you also got the other session information settings set correctly, also posted previously, (by me. Search my posts in in this thread).

 

john

Link to comment
Share on other sites

how can i enable the link text (that the user or bot is currently looking at) to be indefinate?

 

at present it cuts off at a certain character count, which can lead to false alarms :)

 

I'd answer your question here, but I have no idea what you are talking about.

Would like to elaborate please.

Link to comment
Share on other sites

John, thank you, Thank You !! its those little code tweaking that makes a big difference.

 

"Essentially what it does is now display the Product or Category name in place of the Last URL"

 

Just what I needed, now I can throw away my scribble notes on what the product id was.

 

Happy & healthy New Year everyone.

 

 

Jimmy

Edited by wheeloftime

I'm not a coder just a splicer.

Link to comment
Share on other sites

Yesterday I placed/installed the Who's online with Displayname enhancement right over my 1.7.1 installation and while I do not seem to experience any errors the counting is very strange:

2 Duplicate IPs

1 Bots

0 Me!

-2 Real Customers

I took this when 1 bot was online according to the screen. Also I noticed that when an IP is a match for the first 2 parts, ie. 11.22.33.44 and 11.22.55.66, it already is counted as being a duplicate IP.

I really love the fact I can now see what my customers are looking at so I hope someone can tell me what in between step I probably missed when simply coping the whos_online.php from the new package over my existing one ?!

Link to comment
Share on other sites

Yesterday I placed/installed the Who's online with Displayname enhancement right over my 1.7.1 installation and while I do not seem to experience any errors the counting is very strange:

 

I took this when 1 bot was online according to the screen. Also I noticed that when an IP is a match for the first 2 parts, ie. 11.22.33.44 and 11.22.55.66, it already is counted as being a duplicate IP.

I really love the fact I can now see what my customers are looking at so I hope someone can tell me what in between step I probably missed when simply coping the whos_online.php from the new package over my existing one ?!

 

Yes part of this problem I noticed this morning.

If the Admin is online, this counted as a duplicate no matter what, I had not noticed the ip as such that you have now just pointed out.

I also have to bots online at present with 2 different IP's but only just 68.142.250.16 and 68.142.250.13 and this is registering as a duplicate.

This should not be happening and I analised this in great frustrating depth all morning before finally asking Ed if he could take a look, because I can't see what in the add in section I did has caused it. It's not making a whole lot of sense to me.

I also noticed that for some reason my categories stopped displaying their name. Has anyone else found this issue?

 

But Ed the real brains behind a lot of this is on the case, but we probably will not see a result for 24 to 48 hours at leasr, cause he has to earn a living also. :)

 

Anyway sorry to all about this little hicup but I think we'll get it sorted.

Link to comment
Share on other sites

Yes part of this problem I noticed this morning.

If the Admin is online, this counted as a duplicate no matter what, I had not noticed the ip as such that you have now just pointed out.

I also have to bots online at present with 2 different IP's but only just 68.142.250.16 and 68.142.250.13 and this is registering as a duplicate.

This should not be happening and I analised this in great frustrating depth all morning before finally asking Ed if he could take a look, because I can't see what in the add in section I did has caused it. It's not making a whole lot of sense to me.

I also noticed that for some reason my categories stopped displaying their name. Has anyone else found this issue?

 

But Ed the real brains behind a lot of this is on the case, but we probably will not see a result for 24 to 48 hours at leasr, cause he has to earn a living also. :)

 

Anyway sorry to all about this little hicup but I think we'll get it sorted.

 

I haven't looked very thoroughly but I think I got the problem for this counting error. In the new part the variable $i is used which however is also used for other calculation(s) and so gets overwritten.

I changed all $i occurences from the new part to $s and everything seems back to normal

// alteration for last url product name  bof
		   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);

			$s=0;
while($s < count($parameters)) {
	$a=split("=",$parameters[$s]);
	if ($a[0]="products_id") { $products_id=$a[1]; }
	$s++;
   }
  $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);

			$s=0;
while($s < count($parameters)) {
	$a=split("=",$parameters[$s]);
	if ($a[0]=="cPath") { $cat=$a[1]; }
	$s++;
   }

			$parameters=split("_",$cat);

//$cat_list='';
			$s=0;
while($s < count($parameters)) {
 $category_query=tep_db_query("select categories_name from categories_description where categories_id='" . $parameters[$s] . "' and language_id = '" . $languages_id . "'");
   $category = tep_db_fetch_array($category_query);
 if ($s>0) { $cat_list.=' / '.$category['categories_name']; } else { $cat_list=$category['categories_name']; }

	$s++;
   }
			$display_link = $cat_list.' <I>(Category)</I>';
		   } else {
			$display_link = $temp_url_display;
		   }

// alteration for last url product name  eof
?

I really love this change :thumbsup: and hope it will be implemented with Visitor Web Stats also ;)

 

In addition:

Could you do this much more descriptive solution also for the call to popup_image.php so the product name is also easily known for the image someone is looking at ?!

Edited by wheeloftime
Link to comment
Share on other sites

I'd answer your question here, but I have no idea what you are talking about.

Would like to elaborate please.

 

 

i have some very long url's on my site (search engine friendly url's) so when in who's online and seeing what page somebody is currently looking at, the url gets cut off if it's too long.

Link to comment
Share on other sites

i have some very long url's on my site (search engine friendly url's) so when in who's online and seeing what page somebody is currently looking at, the url gets cut off if it's too long.

I believe changing the length of the last_page_url in the whos_online table in the database should do it.

 

ed

Link to comment
Share on other sites

I haven't looked very thoroughly but I think I got the problem for this counting error. In the new part the variable $i is used which however is also used for other calculation(s) and so gets overwritten.

I changed all $i occurences from the new part to $s and everything seems back to normal

 

Does this fix it for everyone else? Nice work wheeloftime.

 

ed

Edited by medvid
Link to comment
Share on other sites

Does this fix it for everyone else? Nice work wheeloftime.

 

ed

Thanks Ed, nothing special though. Just a file compare, looking at the differences and eliminate the changes which had nothing to do with the counting. After that only the counter variable could be the problem.

Anyhow, a Happy New Year to you to and after having observed my Who's Online stats a bit longer it clearly fixes it for me.

 

regards,

Howard

Link to comment
Share on other sites

Does this fix it for everyone else? Nice work wheeloftime.

 

ed

 

 

Thanks very much "wheeloftime". The counting feature for me is now fixed it appears.

 

I still have the issue of the actual category not showing, however.

Is anyone else also having this issue?

Link to comment
Share on other sites

Not sure where you guys are at with this but I have done my own tweaking and it looks like this.

 

http://www.modyourcar.com.au/images/whos_online.jpg

If you need anything let me know!

 

Dan your back.

Thought we'd lost you.

 

Yes you have been busy with your WSO. Looks really great.

 

Any chance you can either post or send me your file? So I can intergrate and post new version etc?

 

John

Edited by Gob
Link to comment
Share on other sites

Well the main thing you might be interested in is the LAST URL column.

 

Try something like this...

 

After the lines:

				// 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 );

 

 

 

Add:

				// Display meaningful link name - Dan - MYC267
			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=1");
				  $product = tep_db_fetch_array($product_query);						   

				$display_link = $product['products_name'].' <I>(Product)</I>';
} else {
				$display_link = $temp_url_display;
}

 

 

then after these lines:

				  <a HREF="<?php echo HTTP_CATALOG_SERVER . $temp_url_link; ?>" target=\"_blank\">
				<font color="<?php echo $fg_color; ?>">
				  <?php

 

Add:

						echo $display_link;

 

 

Bascially that will show the product the user is on if they are on the product_info.php page.

 

You should be able to work out how to do the others from there.

 

Let me know!

Dan

Link to comment
Share on other sites

Well the main thing you might be interested in is the LAST URL column.

 

Bascially that will show the product the user is on if they are on the product_info.php page.

 

You should be able to work out how to do the others from there.

 

Let me know!

 

Dan

 

I and everyone else on this have not been able to get past the the Products section working as per very recent posts. What you have given us above is exactly the same as what we already have.

 

Is there a problem with sharing what you have been able to do, in it's entirety?

I realise you probably have spent sometime on getting it right but so have many people on the whole oscommerce project, (including Ed and I inparticular in this thread trying to support and help others for this contrib alone) and most are willing to share without question, you seem extremely reluctant for some reason.

If this is not the case by all means please correct me.

 

John

Link to comment
Share on other sites

I am not reluctant to share info on the whos online... not at all. I just figured once you had that "skeleton" you could figure the rest out, its not that hard.

 

The only issue is I have modded my site so hard that most of it wont apply to you guys so if I pass it on it wont work anyway.

 

Try some of these:

 

 

TELL A FRIEND:

			 }elseif (strpos($temp_url_link,'tell_a_friend.php')) {
				$temp=str_replace('tell_a_friend.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=1");
				  $product = tep_db_fetch_array($product_query);						   

				$display_link = 'Tell a Friend about '.$product['products_name'].' <I>(Product)</I>';

 

 

POPUP IMAGE

				}elseif (strpos($temp_url_link,'popup_image.php')) {
				$temp=str_replace('popup_image.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]="pID") { $products_id=$a[1]; }
  						$i++;
  					}
				  $product_query=tep_db_query("select products_name from products_description where products_id='" . $products_id . "' and language_id=1");
				  $product = tep_db_fetch_array($product_query);						   

				$display_link = $product['products_name'].' <I>(Popup Img)</I>';

 

 

SHOPPING CART

				}elseif (strpos($temp_url_link,'shopping_cart.php')) {
				$display_link = '<B>Shopping Cart</B> <I>(Customer Service)</I>';

 

 

CATEGORY

				}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=1");
					  $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>';

 

 

OTHER STUFF

			   }elseif (strpos($temp_url_link,'login.php')) {
				$display_link = 'Customer Log In <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'create_profile.php')) {
				$display_link = '<B>Customer Create Profile</B> <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'checkout_shipping.php')) {
				$display_link = '<B>Checkout Shipping</B> <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'checkout_payment.php')) {
				$display_link = '<B>Checkout Payment</B> <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'checkout_confirmation.php')) {
				$display_link = '<B>Checkout Confirmation</B> <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'checkout_success.php')) {
				$display_link = '<B><U>Checkout Success</U></B> <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'myc_profile.php')) {
				$display_link = 'MYC Profile <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'contact_us.php')) {
				$display_link = 'Contact Us <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'price_match.php')) {
				$display_link = 'Price Match <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'faq.php')) {
				$display_link = 'FAQ <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'hot_to_shop.php')) {
				$display_link = 'How To Shop <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'payments.php')) {
				$display_link = 'Payments <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'shipping.php')) {
				$display_link = 'Shipping <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'guarantee.php')) {
				$display_link = 'Guarantee <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'gv_faq.php')) {
				$display_link = 'Gift Voucher FAQ <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'pricing.php')) {
				$display_link = 'Pricing <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'fraud_protection.php')) {
				$display_link = 'Fraud Protection <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'warranty.php')) {
				$display_link = 'Warranty/Returns <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'privacy.php')) {
				$display_link = 'Privacy Agreement <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'customer_testimonials.php')) {
				$display_link = 'Customer Testimonials <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'reviews.php')) {
				$display_link = 'Product Reviews <I>(Products)</I>';
			}elseif (strpos($temp_url_link,'specials.php')) {
				$display_link = 'Specials <I>(Products)</I>';
			}elseif (strpos($temp_url_link,'advanced_search.php')) {
				$display_link = 'Advanced Search <I>(Search)</I>';
			}elseif (strpos($temp_url_link,'advanced_search_result.php')) {
				$display_link = 'Advanced Search Results <I>(Search)</I>';
			}elseif (strpos($temp_url_link,'profile.php')) {
				$display_link = 'Customer Profile Overview <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'profile_history_info.php')) {
				$display_link = 'Customer Order Invoice <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'profile_history.php')) {
				$display_link = 'Customer Order History <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'profile_edit.php')) {
				$display_link = 'Customer Profile Edit <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'address_book.php')) {
				$display_link = 'Customer Address Book <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'address_book_process.php')) {
				$display_link = 'Customer Address Book Modify <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'profile_newsletters.php')) {
				$display_link = 'Customer Newsletter Subscriptions <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'profile_password.php')) {
				$display_link = 'Change Password <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'logoff.php')) {
				$display_link = 'Customer Log Off <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'login.php')) {
				$display_link = 'Customer Log In <I>(Customer Service)</I>';
			}elseif (strpos($temp_url_link,'staff_garage.php')) {
				$display_link = 'Staff Garage <I>(Staff Garage)</I>';
			}elseif ((strpos($temp_url_link,'rollasx.php'))||(strpos($temp_url_link,'rollasx_'))) {
				$display_link = 'ROLLA SX <I>(Staff Garage)</I>';
			}elseif ((strpos($temp_url_link,'le_rx7.php'))||(strpos($temp_url_link,'le_rx7_'))) {
				$display_link = 'LE RX7 <I>(Staff Garage)</I>';
			}elseif ((strpos($temp_url_link,'loco_dc5.php'))||(strpos($temp_url_link,'loco_dc5_'))) {
				$display_link = 'MARZZ <I>(Staff Garage)</I>';
			}elseif (strpos($temp_url_link,'cookie_usage.php')) {
				$display_link = 'Cookie Usage (Error)</I>';
			}elseif (strpos($temp_url_link,'new_products.php')) {
				$display_link = 'New Products (Products)</I>';

 

 

As you will see even from some of that.... some of it is specific to my site. Rip out what you need though. Its quite long winded but theres no other way of really doing it. You have to determine what page there on by stripping the URL.

 

You could make the whole thing smarter but theres really no point as this does the job.

Dan

Link to comment
Share on other sites

So have you made any progress on this?

 

Dan

 

No I haven't had a chance just yet, but thank you very much for the info.

I had hoped to have a go at it today but it didn't happen, sometime this week I hope.

 

I see what you mean about all of it but I'm sure it can be intergrated with the options to add in if required.

As you also mentioned there may be a way to simplify it a bit, so I want to have a good look at this also.

 

Thanks again Dan

 

John

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...