Search the Community
Showing results for tags 'privacy protection'.
-
Hello Blestars,alot of users ask for the privacy protection , i will sgare with you what i have done in my blesta system to support privacy protection, this tuto is broought to you by Blesta-addons , the source link is located here add privacy protection to Logicboxes module . 1 - First we need to add Configurable Options Group, let call it Protection ID 2 - Create Configurable Options , type checkbox, with Client can Add and Edit, in label put what you want like 'Privacy Protection', in name you should put 'purchase-privacy', in option set the name and in value put 'true' , set price, select group 'Protection ID' . a screen shot like this 3 - Now, edit the domain package to support Configurable Options that we have added, save . at here we have finished the easy task, now we will attack the hard part, as we need to add some code in the logicboxes Module , we should open components/modules/logicboxes/logicboxes.php , in addService() function then search $domain_field_basics = [ 'years' => true, 'ns' => true, 'customer-id' => true, 'reg-contact-id' => true, 'admin-contact-id' => true, 'tech-contact-id' => true, 'billing-contact-id' => true, 'invoice-option' => true, 'protect-privacy' => true ]; Replace with $domain_field_basics = [ 'years' => true, 'ns' => true, 'customer-id' => true, 'reg-contact-id' => true, 'admin-contact-id' => true, 'tech-contact-id' => true, 'billing-contact-id' => true, 'invoice-option' => true, 'protect-privacy' => true, 'purchase-privacy' => true ]; Search $vars['invoice-option'] = 'NoInvoice'; $vars['protect-privacy'] = 'false'; replace with $vars['invoice-option'] = 'NoInvoice'; $vars['protect-privacy'] = 'false'; $vars['purchase-privacy'] = 'false'; search $response = $domains->register(array_intersect_key($vars, $domain_fields)); replace with // Add Protect privacy to the domain if (isset($vars['configoptions']['purchase-privacy'])) { $vars['protect-privacy'] = 'true'; $vars['purchase-privacy'] = 'true'; } $response = $domains->register(array_intersect_key($vars, $domain_fields)); in editService() function, search $service_fields = $this->serviceFieldsToObject($service->fields); under add // Set any config options $vars['configoptions'] = (isset($vars['configoptions']) ? (array)$vars['configoptions'] : null); // Only provision the service if 'use_module' is true if ($vars['use_module'] == 'true') { // Update config option fields if (isset($vars['configoptions'])) { $response = $domains->details( ['order-id' => $service_fields->{'order-id'}, 'options' => ['OrderDetails']] ); $this->processResponse($api, $response); $order = $response->response(); // Add Protect privacy to the domain if applicable if ($vars['configoptions']['purchase-privacy'] && ($order->privacyprotectedallowed == 'true') && ($order->isprivacyprotected == 'false') ) { $data = array( 'order-id' => $service_fields->{'order-id'}, 'invoice-option' => 'NoInvoice' ); $response = $domains->purchasePrivacy($data); $this->processResponse($api, $response); } } if ($this->Input->errors()) { return; } } in renewService() function , search $vars = [ 'years' => 1, 'order-id' => $fields->{'order-id'}, 'exp-date' => $order->endtime, 'invoice-option' => 'NoInvoice' ]; under add // Rnew Privacy protection if added to the domain if (isset($service->options) ) { foreach ($service->options as $option) { if (($option['option_name'] == 'purchase-privacy') && ($order->privacyprotectedallowed) ) { $vars['purchase-privacy'] = 'true'; } } } save the change, now you are done . if blesta team found this helpfull i hope they can add it to the official module .