Jump to content



Latest News: (loading..)

* * * * * 10 votes

Support thread for the Image Magic contribution


  • Please log in to reply
1270 replies to this topic

#1261   parma

parma
  • Members
  • 136 posts
  • Real Name:Manoj
  • Gender:Male
  • Location:London

Posted 15 December 2009 - 09:18 PM

Hi there, I get the following error.

[Mon Dec 14 00:29:49 2009] [error] [client 87.194.49.148] PHP Notice:  Use of undefined constant file - assumed 'file' in /var/www/vhosts/gloveclub.co.uk/httpdocs/imagemagic.php on line 395, referer: http://www.gloveclub.co.uk/spray-wipe-sanitizer-pi-573.html

Has anyone else experienced this? and if so know of a fix? Cant see any new images uploaded.

Thanks
Parma

#1262   adamsleath

adamsleath
  • Members
  • 32 posts
  • Real Name:adam sleath

Posted 15 March 2010 - 06:35 PM

Here is my code snippet from html_output.php:

// The HTML image wrapper function
   //see copy2 to replace original; tep_image section of code
   //image magic contrib below
   
//BOF Image Magic
function tep_image($src, $alt = '', $width = '',$height = '', $params = '') { global $product_info;
//Allow for a new intermediate sized thumbnail size to be set
//without any changes having to be made to the product_info page itself.
//(see the lengths I go to to make your life easier :-)
if
(strstr($_SERVER['PHP_SELF'],"product_info.php")) { if
(isset($product_info['products_image']) && $src ==
DIR_WS_IMAGES . $product_info['products_image'] &&
$product_info[products_id]==$_GET['products_id']) {
//final check just to make sure that we don't interfere with other contribs
$width =PRODUCT_INFO_IMAGE_WIDTH == 0?'':PRODUCT_INFO_IMAGE_WIDTH; $height =
PRODUCT_INFO_IMAGE_HEIGHT == 0?'':PRODUCT_INFO_IMAGE_HEIGHT;
$product_info_image=true; $page="prod_info"; } }
//Detect whether this is a pop-up image
if (strstr($_SERVER['PHP_SELF'],"popup_image.php"))
$page="popup"; //do we apply the IE PNG alpha transparency fix?
if
(strstr(strtolower($src),".png") && CFG_PNG_BUG=="True")
$fix_png = true; //send the image for processing unless told otherwise
$image = '<img src="' . $src . '"'; //set up the image tag just in case we don't want to process
if (CFG_MASTER_SWITCH=="On") $calculate =true; else $calculate=false;
// Don't calculate if the image is set to a "%" width
if (strstr($width,'%') == true || strstr($height,'%') ==
true) $calculate = false; // Dont calculate if a pixel image is being passed (hope you dont have pixels for sale)
if (strstr($image,'pixel')) $calculate = false; $image_size = @getimagesize("../..".$src);
//Decide whether or not we want to process this image
if (($width == ''&& $height == '' && $page != 'popup' ) || ($width ==
$image_size[0] && $height == $image_size[0] && $page !=
'popup')) { if (CFG_PROCESS_GRAPHICS=="False") $calculate = false;
//looks like this is a store graphic rather than product image
}
// Is this image good to go?
if (CONFIG_CALCULATE_IMAGE_SIZE &&
$calculate) { if ($image_size) { $ratio = $image_size[1] /
$image_size[0];
// Set the width and height to the proper ratio
if
(!$width && $height) { $ratio = $height / $image_size[1];
$width = intval($image_size[0] * $ratio); } elseif ($width &&
!$height) { $ratio = $width / $image_size[0]; $height =
intval($image_size[1] * $ratio); } elseif (!$width && !$height
&& !$over_ride) { $width = $image_size[0]; $height =
$image_size[1]; } //Encrypt the image filename if switched on
if
(CFG_ENCRYPT_FILENAMES == "True" && CFG_ENCRYPTION_KEY !="") {
$result = ''; $key=CFG_ENCRYPTION_KEY; for($i=0; $i<strlen($src);
$i++) { $char = substr($src, $i, 1); $keychar = substr($key, ($i %
strlen($key))-1, 1); $char = chr(ord($char)+ord($keychar));
$result.=$char; } $src=urlencode(base64_encode($result)); } //Return the html
$image = '<img src="imagemagic.php?img='.$src.'&w='.
tep_output_string($width).'&h='.tep_output_string($height).'&page='.$page.'"';

} elseif (IMAGE_REQUIRED == 'false') { return false; } }
//If the size asked for is greater than the image itself, we check the configs to see if this is allowed and if not over-ride
if ($width > $image_size[0]
|| $height > $image_size[1]) { if (CFG_ALLOW_LARGER != 'True'){
$width=$image_size[0]; $height=$image_size[1]; $over_ride = true; } }
// Add remaining image parameters if they exist
if ($width) { $image .=' width="' . tep_output_string($width) . '"'; } if ($height) { $image
.= ' height="' . tep_output_string($height) . '"'; } if
(tep_not_null($params)) $image .= ' ' . $params; $image .= ' border="0"
alt="' . tep_output_string($alt) . '"'; if (tep_not_null($alt)) {
$image .= ' title="' . tep_output_string($alt) . '"'; } if ($fix_png
&& CFG_MASTER_SWITCH=="On") { $image .= 'onload="fixPNG(this)"'; } $image .= '>'; return $image; }

//EOF Image Magic

   //eo image magic contrib


&here is my current product_info.php file:

<?php
/*
  $Id: product_info.php 1739 2007-12-20 00:52:16Z hpdl $

  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_LANGUAGES . $language . '/' . FILENAME_PRODUCT_INFO);

  $product_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
  $product_check = tep_db_fetch_array($product_check_query);
?>
<!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>
<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<script language="javascript"><!--
function popupWindow(url) {
  window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=150')
}
//--></script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- body //-->
<table border="0" width="100%" cellspacing="3" cellpadding="3">
  <tr>
	<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
	</table></td>
<!-- body_text //-->
	<td width="100%" valign="top"><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product')); ?><table border="0" width="100%" cellspacing="0" cellpadding="0">
<?php
  if ($product_check['total'] < 1) {
?>
	  <tr>
		<td><?php new infoBox(array(array('text' => TEXT_PRODUCT_NOT_FOUND))); ?></td>
	  </tr>
	  <tr>
		<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
	  </tr>
	  <tr>
 <!-- adzznote: deleted infobox; refer file copy to replace if needed //-->

			<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
			  <tr>
				<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
				<td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>
				<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
			  </tr>
			</table></td>
		  </tr>
		</table></td>
	  </tr>
<?php
  } else {
	$product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
	$product_info = tep_db_fetch_array($product_info_query);

	tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . (int)$languages_id . "'");

	if ($new_price = tep_get_products_special_price($product_info['products_id'])) {
	  $products_price = '<s>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</s> <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>';
	} else {
	  $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id']));
	}

	if (tep_not_null($product_info['products_model'])) {
	  $products_name = $product_info['products_name'] . '<br><span class="smallText">[' . $product_info['products_model'] . ']</span>';
	} else {
	  $products_name = $product_info['products_name'];
	}
?>
	  <tr>
		<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
		  <tr>
			<td class="pageHeading" valign="top"><?php echo $products_name; ?></td>
			<td class="pageHeading" align="left" valign="center"><?php echo $products_price; ?></td>
		  </tr>
		</table></td>
	  </tr>
	  <tr>
		<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
	  </tr>
	  <tr>
		<td class="main">
<?php
	if (tep_not_null($product_info['products_image'])) {
?>
		  <table border="0" cellspacing="0" cellpadding="2" align="center">
			<tr>
			  <td align="center" class="smallText">
<script language="javascript"><!--
document.write('<?php echo '<a href="javascript:popupWindow(\\\'' . tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' . $product_info['products_id']) . '\\\')">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], addslashes($product_info['products_name']), SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>');
//--></script>
<noscript>
<?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>
</noscript>
			  </td>
			</tr>
		  </table>
<?php
	}
?>
		  <p><?php echo stripslashes($product_info['products_description']); ?></p>
<?php
	$products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'");
	$products_attributes = tep_db_fetch_array($products_attributes_query);
	if ($products_attributes['total'] > 0) {
?>
		  <table border="0" cellspacing="0" cellpadding="2">
			<tr>
			  <td class="main" colspan="2"><?php echo TEXT_PRODUCT_OPTIONS; ?></td>
			</tr>
<?php
	  $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_name");
	  while ($products_options_name = tep_db_fetch_array($products_options_name_query)) {
		$products_options_array = array();
		$products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . (int)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "'");
		while ($products_options = tep_db_fetch_array($products_options_query)) {
		  $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']);
		  if ($products_options['options_values_price'] != '0') {
			$products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') ';
		  }
		}

		if (isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) {
		  $selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']];
		} else {
		  $selected_attribute = false;
		}
?>
			<tr>
			  <td class="main"><?php echo $products_options_name['products_options_name'] . ':'; ?></td>
			  <td class="main"><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute); ?></td>
			</tr>
<?php
	  }
?>
		  </table>
<?php
	}
?>
		</td>
	  </tr>
	  <tr>
		<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
	  </tr>
<?php
	$reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'");
	$reviews = tep_db_fetch_array($reviews_query);
	if ($reviews['count'] > 0) {
?>
	  <tr>
		<td class="main"><?php echo TEXT_CURRENT_REVIEWS . ' ' . $reviews['count']; ?></td>
	  </tr>
	  <tr>
		<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
	  </tr>
<?php
	}

	if (tep_not_null($product_info['products_url'])) {
?>
	  <tr>
		<td class="main"><?php echo sprintf(TEXT_MORE_INFORMATION, tep_href_link(FILENAME_REDIRECT, 'action=url&goto=' . urlencode($product_info['products_url']), 'NONSSL', true, false)); ?></td>
	  </tr>
	  <tr>
		<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
	  </tr>
<?php
	}

	if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) {
?>
	  <tr>
		<td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available'])); ?></td>
	  </tr>
<?php
	} else {
?>
	  <tr>
		<td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_ADDED, tep_date_long($product_info['products_date_added'])); ?></td>
	  </tr>
<?php
	}
?>
	  <tr>
		  <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
	  </tr>
	  <tr>
	  
  <!-- <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
		 <tr class="infoBoxContents">	-->
	  
  <!-- adzznote: deleted infobox; refer file copy to replace if needed //-->
   <td><table border="0" width="100%" cellspacing="1" cellpadding="2">
		 <tr>
			<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
			  <tr>
				<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
				<td class="main" align="center"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params()) . '">' . tep_image_button('button_reviews.gif', IMAGE_BUTTON_REVIEWS) . '</a>'; ?></td>

				<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
			  </tr>
			  
			  <tr>
			   <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

				<td class="main" align="center"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td>
				<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
			  </tr>
			  
			</table></td>
		  </tr>
	  </table></td>
	  </tr>

	  <tr>
		<td>  <?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?> </td>
	  </tr>
	  
	  <tr>
	 <td>
<?php
	if ((USE_CACHE == 'true') && empty($SID)) {
	  echo tep_cache_also_purchased(3600);
	} else {
	  include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS);
	}
  }
?>
	 </td>
	 </tr>

	</table></form></td>
<!-- body_text_eof //-->





<!-- right_navigation_eof //-->
	</table></td>
  </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'); ?>

Can any of you code savvy people see any error/reason why im not getting the pic to show up in the products.info webpage??

all other images are showing, and imagemagic does show up in the url; however, images are not showing in the products info page....

thanks in advance  :huh:
adam.

im on osc2.2 latest

Edited by adamsleath, 15 March 2010 - 06:42 PM.


#1263   adamsleath

adamsleath
  • Members
  • 32 posts
  • Real Name:adam sleath

Posted 15 March 2010 - 07:03 PM

...i also just turned off this contrib from the admin panel, and i cant make it switch back on....lol

any other image resizers out there?

#1264   adamsleath

adamsleath
  • Members
  • 32 posts
  • Real Name:adam sleath

Posted 15 March 2010 - 07:47 PM

View Postadamsleath, on 15 March 2010 - 07:03 PM, said:

...i also just turned off this contrib from the admin panel, and i cant make it switch back on....lol

any other image resizers out there?

...i used oscThumb...seems fine; much the same code im guessing

#1265   bobsi18

bobsi18
  • Members
  • 438 posts
  • Real Name:bobsi18
  • Gender:Female
  • Location:Melbourne, Australia

Posted 24 May 2010 - 02:52 PM

View Posttomjmul, on 08 February 2006 - 06:05 AM, said:

Yes indeed, we came across a problem that I had not anticipated. It would seem that Mark has a version of the GD library installed on his host which does not have the freetype libraries linked in. This would prevent text watermarking ever working for him.

Tom

Oh sob, it appears that this is why this is not working on my (local) test site: I have i/m successfully working on my server site, but am trying to set up a local site - the GD library info states:

Quote

GD Support enabled
GD Version bundled (2.0.34 compatible)
GIF Read Support enabled
GIF Create Support enabled
JPEG Support enabled
libJPEG Version 6b
PNG Support enabled
libPNG Version 1.2.42
WBMP Support enabled
XBM Support enabled

Whilst my server site GD library info states:

Quote

GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

All images with text watermarks are breaking on the local version, everything else is working fine.  If anyone has any suggestions, please let me know, otherwise it looks like I'll have to live without text watermarks :(

#1266   krnl

krnl
  • Members
  • 196 posts
  • Real Name:Rick

Posted 14 January 2011 - 12:22 AM

Is there a way to process all files at once from the command line or something so that they can be cached on the server and not have to be processed when someone loads a page with 20 products?  It's pretty slow that way waiting for all the files to process and be rendered.

#1267   andrew71

andrew71
  • Members
  • 35 posts
  • Real Name:Andrew Lee

Posted 05 December 2011 - 04:24 PM

My host is moving to PHP5.3 in the next couple of months.  I've been doing some preliminary work to my sites to test them for compatibility, but have hit a problem with imagemagic.

Basically, with register_long_arrays set to off, imagemagic doesn't work for me and just displays "error, file path incorrect, check configure.php".  If I switch register_long_arrays back on, it works, but under PHP5.3, register_long_arrays is deprecated and can't be switched back on.

Any ideas or workarounds would be useful.

#1268   sensey1

sensey1
  • Members
  • 3 posts
  • Real Name:Fulep Sebastian

Posted 19 March 2012 - 05:31 PM

can i use imagemagic if i want a watermark to be displayed only on out of stock products ?

#1269   pafranklin

pafranklin
  • Members
  • 264 posts
  • Real Name:Paul Franklin
  • Gender:Male
  • Location:Gloucestershire, UK

Posted 25 April 2012 - 10:59 AM

Further to the post above from andrew71 my host has moved to PHP5.3 and my product images no longer work.

Is there a work around available to overcome the issue ( with register_long_arrays set to off, imagemagic doesn't work for me and just displays "error, file path incorrect, check configure.php". If I switch register_long_arrays back on, it works, but under PHP5.3, register_long_arrays is deprecated and can't be switched back on.)

Please can anyone advise of a fix or work around?

Many thanks.
Paul
You will never learn if you don't try. And boy am I trying....!

#1270 ONLINE   DunWeb

DunWeb
  • Members
  • 12,711 posts
  • Real Name:Chris
  • Gender:Male
  • Location:Ontario, Canada

Posted 25 April 2012 - 12:22 PM

@pafranklin

Image Magic is not supported. as you pointed out with the newer Php versions it's use has been discontinued.  If you are using Image magic, I can only assume you are using an out-dated version of osCommerce and really should consider a creating a new cart using v2.3.1




Chris
:|: Was this post helpful ? Click the LIKE THIS button :|:

See my Profile (click here)  for more information and to contact me for professional osCommerce support that includes custom templates, add ons as well as cart leasing and support plans.

#1271   Code Red

Code Red
  • Members
  • 99 posts
  • Real Name:Martin

Posted 30 April 2012 - 08:13 PM

Hi, love this contribution and have been using it for some time but I've started using PNG images and they don't display under ImageMagic.  Updating to the most recent version makes no difference.

This is on all browsers, Mac and PC not just IE.  I've installed the IE fix anyway, but I still just get a blank "dead image link" box.  Anyone else have this problem?