Jump to content


  • Content count

  • Joined

  • Last visited

1 Follower

Profile Information

  • Real Name
  1. DarrenWu

    [Contrib] Make An Offer

    Oooo, I see. thanks for your help. now mine is working. B)
  2. DarrenWu

    [Contrib] Make An Offer

    Nice contribution. I just installed on my site. works fine. But i realize a little issue when i use accept dircetly offer. I click on the add to cart, if the offer price is too low to be acceptable, i got a empty shopping cart page. I have to click IE's BACK buttom to get back prev. page to see the error message for offer price too low. That was very confusing. Suggestion: 1. when click on the add to cart, confirm the offer price first. if too low, then do not go to next page and show red error message, or a popup java windows to tells the customer what 's going wrong. Suggestion: 2. click on add to cart, go to the shopping cart page. but if the offer price too low, then show the error message on top off the shopping cart page. Also, add the "Back" buttom, allow customers can go back to that product infor. page to try again. Can any one help me to make my suggestion become real? Thanks again for the nice fuction.
  3. I see, i was thinking about the wrong way. Thanks
  4. I found the way to slove this problem: in admin/stats_discount_coupons.php (Line 120) Replace *************** $coupons_query_raw = "select dc.coupons_id, dc.coupons_discount_percent, dc.number_available, COUNT(dcto.discount_coupons_to_orders_id) AS use_count from ".TABLE_DISCOUNT_COUPONS." AS dc left join ".TABLE_DISCOUNT_COUPONS_TO_ORDERS." AS dcto ON dc.coupons_id = dcto.coupons_id group by dc.coupons_id order by use_count desc, dc.coupons_id asc"; *************** with **************** $coupons_query_raw = "select dc.coupons_id, dc.coupons_discount_percent, dc.coupons_number_available, COUNT(dcto.discount_coupons_to_orders_id) AS use_count from ".TABLE_DISCOUNT_COUPONS." AS dc left join ".TABLE_DISCOUNT_COUPONS_TO_ORDERS." AS dcto ON dc.coupons_id = dcto.coupons_id group by dc.coupons_id order by use_count desc, dc.coupons_id asc"; ***************
  5. I got exactly problem on my shop. no problem if i dont setup Max Order. need help thanks
  6. I got error message in Discount Coupon Codes Usage Information after I upgarde to v.2.0 ---------------------- 1054 - Unknown column 'dc.number_available' in 'field list' select dc.coupons_id, dc.coupons_discount_percent, dc.number_available, COUNT(dcto.discount_coupons_to_orders_id) AS use_count from discount_coupons AS dc left join discount_coupons_to_orders AS dcto ON dc.coupons_id = dcto.coupons_id group by dc.coupons_id order by use_count desc, dc.coupons_id asc limit 0, 10 [TEP STOP] ----------------------------- any idea
  7. DarrenWu

    AJAX Attribute Manager support

    I install AJAX Attribute Manager on 2 stores on 2 different hosting. One is working fine. But another one got error message in admin/categories.php(When I tried to add or edit products): --------------- Server Requirement Error: register_globals is disabled in your PHP configuration. This can be enabled in your php.ini configuration file or in the .htaccess file in your catalog directory. -------------- I put php.ini (with register_globals turned on) just like below: Please help me. Thanks ;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Considerations; ;;;;;;;;;;;;;;;;;;;;;;;;;;; ; If you would like to change the PHP environment for any PHP files ; in your account, make the changes to this file. Then copy this file to ; all directories, including subdirectories, that have PHP files in them. ; ; NOTE: If you do not copy this file to all directories and subdirectories ; with PHP files, your changes here will not affect those files in other ; directories. ;;;;;;;;;;;;;;;;;;; ; About this file; ;;;;;;;;;;;;;;;;;;; ; This file controls many aspects of PHP's behavior. In order for PHP to ; read it, it must be named 'php.ini'. PHP looks for it in the current ; working directory, in the path designated by the environment variable ; PHPRC, and in the path that was defined in compile time (in that order). ; Under Windows, the compile-time path is the Windows directory. The ; path in which the php.ini file is looked for can be overriden using ; the -c argument in command line mode. ; ; The syntax of the file is extremely simple. Whitespace and Lines ; beginning with a semicolon are silently ignored (as you probably guessed). ; Section headers (e.g. [Foo]) are also silently ignored, even though ; they might mean something in the future. ; ; Directives are specified using the following syntax: ; directive = value ; Directive names are *case sensitive* - foo=bar is different from FOO=bar. ; ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression ; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo"). ; ; Expressions in the INI file are limited to bitwise operators and parentheses: ; | bitwise OR ; & bitwise AND ; ~ bitwise NOT ; ! boolean NOT ; ; Boolean flags can be turned on using the values 1, On, True or Yes. ; They can be turned off using the values 0, Off, False or No. ; ; An empty string can be denoted by simply not writing anything after the equal ; sign, or by using the None keyword: ; ; foo = ; sets foo to an empty string ; foo = none ; sets foo to an empty string ; foo = "none"; sets foo to the string 'none' ; ; If you use constants in your value, and these constants belong to a dynamically ; loaded extension (either a PHP extension or a Zend extension), you may only ; use these constants *after* the line that loads the extension. ; ; All the values in the php.ini-dist file correspond to the builtin ; defaults (that is, if no php.ini is used, or if you delete these lines, ; the builtin defaults will be identical). ;;;;;;;;;;;;;;;;;;;; ; Language Options; ;;;;;;;;;;;;;;;;;;;; engine = On; Enable the PHP scripting language engine under Apache short_open_tag = On; allow the <? tag. otherwise, only <?php and <script> tags are recognized. asp_tags = Off; allow ASP-style <% %> tags precision = 14; number of significant digits displayed in floating point numbers y2k_compliance = Off; whether to be year 2000 compliant (will cause problems with non y2k compliant browsers) output_buffering = Off; Output buffering allows you to send header lines (including cookies) ; even after you send body content, in the price of slowing PHP's ; output layer a bit. ; You can enable output buffering by in runtime by calling the output ; buffering functions, or enable output buffering for all files ; by setting this directive to On. implicit_flush = Off; Implicit flush tells PHP to tell the output layer to flush itself ; automatically after every output block. This is equivalent to ; calling the PHP function flush() after each and every call to print() ; or echo() and each and every HTML block. ; Turning this option on has serious performance implications, and ; is generally recommended for debugging purposes only. allow_call_time_pass_reference = On; whether to enable the ability to force arguments to be ; passed by reference at function-call time. This method ; is deprecated, and is likely to be unsupported in future ; versions of PHP/Zend. The encouraged method of specifying ; which arguments should be passed by reference is in the ; function declaration. You're encouraged to try and ; turn this option Off, and make sure your scripts work ; properly with it, to ensure they will work with future ; versions of the language (you will receive a warning ; each time you use this feature, and the argument will ; be passed by value instead of by reference). ; Safe Mode safe_mode = Off safe_mode_exec_dir = safe_mode_allowed_env_vars = PHP_ ; Setting certain environment variables ; may be a potential security breach. ; This directive contains a comma-delimited ; list of prefixes. In Safe Mode, the ; user may only alter environment ; variables whose names begin with the ; prefixes supplied here. ; By default, users will only be able ; to set environment variables that begin ; with PHP_ (e.g. PHP_FOO=BAR). ; Note: If this directive is empty, PHP ; will let the user modify ANY environment ; variable! safe_mode_protected_env_vars = LD_LIBRARY_PATH ; This directive contains a comma- ; delimited list of environment variables, ; that the end user won't be able to ; change using putenv(). ; These variables will be protected ; even if safe_mode_allowed_env_vars is ; set to allow to change them. disable_functions = ; This directive allows you to disable certain ; functions for security reasons. It receives ; a comma separated list of function names. ; This directive is *NOT* affected by whether ; Safe Mode is turned on or off. ; Colors for Syntax Highlighting mode. Anything that's acceptable in <font color=???> would work. highlight.string = #DD0000 highlight.comment = #FF8000 highlight.keyword = #007700 highlight.bg = #FFFFFF highlight.default = #0000BB highlight.html = #000000 ; Misc expose_php = On ; Decides whether PHP may expose the fact that it is installed on the ; server (e.g., by adding its signature to the Web server header). ; It is no security threat in any way, but it makes it possible ; to determine whether you use PHP on your server or not. ;;;;;;;;;;;;;;;;;;; ; Resource Limits; ;;;;;;;;;;;;;;;;;;; max_execution_time = 30 ; Maximum execution time of each script, in seconds memory_limit = 8M ; Maximum amount of memory a script may consume (8MB) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Error handling and logging; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; error_reporting is a bit-field. Or each number up to get desired error reporting level ; E_ALL - All errors and warnings ; E_ERROR - fatal run-time errors ; E_WARNING - run-time warnings (non fatal errors) ; E_PARSE - compile-time parse errors ; E_NOTICE - run-time notices (these are warnings which often result from a bug in ; your code, but it's possible that it was intentional (e.g., using an ; uninitialized variable and relying on the fact it's automatically ; initialized to an empty string) ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup ; E_CORE_WARNING - warnings (non fatal errors) that occur during PHP's initial startup ; E_COMPILE_ERROR - fatal compile-time errors ; E_COMPILE_WARNING - compile-time warnings (non fatal errors) ; E_USER_ERROR - user-generated error message ; E_USER_WARNING - user-generated warning message ; E_USER_NOTICE - user-generated notice message ; Examples: ; error_reporting = E_ALL & ~E_NOTICE ; show all errors, except for notices ; error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR; show only errors error_reporting = E_ALL & ~E_NOTICE ; Show all errors except for notices display_errors = On; Print out errors (as a part of the output) ; For production web sites, you're strongly encouraged ; to turn this feature off, and use error logging instead (see below). ; Keeping display_errors enabled on a production web site may reveal ; security information to end users, such as file paths on your Web server, ; your database schema or other information. display_startup_errors = Off ; Even when display_errors is on, errors that occur during ; PHP's startup sequence are not displayed. It's strongly ; recommended to keep display_startup_errors off, except for ; when debugging. log_errors = On ; ; As stated above, you're strongly advised to use error logging in place of ; error displaying on production web sites. track_errors = Off; Store the last error/warning message in $php_errormsg (boolean) ;error_prepend_string = "<font color=ff0000>" ; string to output before an error message ;error_append_string = "</font>" ; string to output after an error message error_log = error_log ; error_log = error_log ; warn_plus_overloading = Off ; warn if the + operator is used with strings ;;;;;;;;;;;;;;;;; ; Data Handling; ;;;;;;;;;;;;;;;;; ; Note - track_vars is ALWAYS enabled as of PHP 4.0.3 variables_order = "EGPCS"; This directive describes the order in which PHP registers ; GET, POST, Cookie, Environment and Built-in variables (G, P, ; C, E & S respectively, often referred to as EGPCS or GPC). ; Registration is done from left to right, newer values override ; older values. register_globals = On ; Whether or not to register the EGPCS variables as global ; variables. You may want to turn this off if you don't want ; to clutter your scripts' global scope with user data. This makes ; most sense when coupled with track_vars - in which case you can ; access all of the GPC variables through the $HTTP_*_VARS[], ; variables. ; You should do your best to write your scripts so that they do ; not require register_globals to be on; Using form variables ; as globals can easily lead to possible security problems, if ; the code is not very well thought of. register_argc_argv = On ; This directive tells PHP whether to declare the argv&argc ; variables (that would contain the GET information). If you ; don't use these variables, you should turn it off for ; increased performance post_max_size = 55M ; Maximum size of POST data that PHP will accept. gpc_order = "GPC"; This directive is deprecated. Use variables_order instead. ; Magic quotes magic_quotes_gpc = On ; magic quotes for incoming GET/POST/Cookie data magic_quotes_runtime= Off ; magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. magic_quotes_sybase = Off ; Use Sybase-style magic quotes (escape ' with '' instead of \') ; automatically add files before or after any PHP document auto_prepend_file = auto_append_file = ; As of 4.0b4, PHP always outputs a character encoding by default in ; the Content-type: header. To disable sending of the charset, simply ; set it to be empty. ; PHP's built-in default is text/html default_mimetype = "text/html" ;default_charset = "iso-8859-1" ;;;;;;;;;;;;;;;;;;;;;;;;; ; Paths and Directories; ;;;;;;;;;;;;;;;;;;;;;;;;; include_path = ".:/usr/lib/php:/usr/local/lib/php" ; doc_root = ; the root of the php pages, used only if nonempty user_dir = ; the directory under which php opens the script using /~username, used only if nonempty extension_dir = ./ ; directory in which the loadable extensions (modules) reside enable_dl = On ; Whether or not to enable the dl() function. ; The dl() function does NOT properly work in multithreaded ; servers, such as IIS or Zeus, and is automatically disabled ; on them. ;;;;;;;;;;;;;;;; ; File Uploads; ;;;;;;;;;;;;;;;; file_uploads = On ; Whether to allow HTTP file uploads ;upload_tmp_dir = ; temporary directory for HTTP uploaded files (will use system default if not specified) upload_max_filesize = 2M ; Maximum allowed size for uploaded files ;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions; ;;;;;;;;;;;;;;;;;;;;;; ; if you wish to have an extension loaded automaticly, use the ; following syntax: extension=modulename.extension ; for example, on windows, ; extension=msql.dll ; or under UNIX, ; extension=msql.so ; Note that it should be the name of the module only, no directory information ; needs to go here. Specify the location of the extension with the extension_dir directive above. ;zend_optimizer.optimization_level=15 ;zend_extension="/usr/local/Zend/lib/ZendOptimizer.so" ;Windows Extensions ;Note that MySQL and ODBC support is now built in, so no dll is needed for it. ; ;extension=php_cpdf.dll ;extension=php_cybercash.dll ;extension=php_db.dll ;extension=php_dbase.dll ;extension=php_domxml.dll ;extension=php_dotnet.dll ;extension=php_exif.dll ;extension=php_fdf.dll ;extension=php_gd.dll ;extension=php_gettext.dll ;extension=php_ifx.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_java.dll ;extension=php_ldap.dll ;extension=php_mhash.dll ;extension=php_mssql65.dll ;extension=php_mssql70.dll ;extension=php_oci8.dll ;extension=php_oracle.dll ;extension=php_pdf.dll ;extension=php_pgsql.dll ;extension=php_sablot.dll ;extension=php_swf.dll ;extension=php_sybase_ct.dll ;extension=php_zlib.dll ;;;;;;;;;;;;;;;;;;; ; Module Settings; ;;;;;;;;;;;;;;;;;;; [Syslog] define_syslog_variables = Off; Whether or not to define the various syslog variables, ; e.g. $LOG_PID, $LOG_CRON, etc. Turning it off is a ; good idea performance-wise. In runtime, you can define ; these variables by calling define_syslog_variables() [mail function] ;SMTP = localhost ; ;sendmail_from = me@localhost.com ; sendmail_path = /usr/sbin/sendmail -t -i ; [Debugger] debugger.host = localhost debugger.port = 7869 debugger.enabled = False [Logging] ; These configuration directives are used by the example logging mechanism. ; See examples/README.logging for more explanation. ;logging.method = db ;logging.directory = /path/to/log/directory [Java] ;java.class.path = .\php_java.jar ;java.home = c:\jdk ;java.library = c:\jdk\jre\bin\hotspot\jvm.dll ;java.library.path = .\ [SQL] sql.safe_mode = Off [ODBC] ;uodbc.default_db = Not yet implemented ;uodbc.default_user = Not yet implemented ;uodbc.default_pw = Not yet implemented uodbc.allow_persistent = On; allow or prevent persistent links uodbc.check_persistent = On; check that a connection is still validbefore reuse uodbc.max_persistent = -1; maximum number of persistent links. -1 means no limit uodbc.max_links = -1; maximum number of links (persistent+non persistent). -1 means no limit uodbc.defaultlrl = 4096; Handling of LONG fields. Returns number of bytes to variables, 0 means passthru uodbc.defaultbinmode = 1; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation of uodbc.defaultlrl ; and uodbc.defaultbinmode [MySQL] mysql.allow_persistent = On; allow or prevent persistent link mysql.max_persistent = -1; maximum number of persistent links. -1 means no limit mysql.max_links = -1; maximum number of links (persistent+non persistent). -1 means no limit mysql.default_port = ; default port number for mysql_connect(). If unset, ; mysql_connect() will use the $MYSQL_TCP_PORT, or the mysql-tcp ; entry in /etc/services, or the compile-time defined MYSQL_PORT ; (in that order). Win32 will only look at MYSQL_PORT. mysql.default_socket = ; default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults mysql.default_host = ; default host for mysql_connect() (doesn't apply in safe mode) mysql.default_user = ; default user for mysql_connect() (doesn't apply in safe mode) mysql.default_password = ; default password for mysql_connect() (doesn't apply in safe mode) ; Note that this is generally a *bad* idea to store passwords ; in this file. *Any* user with PHP access can run ; 'echo cfg_get_var("mysql.default_password")' and reveal that ; password! And of course, any users with read access to this ; file will be able to reveal the password as well. [mSQL] msql.allow_persistent = On; allow or prevent persistent link msql.max_persistent = -1; maximum number of persistent links. -1 means no limit msql.max_links = -1; maximum number of links (persistent+non persistent). -1 means no limit [PostgresSQL] pgsql.allow_persistent = On; allow or prevent persistent link pgsql.max_persistent = -1; maximum number of persistent links. -1 means no limit pgsql.max_links = -1; maximum number of links (persistent+non persistent). -1 means no limit [Sybase] sybase.allow_persistent = On; allow or prevent persistent link sybase.max_persistent = -1; maximum number of persistent links. -1 means no limit sybase.max_links = -1; maximum number of links (persistent+non persistent). -1 means no limit ;sybase.interface_file = "/usr/sybase/interfaces" sybase.min_error_severity = 10; minimum error severity to display sybase.min_message_severity = 10; minimum message severity to display sybase.compatability_mode = Off; compatability mode with old versions of PHP 3.0. ; If on, this will cause PHP to automatically assign types to results ; according to their Sybase type, instead of treating them all as ; strings. This compatability mode will probably not stay around ; forever, so try applying whatever necessary changes to your code, ; and turn it off. [Sybase-CT] sybct.allow_persistent = On ; allow or prevent persistent link sybct.max_persistent = -1 ; maximum number of persistent links. -1 means no limit sybct.max_links = -1 ; maximum number of links (persistent+non persistent). -1 means no limit sybct.min_server_severity = 10; minimum server message severity to display sybct.min_client_severity = 10; minimum client message severity to display [bcmath] bcmath.scale = 0; number of decimal digits for all bcmath functions [browscap] ;browscap = extra/browscap.ini [Informix] ifx.default_host = ; default host for ifx_connect() (doesn't apply in safe mode) ifx.default_user = ; default user for ifx_connect() (doesn't apply in safe mode) ifx.default_password = ; default password for ifx_connect() (doesn't apply in safe mode) ifx.allow_persistent = On; allow or prevent persistent link ifx.max_persistent = -1; maximum number of persistent links. -1 means no limit ifx.max_links = -1; maximum number of links (persistent+non persistent). -1 means no limit ifx.textasvarchar = 0; if set on, select statements return the contents of a text blob instead of it's id ifx.byteasvarchar = 0; if set on, select statements return the contents of a byte blob instead of it's id ifx.charasvarchar = 0; trailing blanks are stripped from fixed-length char columns. May help the life ; of Informix SE users. ifx.blobinfile = 0; if set on, the contents of text&byte blobs are dumped to a file instead of ; keeping them in memory ifx.nullformat = 0; NULL's are returned as empty strings, unless this is set to 1. In that case, ; NULL's are returned as string 'NULL'. [Session] session.save_handler = files ; handler used to store/retrieve data session.save_path = /tmp ; argument passed to save_handler ; in the case of files, this is the ; path where data files are stored session.use_cookies = 1 ; whether to use cookies session.name = PHPSESSID ; name of the session ; is used as cookie name session.auto_start = 0 ; initialize session on request startup session.cookie_lifetime = 0 ; lifetime in seconds of cookie ; or if 0, until browser is restarted session.cookie_path = / ; the path the cookie is valid for session.cookie_domain = ; the domain the cookie is valid for session.serialize_handler = php ; handler used to serialize data ; php is the standard serializer of PHP session.gc_probability = 1 ; percentual probability that the ; 'garbage collection' process is started ; on every session initialization session.gc_maxlifetime = 1440 ; after this number of seconds, stored ; data will be seen as 'garbage' and ; cleaned up by the gc process session.referer_check = ; check HTTP Referer to invalidate ; externally stored URLs containing ids session.entropy_length = 0 ; how many bytes to read from the file session.entropy_file = ; specified here to create the session id ; session.entropy_length = 16 ; session.entropy_file = /dev/urandom session.cache_limiter = nocache; set to {nocache,private,public} to ; determine HTTP caching aspects session.cache_expire = 180 ; document expires after n minutes session.use_trans_sid = 1 ; use transient sid support if enabled ; by compiling with --enable-trans-sid [MSSQL] ;extension=php_mssql.dll mssql.allow_persistent = On; allow or prevent persistent link mssql.max_persistent = -1; maximum number of persistent links. -1 means no limit mssql.max_links = -1; maximum number of links (persistent+non persistent). -1 means no limit mssql.min_error_severity = 10; minimum error severity to display mssql.min_message_severity = 10; minimum message severity to display mssql.compatability_mode = Off; compatability mode with old versions of PHP 3.0. [Assertion] ;assert.active = On; assert(expr); active by default ;assert.warning = On; issue a PHP warning for each failed assertion. ;assert.bail = Off; don't bail out by default. ;assert.callback = 0; user-function to be called if an assertion fails. ;assert.quiet_eval = 0; eval the expression with current error_reporting(). set to true if you want error_reporting(0) around the eval(). [Ingres II] ingres.allow_persistent = On; allow or prevent persistent link ingres.max_persistent = -1; maximum number of persistent links. (-1 means no limit) ingres.max_links = -1; maximum number of links, including persistents (-1 means no limit) ingres.default_database = ; default database (format : [node_id::]dbname[/srv_class] ingres.default_user = ; default user ingres.default_password = ; default password [Verisign Payflow Pro] pfpro.defaulthost = "test.signio.com"; default Signio server pfpro.defaultport = 443; default port to connect to pfpro.defaulttimeout = 30; default timeout in seconds ; pfpro.proxyaddress = ; default proxy IP address (if required) ; pfpro.proxyport = ; default proxy port ; pfpro.proxylogon = ; default proxy logon ; pfpro.proxypassword = ; default proxy password ; Local Variables: ; tab-width: 4 ; End: [Zend] zend_optimizer.optimization_level=15 zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-2_6_2 zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-2_6_2 zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so
  8. DarrenWu

    NEW! Complete Order Editing Tool!

    I tried above changes, it doesn't work on my. mine is clean installation store + QTP 4.25 + order editor 2.62 my item is Rings, Ring has different size. each size has different quantities. when i try to delete a product from a order with order editor. the quantity of that order only restock to the item inventory. but we really need that quantity also restock to that attributes.
  9. Great contribution, but I got a funny problem: all my prouducts don't have the weight , but it will auto fill the weight fild. any idea???
  10. DarrenWu

    USPS Labels not working

    Great contribution, but I got a funny problem: all my prouduct don't have the weight , but it will auto fill the weight fild. any idea??? Please help! Thanks a lot
  11. I did search on contributions database, there is very good one "QTP 4.25", but the installation of this contribution is better to do it on clean OScommerce store. My store already has more than 10 additional function added. Tired to use 3rd party Comparison sofeware to Help me on finding the changes on QTP 4.25 with my store files. Almost is mission impossible. There is another one in download section call "Quantity for Product Attributes Mod", but the author of the latest updated notify on his post: "Pay attention: The change I have done only takes care of products with attibute quantity (as all of my products have attibute quantity) . I did not handle not tested the case when some products have no attibute quantity, and I should think it will not work..." Can anyone can make a better one for the function or help us on fixing the bug in "Quantity for Product Attributes Mod" I think there should be many people need this function for their store. Thanks a lot!!
  12. Hi Kgt, Installed your new update package, it works great. I have an another idea for your Addon. Right now the Max Use function is per customer. As we know Dell.com they also have Max Use limited on their coupons. But the limitation is set for whole store. That means you can add one more limited usage per coupon code. The 12345 is the coupon code that allow 1 time per each customer and also "n" times for the whole store customers.
  13. Kgt, I have a suggestion about the codes for Max Use in your addon. The codes you wrote for Max Use is: if( $row['max_use'] != '0' ) { //if max_use==0, then use is unlimited, otherwise, we need to verify the customer hasn't used this coupon more than max_use times $check_use_query = tep_db_query($sql = "select count(*) as cnt from ".TABLE_ORDERS." o inner join ".TABLE_DISCOUNT_COUPONS_TO_ORDERS." dc2o on dc2o.orders_id=o.orders_id and o.customers_id = 2 and dc2o.coupons_id='".tep_db_prepare_input( $HTTP_POST_VARS['coupon'] )."'"); $use = tep_db_fetch_array( $check_use_query ); if( $row['max_use'] > $use['cnt'] ) $passed = true; //proceed if max_use is greater than the number of times this customer has used the code else { $error_message[] = sprintf( ENTRY_DISCOUNT_COUPON_USE_ERROR, $use['cnt'], $row['max_use'] ); //display the error message for number of times used } I don know why it doesn't work at all, but looks like if we try to get the value of how many times the coupon had been used, the program need to go throw orders and discount_coupons_to_orders 2 tables. If there are a lot of orders in those 2 tables, it will take longer time to match those orders. I think the better way to count how many times the coupon already been used is to create a new table call "coupons_used_times" (with coupon and times )only for counting the times. so $row['max_use'] just need to match the value from the "coupons_used_times". Sorry about my poor English and knowledge on PHP. Just for an idea
  14. Kgt, I download and installed your newest update package ot_discount_coupon_codes_1.2_1, I have the same problem, looks like the "Max Use" doesn't work. Hopefully, you can double check the codes. Thank you very much for this nice addon!!!
  15. Guys, i Need help on chooseing the best RAM system and Package tracking Contribution(support UPS, USPS, Fedex) for 2.2 MS2. there are too many similar Contributions, don't know which one is with powerful function and great working condition. Please help!!