Jump to content

Cody

Blesta Developers
  • Posts

    1,574
  • Joined

  • Last visited

  • Days Won

    74

Posts posted by Cody

  1. Package pricing ID values really have nothing to do with package IDs.

     

    Everytime a package is created one or more package pricing options are created as well. Package pricings are stored in the package_pricing table. Don't rely on package pricing IDs being functionally determined by package ID.

  2. I locked myself out of the staff area, if I use the reset password option, I don't receive a reset email.

    So, I'm now in phpmyadmin looking at the database for blesta3 and found the staff table, although it doesn't have a password or username field like the users table does. Where is the staff's username and passwords stored, or how do I reset it?

     

    Find the user_id in the staff table, then look up that user_id in the users table.

     

    The most common mistake for resetting passwords has been users entering their email address instead of their username when requesting a password reset. Be sure to use your username and you should receive the reset at the email address as listed in the users table.

     

    In the event that you still don't receive the reset message, check the log_email table for the message. If it's in there you can copy/paste the URL out of the message into your browser.

  3. This is exactly what I am looking for! Thanks! Could you guys add it to the next update? :)

     

    The next release is 3.0.3, which is a patch release. Patch releases don't contain new features, so it won't be in there.

     

    It might make it in 3.1.0, but that depends entirely on the type of feedback we get, since this issue is still open for discussion.

  4. I think we need some more discussion on this. It would be great if users of other currencies could chime in here about their country/currency requirements.

     

    The easiest solution, I think, would be when we calculate invoice totals (Invoices::calcLineTotals()) we format the values in decimal format to limit the length of the fractional portion.

     

    For example, the total 1234.5600 in "# ###" format is displayed as 1 235 in currency format. However, perhaps the total value should instead be rounded as well to 1235.

     

    Since this may vary from country to country and currency to currency, perhaps it should be a system config option or currency setting.

  5. Well that fixed one issue -- and I got this one instead:

     

     

    That looks like it's importing what... support tickets?

     

    The error was triggered while importing email log entries. Interestingly, it looks like you have entries in your email log without a to address. Obviously that's not logical, but it's good you got the error as it allow us to improve the migrator to handle all of these bizarre issues with WHMCS.

     

    Update line 845 of /plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php:

     

    from:

     

     

                $vars = array(

     

    to:

     

                if ($message->to == "")
                    continue;
                $vars = array(
  6. Blesta uses different encryption and hashing algorithms for different purposes. Admin and client passwords are stored using bcrypt, computed from an HMAC-SHA-256 hash of the password. This is a one way, algorithm that is extremely difficult to brute force. User passwords are not reversible.

     

    Modules can store some or all of their meta data encrypted, and encryption is used throughout the system to securely store data that can be decrypted like credit card numbers, service meta data and more. I believe this is done through AES, and in the case of credit cards additionally an RSA public/private key pair.

     

    Cody can elaborate more on all of this and correct any errors in what I just said. :)

     

    Nothing else to say.

     

    http://source-docs.blesta.com/class-AppModel.html#_systemEncrypt

    http://source-docs.blesta.com/class-AppModel.html#_systemDecrypt

  7. I just tried the new importer -- it sat grinding its wheels for a few minutes, then spat out this error message:

     

    Undefined index: staff#0 /home/castleco/public_html/_blesta_test/public_html/plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php(690): UnknownException::setErrorHandler(8, 'Undefined index...', '/home/castleco/...', 690, Array) #1 /home/castleco/public_html/_blesta_test/public_html/plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php(40): WhmcsMigrator->importSupportDepartments() #2 /home/castleco/public_html/_blesta_test/public_html/plugins/import_manager/models/import_manager_importer.php(113): WhmcsMigrator->import() #3 /home/castleco/public_html/_blesta_test/public_html/plugins/import_manager/controllers/admin_manage_plugin.php(107): ImportManagerImporter->runMigrator('whmcs', '5.2', Array) #4 /home/castleco/public_html/_blesta_test/public_html/app/controllers/admin_company_plugins.php(104): AdminManagePlugin->import() #5 /home/castleco/public_html/_blesta_test/public_html/lib/dispatcher.php(111): AdminCompanyPlugins->manage() #6 /home/castleco/public_html/_blesta_test/public_html/index.php(21): Dispatcher::dispatch('/_blesta_test/p...') #7 {main}

     

    :(

     

     

    EDIT - Interestingly, my clients seem to have imported OK, along with a bunch of transactions. No services or invoices have been imported though :(

     

    To fix update line 672 of /plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php:

     

    from:

     

                $departs = explode(",", $departs);

     

    to:

     

                if (!isset($this->mappings['staff'][$remote_admin_id]))
                    continue;
                
                $departs = explode(",", $departs);
  8. Hey mate, trust me lol ;) got no closed tickets, but I don't think many people would need them, the opened ones are there.

     

    Are you saying you didn't have any closed tickets, or that the closed ticket you had don't appear? All tickets should be imported, and I see closed tickets in our test environment.

     

    I just tried the new importer -- it sat grinding its wheels for a few minutes, then spat out this error message:

     

    Undefined index: staff#0 /home/castleco/public_html/_blesta_test/public_html/plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php(690): UnknownException::setErrorHandler(8, 'Undefined index...', '/home/castleco/...', 690, Array) #1 /home/castleco/public_html/_blesta_test/public_html/plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php(40): WhmcsMigrator->importSupportDepartments() #2 /home/castleco/public_html/_blesta_test/public_html/plugins/import_manager/models/import_manager_importer.php(113): WhmcsMigrator->import() #3 /home/castleco/public_html/_blesta_test/public_html/plugins/import_manager/controllers/admin_manage_plugin.php(107): ImportManagerImporter->runMigrator('whmcs', '5.2', Array) #4 /home/castleco/public_html/_blesta_test/public_html/app/controllers/admin_company_plugins.php(104): AdminManagePlugin->import() #5 /home/castleco/public_html/_blesta_test/public_html/lib/dispatcher.php(111): AdminCompanyPlugins->manage() #6 /home/castleco/public_html/_blesta_test/public_html/index.php(21): Dispatcher::dispatch('/_blesta_test/p...') #7 {main}

     

    :(

     

     

    EDIT - Interestingly, my clients seem to have imported OK, along with a bunch of transactions. No services or invoices have been imported though :(

     

    Thanks, I'll take a look. Services aren't yet supported by the current version of this migrator.

  9. Moved to support forums since we're using SMTP with SSL on port 465 and it works fine.

     

    Are you sure you're not running TLS on port 465, or perhaps no security?

     

    When you say you're using SMTP with TLS on port 587, is this is the same mail server?

     

    Do these settings work for sending mail?

  10. Yes it still hates me on this bit I got in the video:

     

    SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'amount' cannot be null#0 /home/ctriotol/public_html/blesta/lib/model.php(124): PDOStatement->execute(Array) #1 /home/ctriotol/public_html/blesta/components/record/record.php(215): Model->query('INSERT INTO `tr...', Array) #2 /home/ctriotol/public_html/blesta/app/models/transactions.php(53): Record->insert('transactions', Array, Array) #3 /home/ctriotol/public_html/blesta/plugins/import_manager/components/migrators/migrator.php(218): Transactions->add(Array) #4 /home/ctriotol/public_html/blesta/plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php(615): Migrator->addTransaction(Array, '85') #5 /home/ctriotol/public_html/blesta/plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php(40): WhmcsMigrator->importTransactions()

     

    Try changing line 609, or there abouts, of whmcs_migrator.php:

     

    from:

     

                    'amount' => $transaction->credit,

     

    to:

     

                    'amount' => $credit->credit,
  11. 8) Can I move certain directories outside the publicly accesible directory (eg. template directory, speaking from HB experience)? If yes, what are the needed directories to keep in the publicly accesible directory?

    You can move just about everything outside of the public directory, with the proper code changes. We only recommend having the uploads and temp directories above the publically accessible directory at this time, however.

     

    9) A question for the developers, a must have in any job application. What do you do in your free time? Makes the difference on who get the job between a guy having all the certifications for it, or a guy having no certifications for it.

    Spend time with my family, contribute to open source projects, and play video games. I'm in the middle of The Last of Us right now.

     

    10) Will future updates (eg v4) require a license key renewal (paying for a new license)?

    Absolutely not, though you may need to have support and updates in order to upgrade depending on your license type.

     

    Thank you

    You're welcome.

  12. Hello,

    I've seen your software mentioned on the HB forums and since I'm waiting anyday now for the HB implosion I need a quick exit strategy. I've read a lot of the forum posts and most of the documentation, but I might have missed a few important questions that I need answered before I start evaluating the software. If all goes well, then a license purchase is almost certain to follow.

    1) How is the license activated? I've read that it is linked to the domain used. Does that mean I can use the same license on 2 boxes for a single company (failover configuration, same domain, databases synced)? Coming from HB, the license is linked to the installation path, domain name, and IP address. The IP address has always been a headache for us since the only way to activate private addresses (what we require for failover solution) is to send a ticket to "support" to get the IP updated on their end. Normal clients can only update a public IP that the license is linked to. Fine, no problem there. The downside is that we have to setup a failover solution for the private IP on our end, and have the license linked to that IP. More steps,more things to break apart (they always do, Murphy's Law).

    Licenses are linked to install path, domain, and IP address. We can enabled multiple IPs and domains per install, though this is typically only done for multi-company licenses but there may be something we can do to acomodate you.

     

    2) Seen that most software code is not encrypted. What is encrypted?

    Only what's necessary to protect licensing.

     

    3) How are software updates handled? I mean if I purchase a lifetime license without support, are the updates still available when the support runs out, or do I have to purchase additional yearly support for the updates after that? I do not mind purchasing support for when things go wrong, but I prefer not to have to rely on the subscription to keep the software updated.

    By lifetime are you referring to our lifetime owned license? That license includes support and updates for life, so there's no need to purchase anything else to receive support and updates.

    Owned licenses include 1 year of support and updates, after which you may optionally purchase support and updates on a yearly basis.

     

    Releases follow semantic versioning, and patch releases are always free. As an example, if you are running 3.0.0 and we release 3.1.0 but you are not current with your support and updates at the time of that release you may upgrade to any 3.0.x release, but you will need support and updates to upgrade to the 3.1 minor release.

     

    4) Does the software need to be installed on the root website directory (www.example.com)? Or can I install it in a directory (www.example.com/billing or billing.example.com) and have my website template with links to purchase products?

    You can install Blesta anywhere you'd like.

     

    5) I've seen that most pages can be edited with an in website editor. Does this support creating custom orderpages (a couple of paragraphs describing the products, maybe a small table/boxes on the bottom with buy now buttons for example)?

    You can certainly do that if you're comfortable with a little PHP. Or you can create static HTML pages that simply link to pages within the Blesta order form.

     

    6) Any plans for full nginx integration? (no .htaccess, no manual file editing to make it work)

    A number of users are currently running Blesta on nginx. Kudos to cloudrck.

     

    7) What is the average fix time for security bugs?

    Security is by far our top priority, so we make a strong effort to releases security patches as fast as possible. The average turn around time varies depending on the severity of the issue, but can range between a few hours to about a week.

  13. Please note that the latest version of this migrator is included with the latest release of Blesta.

     

     

    Instructions

    1. BACK UP YOUR BLESTA DATABASE
    2. If you are not running import manager plugin version 1.0.3 download import_manager_1.0.3.zip and unzip to /plugins/
    3. Unzip the contents of whmcs_migrator_b8.zip to /plugins/import_manager/components/migrators/
    4. You should now have /plugins/import_manager/components/migrators/whmcs/
    5. Go to [settings] > [Company] > [Plugins] and install the Import Manager
    6. Click the Manage button on the Import Manager and proceed through the steps
    7. The migration process may take a while. It imports A LOT of stuff.

     

    Data Imported

    1. Staff (including login passwords)
    2. Client Groups
    3. Clients (excluding login passwords)
    4. Credit Card Payment Accounts
    5. Custom Client Fields and Values
    6. Client Notes
    7. Contacts
    8. Tax Rules
    9. Currencies
    10. Invoices
    11. Recurring Invoices
    12. Transactions (partial refunds refund the original and create a new transaction for the difference)
    13. Client Credits
    14. Invoice Credits
    15. Support Departments
    16. Support Tickets (excluding attachments)
    17. Support Predefined Response Categories
    18. Support Predefined Responses
    19. Sent Emails
    20. The following Settings:
      1. Mail Delivery Type
      2. SMTP Host, User, Password, Port, and Security Type
      3. Invoice Days Before Renewal
      4. Invoice Reminder Settings
      5. Auto Debit Days Before Due
      6. Suspend Services After Due
    21. Calendar Events
    22. Products (become packages)
    23. Registrars (become modules/module rows)
    24. Servers (become modules/module rows)
    25. Services
    26. Domains (become services)

    Notes

    • All custom pricing overrides will be imported as package pricing potentially creating multiple prices for the same term and currency
    • WHMCS uses plain MD5 passwords for admin users. To enable support for these passwords update (/config/blesta.php)
    Configure::set("Blesta.auth_legacy_passwords", false);

    to

    Configure::set("Blesta.auth_legacy_passwords", true);

    What's new in b6

    • Added debugging option.
    • Added check for gmp extension.
    • Added support for refunds.
    • Import refunded invoices as void.

     

    What's new in b7

    • Only sets quantity for package if stock conrtrol enabled
    • Extracts all numberic values from ticket ID to better ensure ticket numbers come through

     

    What's new in b8

    • Introduced transactions for deferred commits (speed improvements)
    • Now forces UTF-8 connection to WHMCS database to ensure special characters come through

    import_manager_1.0.3.zip

    whmcs_migrator_b3.zip

    whmcs_migrator_b4.zip

    whmcs_migrator_b5.zip

    whmcs_migrator_b6.zip

    whmcs_migrator_b7.zip

    whmcs_migrator_b8.zip

  14. I noticed that the footer of Blesta showed version 3.0.2 upon logging in after uploading the new patch files but prior to running an upgrade at /admin/upgrade. This could be a bit misleading to some. If it's a feature of patches that don't require database updates, etc. then it should probably be documented. Otherwise, may want to avoid updating the version number until an upgrade has actually been run.

     

    That's actually the expected behavior. The version number displayed in the footer is the version of the files. There's a separate version number for the database schema, and they're not always in sync.

     

     

    However, you do raise a good point. In the future we may want to automatically direct to the upgrade screen if/when an upgrade is possible.

×
×
  • Create New...