Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 01/29/2022 in Posts

  1. Blestarized - Modern Blesta Admin Template Blestarized is a clean and smart blesta admin template & theme for your every day use. It includes a bunch of features & skins in a modern & responsive UX that will ease your every day work with Blesta. What's included: Modern admin template. Continuous development & feature adding. Current extra Skins & new Skins License for 1 domain Support 24 / 7 - Skype, discord and email. Honest message: Theme Demo: https://www.youtube.com/watch?v=5MxLNdpS5Pw Purchase this theme: https://blestarized.aalayer.com/
    3 points
  2. Take Blesta to the next level! Take your customer’s user experience to another level with the most powerful and customizable Blesta theme available. The Allure Blesta Theme comes with a custom-built Blesta plugin that allows complete control over the look and feel of your Blesta client area. With over 20 editable options, effortless color palette adjustments, dark theme mode, built-in favicon support, RTL, and much more! Learn More View Demo Documentation Feature Highlights Fully Responsive: This theme comes with a fully responsive design framework built around Bootstrap 4.6 and an easy-to-use mobile menu. SwiftModders Blesta Theme Installer: Use the Theme Installer to customize the general layout, fonts, colors, and any custom CSS/SCSS you would like to add. Fast & Friendly Support: One of my missions is to ensure that every client who purchases this team is well-supported and, most importantly, happy! Dark Theme Toggle: Give your customers the ability to "turn off the lights" by enabling the dark theme toggle or set the dark theme as your default! Right-to-Left (RTL) Support: Let your customers know you support their native language variants by enabling RTL support for specific languages. Favicon Support: Take advantage of the excellent service over at RealFaviconGenerator and add favicon support quickly and easily to your Blesta client area. Menu Icon Editor: It has never been easier to enable, disable, edit, or remove icons in the primary navigation for your Blesta client area. Unencoded PDT Files: There is nothing more annoying for a developer than not accessing source files. Luckily this theme offers unencoded PDT files. Custom Order Forms: This theme provides its own set of custom order forms that are integrated into the look and feel of your customizations. License Options & Pricing Yearly Renewal Licenses The below license options will be renewed at the purchase price each year. Renewal is required to maintain access to support and downloads. You can cancel at any time, and your license will remain active for the product's lifetime. Personal (1 Site): $70 per year - Buy Now Pro (5 Sites): $140 per year - Buy Now Agency (Unlimited Sites): $280 per year - Buy Now One-Time Licenses The below license options have no recurring charges and come with support and download access for the product's lifetime. Personal+ (1 Site): $280 one-time - Buy Now Pro+ (5 Sites): $560 one-time - Buy Now Agency+ (Unlimited Sites): $1,102 one-time - Buy Now The source code for this product is not available for purchase at this time. Additional Services Theme Installation ($15): If you're not confident in your ability to install the theme yourself, I can do it for you! Give yourself peace of mind by hiring me to do the process for you. It's quick, easy, and, best of all, inexpensive. Theme Customization ($100): Want to ensure that your client area matches your branding? You can hire me to adjust your theme settings to match your brand colors, fonts, logo, and more. *Note: The "Theme Customization" service is NOT an integration service. I will not integrate anything from your current website design. I will match your brand colors, logo, and additional style assets. Nothing extra will be done outside of that. Refund Policy The Software available for purchase on our website is downloadable, functional, and try-before-you-buy. In addition, the licensor provides a working demo environment for evaluating the Software before purchasing. Please use the demos provided to ensure that the Software meets your needs before purchasing. Licensor may also be contacted if you have any questions regarding the Software before purchase. If you purchase the Software after your payment has cleared, your license to use the Software will be generated. No refunds will be provided once the Software is downloaded and the license is activated. You may request a refund for your Software purchase before downloading or activating your license. Licensor is unable to grant refunds for subscription renewal payments. Licensor will send notifications two (2) weeks before your renewal payment date, and it will be your responsibility to cancel your subscription before that date. Browser Support Microsoft Edge 12+ Google Chrome 29+ Mozilla Firefox 29+ Apple Safari (iOS) 9+ SwiftModders, LLC does not provide technical support for older, outdated browsers. Please update your browser and browse safer. In need of a new website design, custom Blesta theme, or other web development work? SwiftModders, LLC is taking on new projects! If you're interested in working with me, please do not hesitate to reach out. Screenshots
    3 points
  3. Latest Version 1.1.3 FREE DEMO FEATURES V0.8.0.BETA Part 1 of BlestaCRM Bundle Clients (Overview Data) Top Clients Due Top Clients Credit Top Clients By Income (Overall, This Year, This Month, This Week, Today) Top Clients By Services (Active, Suspended, Canceled, Pending) Top Clients by Country The total number of active services per country in map format, as well as total active unique clients per country in a table beneath the map. Credits Reviewer All the credits that you issued to clients between two dates you specify. New Customers The total number of new customers, orders, and complete orders for the current year and compares each of these to the previous year on the graph. Services & Packages (Overview Data) Top Active Services (Overall, This Year, This Month, This Week, Today) Top Canceled Services (Overall, This Year, This Month, This Week, Today) Top Packages by Income (Overall, This Year, This Month, This Week, Today) Top Packages by Sold (Overall, This Year, This Month, This Week, Today) Packages Unordered (Packages never ordered by term) Daily Performance A daily activity summary for a given month. Data in this report includes Completed Orders, New Invoices, Paid Invoices, Opened Tickets, Ticket Replies and Cancellation Requests. Monthly Orders A breakdown of the number of units sold of each product per month per currency. This allows you to see your most profitable products. Promotions Usage Usage statistics for each promotional code to see how often clients have used each promo code. You can download it from here : Click Here Any suggestion or bug report is welcome, we had test the plugin on our system and it works well (based on 1 currency)
    3 points
  4. Grape is a drag-and-drop page builder for Blesta. This plugin helps you create beautiful pages using a visual editor. Create and Manage Pages Add custom HTML(You can easily import any html Template or BLESTA template) You can Create your own custom HTML blocks Access to the BETA version comes with a 50% early bird Discount: https://manager.systemfreaks.com/order/config/index/blesta-plugins/?group_id=24&pricing_id=3541&coupon=BETA Demo Available on Request : https://manager.systemfreaks.com/plugin/support_manager/client_tickets/add/1/
    2 points
  5. Paul

    PHP 8 Support

    As of Blesta 5.4, PHP 8 is supported through the hotfix-php8 SourceGuardian patch included in the release. As of now, ionCube has yet to release support for PHP 8, so we have implemented this alternative.
    2 points
  6. Version 1.0.2 of the Allure Blesta Client Theme is now available to download! You can either download the latest version of the your account dashboard or use the amazing auto-update feature from the SwiftModders Blesta Theme Installer plugin. If you do not have a license, you can take advantage of our Memorial Day 2022 sale and save 30% on your purchase! Simply use the promo code "MEMORIALDAY22" at checkout! This offer will expire on May 31st. Get Started »
    2 points
  7. If your upgrading and have ioncube, you do not need to apply the hotfix folder, it is for sourceguardian only
    1 point
  8. Stellar Stellar is a premium WordPress Theme. Developed from the ground up, it's a complete solution for your web hosting or related business allowing you to combine the power of WordPress & Blesta. Stellar comes packed with many features and includes unlimited support as standard. Price: $99.99 - optional $30/year for access to all future versions Learn More | View Demo | Order Now ^ Please view the links above to learn more about Stellar. Save $15 On Stellar! Use coupon code forum15 during checkout for a huge $15 discount on our Stellar WordPress Theme! Features - Theme Options - Wizard Panel is our exclusive theme options panel found inside WordPress. With Wizard Panel you can edit settings, upload your logo, access shortcodes, manage software integration & more. - Responsive - Stellar is responsive & fluid WordPress Theme meaning it will automatically adapt to fit the size of the device (desktop, tablet, mobile etc) your visitor is using. - Blesta Integration ($30) - We include an optional Blesta Integration. Stellar dynamically generates a copy of your header/footer including all content, customizations and settings. This can then be easily added to your Blesta Integration Template so both your WordPress website and Blesta match in design. We have created an easy copy/paste process showing you how to apply your websites header/footer to Blesta. Note, the integration is static so it does not update automatically. All of the links between WordPress & Blesta (e.g the Contact, View Cart & Client Area buttons) will work instantly after adding your Blesta URL to Wizard Panel. Stellar also supports other billing software including WHMCS, Clientexec, HostBill & WISECP.Integrate Stellar with the most popular softwares (WHMCS, Blesta, Clientexec, WISECP, HostBill & BoxBilling) to add functionality to your website such as domain/hosting automation, client accounts, invoicing & more. - Shortcode Generator - Shortcode is similar to HTML but easier to edit. Stellar includes exclusive shortcode that generates fully customizable plan display options, banners, content blocks, buttons & more. - Ready Made Pages/Content - Stellar includes ready-made pages for the most popular services including Shared Hosting, Game Servers, IPTV & more. These pages also feature exclusive content and are edited using WordPress. - 6 Plan Displays - The Stellar theme comes with 6 product/service display layouts using easy to customize shortcode. Included layouts are pricing tables, data tables, feature boxes & sliders. - 3 Menu Designs - Stellar supports 3 menu designs that can be set easily within Wizard Panel. Options include an exclusive mega menu (multi-settings), standard dropdown & a standard menu. - 2 Header Designs - The Stellar theme supports 2 header design layouts that can be set instantly via Wizard Panel. These options change the positioning of your logo and menu. - Multi-Language Support - The Stellar theme includes built-in multi-language support thanks to the Google Translate option that can be enabled from within Wizard Panel. It also support RTL alignment. - Social Integration - We have integrated 25+ social networks throughout Stellar with display options in the footer, sidebar & side widget. Manage your profiles and display within Wizard Panel. - No Plugins Required - Stellar includes everything you see within the demo without using any plugins. Everything is within the theme itself which is optimum for the speed and security of your website. - Easy Updates - Stellar is built in a way that makes updates very quick & easy without the risk of loosing any customizations. This is also the case for our software integrations. - Full WordPress Support - Stellar embraces the power of WordPress. Create unlimited pages, posts, menus, widgets, content. Customize your website via WordPress, no coding necessary. And much more >> View All Features Software Integration Explained This is a WordPress Theme with an optional Blesta Integration Template ($30/year). The recommended setup is: domain.com/ = WordPress Theme domain.com/directory/ = Blesta Integration Template Stellar dynamically generates a copy of your header/footer including all content, customizations and settings. This can then be easily added to your Blesta template so both your WordPress website and Blesta match in design. We have created an easy copy/paste process showing you how to apply your websites header/footer to the Blesta. Note, the integration is static so it does not update automatically. All of the links between WordPress & Blesta (e.g the Contact, View Cart & Client Area buttons) will work instantly after adding your Blesta URL to Wizard Panel. All of the customizations are made to the WordPress Theme so no Blesta Integration files ever need to be modified. This makes updates to the Blesta Integration very easy as it's just a case of uploading the new files we provide to replace the existing when Blesta is updated. Stellar also supports a wide range of software including WHMCS, Clientexec, WISECP, HostBill & BoxBilling. Stellar Pages Stellar comes packed with over 30 custom pages complete with real and relevant content that is fully customizable. The pages included out of the box are: - Service Pages - Shared Hosting, Reseller Hosting, VPS Hosting, Dedicated Servers, Cloud Hosting, Game Servers, Virtual Private Network, IPTV, Hosting Addons, Web Design - Content Pages: Homepage, Company, Affiliate Program, Why Choose Us, Testimonials - Legal Pages: Terms Of Service, Acceptable Usage Policy, Privacy Policy - Software Pages: All of the pages of your chosen software (WHMCS, Blesta, Clientexec, WISECP, HostBill & BoxBilling) About Our WordPress Themes Our WordPress Themes are a complete solution for your new or existing web hosting business. Customize your website easily using our exclusive theme options panel, Wizard Panel. Edit your pages, widgets, settings and menus all from inside your WordPress admin panel without touching any code. Our themes support multiple display options for your plans including feature boxes, pricing tables & sliders. All of our WordPress Themes support integration with the top software in the industry including WHMCS, Blesta, Clientexec, WISECP, HostBill & BoxBilling. Why Zomex? 1) We're passionate - We have a great passion for the web hosting industry and making the best products/services for your business. 2) We provide support based on our experience in the web hosting industry. 3) We listen to your feedback 4) We have a proven track record in providing Web Hosting Industry products/services. 5) Our products are constantly updated to keep up with the ever-evolving hosting industry. Unsure How To Start A Web Hosting Business? We have created a very detailed guide on the web hosting reseller business: How to start a web hosting reseller business We Look Forward To Hearing From You If you have any questions at all feel free to reply to this thread, create a support request or send us an email: Sales department at sales (at) zomex com or contact me personally at jack (at) zomex com Thank you for showing interest in our services and have a great day! Warm Regards Jack Curtis - CEO Zomex.com
    1 point
  9. Please check your messages.
    1 point
  10. Paul

    remove ACH adn creditcard option

    Under Settings > Company > Billing/Payment > Accepted Payment Types ~/admin/settings/company/billing/acceptedtypes/ you can disable Credit Card and ACH for the entire company by unchecking the boxes and saving.
    1 point
  11. Yes that worked. Thank you.
    1 point
  12. After you configure your TLDs and pricing under Packages > Domain Options, create an order form of the type "Domain and Other" under Packages > Order Forms. This will create an order form with a domain search box, then continue to hosting plans as you've assigned to the order form.
    1 point
  13. We are excited to announce that this url="https://www.zomex.com/products/html-templates/"]HTML Template[/url] has been updated. v2.3 is a huge update that includes many new features and enhancements. New features include an all new Dev directory using our Wizard Panel design, new settings including support for 2 headers, a new software integration process & more. Learn More: https://www.zomex.com/clients/announcements.php?id=275
    1 point
  14. We are excited to announce that this url="https://www.zomex.com/products/html-templates/"]HTML Template[/url] has been updated. v2.3 is a huge update that includes many new features and enhancements. New features include an all new Dev directory using our Wizard Panel design, new settings including support for 2 headers, a new software integration process & more. Learn More: https://www.zomex.com/clients/announcements.php?id=275
    1 point
  15. We managed to fix it with a little js-foo in our module.
    1 point
  16. webnesthosting

    Email Template Changes

    Thank you so much @Paul glad this is now sorted.
    1 point
  17. 1 point
  18. Hello, When creating any record on any domain using the NameSilo reseller module, you get a success message however NO DNS records are created. Deleting records works. Steps Register a Domain using Namesilo Reseller Module Activate DNS Management Go to DNS Management Page (https://client.enzonix.com/client/services/manage/SERVICE-ID/tabClientDnsRecords/) Try to Create any record Receive Success Message Verified Theme is not the issue. No Generated Errors, No Logs, No Console Logs, Everything Looks successful. https://client.enzonix.com/client/services/manage/SERVICE-ID/tabClientDnsRecords/ Screenshots attached above Server Information cPanel (CentOS) Blesta: 5.6.1 NameSilo Module: 2.1.3 PHP 7.4 MySQL 5.7.37 Please do let me know if there is any specific place that I should be looking for errors on this specific matter. Looks like there are already at least 3 other reports of this, I might take a look into the code and see what is going on soon.
    1 point
  19. That is an interesting idea, I will look into the API more soon and see what I can do for that.
    1 point
  20. With infrequent posting on the forums, only 3-4 plugins have been posted here, however over 20 have been developed so far! Anything including plugins, gateways, modules, and messengers. However since nothing new has been posted for a while, following a release of the new "Bulk Download Invoices" plugin (you can find it here: https://marketplace.blesta.com/#/extensions/197-Bulk%20Download%20Invoices), here's bit of a discount on all of the plugins (except this new one): USE CODE NEWRELEASE2304 FOR 25% OFF PLUGINS FOUND AT THIS PAGE Blesta Plugins | Code Cats Ltd (code-cats.com) - https://my.code-cats.com/order/main/packages/blesta_plugins/?group_id=21
    1 point
  21. Nothing in Module Logs too.
    1 point
  22. Hi, So I think I had a similar if not the same issue as yours. I wanted to have multiple servers under a DirectAdmin server group, and my server group will be tied to an actual package in Blesta. When adding a Service manually via Admin panel I'm given an option to select a server. The IP of one of the servers gets saved in the Product, but it should be read from the module not the product. If I select a different server than one from the package it fails with the error you get as well. a:3:{s:5:"error";s:1:"1";s:4:"text";s:21:"Cannot Create Account";s:7:"details";s:40:"That IP does not exist in your list<br> ";} So I've made a fix in the direct_admin.php module that uses the IP from the module by fetching it via API from DA itself. It's a one liner placed at 1006th line in the direct_admin.php file: $params['ip'] = reset($this->getDirectAdminIps($row)); This now solves the issue for me, so I can select the server when adding a service. Please note that I assume that each DA node/server has only one IP, since my code gets only the first IP from the array. I had a longer discussion on Discord if you are interested to look into more details. Hopefully this helps.
    1 point
  23. Paul

    Blesta Issues

    1. Does the client have any contacts with login permissions? Contacts that login will link to the client, and the name of the client may not match the name of the contact. 2. There is a hotfix for this in this task https://dev.blesta.com/browse/CORE-4771 and a resolution shipping with 5.6. You may apply the fix to 5.5.x
    1 point
  24. I cancel the current domain service (without using module), and then readd the domain to the user manually (without using module), then resync expiry date using module and these steps works with all the configurable option available....but i got more than hundreds of domains on multiple users. Is this the only way? or am i missing any migration steps?
    1 point
  25. When ordering a domain XXXX.com someone can easily change the hidden domain field ( Using Chrome Inspect Element ) in the Config form to another domain name and extension and order the domain XXXX.io for the same price of XXXXX.com in LogicBoxes or any other registrar that supports both. Is it possible to encrypt or make these hidden fields session only?
    1 point
  26. I am using some Javascript to add the affiliate ID to every link on my main site, so it passes the affiliate ID when they click an order button that links to Blesta. I've tried creating a cookie named affiliate_code, but it seems to have issues across domains or with subdomains, so I'm not sure it's working well yet. I also added a fetch so that the visit counts towards the affiliate's visit count in their stats. Code I add in the header, if anyone wants to try and use it: <script> function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, '\\$&'); var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, ' ')); } window.addEventListener('load', function() { var anchors = document.getElementsByTagName("a"); let affiliate_id = getParameterByName('a'); if (affiliate_id !== null ) { let blestadomain = '.yourdomain.com'; let daystoexpire = 60; const d = new Date(); d.setTime(d.getTime() + (daystoexpire*24*60*60*1000)); document.cookie = "affiliate_code=" + affiliate_id + "; expires=" + d.toUTCString() + "; ;domain=" + blestadomain + ";path=/"; console.log('Set cookie - affiliate ID: ' + affiliate_id + '; expires: ' + d.toUTCString() + '; domain: ' + blestadomain); for (var i = 0; i < anchors.length; i++) { anchors[i].href = anchors[i].href.indexOf('#') != -1 ? anchors[i].href : anchors[i].href += anchors[i].href.indexOf('?') != -1 ? "&a=" + affiliate_id : "?a=" + affiliate_id; } fetch('https://billing.yourdomain.com/order/forms/a/' + affiliate_id, { mode: "no-cors" }); } }); </script> EDIT: Changed window.load to window.addEventListener because window.load was unreliable on some sites for some reason.
    1 point
  27. Thanks for reply, paul. I finally get it work and running. Seem there is php version not supported.
    1 point
  28. If you moved Blesta, make sure that you moved it correctly including copying ALL files + database. Review the big red note in our moving Blesta guide here https://docs.blesta.com/display/user/Moving+Blesta If you moved Blesta correctly, then it's likely your new server doesn't meet the system requirements. See the requirements here https://docs.blesta.com/display/user/Requirements You can temporarily enable errorReporting in /config/blesta.php by changing it's value from 0 to -1 and any errors may be output to your browser, but be sure to switch it back to 0 when done.
    1 point
  29. This one works now, after I removed a couple of the other cron jobs that were similar. It looks like cron is running once per hour.
    1 point
  30. Hi I am tying to change a direct admin password via the module and keep getting Make sure the password contains the following: At least 12 characters, at least 1 upper-case character A-Z, at least 1 lower-case character a-z, at least 1 number 0-9, and at least 1 special character from the set: !"#$%&'()*+,-./:;<=>?@[]^_` {|}; Make sure the password contains the following: At least 12 characters, at least 1 upper-case character A-Z, at least 1 lower-case character a-z, at least 1 number 0-9, and at least 1 special character from the set: !"#$%&'()*+,-./:;<=>?@[]^_` {|} The password i need to use is 10 characters and includes upper/lower characters and the @ symbol. Could you tell me how I can reduce the minimum character length / force the password to be saved in Blesta. DirectAdmin has accepted the password find when I tried to change it via the admin pages. Thank you
    1 point
  31. Nice work. This looks great!
    1 point
  32. 1 point
  33. Yep! I was running the portal through Cloudflare and it was being cached. Turned it off and now everything works. Much appreciated!
    1 point
  34. Hi All, Another exciting update that the Allure Blesta Theme is officially entering BETA testing. We're that much closer to a release of this amazing new theme. In addition, I've put together a demo site for you all to checkout! Side Menu Demo: https://blesta.swiftmodders.com/?alluremenulocation=side Top Menu Demo: https://blesta.swiftmodders.com/?alluremenulocation=top To learn more about the theme and sign up to be notified when it's released, please visit: https://swiftmodders.com/products/blesta-themes/allure-blesta-theme/ If you have any questions, please do not hesitate to reply to this thread!
    1 point
  35. There is an issue with the Stripe API library in PHP 7.4 for Blesta versions < 5.3.0. I would recommend rolling back your PHP version to 7.3 and see if the issue persists. After the final release of Blesta 5.3, you can switch PHP back to 7.4.
    1 point
  36. I faced similar issue on Namesilo but was able to fix after i enabled enable auto-debit for renewals in NameSilo
    1 point
  37. The API response is logged to the module log under Tools > Logs > Module tab. Click the row for the API call to expand it and see the raw input/output from the API call. Usually the output will provide more information. If there is some kind of PHP error, it would be logged to the file logs under ../logs_blesta (Path defined under Settings > System > General) so you may want to check this also. Only errors written during the registration attempt would be relevant.
    1 point
  38. Attached is an updated version of the import manager. Some users experienced some issues with special characters not being imported correctly from WHMCS. If you experienced this issue, try this import manager. Download, unzip, and replace the default files in /plugins/import_manager/, then install or upgrade under Settings > Company > Plugins. Follow the docs to import here: https://docs.blesta.com/display/user/Migrating+to+Blesta UPDATE 4/16/21: Now imports Stripe tokens and adds mapping files for the following Gateways: Stripe Payments, Authorize.net, PayPal Payments Standard. UPDATE 5/4/21: Fixed issue importing from WHMCS versions older than 8.0. import_manager-2021-05-04.zip Some have reported that the link above does not work for them. If not, you can download it at http://blesta.us/import_manager-2021-05-04.zip
    1 point
  39. Am am fan of standard order template but i wanted it to be boxes instate of list , so i play around with it and i came out with the attached Image i share it here there might be some one who is interested and like it if any one interested to use it here is the code (replace the file /plugins/order/views/templates/standard/main_index.pdt) with bellow code; <?php foreach ($package_groups as $group_id => $package_group) { if (!array_key_exists($group_id, $packages)) { continue; } $this->WidgetClient->clear(); $this->WidgetClient->create($this->Html->ifSet($package_group->name)); ?> <div class="card-body"> <div class="row"> <?php $j = 0; asort($packages[$group_id]); foreach ($packages[$group_id] as $package) { // Only render package if there are pricing options available if (empty($package->pricing)) { continue; } ?> <?php if ($j++ > 0) { ?> <hr /> <?php } ?> <div class="col-md-6 col-lg-4 col-xl-3 p-3"> <div class="border"> <div class="text-center text-white p-1 bg-danger"><strong><?php $this->Html->_($package->name);?></strong></div> <div class="pkg-description p-1"> <?php echo ($this->Html->ifSet($package->description_html) != '' ? $package->description_html : $this->TextParser->encode($parser_syntax, $package->description));?> </div> <div class="text-center p-1"> <?php $this->Form->create(null, ['class' => 'sdisable-on-submit', 'role' => 'form']); $sold_out = $this->Html->ifSet($package->qty, null) == '0'; $limit_reached = $package->client_qty !== null && $package->client_qty <= $this->Html->ifSet($package_counts[$package->id], 0); // Prevent sold out packages from being submitted if (!$sold_out && !$limit_reached) { $this->Form->fieldHidden('group_id', $group_id); } ?> <div class="form-group"> <?php $prices = []; foreach ($package->pricing as $price) { if ($this->Html->ifSet($price->period) == 'onetime') { $period = $this->Html->ifSet($periods[$price->period]); } else { $term = $this->Html->_($price->term, true); $period = $this->Html->concat(' ', $term, ($term == 1 ? $this->Html->ifSet($periods[$price->period]) : $this->Html->ifSet($periods[$price->period . '_plural']))); } // Set the pricing text to include or not include renewal pricing $prices[$price->id] = ($this->Html->ifSet($price->period) == 'onetime' || ($this->Html->ifSet($price->price) == $this->Html->ifSet($price->price_renews)) ? $this->_('Main.index.package_price', true, $period, $this->CurrencyFormat->format($this->Html->ifSet($price->price), $this->Html->ifSet($price->currency))) : $this->_('Main.index.package_price_recurring', true, $period, $this->CurrencyFormat->format($this->Html->ifSet($price->price), $this->Html->ifSet($price->currency)), $this->CurrencyFormat->format($this->Html->ifSet($price->price_renews), $this->Html->ifSet($price->currency))) ); } $this->Form->fieldSelect('pricing_id', $prices, null, ['class' => 'form-control input-sm']); ?> </div> <?php if ($sold_out) { ?> <div class="btn btn-sm btn-danger form-group" disabled="disabled"><i class="fas fa-ban"></i> <?php $this->_('Main.index.sold_out');?></div> <?php } elseif ($limit_reached) { ?> <div class="btn btn-sm btn-danger form-group" disabled="disabled"><i class="fas fa-ban"></i> <?php $this->_('Main.index.client_limit');?></div> <?php } else { ?> <button type="submit" class="btn btn-dark btn-sm form-group"><i class="fas fa-shopping-cart"></i> <?php $this->_('Main.index.select_btn');?></button> <?php } $this->Form->end(); ?> </div> <div class="clearfix"></div> </div> </div> <?php } ?> </div> </div> <?php $this->WidgetClient->end(); } ?>
    1 point
  40. Here's the steps to reset the admin password in order of simplest to most involved: To reset the staff password visit /admin/login and click the "Reset My Password" link. Enter your username, and click the "Reset Password" button. You should get an email with a password reset link within a few minutes. If you don't get an email, ensure that your username is correct. In phpMyAdmin or other MySQL database utility, look in the users table. Your username should appear in the "username" column, typically where id equals 1, as the primary staff account is the first user to be created. If that still doesn't work, you will need to temporarily enable legacy passwords. Please see [encryption](http://docs.blesta.com/display/user/Configuration+Files#ConfigurationFiles-Encryption) in the user manual, specifically Blesta.auth_legacy_passwords and set it to true. Then, in the users table for your username, update the password field to: 5f4dcc3b5aa765d61d8327deb882cf99 Then, try logging in with your username and the password password. Reset your password. Then, change Blesta.auth_legacy_passwords back to false.
    1 point
  41. It's not currently possible to have 2 different billing dates using pro rata. New settings would have to be added and you would have to configure 2 days-of-the-month to bill to (1st and 15th) with the largest one overriding the smaller one based on the bill date.
    1 point
  42. Packages with pro-rata enabled will prorate the service to a specific date, e.g. 1st or 15th of the month, but not both. The cutoff date only determines whether the client should be billed for a partial month, or a full + partial month, the renew date will be the same.
    1 point
  43. Paul

    Deleting a service

    A Package can be deleted if there are no services that are linked to the Package, which includes cancelled services. This is the case because services have a direct relationship with Packages and a service floating around without a Package could cause issues. The typical recommended action is to mark old Packages as "Inactive" instead of deleting them. But, if you are doing some testing you can delete the services in the services table in the database manually, and then you should be able to delete the Package in the UI. Always use the UI where possible. So, service deleted in database, then delete Package in Blesta. We may change this in the future, but the restriction is there to be safe and we need to spend more time determining whether it's safe to delete a Package that has linked services.
    1 point
  44. @Blesta.Store you should definitely mind your words! Regardless if the topic is old I faced that issue now since I upgraded my Blesta now... Your responses are not acceptable. This is not kindergarten
    1 point
  45. Hi, You can add me please? Name: CyanDark Logo: Attached We offer Themes and Custom Development. Contact URL: https://clients.cyandark.com/client/plugin/support_manager/client_tickets/add/4/
    1 point
  46. Hello, It will take more time that I expected to finish the Plugin to work with any outher Module, But I will post below the Code I have iis working in my client case that I have "comment" below for you to understand Im sure there are many outher ways, maybe more easy, but its working great I have set the code below in a Plugin on Blesta, so you can use as you want // Set your email adress to send the report $universaltoany_email = "email@mydomain.com"; // Set Universal Module module_row_id $universal_module_row_id = "1"; // Set the main key to be changed to anouther module key $universal_key_change = "user1"; // Set all Universal Module Keys to be deleted that dosent make sense on the new Module $universal_delete_key = array("opt1","opt2","pass","user2"); // Set Outher Module to transfer to module_row_id $any_module_row_id = "2"; // Set the main key for the new Module to be changed from $universal_key_change $any_key_change = "domain"; // Add all Universal Package Pricing ID's you want to transfer here $universal=array('16','17','26','27','28','38','48','52','53','57','59','66','67','70','74','75','79'); // Add all equivalent new Module Package Pricing ID's here to match the above "universal" $any_module=array('108','86','88','109','107','89','110','111','106','105','104','103','102','112','101','99','84'); // Now we map the array to match each Package Pricing $univ_to_opensrs_map = array_map(null, $universal, $any_module); // Now we start the processes for transfer foreach ($univ_to_opensrs_map as &$value) { // get all universal Packages mapped above $upackages = $this->Record->select(array("pricing_id","package_id"))->from("package_pricing")->where("package_pricing.package_id", "=", $value[0])->fetchAll(); // we start logging the Transfer Report to recive as an email $sendreport .= "Universal Package ID = ". $value[0]."\n"; // start reading all Packages foreach ($upackages as $upackage) { // Now we get all Universal Pricing ID's to transfer $upricings = $this->Record->select(array("id","period","term"))->from("pricings")->where("pricings.id", "=", $upackage->pricing_id)->fetchAll(); // we add all Universal Package Pricing ID's that will be converted $sendreport .= "Universal Package Price ID = ". $upackage->pricing_id."\n"; // now we start reading all Universal Pricing ID's foreach ($upricings as $upricing) { // now we get the pricing term to check if its OK, because some times we onlly use months and in this client case we converted months to years for OpenSRS $gterm = $upricing->term; if ($upricing->period == "month") $gterm = ($upricing->term / 12); // We log the original period and the converted period just to make sure its OK $sendreport .= "Universal Package Price Period = ". $upricing->period."\n"; $sendreport .= "Universal Package Price Term = ". $gterm." -> Original Term = ".$upricing->term." \n\n"; // we logs the outher Moduke Package ID that will convert to $sendreport .= "AnyModule Package ID = ". $value[1]."\n"; // Now we strat getting all outher Module Package Pricing ID's $opackages = $this->Record->select(array("pricing_id","package_id"))->from("package_pricing")->where("package_pricing.package_id", "=", $value[1])->fetchAll(); // Now we start the process of transfer to the outher module foreach ($opackages as $opackage) { // we log the Other Module Package Pricing ID $sendreport .= "AnyModule Package Price ID = ". $opackage->pricing_id."\n"; // now we get all all Package Princig ID's mapped (in this case we will get only the "period" by "year" but you can change that for your case) $opricings = $this->Record->select(array("id","period","term"))->from("pricings")->where("pricings.id", "=", $opackage->pricing_id)->where("pricings.period", "=", "year")->where("pricings.term", "=", $gterm)->fetchAll(); // now we read all pricings foreach ($opricings as $opricing) { // we get the outher module princing ID $opricingid = $opricing->id; // we logs all pricing period and term $sendreport .= "AnyModule Package Price Period = ". $opricing->period."\n"; $sendreport .= "AnyModule Package Price Term = ". $opricing->term."\n"; $sendreport .= "\n\n---------------BEGINING---------------\n"; // now we finally have all correct client/service princing ID and service ID we can convert/transfer $oservices = $this->Record->select(array("id"))->from("services")->where("pricing_id", "=", $upricing->id)->fetchAll(); // we strat the final process foreach ($oservices as $oservice) { // we log all transfered service ID to make sure was transfer sucessfull $sendreport .= "Universal to AnyModule Imported Service ID = ". $oservice->id."\n"; // we update the Universal Module ID to the new Module ID $this->Record->where("pricing_id", "=", $upricing->id)->where("module_row_id", "=", $universal_module_row_id)->update("services", array("pricing_id"=>$opricingid, "module_row_id"=>$any_module_row_id)); // we change the Module "key" in this case "user1" to the new "key", in this case "domain" $this->Record->where("service_id", "=", $oservice->id)->where("key", "=", $universal_key_change)->update("service_fields", array("key"=>$any_key_change)); // we remove all unecessary key's that dosent make sense for this Module, in this case we will remove "opt1","opt2","pass","user2" $this->Record->from("service_fields")->where("service_id", "=", $oservice->id)->where("key", "in", $universal_delete_key)->delete(); } $sendreport .= "\n------------------END-------------------\n\n"; } } } } $sendreport .= "\n\n"; } mail($universaltoany_email, "Blesta - Universal to AnyModule Report", $sendreport);
    1 point
  47. Blesta markets itself as "The Billing Software Platform for Hosting Providers" so i don't think improving the experience for shared hosting is too much to ask. It's a super product for VPS and dedicated servers. Actually I think its the best billing system period for literally anything other than shared hosting. Anyway this should hopefully sum up the desired user flow but anyone else can chime in to improve it if I've missed anything. The next step would be to figure out how that translates to the UI. The primary problem with current UI is there is no option for admins to add context e.g. with tooltips or field descriptions. this is fine for smart users but shared hosting users aren't always technically inclined. The current problem is if a customer uses paths A or B there is no easy way to get to C if they don't already have a domain. Nor is it clear that they need to get a domain. This is the main cause of confusion that many admins have been hoping to be changed in this forum. Currently landing on a package with pricing gives the configurable options box for domain. one proposal could be to have 3 radio selects below the domain. 1 that allows the customer to use the domain they've already registered and is the equivalent to how just pressing continue currently works, another that allows the customer to transfer a domain (not as important but its a nice extra) and finally one that will search for the domain. Radio selects would allow for more elaborate language but if someone can think of concise ways of getting the point across then buttons may be better.
    1 point
  48. More sophistical solution to avoid invoice attachment in email probleme open app/controllers/client_invoices.php if view function change $this->InvoiceDelivery->downloadInvoices(array($invoice->id)); to $this->InvoiceDelivery->streamInvoices(array($invoice->id)); in components/invoice_delivery/invoice_delivery.php under downloadInvoices() add the fallowing function public function streamInvoices(array $invoice_ids, array $options = null) { $invoices = $this->getInvoices($invoice_ids, true); $this->buildInvoices($invoices, true, $options)->stream(); } this will save the email attachement invoice in pdf .
    1 point
  49. Paul

    Access To Restricted Packages

    You got it! Having restricted packages be set on a per client group basis might be a good feature request.
    1 point
×
×
  • Create New...