Jump to content


  • Content count

  • Joined

  • Last visited


Profile Information

  • Real Name
  1. mthierfelder

    How Did You Hear About Us - Support

    I've got PWA installed on a shop, and put this module in pretty easily...everything seems to be working well so far. All I did was put this block in create_account.php: <!-- //rmh referral start --> <?php if ((tep_not_null(tep_get_sources()) || DISPLAY_REFERRAL_OTHER == 'true') && (!tep_session_is_registered('referral_id') || (tep_session_is_registered('referral_id') && DISPLAY_REFERRAL_SOURCE == 'true')) ) { ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"><b><?php echo CATEGORY_SOURCE; ?></b></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" cellspacing="2" cellpadding="2"> <tr> <td class="main"><?php echo ENTRY_SOURCE; ?></td> <td class="main"><?php echo tep_get_source_list('source', (DISPLAY_REFERRAL_OTHER == 'true' || (tep_session_is_registered('referral_id') && tep_not_null($referral_id)) ? true : false), (tep_session_is_registered('referral_id') && tep_not_null($referral_id)) ? '9999' : '') . ' ' . (tep_not_null(ENTRY_SOURCE_TEXT) ? '<span class="inputRequirement">' . ENTRY_SOURCE_TEXT . '</span>': ''); ?></td> </tr> <?php if (DISPLAY_REFERRAL_OTHER == 'true' || (tep_session_is_registered('referral_id') && tep_not_null($referral_id))) { ?> <tr> <td class="main"><?php echo ENTRY_SOURCE_OTHER; ?></td> <td class="main"><?php echo tep_draw_input_field('source_other', (tep_not_null($referral_id) ? $referral_id : '')) . ' ' . (tep_not_null(ENTRY_SOURCE_OTHER_TEXT) ? '<span class="inputRequirement">' . ENTRY_SOURCE_OTHER_TEXT . '</span>': ''); ?></td> </tr> <?php } ?> </table></td> </tr> </table></td> </tr> <?php } else if (DISPLAY_REFERRAL_SOURCE == 'false') { echo tep_draw_hidden_field('source', ((tep_session_is_registered('referral_id') && tep_not_null($referral_id)) ? '9999' : '')) . tep_draw_hidden_field('source_other', (tep_not_null($referral_id) ? $referral_id : '')); } ?> <!-- //rmh referral end --> Put it in After this: <?php // PWA BOF } else { // Ingo PWA Ende ?> ...and just before this: <tr> <td><?php echo tep_draw_hidden_field('guest', 'guest'); ?></td> </tr> <?php } // PWA EOF ?>
  2. mthierfelder

    Country-State Selector

    If you just wanted to get rid of the 1 in that box, use the following code in your /includes/functions/ajax.php Find this: if ( tep_db_num_rows($zones_query) ) { $output .= tep_draw_pull_down_menu('zone_id', $zones_array, $default_zone); } else { $output .= tep_draw_input_field('state', $default_zone); } Replace with this: if ( tep_db_num_rows($zones_query) ) { $output .= tep_draw_pull_down_menu('zone_id', $zones_array, $default_zone); } else { if ($default_zone != '1') { $output .= tep_draw_input_field('state', $default_zone); } else { $output .= tep_draw_input_field('state', ''); } }
  3. mthierfelder

    Country-State Selector

    I found the problem, and posted the bug fix to the addons page. The problem was in the README.HTM file, it added an extra "}" in /admin/customers.php, fix is here: Line 152: Replace: // +Country-State Selector } // End if (!$refresh) if (($error == false) && ($refresh != 'true')) { // -Country-State Selector with: // +Country-State Selector // End if (!$refresh) if (($error == false) && ($refresh != 'true')) { // -Country-State Selector
  4. mthierfelder

    Country-State Selector

    Is there a fix for the "unexpected T_CASE" in customers.php? I've seen lots and lots of people with this problem but no one is posting a fix. Please help.
  5. mthierfelder

    STS V4.5.8 & HTC

    Hi, I am trying to do the same thing, I need to integrate STS with UlraPics and I am using the content template for product_info. Any pointers would be GREATLY appreciated, or code samples are even better! Thanks, Mike
  6. mthierfelder

    Pop Up Mouseover Images

    I am using STS too, couldn't get this one to work but found a much simpler solution. It also works with products listing columns contrib. This goes before the </head> tag of your index.php.html or whichever template you are using for your index page in STS (if not using STS just put it in the regular index.php file): <script language="javascript" src="includes/popup.js"></script> <script language="javascript" src="includes/utility.js"></script> Here is popup.js: // Copyright © 2000 by Apple Computer, Inc., All Rights Reserved. // // You may incorporate this Apple sample code into your own code // without restriction. This Apple sample code has been provided "AS IS" // and the responsibility for its operation is yours. You may redistribute // this code, but you are not permitted to redistribute it as // "Apple sample code" after having made changes. // ******************************** // application-specific functions * // ******************************** // store variables to control where the popup will appear relative to the cursor position // positive numbers are below and to the right of the cursor, negative numbers are above and to the left var xOffset = 30; var yOffset = -30; function showPopup (targetObjectId, eventObj) { if(eventObj) { // hide any currently-visible popups hideCurrentPopup(); // stop event from bubbling up any farther eventObj.cancelBubble = true; // move popup div to current cursor position // (add scrollTop to account for scrolling for IE) var newXCoordinate = (eventObj.pageX)?eventObj.pageX + xOffset:eventObj.x + xOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0); var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yOffset:eventObj.y + yOffset + ((document.body.scrollTop)?document.body.scrollTop:0); moveObject(targetObjectId, newXCoordinate, newYCoordinate); // and make it visible if( changeObjectVisibility(targetObjectId, 'visible') ) { // if we successfully showed the popup // store its Id on a globally-accessible object window.currentlyVisiblePopup = targetObjectId; return true; } else { // we couldn't show the popup, boo hoo! return false; } } else { // there was no event object, so we won't be able to position anything, so give up return false; } } // showPopup function hideCurrentPopup() { // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup if(window.currentlyVisiblePopup) { changeObjectVisibility(window.currentlyVisiblePopup, 'hidden'); window.currentlyVisiblePopup = false; } } // hideCurrentPopup // *********************** // hacks and workarounds * // *********************** // initialize hacks whenever the page loads window.onload = initializeHacks; // setup an event handler to hide popups for generic clicks on the document document.onclick = hideCurrentPopup; function initializeHacks() { // this ugly little hack resizes a blank div to make sure you can click // anywhere in the window for Mac MSIE 5 if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { window.onresize = explorerMacResizeFix; } resizeBlankDiv(); // this next function creates a placeholder object for older browsers createFakeEventObj(); } function createFakeEventObj() { // create a fake event object for older browsers to avoid errors in function call // when we need to pass the event object to functions if (!window.event) { window.event = false; } } // createFakeEventObj function resizeBlankDiv() { // resize blank placeholder div so IE 5 on mac will get all clicks in window if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { getStyleObject('blankDiv').width = document.body.clientWidth - 20; getStyleObject('blankDiv').height = document.body.clientHeight - 20; } } function explorerMacResizeFix () { location.reload(false); } Here is utility.js: // Copyright © 2000 by Apple Computer, Inc., All Rights Reserved. // // You may incorporate this Apple sample code into your own code // without restriction. This Apple sample code has been provided "AS IS" // and the responsibility for its operation is yours. You may redistribute // this code, but you are not permitted to redistribute it as // "Apple sample code" after having made changes. // // ************************ // layer utility routines * // ************************ function getStyleObject(objectId) { // cross-browser function to get an object's style object given its id if(document.getElementById && document.getElementById(objectId)) { // W3C DOM return document.getElementById(objectId).style; } else if (document.all && document.all(objectId)) { // MSIE 4 DOM return document.all(objectId).style; } else if (document.layers && document.layers[objectId]) { // NN 4 DOM.. note: this won't find nested layers return document.layers[objectId]; } else { return false; } } // getStyleObject function changeObjectVisibility(objectId, newVisibility) { // get a reference to the cross-browser style object and make sure the object exists var styleObject = getStyleObject(objectId); if(styleObject) { styleObject.visibility = newVisibility; return true; } else { // we couldn't find the object, so we can't change its visibility return false; } } // changeObjectVisibility function moveObject(objectId, newXCoordinate, newYCoordinate) { // get a reference to the cross-browser style object and make sure the object exists var styleObject = getStyleObject(objectId); if(styleObject) { styleObject.left = newXCoordinate; styleObject.top = newYCoordinate; return true; } else { // we couldn't find the object, so we can't very well move it return false; } } // moveObject Find this code in /includes/modules/product_listing.php: else { $lc_text = ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a> '; } Replace with: else { $lc_text = ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '" class=popupLink onmouseover="return !showPopup(\'' . $listing['products_id'] . '\', event);" onmouseout="hideCurrentPopup()">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a> <DIV onclick=\'event.cancelBubble = true;\' class=popup id=' . $listing['products_id'] . '><table width="50%" border="0" cellspacing="0" cellpadding="0"><tr><td>' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name']) . '</td></tr></table></DIV>'; } Note: if your original product_listing.php code snippet uses this syntax: $listing[$x]['products_id'] then you'll need to make sure the changed code reflects this structure, just put [$x] in front of every $listing call in that snippet. Last but not least, the CSS to go in your stylesheet.css: .popup { visibility:hidden; position: absolute; left:-100px; }
  7. Next time I'll do more testing. Fixed the problem by installing a product_info.php.html template, previously I didn't have one which was the root of the problem.
  8. I turned on Index templates, and added an index.php_3.html template for index.php?cPath=3 category. Once I disabled that template it works as expected. Hmm...
  9. I have installed QTPro 4.5, and using it with STS4.5. Everything seems to work except if you add a product to the cart, on the shopping_cart.php page, the product image/text link goes to: /shop/product_info.php?products_id=28{1}2{2}3 Note the weird curly braces. It redirects back to the main category. Any idea? the only product in the store is here: http://www.fluffyco.com/shop/product_info....;products_id=28
  10. mthierfelder

    [Contribution] Extra Fields

    I've searched throughout the forums and can't find the answer. Lots of posts requesting the feature to have the extra_fields value show up on the product_listing.php page but no help. If anybody has an idea of how to pass the extra_fields variable to other pages (besides just product_info.php) I'd be very interested. I'd like it to show up at least on the product_listing, possibly in the shopping_cart, and checkout confirmation pages as well.
  11. mthierfelder

    Paypal Pay Flow Pro

    I never used test mode, the other contrib I grabbed files from said it absolutely did not work in test mode so you might want to try setting it to live if you can and just use the bogus cc# 4111111111111111 for testing. If you get the Credit+Card+Error%21+Declined you'll know it worked, if you get the generic Credit+Card+Error%21 then you'll know your module is not working yet. I think :rolleyes: Debugging Tips: 1. be sure appropriate permissions are set for the /bin files and folders. 2. be sure the executable name in the admin module is not pfpro.so, but simply pfpro 3. If you are using godaddy as your host, or bluehost, or any other host that requires a proxy server to run payflow you will need their proxy server info. A quick call to tech support might work, but godaddy's was typically worthless and told me they don't support payflow at all....their help files however, proved worth their weight as they gave me what I needed. Tip: don't use the native search when digging through knowledge bases, use google instead and type, site:godaddy.com payflow...sad but it works much better. 4. Godaddy told me they required me to use a php.ini file that specifies the location of the certs folder for payflow, this was not true since I was using my own payflow files. If you can find the location of payflow files on your server, then you might try using them to simplify things. That's a bit of a gamble since in my experience most hosts don't know much about payflow, less about paths, and even less about permissions regarding both. 5. Try looking through the module payflowpro.php and the function pfpro.php near the top to make sure none of the default settings are causing problems for your configuration. There is a section where you can hard code in the paths, proxy server, etc. and there's a section where you can tell pfpro to look in the php.ini for the paths, etc. If you get through all that and can't get it, let me know and I'll send a screenie of my admin config and my pfpro.php and payflowpro.php files and you can try them. At least that way you'll know if its your server or if its your files. Mind you I'm no expert in this, more just a hack, and I spent 1 day alone working on this stupid thing. The contrib is really misleading IMO in that it says, its really an easy install just drag and drop! Well, not so for everybody I'd say.
  12. mthierfelder

    Paypal Pay Flow Pro

    I guess you're right, I downloaded another payflow module and ripped the /bin files from it. You could also get them straight from the dev kit from Paypal too. This is the contrib that I got my files from: http://www.oscommerce.com/community/contri.../search,payflow Good luck.
  13. mthierfelder

    Paypal Pay Flow Pro

    Finally got it working today. The problem was the path to the files, I used this contrib: http://www.oscommerce.com/community/contributions,1019 to get it working....there are others, but this one works. I added a complete install file that details how to install the stupid thing and get all the paths set up properly. Give me a PM if you can't figure it after trying this contrib.
  14. mthierfelder

    Paypal Pay Flow Pro

    Also getting this error. I don't use a proxy server. I'm hosted with GoDaddy, just to put that out there.