Jump to content
Latest News: (loading..)


  • Content count

  • Joined

  • Last visited

  • Days Won


Reputation Activity

  1. Like
    ArtcoInc got a reaction from FXBO in New Products Listing   
    To be honest, I did not know the answer to this. So, I started exploring ...
    I find it useful to use your browser's  'View Source Page' (or whatever the nomenclature is for your browser) of the actual store. Once I find the bit of code that defines an action, I then use a tool such as Windows Grep to search through all the php files, and find the specific file that has that bit of code.
  2. Thanks
    ArtcoInc got a reaction from FXBO in New Products Listing   
    There are 2 "New Products"  ... One for Index, and one for Index_nested. Which did you change?
  3. Like
    ArtcoInc got a reaction from JcMagpie in Add Zones to Shipping Zone Rates   
    It is a module already included in osC CE. You just need to "turn it on" by following the instruction @JcMagpie laid out.
  4. Thanks
    ArtcoInc got a reaction from ezfindit in Admin customers.php - Add Customer Phone Number in Summary View   
    Did you add the telephone number to the search query?
  5. Thanks
    ArtcoInc got a reaction from ezfindit in Admin customers.php - Add Customer Phone Number in Summary View   
    Look around line 692
  6. Like
    ArtcoInc got a reaction from Bobber in default shipping method change.   
    If your suggestion works (and I see no reason it shouldn't), maybe this should be added to the core?
  7. Like
    ArtcoInc reacted to burt in Product Page Layout   
    Totally do-able, it is exactly as @raiwa says.
    Gallery 10 6
    Name 20 6
    Model 30 3
    Price 40 3
    Attributes 50 6
    Buy 60 3
    Reviews 70 3
    Description 80 6
    You are constrained by the DEPTH of the Gallery, so place a minimum height on this using CSS which would be placed in user.css
    @media only screen and (min-width : 768px) {   div.cm-pi-gallery {     min-height: 1000px;   } } Change the min-height on this to better reflect your needs.
    You will then also need to amend tpl_ files for product_info, at the very least;
    remove clearfix from reviews button tpl restyle price as it would look weird as a h* Prior to the extra tpl_ change for price, you would end up with something like:

    Of course, how this would look in XS...is debatable, and that is why you can micromanage the layout using those tpl_ files if you so wish.  My system for these modules uses only the SM layer.... however, that micro-management is where things get really complicated really quickly and hence why I did not put that level of management into Core.
  8. Like
    ArtcoInc reacted to burt in 28d, 2018   
    Coming later on Today
    a couple of minor bugfixes to a couple of modules (nothing important). GDPR Testimonials GDPR Testimonial Module
    In the latest core update I added the ability to join Testimonial to Client as it was identifiable data (but not linked), as it is identifiable the client must be able to perform certain actions!   As it is now linked, it requires one of my special GDPR modules. 

    This module displays the Testimonials that the Client has written and allows them to do two things;
    Anonymize it (the blue button) Delete it (the red button) And, of course, they can port this Data using the usual "port my data" mechanism. Enjoy!
  9. Like
    ArtcoInc got a reaction from FXBO in Help Required On Information Boxes   
    Ok, try this ...
    Copy the Main Text module files (including the template and language file). Call it something like "Main Text Below". Add the text you want below your New Products here. Set the Sort Order for the 'stock' Main Text' to a number smaller than New Products, and the sort order for the Main Text Below to a number larger than the New Products.
    This is why things are modular. Add, subtract, and arrange the modules the way you want them.
  10. Like
    ArtcoInc got a reaction from FXBO in Help Required On Information Boxes   
    Regarding security, are you running a SSL certificate on your whole site?
    PS: Did you get your database converted?
  11. Like
    ArtcoInc reacted to burt in Side bar design   
    stylesheet.css was deprecated
      custom.css was added
    - custom.css is used for necessary .css going into core, this file should not be touched by anyone except those working on core
    - this file over-rides the bootstrap css file and the fontawesome css file
      user.css was added
    - this is the only .css file that developers and shopowners should be using as this file will *never* be updated/changed as part of core
    - this file over-rides the bootstrap css file and the fontawesome css file and custom.css file
  12. Thanks
    ArtcoInc got a reaction from valquiria23 in favicon.ico error   
    1) The first three errors state "No 'Access-Control-Allow-Origin' header is present".  As I stated in my first post (and link) above, you need to put an 'Access-Control-Allow-Origin' statement in the .htaccess file in the root of your shop.
    2) I am going to guess that the browser is trying to find a favicon in order to display it, and that error is just the browser saying it didn't find one. You don't need a favicon, so if you don't want one, just ignore that error.
  13. Like
    ArtcoInc got a reaction from valquiria23 in favicon.ico error   
    or this ...
  14. Like
    ArtcoInc got a reaction from valquiria23 in favicon.ico error   
    See if this helps ....
  15. Like
    ArtcoInc got a reaction from valquiria23 in favicon.ico error   
    If you are using @JcMagpie's favicon module, do note that he does NOT store the favicon in the normal, default location.
  16. Like
    ArtcoInc got a reaction from valquiria23 in favicon.ico error   
    True, but if she put her favicon somewhere else ....
  17. Like
    ArtcoInc got a reaction from John W in Who in the EU has heard of GDPR and will it affect you   
    * update *
    The recently passed law here in California has this provision:
    What “Businesses” Are Covered?
    The CCPA broadly applies to “businesses” that operate for-profit and (1) have an annual gross revenue of more than $25 million, (2) buy, receive or share for commercial purposes, or sells personal information of 50,000 of more consumers, households, or devices, or (3) derive 50% or more of their annual revenue from selling consumers’ personal information. The CCPA also applies to entities that share common branding with a qualifying “business” and that controls or is controlled by that business.
    Some more "interesting" reading ...
  18. Like
    ArtcoInc reacted to burt in Content module coding help   
    It would be so cool if more people would ask these sorts of questions instead of just doing what they think is right.  Kudos to you.

    which are lines 2 and 3 ?
      use basename(__FILE__) to call the template, and rename the template file appropriately (see code in point 4)
      the first function name in a class cannot be the same name as the "parent" class name (in php 7)

    use __construct

    or put an empty function in as so; function blah() { }  
    You are displaying here: if (in_array(basename($PHP_SELF), $pages_array)) {   $oscTemplate->addContent($template, $this->group); } so you might as well load the whole thing here;
    if (in_array(basename($PHP_SELF), $pages_array)) {    ob_start ();   include('/includes/modules/content/' . $this->group . '/templates/tpl_' . basename(__FILE__)); $template = ob_get_clean();   $oscTemplate->addContent($template, $this->group); }  
  19. Like
    ArtcoInc reacted to burt in Content module coding help   
    They can be blank, as they are extended in the __construct function.
    Look at the first 6 lines under the class cm_footer_conditions_modal {
    The 6 $this-> in the your cm_footer_conditions_modal() / __construct function.
  20. Like
    ArtcoInc got a reaction from valquiria23 in Content module coding help   
    I am, at best, a "copy and paste" coder. I can get things to work most of the time, but don't always know how, or why.
    I've just made a content module, copying an existing one and modifying it, pasting in bits from others. It's working, but I'd like some guidance if I should change anything. Here's the code snippet:
    class cm_footer_conditions_modal { var $code = 'cm_footer_conditions_modal'; var $group = 'footer_scripts'; var $title; var $description; var $sort_order; var $enabled = false; function cm_footer_conditions_modal() { $this->code = get_class($this); $this->group = basename(dirname(__FILE__)); $this->title = MODULE_CONTENT_FOOTER_CONDITIONS_MODAL_TITLE; $this->description = MODULE_CONTENT_FOOTER_CONDITIONS_MODAL_DESCRIPTION; if ( defined('MODULE_CONTENT_FOOTER_CONDITIONS_MODAL_STATUS') ) { $this->sort_order = MODULE_CONTENT_FOOTER_CONDITIONS_MODAL_SORT_ORDER; $this->enabled = (MODULE_CONTENT_FOOTER_CONDITIONS_MODAL_STATUS == 'True'); } } function execute() { global $PHP_SELF, $oscTemplate, $language; ob_start (); include('/includes/modules/content/' . $this->group . '/templates/conditions_modal.php'); $template = ob_get_clean(); if (tep_not_null(MODULE_CONTENT_FOOTER_CONDITIONS_MODAL_PAGES)) { $pages_array = array(); foreach (explode(';', MODULE_CONTENT_FOOTER_CONDITIONS_MODAL_PAGES) as $page) { $page = trim($page); if (!empty($page)) { $pages_array[] = $page; } } if (in_array(basename($PHP_SELF), $pages_array)) { $oscTemplate->addContent($template, $this->group); } } }  
    1) In lines 2 and 3, I've seen other modules leave these blank. Which is the recommend option, and why?
    2) In line 9, I've seen it where the function is named (like here). I've also seen it where that line is replaced with:
    function __construct() { Which is better, and why?
    3) Are there any other things I could do to improve (and learn from) this module?
  21. Like
    ArtcoInc got a reaction from burt in Who in the EU has heard of GDPR and will it affect you   
    GDPR 2.0 Comes to the United States
    On June 28 2018, California Governor Jerry Brown signed into law AB 375, the California Consumer Privacy Act (CCPA) of 2018. The statute, seen as one of the toughest privacy laws in the United States, will require companies to tell California residents what information is being collected and how it’s used. You have 18 months to get ready.                 For organizations already actively complying with the requirements of the European Union’s General Data Protection Regulation (GDPR), the CCPA will have little impact. You are already doing what you need to do to comply, as the California statute’s intent is very similar to GDPR. The goal of both of these laws — and the Australian Privacy Principles — is to give consumers ownership and control of their personal data. And it provides the legal bite to ensure compliance.
    If your US-based organization, however, has not started or believes that the GDPR will not have an impact on your local business, the new law is more than a wake up call, it’s your fire alarm. And where California goes, many other states will follow. The new law will more than likely require a thorough review of your data security controls or risk expensive litigation and fines.
    Here’s a quick look at the highlights:
    California’s Attorney General’s office will have the authority to enforce the law when it goes into effect in January 2020. It has provisions for allowing people to tell companies to delete or stop selling their information. The law does not force companies to stop collecting information OR provide provisions for consumers to request companies stop collecting their information. Like the GDPR, the California law has a broad definition of PII (IP addresses, geo-location and browsing info [cookies]) The California law has an exception for personal information “de-identified or in the aggregate consumer information;” however, the law doesn’t give much detail on the identifiers that are not subject to scrutiny. Aggregation of information might also be an alternative way for advertisers to ignore the law. With 18 months to enforcement, companies need to start today. Most companies focused on security and compliance already maintain formalized incident response, disaster recovery/business continuity plans as well as comply with encryption/data anonymization for sensitive data storage and have gone through at least a rudimentary data-mapping process that should easily surpass the California requirements. If that isn’t the case for your organization, implement the GDPR methodologies and processes to comply with the CCPA and you will be set for any eventuality.
  22. Like
    ArtcoInc reacted to burt in Speeding up your website load times.   
    Worked a bit more on the next iteration of CE:
    Performance:  A 100 https://gtmetrix.com/reports/template.me.uk/ggb79x3V
    Page Speed:  A 94 Y Slow: A 98
  23. Like
    ArtcoInc got a reaction from ce7 in Where did I change the link of this icon?   
    To change the actual link in your breadcrumb, in application_top.php, find:
    $breadcrumb->add(HEADER_TITLE_TOP, HTTP_SERVER); $breadcrumb->add(HEADER_TITLE_CATALOG, tep_href_link(FILENAME_DEFAULT)); Change it to something like this:
    $breadcrumb->add(HEADER_TITLE_TOP, tep_href_link(<your_url_link_here>)); $breadcrumb->add(HEADER_TITLE_CATALOG, tep_href_link(FILENAME_DEFAULT)); HTH
  24. Like
    ArtcoInc reacted to MrPhil in How to install osCommerce onto your host's server.   
    Trying to approach this from the viewpoint of someone who has never set up a website before, I'd like to offer a few clarifications.
    Point 0:  If you have a choice with your host, try to get on a Linux + Apache server rather than a Windows server. It will generally be cheaper and perform better, as a lot of tools and applications were written with Linux + Apache in mind. It's not a deal-breaker, but expect some incompatibilities and minor problems if you choose Windows. The only real reason to choose Windows over Linux is that you're planning to do a lot of MS back-office stuff (with ASPX, Access, etc.).
    cPanel is not a generic term, but a specific brand of control panel (there are many others that are functionally more or less equivalent). Don't get confused in your terminology. Nor should you get confused between an application's "control panel" (a.k.a. dashboard) and your hosting control panel -- they're separate things.
    At this point you should also be deciding whether you'll be referring to your domain as "www." or not (you should be consistent), and whether you'll be putting the entire site under SSL (https). Many hosts now offer SSL for free, so there's really no point in not using it. osCommerce will at a minimum try to use SSL for certain pages with sensitive information, but nowadays Search Engines will penalize you for not having SSL on all pages, so you might as well go for it.
    Point 2: Hosts will provide you with an ID and password to get into your hosting control panel, from which you can load files into your site. A control panel with have a means to upload (and maybe download) files, edit files, change their permissions, and other operations. In the long run, you will probably be happier with your favorite editor on your PC and an FTP client such as FileZilla (which may use the same ID/pw as the control panel, or have a different one -- ask your host), but what the control panel provides can do in a pinch.
    Note that many hosts will not permit an FTP client to change permissions -- you'll need to use the hosting control panel to do that.Speaking of which, at some point you'll need to understand the concept of permissions, and what you need for your site to operate. My advice is to start out with the most restrictive permissions you can (read-write for the owner, read-only for everyone else), and then loosen them up as you find it necessary. For instance, for installing and having an application configure itself, it will usually need to be able to write to directories and files, which means that PHP (the language platform that osC uses) may need to be granted looser permissions (read-write) if it's not "running" masquerading as the owner. It all depends on the Operating System and the Web Server software being used. You may need to do some experimentation or talk to your host if things don't seem to be working as expected. A final note: stupid people will blithely tell you "just chmod 777 everything". Don't. That's unlocking all the protections and allowing anyone else sharing your server (and even possibly those coming in via a browser) to overwrite or erase your files! Keep it locked down as much as you can without interfering with what it needs to do.
    Not all web servers will use "public_html/" as the "root" directory to your site (what is seen as "/" directory by HTML). That is the standard for Apache, but other servers use other names. "Above" this directory (its parents), no one has access from the Web. At or below this directory, anyone on the Web can get to, permissions allowing. Note that tools like "robots.txt" and "nofollow" and "noindex" attributes are merely suggestions to search engines and other 'bots... they offer no real security on their own.
    I don't know why Malcolm is suggesting you put two layers of directories under public_html/ (<domain name>/, and catalog/ in Point 3). That may be an error. I'll address this further in Point 3.
    Point 3: It is a very good idea to put a major application such as a store into its own subdirectory under public_html/. However, I've never seen a need to use more layers (as Malcolm suggests). The default for osCommerce is catalog/, but you can choose store/ or anything else. Remember, it will be visible to users, so don't get carried away with it! Some people will tell you to install the store directly under public_html/ (so it's /index.php rather than /catalog/index.php), but that has its problems. If you ever want to install another application, it will have to go "through" your store, or at least, through its .htaccess file. That can be a problem in that you often have to heavily modify .htaccess to get it to stop molesting URLs intended for other applications, or you end up anyway having to move your store down into catalog/, losing all your hard-earned Search Engine points in the process. You also end up cluttering up your root (public_html/) directory with all sorts of application-specific files, which means manually untangling them when you want to upgrade or even remove that application. Keeping an entire application in its own subdirectory tree cleanly isolates it, so it won't stomp on other applications and vice-versa.
    Probably the primary reason that people will tell you to install directly into the site root (at public_html/) is that it's a nuisance for visitors to have to type in that extra catalog/ or shop/ into the URL. That's easy enough to deal with -- as long as the store is the only thing on your site, most servers will permit you to "rewrite" a URL to the root down to the catalog/, in .htaccess:
    RewriteEngine On RewriteCond  %{REQUEST_URI}  !^/catalog  [NC] RewriteRule  ^(.*)$  /catalog/$1  [L] Visitors will see that they've been transferred to catalog/, but no big deal. When the time comes to add more applications, as well as a "landing page" in the root to introduce the site and offer links to the various applications on it, all the current bookmarks and search engine entries will still be valid. You would of course remove this URL rewrite. Some servers use a different way, but that's the most common.
    While you're in /.htaccess (root's .htaccess, as opposed to /catalog/.htaccess for the store), you'll want to force use of (or removal of) incoming "www." on the domain name, and forcing SSL (https) if you want to use it site-wide. This would involve a "301" redirect of the URL if someone doesn't type it in the desired way. There's also blocking of the IP addresses of troublemakers, and various other general things. Leave osCommerce SEO rewrites, etc. to /catalog/.htaccess, obeying the principle of cleanly separating applications from the overall site.
    This is getting a bit long, so I'll resume with another post.
  25. Like
    ArtcoInc reacted to MrPhil in How to install osCommerce onto your host's server.   
    Point 4: Different hosts do database setups in different ways. They may have a separate control panel section to create a database and its user (a.k.a. DB administrator). They may also require you to "grant" privileges to that user, and explicitly associate that user with a specific database. They often will not permit an application (such as osCommerce) to create a database or perform some operations on it, in the name of security. These need to be done via the control panel. Some unfortunate people end up on servers where they can create only one database for all their applications. This will slow down operations and there may be conflicts between applications if they try using the same table names. Hopefully you can add a prefix to table names to keep application data separate. Note that this is a different prefix than that which is frequently required in the PHP database interface, where many hosts have the account name and an underscore _ prepended to the database name, user, etc. Never give out this prefix (account name) in a forum posting, as it makes it much easier to break into your account!
    "Collation" is something of a misnomer. There are two things going on here with the database: the character encoding used (which these days should be UTF-8 rather than Latin-1), and its collation (how text fields are sorted -- by a particular language's standard, whether to sort 'A' and 'a' as the same or distinct, or even by binary values, etc.). "utf8_unicode-ci" is pretty common and generic for UTF-8, with upper/lower case ignored (treat 'A' and 'a' the same).
    The most common database (relational database management system) is MySQL (note the capital M), and specifically you will be using the MySQLi (improved) version. Some hosts are dropping MySQL (now owned by the Evil Empire, Oracle) in favor of the very similar fork, MariaDB. I don't know offhand what the status is with osCommerce trying to use SQLite, postGREsql, and other freeware database engines. By the way, "My" is not really the English personal possessive pronoun -- it's the name of the daughter of one of the original Swedish creators of the database, as is "Maria". Anyway, if your host does not have MySQLi, you may have some work ahead of you to fix things!
    Point 5, 6, 7: Some hosts will allow you to upload (either from the control panel or via an FTP client) the .zip file, and then unpack (unzip) it on the server. This is acceptable, just as long as you check where the files ended up! Most control panel file uploads only deal with one file at a time, so uploading hundreds of files gets rather tiresome. FTP clients will give you a way to mark multiple files and upload them in one operation, so you can do it either way.
    Note that it's a good idea to keep a copy of all your files on your PC (workstation) as a backup, but be sure that any files you (or the install process) modify on the server get copied back to your PC, so your backup is up to date. Also note that this is a backup of your files, and does not include your database, which is a separate backup.
    Anyway, you need to make sure that you uploaded your files to the intended place, and preserved the file structure (e.g., includes/ under the store root catalog/). You don't want to end up with all your files in one ginormous flat directory! You may need to adjust your directory and file permissions before going any further, typically (on a Linux + Apache server) 755 for directories and 644 for files, although this may vary by host and specific server, and some may do things differently. These permissions are read-write for the owner (who has the right to change files) and read-only for everyone else.
    Point 9d6: it is actually very important for you to use something other than Admin as the administration name. You will unfortunately find that you have hacker scum constantly trying to break into your administration area, and if you leave it as Admin, that's half the battle for them. At least make it harder for them to get a foot in the door (and start guessing IDs and passwords) by giving some weird randomish name to the directory. And NEVER tell anyone else your new Admin name, especially in postings to this forum! Be careful if you copy and paste something into public view that you obfuscate the real Admin name (such as changing it back to 'Admin'). The same goes for database access sections of your configure.php files -- obfuscate the user name and password (and probably the database name too) before posting!
    Your admin section should also be protected by server "password protection", which will require another ID and password (demanded by the server, not by osCommerce) to let you in. While osC does provide some sample code for this, it doesn't always work. If it doesn't, remove it and use your hosting control panel's "password protect a directory" function to generate the right code entries for this. The only advantage to using the password protection suggested by osC is that it will (usually) pass the Security Check you can run in osC admin, while host-provided protection frequently will "fail" the test. If in doubt, if you try to go into your protected area and the server demands an ID and password, it's working OK and there's no need to lose sleep over what Security Check says.
    Point 9 somewhere: note that there are two different "configure.php" configuration files. One is in /catalog/includes/ and the other is in /catalog/<Admin>/includes/. They will both be updated by the installation process, so you may have to adjust file permissions to allow PHP to write to them during installation. You should then return them to their normal permissions after installation, or even to "read-only" (e.g., 444) so that they can't accidentally be wiped out. If you immediately backed them up to your PC, that's not as critical to do, but it's still a good practice. Finally, they're different. Take care not to upload one over the other, as careless or naive people frequently end up doing!
    Congratulations: Your store comes with a bunch of preloaded sample products. Don't forget to remove them when you're ready to start loading in your real products. It's best to use the Admin product management pages to delete them (and their categories) one by one, especially if you're inexperienced at this, rather than daringly going directly into the database and truncating product tables. Maybe some day osC will get a utility or function to remove all sample products (or even add them back) without all the tedium.