Jump to content

dr_lucas

Members
  • Content count

    357
  • Joined

  • Last visited

  • Days Won

    7

Reputation Activity

  1. Thanks
    dr_lucas reacted to raiwa in ULTIMATE Seo Urls 5 - by FWR Media   
    I found a fix for this error:
    In all product page modules (product_info.php, product_reviews.php and product_reviews_info.php)
    Find:
    $result = Usu_Main::i()->query( $this->query ); $text_array = tep_db_fetch_array( $result ); Add below:
    if ($text_array == null) { return false; }
  2. Thanks
    dr_lucas reacted to raiwa in QTPro BS   
    Thanks Steve @altoid, just uploaded the new package with the fixes
  3. Thanks
    dr_lucas reacted to raiwa in QTPro BS   
    QTPro BS 5.0

    I'm working on a new version based on QTpro for osc 2.3 version 4.6.1 plus newer updates and fixes.

    Planned Changes:
    coding updates for latest 2.3.4 BS EDGE Community version with hardcoded filenames, database table names, paths and superglobals content modules for product info, shopping cart hooked modifications or separate functions where possible to avoid core file changes (stock checks etc in checkout pages) final product prices shown in option/attribute combinations on product info page also for more than one option/combinations general code clean up language constants/definitions for all texts for full multilanguage support To do list:
    update qtprodoctor.php
    hardcoded stuff, superglobals
    language constants/definitions update stats_low_stock_attrib.php
    hardcoded stuff, superglobals
    language constants/definitions update stock.php
    hardcoded stuff, superglobals
    language constants/definitions replace mods in admin/boxes/tools.php by separate file replace mods in admin/boxes/reports.php by separate file avoid mods in admin/includes/functions/general.php
    load function file in modules
    replace core function mods by own functions? modularize product info options modularize product info stock table versions for Modular Product Page by kymation alternative product listing module for modularized shopping cart order class extension to avoid mods in core order class replace all mods in checkout files by hooks? check compatibility with ajax attribute manager add support for attribute sort order update instructions  
    It would be great if there appear testers for the mods.
    Who has the old version already installed:
    - replace the admin files
    - upload and install the product info content modules and (IMPORTANT!) uncomment the complete options/attributes section in product_info.php
     
    For new installations:
    - instructions are not updated yet
    follow the old instructions except
    A.: don't modify  admin/includes/boxes/tools.php and reports.php, upload the nwe files instead
    B.: upload and install the product info content modules and (IMPORTANT!) uncomment the complete options/attributes section in product_info.php instead to apply the mods
     
     
     
    Most important for now are the changes in the product info option modules to show final prices according to the option selection even if there are muliple option combinations (single drop down and single radios)
     
    GitHub repository
     
    Thanks and best regards
    Rainer
  4. Thanks
    dr_lucas reacted to mommaroodles in Credit Class & Gift Vouchers for 2.3.4   
    I've just uploaded a working Credit Class, Gift Vouchers and Coupon Codes for osCommerce 2.3.3.4 - it can be found here Credit Class, Gift Vouchers & Discount Coupons osC2.3.3.4 Complete set ready to drop on top of a clean installation of osCommerce 2.3.3.4.
  5. Thanks
    dr_lucas reacted to mommaroodles in Credit Class & Gift Vouchers for 2.3.4   
    I've been using it for years for many clients, the problem is that here is too many of them that dont actually work - the one and only one that did ever work feel between the cracks and was overlooked by so many. Too many well meaning contributors have messed up the addon with little fixes to the extent that the original author simply gave up and hasnt been seen on this form since 2010.
     
    Things do work - you just got to use the right addon - I installed CCGV working on all sites since osC MS1 in less than 12 hours and it takes me less than a day to do CCGV, SPPC and Quantity Price Breaks
  6. Like
    dr_lucas got a reaction from Jack_mcs in SiteMonitor   
    Jack already posted the link (https://apps.oscommerce.com/2W7tC&sitemonitor-v3-4) and it's working fine, the docs are there, so not sure what's the issue, Steve:
     

  7. Like
    dr_lucas reacted to piernas in NEW! Complete Order Editing Tool!   
    I made some kind of 'modularization' of this addon time ago and I'm currently using it.
    When I found several errors I split the module into templates, actions and common functions because I found many patches were being applied on the ajax page or in the standard one over time and both codes made different things, so I made both to run under the same code - that way any fix will affect both versions and code is much more readable and workable.
    As dr_lucas I also use some custom fields and mods and I didn't find the time to make a version for download that doesn't have all of those mods. Also, I use QTPro. One of the big flaws on this addon is that it messes the stock quantities when adding or substracting units for a product with attributes. This is because oscommerce doesn't save database id for attributes in the database but instead saves attribute localized names. I've fixed it by adding a new field on the database that contains product attribute id that is saved on checkout - so later can be used with this addon to fix stock when you add or substract quantities of an order.
    Anyway I can share it if some of you want to work on it. Just let me know.
     
     
  8. Like
    dr_lucas reacted to FWR Media in ULTIMATE Seo Urls 5 - by FWR Media   
    Well spotted!
     
    I can't believe this hasn't been picked up before.
     
    That is indeed a typo, a carry over from the old USU5.
     
    Everyone should change this code.
     
    Thanks for the report Manniman.
  9. Like
    dr_lucas reacted to Manniman in ULTIMATE Seo Urls 5 - by FWR Media   
    This didn't work for me. I thought it was because I use the utf-8 character set. So I included '™' => '', '©' => '', '®' => '' to my character conversion table.
     
    But now I found this line in page_modules.php:
     

    $pattern = ( defined( 'SEO_REMOVE_ALL_SPEC_CHARS' ) && SEO_REMOVE_ALL_SPEC_CHARS == 'true' ) ? "@[^\sa-z0-9]@i" : "@[!#\$%&'\"()\*\+,\-\./:;<=>\?\@\[\]\^_`\{|\}~]+@";
     
    after changing this line to:
     

    $pattern = ( defined( 'USU5_REMOVE_ALL_SPEC_CHARS' ) && USU5_REMOVE_ALL_SPEC_CHARS == 'true' ) ? "@[^\sa-z0-9]@i" : "@[!#\$%&'\"()\*\+,\-\./:;<=>\?\@\[\]\^_`\{|\}~]+@";
     
    it worked as you described.
  10. Like
    dr_lucas got a reaction from drferrari in NEW! Complete Order Editing Tool!   
    You've got several problems here:
    1) Your English makes it a bit hard to understand what you are trying to say, better use a spell checker next time.
    2) You should post the code of line 37, also a few lines before and after can help.
    3) You are posting in osCommerce forums, which are kind of dead or nobody really seem to care anymore about reading topics, not to mention helping each other these days, except for very very few nice folks, so don't expect much of help here...
    Having said that, I will try to help you, if I can.
  11. Like
    dr_lucas reacted to stefan21 in KissER Error Handling & Debugging [contribution]   
    For 2.3.4 users:
     
    This should work in includes/functions/database.php:
     
    -snip-
     
      function tep_db_query($query, $link = 'db_link') {
        global $$link;

        if (defined('STORE_DB_TRANSACTIONS') && (STORE_DB_TRANSACTIONS == 'true')) {
          error_log('QUERY ' . $query . "\n", 3, STORE_PAGE_PARSE_TIME_LOG);
        }
        $start_time = microtime( true );
        $result = mysqli_query($$link, $query) or tep_db_error($query, mysqli_errno($$link), mysqli_error($$link));
        if ( class_exists( 'KissER' ) ) {
          KissER::q( round( ( microtime( true ) - $start_time ), 4 ), $query );
        }
        if (defined('STORE_DB_TRANSACTIONS') && (STORE_DB_TRANSACTIONS == 'true')) {
           $result_error = mysqli_error();
           error_log('RESULT ' . $result . ' ' . $result_error . "\n", 3, STORE_PAGE_PARSE_TIME_LOG);
        }

        return $result;
      }
     
    -snip-
     
    regards,
    stefan
  12. Like
    dr_lucas reacted to Jack_mcs in Google XML Sitemap SEO   
    Good point. Even though I deal with SEO all the time, I still fall into the trap of thinking of things in relation to google.
     
    But I'm still wondering if even 10 MB would be reached. Have you tested this on a site that would create multiple files?
  13. Like
    dr_lucas reacted to Jack_mcs in Google XML Sitemap SEO   
    @dr_lucas I haven't looked at that part of the code in a while. I know it definitely creates multiple map files if the number of products is over 50,000. I don't recall it checking for file size but the limit is 50 MB, not 10 MB: see here. I suppose it is possible for a file to reach that large but I've not seen it yet.
  14. Like
    dr_lucas reacted to TomB01 in FedEx - Web Services v9   
    This is another one where the module/code makes me feel pretty stupid.  This is entirely setup in the admin-configuration for the FedEx module.  "International Ground" apparently means FedEx Ground if you are in an international country (Canada).  For some reason, I thought "International Ground" would work for a Canadian address.  Disable it, and the domestic rate option of "FedEx Ground" disappears from the checkout.  "FedEx Ground" does not actually show up for any addresses, including Canada.  The only ground service that shows up is "Ground Home Delivery" for US addresses (if your store is in the US and you enable "Ground").
  15. Like
    dr_lucas reacted to Jack_mcs in SiteMonitor   
    I'll put this on the list of things for the next version.
  16. Like
    dr_lucas got a reaction from Gyakutsuki in FedEx - Web Services v9   
    in your catalog/includes/modules/shipping/fedexwebservices.php
     
    Try this:
     
    Find:

    if($ShipmentRateDetail->ShipmentRateDetail->RateType=='PAYOR_LIST_PACKAGE') // if($ShipmentRateDetail->ShipmentRateDetail->RateType==('PAYOR_LIST_PACKAGE' || 'PAYOR_LIST_SHIPMENT')) // try this if having international quoting errors
     
    Change to:

    // if($ShipmentRateDetail->ShipmentRateDetail->RateType=='PAYOR_LIST_PACKAGE') if($ShipmentRateDetail->ShipmentRateDetail->RateType==('PAYOR_LIST_PACKAGE' || 'PAYOR_LIST_SHIPMENT')) // try this if having international quoting errors
  17. Like
    dr_lucas reacted to DriWashSolutions in FedEx - Web Services v9   
    I've been making mods to the FedEx Label Add-on. I've got it working, and have passed FedEx Certification (everyone printing labels must now be certified by FedEx). As soon as I get it working 100%, I plan to give it back to the community.
  18. Like
    dr_lucas reacted to mommaroodles in AJAX Attribute Manager support   
    This is what seems to be working for me on osCommerce 2.3.3.2 - Apache 2.4.4, PHP 5.4.16 and MySQL 5.6.12
     
    IN admin/includes/application_top.php
     

    error_reporting(E_ALL & E_ERROR);
     
    IN admin/attributeManager/classes/amDB.php
     

    <?php /* ================================================================================================================== AJAX-AttributeManager-for-osc2.3.1-V2 ================================================================================================================== Addons installed in this file: - Osc Version Upgrade from v2.3.3.1 to v2.3.3.2 ================================================================================================================== $Id: DB.class.php,v 1.0 21/02/06 Sam West$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Released under the GNU General Public License Copyright © 2006 Kangaroo Partners http://kangaroopartners.com osc@[member='KangarooPartners'].com */ /** * OSC Database functions wrapper - just in case they decide to release ms3 the moment i release this - he he */ class amDB { /** * @[member='author'] Sam West aka Nimmit - osc@[member='KangarooPartners'].com * @package $strQuery sting - sql query string * @[member='Return'] query reference */ public static function query($strQuery) { return tep_db_query($strQuery); } /** * Fetches the next array from a mysql query reference * @[member='author'] Sam West aka Nimmit - osc@[member='KangarooPartners'].com * @[member='param'] $ref - referece from a mysql query * @[member='Return'] array */ public static function fetchArray($ref) { return tep_db_fetch_array($ref); } /** * Gets the field count from a mysql query reference * @[member='author'] Tomasz Iwanow aka TomaszBG - microvision@gmail.com * @[member='param'] $ref - referece from a mysql query * @[member='Return'] int - number of fields in result */ public static function numFields($ref) { return mysqli_field_count($ref); } /*function numFields($ref) { return mysql_num_fields($ref); } /** * Gets the field name from a mysql query reference * @[member='author'] Tomasz Iwanow aka TomaszBG - microvision@gmail.com * @[member='param'] $ref - referece from a mysql query * @[member='param'] $offset - offset of a field * @[member='Return'] string - name of the field */ public static function fieldName($ref,$offset) { return mysqli_fetch_field_direct($ref,$offset); } /*function fieldName($ref,$offset) { return mysql_field_name($ref,$offset); } /** * Counts the number of results from a mysql query referece * @[member='author'] Sam West aka Nimmit - osc@[member='KangarooPartners'].com * @[member='param'] $ref - reference from a mysql query * @[member='Return'] int - number of rows in result */ public static function numRows($ref) { return tep_db_num_rows($ref); } /** * peforms inserts / updates * @[member='author'] Sam West aka Nimmit - osc@[member='KangarooPartners'].com * @[member='param'] $strTable string tablename * @[member='param'] $arrData array data to be inserted/ updated * @[member='param'] $strAction sting - update / insert * @[member='param'] $strParams string additonal where clauses * @[member='Return'] void */ public static function perform($strTable,$arrData,$strAction='insert',$strParams='') { return tep_db_perform($strTable,$arrData,$strAction,$strParams); } /** * Returns a singular result from a mysql query * @[member='param'] $strQuery string - mysql query * @[member='Return'] mixed - first record, first row */ public static function getOne($strQuery) { $res = amDB::query($strQuery); if ($res && amDB::numRows($res)) return tep_db_result($res,0,'next'); return false; } /* function getOne($strQuery) { $res = amDB::query($strQuery); if ($res && amDB::numRows($res)) return mysql_result($res,0,0); return false; } /** * Returns all results from a mysql query * @[member='author'] Sam West aka Nimmit - osc@[member='KangarooPartners'].com * @[member='param'] $strQuery string - mysql query * @[member='Return'] array - all results */ public static function getAll($strQuery) { $res = amDB::query($strQuery); $results = array(); while($row = amDB::fetchArray($res)) $results[] = $row; return $results; } /** * Prepares string for database input * @[member='author'] Sam West aka Nimmit - osc@[member='KangarooPartners'].com * @[member='param'] $str string * @[member='Return'] void */ public static function input($str) { return tep_db_prepare_input($str); } /** * Returns placebo autoincrement value * @[member='access'] public * @[member='param'] $strTable string table name * @[member='param'] $strField string field name * @[member='Return'] mixed */ public static function getNextAutoValue($strTable,$strField) { return (int)amDB::getOne("select max($strField) + 1 as next from $strTable limit 1"); } /** * Some contributions such as the Ultimate SEO URLs have there own * database functions. This can cause the internal, last insert id to be * wrong if the link id isn't included in the mysql_insert_id statement. * For this reason i have not used the default osc function for this one as for some * reason they haven't put the link in their wrapper function. * @[member='author'] Sam West aka Nimmit - osc@[member='KangarooPartners'].com * @[member='param'] $link sting - db link name * @[member='Return'] void */ public static function insertId($link = 'db_link' ) { global $$link; return tep_db_insert_id($$link); } /* function insertId($link = 'db_link' ) { global $$link; return mysql_insert_id($$link); }*/ } ////////////////////////////////////////////////////////////////////////////////////////////////// if ( !function_exists('mysqli_field_count') ) { function mysqli_field_count($result) { return mysql_num_fields($result); } } if ( !function_exists('mysqli_fetch_field_direct') ) { function mysqli_fetch_field_direct($result, $fieldnr) { return mysql_field_name($result, $fieldnr); } } ?>
     
    In admin/attributeManager/classes/stopDirectAccess.class.php
     

    <?php /* $Id: stopDirectAccess.class.php,v 1.0 21/02/06 Sam West$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Released under the GNU General Public License Copyright © 2006 Kangaroo Partners http://kangaroopartners.com osc@[member='KangarooPartners'].com */ require_once('attributeManager/includes/attributeManagerSessionFunctions.inc.php'); /** * Try and stop direct access to the script * As far as i know there is no way for a remote user to set a session var without high jacking the session, in which case it doesn't really matter what this script does anyway. * If there is i will have to rethink this */ class stopDirectAccess { /** * Sets the global session variable * @[member='static'] authorise() * @[member='access'] public * @[member='author'] Sam West aka Nimmit - osc@[member='KangarooPartners'].com * @[member='param'] $sessionVar string session variable name * @[member='Return'] void */ public static function authorise($sessionVar) { amSessionRegister($sessionVar); $GLOBALS[$sessionVar] = stopDirectAccess::makeSessionId(); } /** * deletes the global session variable * @[member='static'] deAuthorise() * @[member='access'] public * @[member='author'] Sam West aka Nimmit - osc@[member='KangarooPartners'].com * @[member='param'] $sessionVar string session variable name * @[member='Return'] void */ public static function deAuthorise($sessionVar) { amSessionUnregister($sessionVar); } /** * Checks the session var * @[member='static'] checkAuthorisation() * @[member='access'] public * @[member='author'] Sam West aka Nimmit - osc@[member='KangarooPartners'].com * @[member='param'] $sessionVar string session variable name * @[member='Return'] void */ public static function checkAuthorisation($sessionVar) { if(!amSessionIsRegistered($sessionVar)) exit("Session not registered - You cant access this page directly"); if($GLOBALS[$sessionVar] != stopDirectAccess::makeSessionId()) exit("Session ids don't match - You cant access this page directly"); } /** * makes encoded session var * @[member='static'] makeSessionId() * @[member='access'] public * @[member='author'] Sam West aka Nimmit - osc@[member='KangarooPartners'].com * @[member='Return'] void */ public static function makeSessionId() { return sha1(md5(AM_VALID_INCLUDE_PASSWORD)); } } ?>
     
    I've done quite a bit of testing and I havent received any further error messages.
  19. Like
    dr_lucas got a reaction from zipicip in ULTIMATE Seo Urls 5 - by FWR Media   
    Thanks for this amazing contribution.
    Got 2 quick questions:
    1)
    I want to add an additional word to the categories URL right after the slash so that it will change
    From:
    http://www.mysite.com/category-info-text-c-##.html?page=1&sort=3a
     
    To:
    http://www.mysite.com/MyExtraText-category-info-text-c-##.html?page=1&sort=3a
    How can I do that?
     
    2)
    I have installed FWR other amazing KissER contribution, but right after installing this FWR USU5 Pro mod - the KissER seems to have completely stopped saving errors to the file (and I know there are still many errors and notices that supposed to be saved). Do you know why and/or how I can fix this please?
  20. Like
    dr_lucas reacted to kymation in $is_read_only   
    I wouldn't say extremely difficult, but certainly time-consuming. I can see your point though. You can probably get a few more years out of it by patching these things by hand. Maybe then you can build a new store with osC 3.x.
     
    Regards
    Jim
  21. Like
    dr_lucas got a reaction from whitewolf2479 in [CONTRIBUTION] 2Checkout IPN / INS (Instant Notification Service)   
    Hi,
     
    This is the discussion thread of the 2Checkout IPN / INS (Instant Notification Service) for osCommerce 2.2 MS2
    I will not be available to support it myself, but I am sure this is going to be a popular module and the community is large enough to offer support, updates & enhancements.
    I released this contribution as a token of my appreciation to all the great people that contributed so much to this wonderful osC project and community in general and to me in particular, this is my payback. :)
     
    Package available here:
    http://addons.oscommerce.com/info/6910
×