Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Help me with some code....Please


Guest

Recommended Posts

I need some help modifying the Whos_Online.php file.

I want it to display all registard users and there cart content instead of who's online.

 

Heres the code:

<?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
*/

 $xx_mins_ago = (time() - 900);

 require('includes/application_top.php');

 require(DIR_WS_CLASSES . 'currencies.php');
 $currencies = new currencies();

// 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; ?>">
<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 class="pageHeading"><?php echo HEADING_TITLE; ?></td>
		<td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
	  </tr>
	</table></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"><?php echo TABLE_HEADING_ONLINE; ?></td>
			<td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_CUSTOMER_ID; ?></td>
			<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_FULL_NAME; ?></td>
			<td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_IP_ADDRESS; ?></td>
			<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_ENTRY_TIME; ?></td>
			<td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_LAST_CLICK; ?></td>
			<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_LAST_PAGE_URL; ?> </td>
		  </tr>
<?php
 $whos_online_query = tep_db_query("select customer_id, full_name, ip_address, time_entry, time_last_click, last_page_url, session_id from " . TABLE_WHOS_ONLINE);
 while ($whos_online = tep_db_fetch_array($whos_online_query)) {
$time_online = (time() - $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'];
}

if ($whos_online['session_id'] == $info) {
  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";
}
?>
			<td class="dataTableContent"><?php echo gmdate('H:i:s', $time_online); ?></td>
			<td class="dataTableContent" align="center"><?php echo $whos_online['customer_id']; ?></td>
			<td class="dataTableContent"><?php echo $whos_online['full_name']; ?></td>
			<td class="dataTableContent" align="center"><?php echo $whos_online['ip_address']; ?></td>
			<td class="dataTableContent"><?php echo date('H:i:s', $whos_online['time_entry']); ?></td>
			<td class="dataTableContent" align="center"><?php echo date('H:i:s', $whos_online['time_last_click']); ?></td>
			<td class="dataTableContent"><?php if (eregi('^(.*)' . tep_session_name() . '=[a-f,0-9]+[&]*(.*)', $whos_online['last_page_url'], $array)) { echo $array[1] . $array[2]; } else { echo $whos_online['last_page_url']; } ?> </td>
		  </tr>
<?php
 }
?>
		  <tr>
			<td class="smallText" colspan="7"><?php echo sprintf(TEXT_NUMBER_OF_CUSTOMERS, tep_db_num_rows($whos_online_query)); ?></td>
		  </tr>
		</table></td>
<?php
 $heading = array();
 $contents = array();

 if (isset($info)) {
$heading[] = array('text' => '<b>' . TABLE_HEADING_SHOPPING_CART . '</b>');

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

 if ( (tep_not_null($heading)) && (tep_not_null($contents)) ) {
echo '			<td width="25%" 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'); ?>

 

Thanks in advance!

Link to comment
Share on other sites

There are a whole bunch of contributions to enhance the functionality of Who's Online. Will none of those work for you? It seems to me, you might have an easier time getting one of those contributions and modifying that, since two I know of have at least part of the functionality you're looking for.

 

http://www.oscommerce.com/community?contri...ne&category=all

Contributions

 

Discount Coupon Codes

Donations

Link to comment
Share on other sites

There are a whole bunch of contributions to enhance the functionality of Who's Online. Will none of those work for you? It seems to me, you might have an easier time getting one of those contributions and modifying that, since two I know of have at least part of the functionality you're looking for.

 

http://www.oscommerce.com/community?contri...ne&category=all

 

There are some features that i can use from those contribs, But they all only display who is online. I dont want it to display who is online anymore, I want it to display all registerd users (registerd users only) and the current ballance of there shopping cart (i dont need to know what items are in there cart, just the tottal $ amount). my customer retain items in there shopping carts for long periods of time, And i would like to be able to see the tottal $ amount that is currently in each users cart.

 

I just figeured it would be easier to modifie the whos_online.php file rather then creating a new page.

 

Let me know if anyone has any ideas on how to do this. Thanks again!

Link to comment
Share on other sites

There are some features that i can use from those contribs, But they all only display who is online. I dont want it to display who is online anymore, I want it to display all registerd users (registerd users only) and the current ballance of there shopping cart (i dont need to know what items are in there cart, just the tottal $ amount). my customer retain items in there shopping carts for long periods of time, And i would like to be able to see the tottal $ amount that is currently in each users cart.

 

I just figeured it would be easier to modifie the whos_online.php file rather then creating a new page.

 

Let me know if anyone has any ideas on how to do this. Thanks again!

 

sounds like what you are looking for is what we call "abandoned carts". There is a contrib for that as well as one called "recover cart sales" or something like that. probably has way more features then you want but the end result is closer to what you are describing. these contribs basically will display customers that have "stuff" left in their shopping carts.... neither one displays who's online type information....

Link to comment
Share on other sites

sounds like what you are looking for is what we call "abandoned carts". There is a contrib for that as well as one called "recover cart sales" or something like that. probably has way more features then you want but the end result is closer to what you are describing. these contribs basically will display customers that have "stuff" left in their shopping carts.... neither one displays who's online type information....

 

 

That's what i was looking for. Thanks for the help!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...