Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by ploughguy

  1. Yeah, yeah, I know - upgrade to version 6. It's harder than it looks. I'm working on it, really I am, but I tuned up a few things, did a bit of tweaking, and moving this all to V6 is taking more time than I want to tell the wife about. Anyway, back in 2018 ReCaptcha V1 was switched off, so I disabled it. For 12 months, everything was sweet. Recently, some prick in Minsk (a rouble's throw from Pinsk) has discovered that he (almost certainly) can create users with mangled address details (title = REG, town = MINSK) and what looks like a real email address, so my store sends some poor devil an unexpected "Welcome to the family" email. Solution is to replace the now non-operationalReCaptcha V1 with one of the V2 options. Does anyone have a recipe for this?
  2. BSmither, The eWay gateway is one of those “you harvest the data then send it to us as a service call” jobbies. That opens up a whole can’o’worms. Add to this my custom developments, and I get a questionnaire that is about 500 questions long. I was going to shut the direct CC interface down and let Paypal do it all, but after the mandatory cooling-off period, I’ve decided to do the manly thing and treat it as a hobby. I think it would be useful to create a resource for small CC installations like mine that collects draft documents that attempt to meet the requirements by stating manageable policies.
  3. I use eWay to process card payments. They recently signed all their customers up to Trustkeeper, allegedly to help us all become PCI-DSS compliant, although some cynics say it was a shameless grab for $150 per customer since it was delivered on an opt-out basis right at peak tax return time so most people would have assumed it was junk mail and not read it. I only discovered I was enlisted when I was reconciling my bank account and found a $149 payment that I was not expecting. Anyway, for $149 I found out that PCI-DSS exists which is a benefit in itself. I started going through the audit questionnaire. It includes questions like “Does your organisation adhere to modern development practices?” Well, yeah, I use Coda rather than vi, if that is what you mean. No punch cards... It is not at all what they mean, I suspect, but they don’t actually say what they do mean. There is a whole section on firewalls. These, of course are provided by my hosting service. I opened a ticket asking if they are PCI-DSS compliant. Got an answer that said yes. Added some other questions to the ticket and a different guy (they are all guys - well, boys probably) answers and says “well, ac-tuallee, **cough**, your plan is so old (I installed CC 4.3.4 in 2009) that it is -not- PCI-DSS compliant” well, who even knew it was optional? These are just examples - I am going to fail compliance immediately because I am still running CC 4.3.4, so my personal problems are huge... What I want to do is start an ongoing discussion about the need for compliance in the first place, the meaning of the questions, and ways of achieving compliance for small store operators and CC software developers. Doesn’t that sound almost as much fun as discussing tax returns? So - do you think you are compliant? If not, why not and do you know what you can do to fix it?
  4. Just stumbled across you response - thank you for taking the time, Noodles. The largish table of options is about 20 rows - probably a couple of hundred bytes in the global area. I appreciate your comments about putting the data into a database table, and that may well be what I finally choose to do, if only because I can maintain the data with PhpMyAdmin. I was exploring the possibilities with the global area and my main interest in the posting above was to determine why it does not work. It may be that the code was never finished and this aspect of it actually does not work, but it is more likely that I missed a nuance (or an explicit and obvious instruction somewhere, which is quite likely.)
  5. I am building an own-use module that offers a choice from a largish table of options that may change over time. It makes sense to: Initialise this table during module installation Offer a maintenance dialog to add new options down the track The benefit of initialisation is that all sandpit, development, test and production systems will have the same initial set of data; I won't have to initialise it manually; Eliminates opportunities for error when setting up a new system I studiously cribbed the example provided by SWFS Product Dimensions - viz: if(!$module_config = $GLOBALS['config']->get('sfws_product_dimensions')) { $module_config = array ( 'dimensions_unit' => 'cm', 'display_length' => true, 'display_width' => true, 'display_height' => true, 'display_package_count' => true, 'product_page_tab' => true, 'product_page_specifications' => true, 'product_page_other' => false, 'status' => true ); $GLOBALS['config']->set('sfws_product_dimensions','', $module_config); $record = array ( 'module' => 'plugins', 'folder' => 'SFWS_Product_Dimensions', 'status' => '1', ); $GLOBALS['db']->insert('CubeCart_modules', $record); $GLOBALS['main']->setACPNotify("The 'Product Dimensions CC6 Plugin' configuration has been installed."); $redirect_status = 1; } To initialize the table, I cooked up this monster: if(!$module_config = $GLOBALS['config']->get('testModule')) { $module_config = array ( 'products' => array ( array ( 'id' => 1, 'active' => true, 'colour' => 'Red', 'flavour' => 'Chilli, avocado and broccoli', 'priority' => 1 ), array ( 'id' => 2, 'active' => true, 'colour' => 'Grey', 'flavour' => 'Pineapple, turnip and liver', 'priority' => 2 ) ) ); $GLOBALS['config']->set('testModule','', $module_config); } if ($redirect_status == '1') { httpredir(currentPage()); } $module = new Module(__FILE__, $_GET['module'], 'admin/index.php', true); $page_content = $module->display(); The module class should deliver an array named MODULE_DINNER to the Smarty template, but it never arrives. If I remove the bang from the if statement to get if ( $module_config = $GLOBALS['config']->get('testModule') ) then the table is displayed when I enter the form (for example by clicking the module name in the breadcrumb trail at the top of the page) but it is not when I click Save. I believe the template is working perfectly because it displays correctly when MODULE_DINNER is available, so the problem is in the logic of the PHP module. Refining the code above to: if($module_config = $GLOBALS['config']->get('testModule') && !isset($module_config['products])) { $module_config['products'] = array ( array ( 'id' => 1, provides an amusing variation on the existing disfunction, but makes no real difference. The theory of what is happening above is that the module config is initialised before the module class is instantiated. Therefore the module reads the updated config, builds $MODULE, which contains the scalar config values, and creates MODULE_<KEY> for all module config entries that are arrays. The effect that I am seeing is: if the config does not exist already, it is not saved by $GLOBALS['config']->set(. The Save action Clearly I am doing something wrong, and given an infinite amount of time, I may well be able to work it out, but I have spent more hours than I can spare on it so far, so expedience over-rules pride and I am <sob!> asking for help, hoping that someone has managed to get this to work already. My heart is in your hands... There must be a pattern for this already, right? I can find lots of examples that manage scalars, but I have not found a module that initializes a table that has visible code. Thank you for your help. Russ
  6. Licensing question:

    I have a sandpit store, a development store, a test store (which is a frequently-updated copy of the live store) and the live store.  Can I use the same license code/download key in all of them?

    1. havenswift-hosting


      If they are using the same domain name and the test stores are in maintenance mode, then this is fine and the licence code will work. If your sandpit / test stores are using a different domain (including sub-domain) then it will need manual intervention from us to make the same licence code to work and you can contact us via a support ticket to get this sorted

    2. ploughguy


      Excellent response.  Thank you!

  • Create New...