Jump to content

Cody

Blesta Developers
  • Posts

    1,574
  • Joined

  • Last visited

  • Days Won

    74

Posts 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. Are we able to over ride this and not allow client to re open a closed ticket? It's very annoying when someone replies to an older email and tickets have to be sorted and split. I would rather have a response sent to them saying that they need to open a new ticket.

     

    P.S. I am using v3.6.1 but I responded here since this is the version the feature was introduced in.

     

    Oh the irony! :lol:

     

    No, there is no such feature, but you can certainly put in a request in our Feature Requests forums.

  5. could you please tell me if I am doing it right or not?
    As this is my empty config file format & template:
    <?php
    
    return array(
            'license_key' => '',
    	'public_key' => '',
    	'license_data' => '',
    );
    

    and this is how I am getting the contents:

    $configs = include("fraudrecord_config.php");
    $license_key = $configs['license_key'];
    $public_key1 = $configs['public_key'];
    $license_data = $configs['license_data'];

     

    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. 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();
    
  7. Hi,

     

    I installed the plugin and nothing happened. No account that have been suspended by Blesta got cancelled. What to do ?

     

    Thanks.

     

    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.

  8. Yea i figured that out, Once i enabled it, it still didnt work. So i started googling, so..... Do i need to enable openssl with wamp, get my certification key stuff for ssl or whatever it is. Or do i just enable it, and its stupposed to work, cause if so thats not what happened to me. I did everything in that article then once i goto my website it just says it cant connect to it.

     

    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.

  9. 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.

  10. 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.

  11. I haven't tried this with Blesta yet. Cody, can you see any issues in simply executing the Blesta cron command inside a loop?

     

    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.

  12. 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.

  13. 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.

×
×
  • Create New...