Jump to content
Latest News: (loading..)

Leaderboard


Popular Content

Showing content with the highest reputation since 03/20/2019 in Posts

  1. 5 points
    General support/feedback for Bootstrap 4 admin See https://apps.oscommerce.com/LCrov&bootstrap-v4-oscommerce-admin-ce
  2. 4 points
    burt

    Email queuing system

    Real life feedback/ideas from shopowners lead me to this change; With one extra line of code in the main module I made this a reality, so now it's possible to use the {{TAG}} system in the Title as so: and when received looks like (eg) this: Pretty damned cool!
  3. 3 points
    Gone over most of this and it works like a charm. Was easy to install simply follow instructions and should have no issues. I simply copied ove my old config and .htaccess files and was able to log into new admin. I kept it simple by renaming my old admin and naming the new one the same as the old so no config changes needed. Not going to post link to admin! so here is a short view of what the new admin looks like. I would recomend taking a look and using it. Oh and you can show your appreciation for the work done by simon by looking at the bottom of his text in the app's market 😊 buy him a beer or 2. Thank's Simon
  4. 3 points
    burt

    Email queuing system

    I've now created a module for order_success to replace the standard order success email that osC sends. If anyone wants to test it: https://template.me.uk/outgoing/ and progress all the way through the checkout. You'll get an email sent by this new system - so PLEASE use a real email address... This system is looking like another game-changer.
  5. 3 points
    burt

    Email queuing system

    We also now have Filtering (for the outgoing Queue). Now easily see individual customers or slugs. As an example, let's say that the Queue has 200 emails in it waiting to go out over the next 3 months. Examples of use; You want to see all "birthday_greetings", select that slug from the dropdown and press go. You want to see all emails that are going out to a particular customer. Select that customer and press go. You want to see all "review_requests" going to a particular customers. Select slug and customer, and press go. This thing is getting better and better...
  6. 2 points
    A reasonably complete list is https://forums.oscommerce.com/topic/412984-frozen-bug-list/ It's a bit tedious wading through it, but it's reasonably clear and the patches are mostly pretty simple to find and apply. Too bad Gary won't update Frozen with these items taken care of, as a Frozen2. I'm guessing that he expects another milestone drop of Edge ("Icy" or "Slushee") with Bootstrap v4 reasonably soon, and it's not worth bothering putting any more work in on Frozen.
  7. 2 points
    "Frozen" is Bootstrap v3. If yours has BS v4, you're using someone else's build. It may or may not work for you, but can't be supported here.
  8. 2 points
    Don't go around searching for "Frozen" or "CE" and "osCommerce". There are many "responsive" versions around, but the one in my link below (for "Frozen") is more-or-less the "official" Frozen release. Just use that one.
  9. 2 points
    So first backup and then backup ant then once again backup! Now just to be safe make a copy of your database. phpmyAdmin select your database then go to operations tab and select copy database to ...... you should then have a copy of your db. test any SQL scritp on a copy first. so use this to set product_status on all products with price over or equal to £299 to 0(turned off) update `products` set `products_status` = 0 WHERE `products_price` >= '299'; tested on CE and MySQL - 10.1.38-MariaDB-cll-lve
  10. 2 points
    You could give it a go by doing as suggested above by jcmagpie => a new admin folder to run alongside your real admin.
  11. 2 points
    piernas

    International SEO

    Every time SEO Urls has been metioned I've heard "there's no point on using it nowadays". Well this is a true example of why these are still useful and why oscommerce has a poor localization. If you have a multilingual shop and you want it to be correctly indexed you really, really need a SEO addon that rewrites urls for each language. BTW I've been tweaking the latest versions of SEO urls 5 and there's a glitch with hreflang tags not being correctly shown until session is set - so spiders can¡t see it. I'll fix it and upload again in case someone wants to use it.
  12. 2 points
    Not used it in anger yet but looks good. Thanks.
  13. 2 points
    Dan Cole

    Email queuing system

    Tested and works well Gary....I think I'll dress this email up and go live with the system sometime over the weekend. 👍 Dan
  14. 2 points
    Jack_mcs

    Article Manager v1.0

    To those that interested, there is a planned update, probably within the next few weeks.
  15. 2 points
    burt

    Bootstrap 4 in 2.3.4.1

    Bootstrap 3 will be around for years - no point overthinking that, so forget it. The main "problem" will be upgrade php. Some people say php7.2 is working fine, others report it is not working fine. At the end of the 28d, dependant on support thereof, I hope to have gotten enough time in hand to get the following done and complete; make sure shop and admin are ready for 7.2 (at the very least, possibly 7.3 if I can swing it) -> no warnings and no errors product class -> rework relevant modules to use it But as with all things, one step at a time, and right now that step is trying to get some time in hand to actually do "stuff".
  16. 1 point
    I would advise you to upload to a new folder so you can try it, simply copy your existing admin/includes/configure.php over and change paths. You can then run both admins to test.
  17. 1 point
    🤔 Admin has nothing to do with what you are running in the shop side! As long as you are running CE you should be able to use the BS4 admin. The question will be are you using stock admin or not.
  18. 1 point
    https://apps.oscommerce.com/ZxuJW&jcm-product-info-share-or-contact-v1-0&p=2 I take it you are refering to these, They are like any other social link, you and the user need to have a relavent account. The lower 3 are simply your contact links. Again you can set it up for any you wish in admin show none or as many of the 9 you like, They can be any you choose it's totaly flexable.
  19. 1 point
    JcM Back to Top Header Tags-V1.0 A simple header_tag module to let you place a back to top button on your site. You can configure the button in admin. This is a standalone add-on and makes no changes to core files. That’s it simply copy all files of the into relevant sections and go to admin modules /header tags and install. Has been tested on CE BS4 and CE BS3
  20. 1 point
    Has been updated to V1.1 to fix a number of silly codeing errors. 🙄! Would recomend removing old version first and then doing clean install. JcM Simple header & footer Banners
  21. 1 point
    Omar_one

    Return to Top App

    Yes, he created (28d05"2018" - Back To Top) you need to contact/PM @burt And you can check this year 28d2019 project,  I highly recommend these add-ons made by @burt Br Omar
  22. 1 point
    ArtcoInc

    Return to Top App

    @burt Didn't you make a 'Return to Top' module for one of your 28 days bundles? M
  23. 1 point
    YePix

    SMTP Authentication and OSCommerce

    For those who want or need to send their emails with smtp through authentication. Email not suitable for gmail accounts !!! **************************************************** Step 1. BACKUP ALL FILES BEFORE CHANGE !!! **************************************************** Step 2. Download: www.pl-systeme.de/free_download/PHPMailer.zip transferred to: catalog/ext/modules/PHPMailer **************************************************** Step 3. change class files: catalog/includes/classes.php <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2014 osCommerce */ require_once 'ext/modules/PHPMailer/class.phpmailer.php'; $phpMail = new PHPMailer(); class email { var $html; var $text; var $html_text; var $lf; var $debug = 0; var $debug_output = 'error_log'; function email($headers = '') { global $phpMail; $phpMail->XMailer = 'osCommerce ' . tep_get_version(); $phpMail->SMTPDebug = $this->debug; $phpMail->Debugoutput = $this->debug_output; $phpMail->CharSet = CHARSET; $phpMail->WordWrap = 998; if (EMAIL_LINEFEED == 'CRLF') { $this->lf = "\r\n"; } else { $this->lf = "\n"; } } function add_text($text = '') { global $phpMail; $phpMail->IsHTML(false); $this->text = tep_convert_linefeeds(array("\r\n", "\n", "\r"), $this->lf, $text); } function add_html($html, $text = NULL, $images_dir = NULL) { global $phpMail; $phpMail->IsHTML(true); $this->html = tep_convert_linefeeds(array("\r\n", "\n", "\r"), '<br />', $html); $this->html_text = tep_convert_linefeeds(array("\r\n", "\n", "\r"), $this->lf, $text); if (isset($images_dir)) $this->html = $phpMail->msgHTML($this->html, $images_dir); } function add_attachment($path, $name = '', $encoding = 'base64', $type = '', $disposition = 'attachment') { global $phpMail; $phpMail->AddAttachment($path, $name, $encoding, $type, $disposition); } function build_message() { //out of work function } function send($to_name, $to_addr, $from_name, $from_addr, $subject = '', $reply_to = false) { global $phpMail; if ((strstr($to_name, "\n") != false) || (strstr($to_name, "\r") != false)) { return false; } if ((strstr($to_addr, "\n") != false) || (strstr($to_addr, "\r") != false)) { return false; } if ((strstr($subject, "\n") != false) || (strstr($subject, "\r") != false)) { return false; } if ((strstr($from_name, "\n") != false) || (strstr($from_name, "\r") != false)) { return false; } if ((strstr($from_addr, "\n") != false) || (strstr($from_addr, "\r") != false)) { return false; } $phpMail->From = $from_addr; $phpMail->FromName = $from_name; $phpMail->AddAddress($to_addr, $to_name); if ($reply_to) { $phpMail->AddReplyTo(EMAIL_SMTP_REPLYTO, STORE_NAME); } else { $phpMail->AddReplyTo($from_addr, $from_name); } $phpMail->Subject = $subject; if (!empty($this->html)) { $phpMail->Body = $this->html; $phpMail->AltBody = $this->html_text; } else { $phpMail->Body = $this->text; } if (EMAIL_TRANSPORT == 'smtp' || EMAIL_TRANSPORT == 'gmail') { $phpMail->IsSMTP(); $phpMail->Host = EMAIL_SMTP_HOSTS; $phpMail->SMTPAuth = EMAIL_SMTP_AUTHENTICATION; $phpMail->Username = EMAIL_SMTP_USER; $phpMail->Password = EMAIL_SMTP_PASSWORD; if (EMAIL_TRANSPORT == 'gmail') { $phpMail->Port = 465; $phpMail->SMTPSecure = 'ssl'; } } else { $phpMail->isSendmail(); } if (!$phpMail->Send()) { return false; } return true; } } /* ** Altered for Mail Manager ** */ // eliminate line feeds as <br> class emailMailManager extends email { function add_html($html, $text = NULL, $images_dir = NULL) { $this->html = $html; //tep_convert_linefeeds(array("\r\n", "\n", "\r"), '<br>', $html); $this->html_text = tep_convert_linefeeds(array("\r\n", "\n", "\r"), $this->lf, $text); if (isset($images_dir)) $this->find_html_images($images_dir); } } /* ** EOF alterations for Mail Manager ** */ ?> catalog/admin/includes/classes.php <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2014 osCommerce Released under the GNU General Public License */ require_once '../ext/modules/PHPMailer/class.phpmailer.php'; $phpMail = new PHPMailer(); class email { var $html; var $text; var $html_text; var $lf; var $debug = 0; var $debug_output = 'error_log'; function email($headers = '') { global $phpMail; $phpMail->XMailer = 'osCommerce ' . tep_get_version(); $phpMail->SMTPDebug = $this->debug; $phpMail->Debugoutput = $this->debug_output; $phpMail->CharSet = CHARSET; $phpMail->WordWrap = 998; if (EMAIL_LINEFEED == 'CRLF') { $this->lf = "\r\n"; } else { $this->lf = "\n"; } } function add_text($text = '') { global $phpMail; $phpMail->IsHTML(false); $this->text = tep_convert_linefeeds(array("\r\n", "\n", "\r"), $this->lf, $text); } function add_html($html, $text = NULL, $images_dir = NULL) { global $phpMail; $phpMail->IsHTML(true); $this->html = tep_convert_linefeeds(array("\r\n", "\n", "\r"), '<br />', $html); $this->html_text = tep_convert_linefeeds(array("\r\n", "\n", "\r"), $this->lf, $text); if (isset($images_dir)) $this->html = $phpMail->msgHTML($this->html, $images_dir); } function add_attachment($path, $name = '', $encoding = 'base64', $type = '', $disposition = 'attachment') { global $phpMail; $phpMail->AddAttachment($path, $name, $encoding, $type, $disposition); } function build_message() { //out of work function } function send($to_name, $to_addr, $from_name, $from_addr, $subject = '', $reply_to = false) { global $phpMail; if ((strstr($to_name, "\n") != false) || (strstr($to_name, "\r") != false)) { return false; } if ((strstr($to_addr, "\n") != false) || (strstr($to_addr, "\r") != false)) { return false; } if ((strstr($subject, "\n") != false) || (strstr($subject, "\r") != false)) { return false; } if ((strstr($from_name, "\n") != false) || (strstr($from_name, "\r") != false)) { return false; } if ((strstr($from_addr, "\n") != false) || (strstr($from_addr, "\r") != false)) { return false; } $phpMail->From = $from_addr; $phpMail->FromName = $from_name; $phpMail->AddAddress($to_addr, $to_name); if ($reply_to) { $phpMail->AddReplyTo(EMAIL_SMTP_REPLYTO, STORE_NAME); } else { $phpMail->AddReplyTo($from_addr, $from_name); } $phpMail->Subject = $subject; if (!empty($this->html)) { $phpMail->Body = $this->html; $phpMail->AltBody = $this->html_text; } else { $phpMail->Body = $this->text; } if (EMAIL_TRANSPORT == 'smtp' || EMAIL_TRANSPORT == 'gmail') { $phpMail->IsSMTP(); $phpMail->Host = EMAIL_SMTP_HOSTS; $phpMail->SMTPAuth = EMAIL_SMTP_AUTHENTICATION; $phpMail->Username = EMAIL_SMTP_USER; $phpMail->Password = EMAIL_SMTP_PASSWORD; if (EMAIL_TRANSPORT == 'gmail') { $phpMail->Port = 465; $phpMail->SMTPSecure = 'ssl'; } } else { $phpMail->isSendmail(); } if (!$phpMail->Send()) { return false; } return true; } } /* ** Altered for Mail Manager ** */ // eliminate line feeds as <br> class emailMailManager extends email { function add_html($html, $text = NULL, $images_dir = NULL) { $this->html = $html; //tep_convert_linefeeds(array("\r\n", "\n", "\r"), '<br>', $html); $this->html_text = tep_convert_linefeeds(array("\r\n", "\n", "\r"), $this->lf, $text); if (isset($images_dir)) $this->find_html_images($images_dir); } } /* ** EOF alterations for Mail Manager ** */ ?> **************************************************** Step 4. catalog/admin/functions/general.php find: //// // Sets the status of a product function tep_set_product_status($products_id, $status) { if ($status == '1') { return tep_db_query("update " . TABLE_PRODUCTS . " set products_status = '1', products_last_modified = now() where products_id = '" . (int)$products_id . "'"); } elseif ($status == '0') { return tep_db_query("update " . TABLE_PRODUCTS . " set products_status = '0', products_last_modified = now() where products_id = '" . (int)$products_id . "'"); } else { return -1; } } add below: //// // Sets the password function for db function tep_cfg_password($password) { return preg_replace("|.|", "*", $password); } function tep_cfg_input_password($password) { return tep_draw_password_field('configuration_value', $password); } **************************************************** Step 5. Import sql: INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('SMTP hosts', 'EMAIL_SMTP_HOSTS', '', 'Assign SMTP host senders', '12', '6', now()); INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('SMTP authentication', 'EMAIL_SMTP_AUTHENTICATION', 'true', 'Do you want authenticated SMTP server?', '12', '7', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now()); INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) VALUES ('SMTP Password', 'EMAIL_SMTP_PASSWORD', '', 'Add SMTP Password for SMTP protocol', '12', '8', 'tep_cfg_password', 'tep_cfg_input_password(', now()); INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('SMTP User', 'EMAIL_SMTP_USER', '', 'Add SMTP user for SMTP protocol', '12', '9', now()); INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('SMTP Reply To', 'EMAIL_SMTP_REPLYTO', '', 'Add SMTP reply to address', '12', '10', now()); **************************************************** Step 6. go to: http://www.yourDomain.com/admin/configuration.php?gID=12 change the new SMTP email settings and set the email transport method to smtp **************************************************** Step 7. finished.
  24. 1 point
    Tsimi

    Horizontal Categories Menu BS

    Here is a new version of the Horizontal Menu BS (v1.5). This one is made with CSS only and not using any javascript or jquery. It uses hover, meaning that when you mouse over the category names the drop down tab opens up. However you will have to use this new menu in conjunction with the Categories Menu XS since this new menu cannot be used on XS or SM view port due to lack of touch support. Special thanks to @rulegacy for the pure CSS and hover idea and for testing the menu. Here the package: Horizontal Menu BS v1.5.zip Enjoy!
  25. 1 point
    burt

    28d, 2018

    Day 19 - Recover Carts Standalone page and helpers for the Admin Side, which allows you to easily email customers to let them know they have a saved (abandoned) cart. Core Code Changes NONE Admin Side (Box Link) Admin Side (Page Layout) Outgoing Email Contents can be changed in the Language File.
×