Jump to content
Latest News: (loading..)

Leaderboard


Popular Content

Showing content with the highest reputation since 03/22/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
    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.
  7. 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
  8. 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.
  9. 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.
  10. 2 points
    Not used it in anger yet but looks good. Thanks.
  11. 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
  12. 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".
  13. 1 point
    spidometrs

    My idea for Blog in osCommerce

    Hi guys! My simple idea for a blog in osCommerce - you need to use only two conditions: - Add one variable to table categories_description - categories_style_type - Add one variable for the products table - products_blog_status Then, in the files: new_products.php, product_listing.php, product_info.php: if ($categories_style_type == '1') { } elseif { ($categories_style_type == '2') } else {} So you can switch between different design for the product and for the blog. Further, the modules in a database query, add: end p.categories_style_type = '1' So you can disable this blog in the product modules. For comparison, look like a different page: - Category product page http://titanium.oscommerce.ru/dlya-muzhchin/obuv - Blog page category http://titanium.oscommerce.ru/blog/2016 - Product page http://titanium.oscommerce.ru/dlya-muzhchin/dzhinsy-kurtki/dzhinsy/3301-dzhinsy-slim - Blog page http://titanium.oscommerce.ru/blog/2016/chem-nosit-palto In this case, it is fully supported by related content. Look, maybe you will like this idea.
  14. 1 point
    Where did you get this version of osCommerce? That sounds like someone's "private label" release, and may not correspond to "Frozen". Very few, if any, "one-button" installers have the CE version -- all I've seen give the official 2.3.4.1 from this site, which is quite obsolete. Even the CE version (osC 2.3.4.1BS) has a few releases out. "Gold" is obsolete, "Frozen" is a good one to use (needs a few patches listed in its thread), and "Edge" may be a little too bleeding edge for you (it's constantly changing as the developer, Gary, works on it). It's available from GitHub, not this site. Unless you can prove your version is the real CE "Frozen" (compare files), you should follow the link that Dan gave you, or the appropriate one in my signature below, and get the genuine article.
  15. 1 point
    burt

    Email queuing system

    Unintended: I was playing with the files at the exact time!
  16. 1 point
    Big Bear

    Custom HTML box?

    These days it should be more like "Powered by Burt & A Few Others"
  17. 1 point
    Omar_one

    Email queuing system

    order created and got the email .. well done
  18. 1 point
    Sorry I missed post. Actually figured that Etiquette out as plodded along. Thanks though
  19. 1 point
    Hello Eddy @Moxamint, Supposed you have modularized navbar, in admin : modules : navbar modules : shopping cart : => set Content Placement to Home Then you may need to apply some css styling to show it nice.
  20. 1 point
    MrPhil

    Upgrade to v3

    Don't. v3 is only experimental, and you should not try to run a real store on it. The proper one to be running is osC 2.3.4.1BS "Frozen" (or, if you're adventurous and don't mind being on a constantly changing unstable distribution, "Edge"). XHTML 1.0 is obsolete. Why do you want to use it? HTML 5 is the current level. I believe that both Frozen and Edge are this level.
  21. 1 point
    MrPhil

    Product listing swedish characters åäö

    Unless you changed something in the database setup, the encoding is UTF-8 and I think the collation is "utf8_unicode_ci", which is case-insensitive and ordered by Unicode number (don't quote me on that last part). I would think that accented characters would come after ASCII, so I'm a bit puzzled at your results. Ironically, the older osC releases used Swedish collation (on Latin-1) as the default! Anyway, I would first look at your database collation order to see if it's set to something weird, and then search around for information on what collations are available for MySQL. There may yet be a UTF-8 Swedish one.
  22. 1 point
    burt

    category control in Admin

    Most of the code in Frozen and later uses the category_tree class to display category data etc. So it's now (or should be!) a lot less code to do the job. You'd still need some type of admin interface to turn categories inactive with some type of 0/1 flag as described above. On the shop side, you'd need to amend the class file to not load the categories if flag = 0 (inactive) here: https://github.com/gburton/Responsive-osCommerce/blob/master/includes/classes/category_tree.php#L41 I *think* (in the shop side) I updated most things to use the Category Tree, eg: Category Box: https://github.com/gburton/Responsive-osCommerce/blob/master/includes/modules/boxes/bm_categories.php#L43 Category Descriptions: https://github.com/gburton/Responsive-osCommerce/blob/master/includes/modules/content/index_nested/cm_in_category_description.php#L40 Category Icons: https://github.com/gburton/Responsive-osCommerce/blob/master/includes/modules/content/index_nested/cm_in_category_listing.php#L46 Etc and so on. I may have missed some. Obviously addons may not (probably almost certainly not) be using the category_tree, so those would need attention for your flag, or they would need to be updated to use the category_tree class.
  23. 1 point
    @Dnj1964It is customary that if you like the support or the response that a person gave to you, you can be grateful and put a like
  24. 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.
  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.
×