
Abdy
Blesta Developers-
Posts
407 -
Joined
-
Last visited
-
Days Won
36
Abdy last won the day on August 4 2020
Abdy had the most liked content!
About Abdy

Profile Information
-
Gender
Not Telling
Abdy's Achievements
-
Abdy reacted to a post in a topic: Full Enom TLD listing
-
Abdy reacted to a post in a topic: Import Manager Update May 4, 2021
-
Abdy reacted to a post in a topic: Support tickets fail to send with emoji
-
Kal reacted to a post in a topic: Support tickets fail to send with emoji
-
Paul reacted to a post in a topic: Support tickets fail to send with emoji
-
We've already created a task for that CORE-3791
-
Kal reacted to a post in a topic: Support tickets fail to send with emoji
-
I just tried it and indeed it's a MySQL error. SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\xA4\xA0' for column 'details' at row 1
-
You can change Smart Search to another one, clicking on the magnifying glass icon.
-
I think the best way to implement your own custom search is by using events and not a route. To implement it using events you need to register the event in the *_plugin.php file as in the following example: In this example we register the search() function from the AdminMain controller. class SearchPlugin extends Plugin { // ... public function customSearch($event) { $params = $event->getParams(); if (isset($params['options'])) { $params['options'] += [ $params['base_uri'] . 'plugin/search/admin_main/search/' => 'Custom Search' ]; } $event->setParams($params); } public function getEvents() { return [ [ 'event' => 'Navigation.getSearchOptions', 'callback' => ['this', 'customSearch'] ] ]; } } Now we need to create the AdminMain controller and implement the search() method, which will perform the search: <?php class AdminMain extends AppController { public function preAction() { parent::preAction(); $this->requireLogin(); // Load the languages, models, components // and helpers needed by this controller. } public function index() { // There is nothing to see here $this->redirect($this->base_uri); } public function search() { // Restore structure view location of the admin portal $this->structure->setDefaultView(APPDIR); $this->structure->setView(null, $this->orig_structure_view); // Set page title $this->structure->set('page_title', 'My Custom Search'); // Implement your amazing code here to do the search! if ($this->isAjax()) { return $this->renderAjaxWidgetIfAsync( isset($this->post['search']) ? null : isset($this->get['search']) ); } } }
-
Abdy reacted to an answer to a question: namesilo email verify warning shown
-
You can add custom css and js files in both header and footer by adding them in the /app/views/client/bootstrap/structure.pdt file.
-
Abdy reacted to an answer to a question: My first Plugin throws an error
-
Richzendy reacted to a post in a topic: Create support ticket when a Invoice is paid
-
I don't understand what is exactly the issue, could you please elaborate a little more on what the problem is?
-
Abdy reacted to a post in a topic: Mass Mailer not working properly in 4.10.0/4.10.1 - fix
-
I think it is not necessary to use events for what you are looking for, from the addService() function you can add a condition that if the configurable option exists, a support ticket is created. The addService() function is automatically executed by the cron task when the invoice related to the service has been paid in full. Here's a quick example, assuming that the configurable option for the extra service is named "migration_service": public function addService( $package, array $vars = null, $parent_package = null, $parent_service = null, $status = 'pending' ) { ... if (isset($vars['configoptions']['migration_service'])) { // Create support ticket Loader::loadModels($this, ['SupportManager.SupportManagerTickets']); $ticket = $this->SupportManagerTickets->add([ 'department_id' => 1, 'staff_id' => 1, 'client_id' => 1, 'summary' => 'Subject', 'priority' => 'critical', 'status' => 'open' ]); // Add reply if (!is_null($ticket)) { $this->SupportManagerTickets->addReply($ticket, [ 'client_id' => 1, 'contact_id' => 1, 'type' => 'reply', 'details' => 'Reply text' ]); } } ... }
- 1 reply
-
- module
- event handler
-
(and 4 more)
Tagged with:
-
Try using Loader::loadModels($this, ['SupportManager.SupportManagerTickets']); This is due to $this->uses() is not accessible from a module.
-
You can use add-ons instead of configurable options. Add-ons can have different terms than the main package. Here's a quick example, I created an add-on package for a one time cost of $200. This package belongs to a package group of the Add-on type named Additional Services. I assigned the Hosting package group as a parent of the Additional Services package group. At the moment of adding a new service, regardless of the term of the parent package, the add-on "Migration Service" can be added, even though the parent package is monthly and the add-on is one time.
-
Paul reacted to an answer to a question: Service with adjustable price??
-
You can change the price of a service for each user individually, modifying the service and overriding the price with the new price for that user in specific.
-
Abdy reacted to a post in a topic: Making development easier for gateways, modules, and plugins
-
Abdy reacted to an answer to a question: Change Clients Menu language
-
Abdy reacted to a post in a topic: SSLTrust Module to resell SSL Certificates
-
The "Log In" definition can be located on /language/xx_xx/app_controller.php
-
This usually happens when some definitions are missing from the language pack in use, Blesta does not come by default with a dropdown called "Billing" in the navigation bar. Maybe this one is being added by a third party plugin? If you are using a third party plugin, you may need to update the language files of that plugin. However, you can find the language definitions from the navigation bar on the /language/xx_xx/navigation.php file, where xx_xx is the language pack you are using.
-
All these emails are being sent duplicate to the same email address?
-
Check if the automation tasks are enabled for the Mass Mailer plugin on Settings > Company > Automation in the Plugin tab.
-
The navigation menu can be found on /app/views/client/bootstrap/structure.pdt, in this file is available the $logged_in variable, which allows you to know if a user has logged in or not. <?php if ($this->Html->ifSet($logged_in)) { ?> <!-- The user is logged in: navmenu1 --> <?php } else { ?> <!-- The user is not logged in: navmenu2 --> <?php } ?>