Jump to content

ecartz

♥Ambassador
  • Content count

    3,453
  • Joined

  • Last visited

  • Days Won

    55

Everything posted by ecartz

  1. ecartz

    [Contribution] Multi Pickup

    In includes/modules/shipping/multipickup.php, around line 61, find while ($store = tep_db_fetch_array($qstores)) { and change to $this->quotes['methods'] = array(); while ($store = tep_db_fetch_array($qstores)) { One line added. No existing lines changed.
  2. ecartz

    Amazon Pay

    To answer the last question (however belatedly), it costs nothing to offer Amazon Pay on your website. If someone uses it, Amazon charges transaction fees. $.30 per transaction plus 2.9% of the transaction amount. There may be other fees as well in certain circumstances. E.g. 3.9% for cross-border transactions and $20 for a chargeback dispute. Source: https://pay.amazon.com/help/201212280
  3. With mod_rewrite (Apache), you don't even have to redirect. It is quite capable of serving the content of angebot.php when angebot.html is requested. I'm not sure that's necessary. Google is quite capable of crawling .php pages with static content. For example, searching for "Put here your Conditions of Use information." returns results from multiple osCommerce sites, even though that is certainly useless content. Documentation: https://httpd.apache.org/docs/trunk/rewrite/remapping.html High ranked internet tutorial: https://aloneonahill.com/blog/url-rewriting-for-beginners Example: RewriteEngine On RewriteRule ^angebot.html$ angebot.php [L] When angebot.html is requested, that will serve the content from angebot.php . Or with redirect: RewriteEngine On RewriteRule ^angebot.html$ angebot.php [R=308] Change the redirect code as appropriate (e.g. 301, 307, etc.). The default is a 302, but that seems unlikely to be what you want here (302 means that people should continue to request the redirected URL, as the target is only temporary; presumably you'd be doing this permanently). Nginx may have similar capabilities, but I don't know how they work.
  4. While Microsoft Windows only releases a new name once every couple years (rarely as much as four), it releases service packs (now called builds) more often (I counted twenty-four releases since 1995, ignoring NT, 2000, and XP Professional x64). Plus it releases bugfixes every month and occasionally between. In the last six years, @burt has released two named versions: Frozen and Phoenix (Windows had 8.1 and 10 in the same period). Four service pack level versions (Frozen, Phoenix 1.0, 1.1, and 1.2). Less than twenty point versions (compare to seventy or so from Microsoft Windows). I suppose the next level would be to count commits as the equivalent of the individual packages that get installed in the monthly rollup for Microsoft Windows. I don't know the magnitude of that. Apple iOS has eight named releases in the last six years. And twenty-five minor releases. I don't know how many point releases, but it's had more minor releases than Phoenix has had point releases. It's had four point releases in the last month. If fewest version updates is your criterion for evaluating stability, community edition (Frozen/Phoenix) is more stable than Windows or iOS. Of course, one of the problems is that with Windows/iOS, most updates happen in the background whereas Phoenix is still updated manually. So with Phoenix one is more aware of the updates than with the operating systems.
  5. So you want to go to https://www.attias.ch/angebot.html and have it look like https://www.attias.ch/ishop/conditions.php (with different text of course)? If you're OK with changing the name to angebot.php, you could just make copies of the conditions page files. angebot.php from conditions.php includes/languages/german/angebot.php from includes/languages/german/conditions.php In the new file, change require('includes/languages/' . $language . '/conditions.php'); $breadcrumb->add(NAVBAR_TITLE, tep_href_link('conditions.php')); to require('includes/languages/' . $language . '/angebot.php'); $breadcrumb->add(NAVBAR_TITLE, tep_href_link('angebot.php')); and in the language file, change define('NAVBAR_TITLE', 'Conditions of Use'); define('HEADING_TITLE', 'Conditions of Use'); define('TEXT_INFORMATION', 'Put here your Conditions of Use information.'); to reflect what you want to show, e.g. define('NAVBAR_TITLE', 'Unser Angebot'); define('HEADING_TITLE', 'Unser Angebot'); define('TEXT_INFORMATION', <<<'EOTEXT' <h2>Briefmarken</h2> <p>Schweiz ab 1850 Einzelmarken/Sätze ab 40 % SBK</p> <p>Rayon, Strubel, Sitzende Helvetia, Stehende Helvetia, Ziffermarken, Tellknaben und Brustbild, Freimarken, Werbemarken, Pro Juventute, Pro Patria, Blocks, Zuschlagsausgaben, Automaten-Marken, Rollenmarken, Porto Marken, Zusammenhängende, Zwischenstege, Kehrdrucke, Dienstmarken, Stempel Neuheiten, Schweizer Neuheiten, Schweizer Spezialitäten, Jahreszusammenstellungen, Abarten, Postfrisch , Gestempelt, FDC's, Vollstempel, Ersttag Vollstempel, Frankaturware etc... Diverse Länder</p> <p>UNO Genf, Deutschland (in Bearbeitung).<br /> Posten und Sammlungen</p> <p>Kleine Posten und Sammlungen ab 10.-, Kiloware Schweiz und Ausland (Briefmarken zum Ablösen), Länder- und Motivsammlungen je nach Angebot.</p> <p>Wühlkiste - jeder Brief 1.- Stutz - hier findet jeder einen kleinen Schatz. Ansichtskarten</p> <p>Weit über 15'000 Schweizer Ansichtskarten am Lager (Litho, Lichtdrucke, Foto-AK's). Zubehör</p> <p>Briefmarken-Kataloge (SBK, Zumstein, Michel), Sammler-Zubehör von Leuchtturm (einiges am Lager), Lindner auf Bestellung. Hüllen für Ansichtskarten und Briefe, Archivierung etc., Briefmarken Alben, Systemalben für Briefmarken, Briefe, FDC, Ansichtskarten, Vordruckalben, Pinzetten, Lupen etc.<br /> Fehllisten Bearbeitung</p> <p>Wir bearbeiten gerne Ihre Fehllisten für Briefmarken, falls die gewünschten Marken nicht am Lager vorrätig sind, suchen wir Sie gerne kostenlos in Ihrem Auftrag und offerieren Ihnen diese. Hier können Sie uns mitteilen, was Sie suchen, bzw. was Ihnen fehlt.</p> <p>Briefmarken-Neuheiten können bei uns im Abonnement bezogen werden!</p> EOTEXT ); I prefer the nowdoc syntax for multiple line strings. There are also contributions like Page Editor , but it doesn't look like that's been updated for Phoenix. If you have budget, you could pay someone to do that. Either post in the Commercial Support Inquiries forum or PM @burt to see if he has something like that for Phoenix Supporters (annual fee required). If it's important that the name end in .html, then you could configure Apache's mod_rewrite to do that.
  6. ecartz

    Date entered on product copy is wrong.

    Sorry, I guess we should have noticed this earlier. I would try looking at the query that *reads* the date when the product is displayed. Because if changing the database value doesn't fix it, that isn't an insert problem. The query that inserts the date seems to be correct. tep_db_query("insert into " . TABLE_PRODUCTS . " (products_quantity, products_model,products_image, products_price, products_cost, products_date_added, products_date_available, products_weight, products_status, products_tax_class_id, manufacturers_id, products_gtin) values ('" . tep_db_input($product['products_quantity']) . "', '" . tep_db_input($product['products_model']) . "', '" . tep_db_input($product['products_image']) . "', '" . tep_db_input($product['products_price']) . "' , '" . tep_db_input($product['products_cost']) . "', now(), " . (empty($product['products_date_available']) ? "null" : "'" . tep_db_input($product['products_date_available']) . "'") . ", '" . tep_db_input($product['products_weight']) . "', '0', '" . (int)$product['products_tax_class_id'] . "', '" . (int)$product['manufacturers_id'] . "', '" . tep_db_input($product['products_gtin']) . "')"); You also may want to consider the difference between products_date_added and products_date_available. It copies the date available but sets a new date added.
  7. Contribution link: DHTML State Selection This add on addresses a missing feature and fixes a bug in address editing. In standard osCommerce, when you add or edit an address, you have to enter the state (or province or county or region or whatever it is called in your country) free hand into a text box. The desired feature being to select from a drop down to avoid typos, etc. Then, if you submit, it replaces your entry with a drop down menu of all the states in that country. However, if you selected the wrong country, you then have to change the country and submit the form to get the correct drop down. That's the bug. This add on dynamically switches between drop down menus for the various countries. For example, with the default osCommerce install, it will allow you to select the United States as the country and then pick Alabama (or any of the other US states) from a drop down menu. Then, if you change your country to Canada, the drop down will show a list of Canadian provinces. If you pick a country that does not have any zones in the database, it will show the standard text input. The add on also defaults the country to the store country setting. There is one feature that is removed. If the user does not have Javascript running in their browser, then this version only ever shows the text input. This fixes the bug of not being able to switch countries but at the price of never offering the convenience of the drop down to a non-javascript user. A possible future enhancement would be to show both the text input and the drop down in this case. However, that was beyond the scope of the current project. Another add on that does something similar via AJAX is Country-State Selector. I haven't used it, so I pass on the question of which is better.
  8. ecartz

    Linkpoint Connect 2.0

    I am getting ready to upload a new version of the Linkpoint Connect payment module for osCommerce. I have made no changes in the previous module. What I have done is to add a new module (with english language file) that does not collect any credit card information. Instead, it posts the order information to Linkpoint, which then collects the card information and processes the payment. This module should be suitable for shops that do not want to meet the PCI/DSS requirements for collecting credit card information. The uploaded zip has both modules in it. Posting the topic before the module so that I can include a link to this thread in the module description. Previous versions have not included a support thread, which has led to some fragmentation of the topics. This is especially burdensome since there are four separate contributions for Linkpoint. Hopefully posting a support thread will collect any new information in one place. Known issue with the new module: when you post to Linkpoint, it shows the credit card holder's name, street address, state, and zip code but not the city. It gets the city, but it does not allow the city to be changed even though it will allow the zip and state to be changed. This is a weird behavior, but as best I can tell, it is a Linkpoint issue rather than an issue with the module. If someone finds out differently, they should post here. URL for the contribution: http://addons.oscommerce.com/info/2423
  9. Since there doesn't seem to be a support thread for this contribution, posting one. The Admin Reports Count Reset contribution is at http://addons.oscommerce.com/info/2246 Note that the contribution actually clears the values in the database. This affects the best sellers list as well as the admin reports. The contribution includes the ability to clear either products viewed or ordered for a single product or for all of the products at once. For this reason, it is best to backup the database before using. Changes can not be undone in the tool. This contribution also allows you to sort the report tables by count (ascending or descending) and product name (again ascending or descending). Further, it fixes a bug in the osCommerce distribution where the row number would show 01 to MAX_SEARCH_RESULTS on each page. The rows will now be numbered correctly, starting at MAX_SEARCH_RESULTS + 1 on the second page. For example, if you have osCommerce configured with MAX_SEARCH_RESULTS of 20, it will show 01 to 20 on the first page, 21 to 40 on the second page, 41 to 60 on the third page, etc. The current version of the contribution (1.5) should be completely compatible with osCommerce 2.2 RC2a and with register_globals set either on or off.
  10. Link to Checkout Redux: http://addons.oscommerce.com/info/7019 This is a public Beta of an add on that rewrites the checkout process to do three things: 1. Insert orders in the database before redirecting to external payment processors (e.g. PayPal). 2. Shorten the checkout registration process by creating the account implicitly rather than explicitly. 3. Accelerate the checkout process by skipping steps where the user was just clicking a continue button. The process goes somewhat like this: for users who are not logged in, they go to a checkout login page where they have the option of logging in or of entering a shipping address (billing address in the case of virtual products). If they enter a shipping address, it creates an account automatically, with a random password. The next step is to check if there is more than one shipping option; if there is, it will show the checkout shipping page and allow the customer to pick; if there is not, it will register the shipping method and skip to the payment page. On the payment page, it will again check if there is more than one option; if there is, it will let the customer pick; if there is not (or after the customer picks), it will go to the confirmation page. After the customer confirms, it goes to checkout_process (always) and inserts the order. If the payment method includes a redirect, it will then do a form post via javascript (for users who do not have javascript enabled, they will have to click a continue button). When payment completes and redirects back to checkout_process, the email gets sent unless the payment module has a process_notification variable set. In that case, it will wait to send the email until the notification is received by the processor. For customers who registered during this checkout, an additional section will be added to the email that explains how they can activate their accounts. If the customer cancels the transaction at the processor, the order will be marked cancelled and the products will be reloaded into the shopping cart. A store owner can browse these cancelled orders and optionally take actions to try to recover them (e.g. emailing the customer asking if there was a technical problem; offering a discount, etc.). For a store that only has one payment method and one shipping method, the normal effect of all this will be for the checkout to consist of a login step, a confirmation step, payment, and a notification step. For all customers, it removes the shipping and payment selection steps (if not needed). For new customers, it also removes the click to go to registering an account and the click to continue after registering the account. What was a minimum of seven clicks for a new customer is now down to just three (checkout, submit address, confirm) plus anything extra required by the payment processor. This add on includes a modified version of the PayPal Standard module that incorporates the notification method from the add on. Other payment modules with IPN style functionality would need to be modified to use the new method to take advantage of how this add on works. Fortunately, this consists mostly of deleting code from the payment module. The notification processor does need to be modified to include the emailing portion of the contribution, which is packaged into a module for reuse in that way. The package also includes a Google Analytics integration (to demonstrate the advantages of some of the checkout success changes; contrast with the osCommerce Google Analytics module upon which it is very loosely based), alternate files for use with the DHTML State Selection add on, and an example of how to integrate another add on that changes the checkout_process.php file: Gift Voucher (GV) and Discount Coupons (DC) for RC1, RC2, RC2a. Unfortunately, due to the completeness with which the add on changes checkout_process.php, it's not suitable for installation on modified stores (it can be done, but you really need to know what you are doing). The installation instructions require that you start with a clean osCommerce 2.2 RC2a store and copy over the existing files. Once you've done that, the installation instructions include information for integrating other add ons with the modified files, using the included integrations as examples.
  11. When I upload it, BTS 1.7 will be updated to the 2.2 RC2a standards. From the changelog: The Basic Template Structure location in the contributions area remains the same. There is no functional improvement in this release. The only changes are to increase compatibility with RC2a. Therefore, no upgrade instructions have been provided. If you are using an older version, you can continue to do so. If you launch a new RC2a store, you can use this version.
  12. ecartz

    DHTML State Selection

    It's not clear to me why the language would make a difference. None of the new SQL queries are language dependent. Also, if I try it on my test site, it works (at least in Spanish and German). Perhaps the problem would be more obvious if you posted a link to the page that is not working?
  13. ecartz

    Checkout Redux [Support Thread]

    The relevant section of code is if ($check_email['total'] > 0) { $error = true; $email_exists = true; $messageStack->add('checkout_address', sprintf(ENTRY_EMAIL_ADDRESS_EXISTS_ERROR, tep_href_link(FILENAME_PASSWORD_FORGOTTEN, '', 'SSL'))); } However, I don't know that there is a simple fix that preserves the advantages of the current system. One possibility would be to delete the previous row or change the email address in it so that the new row could be added. That's what the Purchase without Account contribution does. E.g. something like if ($check_email['total'] > 0) { tep_db_query("delete from " . TABLE_CUSTOMERS . " where customers_email_address = '" . tep_db_input($email_address) . "'"); } Note: I haven't tested this in any way.
  14. ecartz

    Purchase Without Account

    The name of the add on is Checkout Redux.
  15. As written, guests should not be able to see My Account, as they don't have an account and wouldn't be able to use any of the My Account links. No historical orders, no password to change, etc. The only thing that they could do would be to edit addresses, and there is already provision in checkout for that.
  16. ecartz

    Charset langauge chandges problems

    For 1, you would change // charset for web pages and emails define('CHARSET', 'iso-8859-1'); to the appropriate charset in includes/languages/russian.php (or whatever language). Russian currently looks correct on your site, appearing in KOI-8. Maybe you fixed this. You also might need to make the same change in the admin languages file. For 2, if you were using the original template, the navigation would look like <td align="right" class="headerNavigation"><?php if (tep_session_is_registered('customer_id')) { ?><a href="<?php echo tep_href_link(FILENAME_LOGOFF, '', 'SSL'); ?>" class="headerNavigation"><?php echo HEADER_TITLE_LOGOFF; ?></a> | <?php } ?><a href="<?php echo tep_href_link(FILENAME_ACCOUNT, '', 'SSL'); ?>" class="headerNavigation"><?php echo HEADER_TITLE_MY_ACCOUNT; ?></a> | <a href="<?php echo tep_href_link(FILENAME_SHOPPING_CART); ?>" class="headerNavigation"><?php echo HEADER_TITLE_CART_CONTENTS; ?></a> | <a href="<?php echo tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'); ?>" class="headerNavigation"><?php echo HEADER_TITLE_CHECKOUT; ?></a> </td> and would be localizable. If your template does not do this, then you would need to change it so that it does. It would be hard to explain further without seeing the code that your template uses to display the navigation, but the idea is that you should replace hard coded strings like Home with code like <?php echo HEADER_TITLE_TOP; ?>
  17. ecartz

    Basic Template Structure 1.7

    In admin >> Configuration >> My Store, there should be an option for "Template Switching Allowed". Set that to true, and the template switcher should appear at the top of the page in the included templates. If you need to add it to a new template, it's the following code: <?php // include template switcher in every template if ( bts_select('common', 'common_top.php') ) include (bts_select('common', 'common_top.php')); // BTSv1.5 ?>
  18. ecartz

    Dates By Products AddOn Development

    Are you using an option types contribution? The installation should show you where you need to make changes to pass a date rather than a MySQL ID. The simplest thing would be to install something like Option Types v2 and then use the text passing capability to pass the date value (rather than try to pass a MySQL date value). Date would simply be a new option type in that scenario, a new case in various switch statements.
  19. ecartz

    How long until v3 is ready?

    That would be in the News & Announcements section. In particular, you can find the revised roadmap in the first post of the 3.0 Alpha 5 release thread.
  20. I see two main possibilities. One is that someone already tried to install the Bundled Products add-on. In that case, you just need to verify that the changes were made correctly. The second possibility would be that you are trying to use two installation methods at the same time. In one installation method, you upload the files that come with the contribution, writing over the existing files (which is why it is a good idea to do a site backup before doing this). That method is only meant to be used on new stores, where the files are unchanged from their original state. In the second installation method, you follow the instructions that tell you to find code and make modifications. It sort of sounds like you have uploaded the contribution files and are trying to modify the files that you uploaded. In this case also, you just need to verify that the code is there and proceed. Things are further complicated by the fact that in some of the files in the contribution, changes are made twice. Also, the contribution is not fully internationalized, so if you want to use it in a language other than English, you may need to manually edit some of the code files.
  21. My guess would be that your read is all right, but your write is incorrect. In particular, are you correctly handling: $config_flag_in = array('Oui', 'Non'); $config_flag_out = array('true', 'false'); $configuration['cfgValue'] = str_replace($config_flag_in, $config_flag_out, $configuration['cfgValue']); when writing to the cached configuration file?
  22. ecartz

    DHTML State Selection

    Someone would have to modify your store so that STS knew to add the javascript on the appropriate pages. A possible solution might be to change </table></form></td> <!-- body_text_eof //--> to </table></form><?php require('includes/form_check.js.php'); ?></td> <!-- body_text_eof //--> and eliminate the other call to form_check. I don't have STS installed, so I can't test it. Or troubleshoot it for that matter.
  23. ecartz

    Basic Template Structure 1.7

    That's the error that you get when you are using a pre-RC2a database with RC2a code. You should either update your database to RC2a or use an older version of the contribution. There is a contribution from Jan Zonjee for updating to RC2a. I haven't used it, but I would expect it to cover this issue.
  24. ecartz

    Drop down boxes and order forms

    If I am understanding your needs correctly, you might find the Option Types V2 contribution useful.
  25. ecartz

    How To Make Contributions

    When I read her post, I thought that she was asking for multiple RSS feeds, one per contribution, so that it would work more like Contribution Tracker does. The main RSS feed is noisy, telling you about many contributions that don't matter to you. A more targeted feed or feeds would allow you to watch just the contributions that you are actually using. The current feed is good for finding new contributions to install (albeit with a high noise to signal ratio), but the desire is for updating currently installed contributions with the latest bugfixes and security patches.
×