Jump to content

Cody

Blesta Developers
  • Posts

    1,574
  • Joined

  • Last visited

  • Days Won

    74

Everything posted by Cody

  1. I finished the project a while ago, though there is still some tidying up that needs to be done. The power I ran is feeding a zyxel 1U 24-port gigabit switch, my router, cable modem as well as a security camera dvr. I have plans to also power the directv swim box, just haven't relocated it yet. Also thinking of adding something like this https://www.amazon.com/dp/B004OG94VW/ref=cm_sw_r_cp_awdb_oog5ybFTT0BAA to track power consumption. Ideally I would run a rack mountable surge protected network managed power supply, but they're expensive and I have no room left in my rack at the moment.
  2. I'd go with "1 Month @ $12.95 USD for 1 Year". That's how I find it usually phrased for digital services with minimal terms. Secondly, we should definitely use the cancellation fee. The obvious limitation of using the cancellation fee field is that the cancellation fee can only apply if cancelled before the end of the contract term (e.g. after the contract period, cancellation is free).
  3. There's already a simple solution for this in the event that your database is leaked. You run the following query on your database: UPDATE `users` SET `password` = ''; ALL Users will now be unable to login and MUST request a password reset. We're unlikely to build this into the system because this is such an exceedingly rare case, and I feel that since it is such an important decision to make, that it ought to be done by someone with direct access to the database already.
  4. Cody

    Release 3.1.0-B1

    Oh the irony! No, there is no such feature, but you can certainly put in a request in our Feature Requests forums.
  5. You can't store data like that because you're not going to be able to write to it that way. Try this: <?php require_once "path/to/license.php"; //////////////////////////////////////////////////// // BEGIN: ONE-TIME SETUP //////////////////////////////////////////////////// // Get license key from user and write to file file_put_contents("path/to/license_key.txt", $_POST['license_key']); // Initialize to fetch public key $server_url = "https://domain.com/path_to_blesta/plugin/license_manager/validate/"; $path_to_phpseclib = dirname(__FILE__) . DIRECTORY_SEPARATOR . "phpseclib"; // The path to the phpseclib library $license = new License($path_to_phpseclib); $license_manager->setLicenseServerUrl($server_url); // Get public key from license server and write to file file_put_contents("path/to/public_key.txt", $license_manager->requestKey()); //////////////////////////////////////////////////// // END: ONE-TIME SETUP //////////////////////////////////////////////////// <?php //////////////////////////////////////////////////// // BEGIN: FETCH LICENSE DATA //////////////////////////////////////////////////// $server_url = "https://domain.com/path_to_blesta/plugin/license_manager/validate/"; $license_key = file_get_contents("path/to/license_key.txt"); // The client's license key $public_key = file_get_contents("path/to/public_key.txt"); // The client's public key (if they have one) $shared_secret = "your-secret"; // A random shared secret value that exists for this Licese Module product $path_to_phpseclib = dirname(__FILE__) . DIRECTORY_SEPARATOR . "phpseclib"; // The path to the phpseclib library $license = new License($path_to_phpseclib); $license_manager = $license->getManager(); $license_manager->setLicenseServerUrl($server_url); $license_manager->setKeys($license_key, $public_key, $shared_secret); file_put_contents("path/to/license_data.txt", $license_manager->requestData()); //////////////////////////////////////////////////// // END: FETCH LICENSE DATA //////////////////////////////////////////////////// //////////////////////////////////////////////////// // BEGIN: VERIFY LICENSE DATA //////////////////////////////////////////////////// $server_url = "https://domain.com/path_to_blesta/plugin/license_manager/validate/"; $license_key = file_get_contents("path/to/license_key.txt"); // The client's license key $public_key = file_get_contents("path/to/public_key.txt"); // The client's public key (if they have one) $shared_secret = "your-secret"; // A random shared secret value that exists for this Licese Module product $path_to_phpseclib = dirname(__FILE__) . DIRECTORY_SEPARATOR . "phpseclib"; // The path to the phpseclib library $license = new License($path_to_phpseclib); $license_manager = $license->getManager(); $license_manager->setLicenseServerUrl($server_url); $license_manager->setKeys($license_key, $public_key, $shared_secret); $ttl = 1209600; // Amount of time local license data should be valid for (60*60*24*14 = 1209600 = 14 days) $data = $license_manager->validate(file_get_contents("path/to/license_data.txt"), $ttl); print_r($data); //////////////////////////////////////////////////// // END: VERIFY LICENSE DATA ////////////////////////////////////////////////////
  6. Documentation on the License Manager can be found here. If you're using flat files, simply file_put_contents for the license key, license data, and public key. So, you'd have 3 files. Then you would just file_get_contents and assign them to the their respective variables.
  7. Cody

    Code Assistance

    I think by module you mean plugin, right? You can load the models of a plugin directly, and then use them in your plugin, like so: from a controller: $this->uses(array('PluginName.PluginModelName')); $this->PluginModelName->modelMethod(); from a model: Loader::loadModels($this, array('PluginName.PluginModelName')); $this->PluginModelName->modelMethod();
  8. Sounds like you either don't have a cron configured to run, the task to schedule the cancellations did not run yet, or you didn't configure the plugin correctly. When the plugin runs it schedules cancellation for services based on the configurable options you set. Those services remain in a scheduled cancel state until Blesta (core) see that it's time to cancel them. Blesta (core) will then process the cancellation internally as well as remotely with the service's module. Find the service you expect to be cancelled. When it's scheduled for cancellation it will have a timer icon next to it. When the scheduled cancellation date lapses Blesta will cancel the service.
  9. Configuring a web server is outside the scope of support we can provide. The community of web hosts here may be able to help you with that, but it sounds like you might be better off getting your hosting from a web hosting company.
  10. You don't have mod rewrite enabled.
  11. I can't see this happening. We're talking about backing up a database. It's a critical process that should be executed as fast and as efficient as possible. Someone could create a plugin that uses this slow, and not very well written, library if they wanted to avoid using exec commands. But the penalty is not worth the gain in my opinion.
  12. If you say you're using XAMP then you already have MySQL bundled and should use 'localhost' for your database connection. That would definitely speed things up. Blesta runs pretty well on a Raspberry Pi so it's not likely your machine slowing things down. But if you do run your database from localhost and you still experience slowness, then there's definitely something going on with your server. Like maybe you're infected with a trojan mining bitcoins or sending out spam.
  13. Sounds like you're gateway is posting back to your Blesta installation. I'm sure that's not what you intended. Make sure the form for your non-merchant gateway is posting to your payment service provider.
  14. We do have plans, in the future, to add an option when adding an order form, to choose whether to authorize only and capture when approved, or authorize + capture when checking out. However, as others have pointed out, authorize will only work for gateways that support it. So others would still need to process the capture immediately.
  15. Downloads work differently depending on your OS and browser. For example, on Windows with Firefox, you are presented with a dialog to either open the file in Firefox or save it. You can also tell Firefox to do this automatically. If you check that then every time you download a PDF it will open in your browser. With Chrome on Windows, the PDF is automatically opened in Chrome using Chrome's PDF viewer when you click the download at the bottom of the window. Again, you can select "Always open with system viewer" and it will automatically load in your browser when you download it.
  16. I admire Fantasma's passion. Closing as not a bug though, because it's not a bug. I encourage you to open a feature request to allow the community to discuss your proposal.
  17. These can also be added to Blesta as Custom Reports, which is super cool, and would even allow you to customize them across dates or status values, etc.
  18. You could create race conditions. Each PHP process is spun off in a new thread, so there's no guarantee one finishes before the next is requested. This is especially problematic when a task performs operations that result in the PHP process blocking for IO, such as processing payments, or receiving email. If you were to do this, you would need to verify that the task ended before starting up the next.
  19. Cody

    Release 3.6.1

    Version 3.6.1 is now available. You can download it in the Client Area. This is a patch release that corrects issues with 3.6.0. Patching Blesta See Patching Blesta in the User Manual for instructions. Release Notes See Blesta Core - Version 3.6.1. See all Change Logs.
  20. Cody

    Release 3.6.0

    Version 3.6.0 is now available. You can download it in the Client Area. Installing Blesta See Installing Blesta in the User Manual for instructions. Upgrading Blesta See Upgrading Blesta in the User Manual for instructions. Migrating to Blesta See Migrating to Blesta in the User Manual for instructions. Overview New Gateways: Converge (aka VirtualMerchant), and Braintree Payment types can be designated as non-income Automatically set Payment Accounts for auto-debit when saved Improved performance of Invoice and Transaction searches Added ability to invoice each service independently Added ability to mass schedule cancellation of services Show invoice line items on client pay page when paying a single invoice Much more... Release Notes See Blesta Core - Version 3.6.0. For older releases see all Change Logs.
  21. Cody

    Get Exchange Rate

    You want Currencies::get() Note that the exchange_rate is based off of your default currency. So if you want the rate of conversion between two currencies and neither is the default currency, you'll need to pull all 3 currencies and calculate the difference.
  22. Cody

    Release 3.6.0-B2

    Version 3.6.0-b2 is now available. You can download it in the Client Area. This is a BETA feature release. This release is not considered stable enough for production use. Please report any bugs in the 3.6 beta bug forum. Installing Blesta See Installing Blesta in the User Manual for instructions. Upgrading Blesta See Upgrading Blesta in the User Manual for instructions. Release Notes See Blesta Core - Version 3.6.0-b2. For older releases see all Change Logs.
  23. Not a bug, but would make a good feature request.
  24. This plugin doesn't send any emails. It only schedules the cancellation. Blesta doesn't send any email when service cancellations are processed.
×
×
  • Create New...