From d9099b88925cca6b94b3b80ae5a42626b3a22766 Mon Sep 17 00:00:00 2001 From: Abdy Franco Date: Wed, 4 Mar 2026 14:55:55 -0600 Subject: [PATCH 1/5] Update admin PDT files to Bootstrap 5/Paradigm --- apis/enhance_api.php | 118 ++++++++++++++----- config.json | 26 ++++- config/enhance.php | 2 +- enhance.php | 50 +++++--- language/en_us/enhance.php | 1 + views/default/add_row.pdt | 95 +++++++++------- views/default/admin_service_info.pdt | 23 ++-- views/default/client_service_info.pdt | 59 +++++----- views/default/edit_row.pdt | 96 +++++++++------- views/default/manage.pdt | 157 +++++++++++++++----------- views/default/tabChangePassword.pdt | 44 ++++---- 11 files changed, 414 insertions(+), 257 deletions(-) diff --git a/apis/enhance_api.php b/apis/enhance_api.php index 22d3535..d4d4675 100644 --- a/apis/enhance_api.php +++ b/apis/enhance_api.php @@ -1,4 +1,5 @@ $data[count($data) - 1], - 'headers' => array_splice($data, 0, count($data) - 1)] - ); + 'headers' => array_splice($data, 0, count($data) - 1)]); } /** @@ -481,24 +481,32 @@ public function getLogins() */ public function findCustomerByEmailWithLogging($email, $logCallback = null) { - if ($logCallback) $logCallback("Starting login search for email: $email"); + if ($logCallback) { + $logCallback("Starting login search for email: $email"); + } // Get all logins for the main organization $response = $this->getLogins(); if ($response->errors()) { - if ($logCallback) $logCallback("ERROR: Failed to get logins - " . serialize($response->errors())); + if ($logCallback) { + $logCallback('ERROR: Failed to get logins - ' . serialize($response->errors())); + } return null; } $logins = $response->response(); if (!isset($logins->items) || !is_array($logins->items)) { - if ($logCallback) $logCallback("ERROR: No login items in API response"); + if ($logCallback) { + $logCallback('ERROR: No login items in API response'); + } return null; } $loginCount = count($logins->items); - if ($logCallback) $logCallback("Found $loginCount logins to check in main organization"); + if ($logCallback) { + $logCallback("Found $loginCount logins to check in main organization"); + } // Search through logins to find matching email for ($index = 0; $index < $loginCount; $index++) { @@ -507,17 +515,23 @@ public function findCustomerByEmailWithLogging($email, $logCallback = null) $loginId = $login->id ?? null; $loginName = $login->name ?? 'Unknown'; - if ($logCallback) $logCallback("Checking login $index: '$loginName' - email: '$loginEmail'"); + if ($logCallback) { + $logCallback("Checking login $index: '$loginName' - email: '$loginEmail'"); + } // Compare emails (case-sensitive) if ($loginEmail === $email) { - if ($logCallback) $logCallback("LOGIN MATCH FOUND! '$loginEmail' === '$email'"); + if ($logCallback) { + $logCallback("LOGIN MATCH FOUND! '$loginEmail' === '$email'"); + } // We also try to find the customer record $customerInfo = $this->findCustomerForLogin($loginId, $logCallback); if ($customerInfo) { - if ($logCallback) $logCallback("Found customer record: " . serialize($customerInfo)); + if ($logCallback) { + $logCallback('Found customer record: ' . serialize($customerInfo)); + } return [ 'customer_id' => $customerInfo['id'], @@ -527,7 +541,9 @@ public function findCustomerByEmailWithLogging($email, $logCallback = null) 'email' => $loginEmail ]; } else { - if ($logCallback) $logCallback("WARNING: Found login but no customer record. Using login info."); + if ($logCallback) { + $logCallback('WARNING: Found login but no customer record. Using login info.'); + } // Return login info with main org as fallback return [ @@ -539,11 +555,15 @@ public function findCustomerByEmailWithLogging($email, $logCallback = null) ]; } } else { - if ($logCallback) $logCallback("No match: '$loginEmail' !== '$email'"); + if ($logCallback) { + $logCallback("No match: '$loginEmail' !== '$email'"); + } } } - if ($logCallback) $logCallback("Search complete - no matching login found for email: $email"); + if ($logCallback) { + $logCallback("Search complete - no matching login found for email: $email"); + } return null; } @@ -556,22 +576,30 @@ public function findCustomerByEmailWithLogging($email, $logCallback = null) */ private function findCustomerForLogin($loginId, $logCallback = null) { - if ($logCallback) $logCallback("Searching for customer records under main org"); + if ($logCallback) { + $logCallback('Searching for customer records under main org'); + } // Get all customers under the main organization $response = $this->getCustomers(); if ($response->errors()) { - if ($logCallback) $logCallback("ERROR: Failed to get customers - " . serialize($response->errors())); + if ($logCallback) { + $logCallback('ERROR: Failed to get customers - ' . serialize($response->errors())); + } return null; } $customers = $response->response(); - if ($logCallback) $logCallback("DEBUG: Raw customers response structure: " . json_encode($customers)); + if ($logCallback) { + $logCallback('DEBUG: Raw customers response structure: ' . json_encode($customers)); + } if (!isset($customers->data) || !is_array($customers->data)) { if (!isset($customers->items) || !is_array($customers->items)) { - if ($logCallback) $logCallback("ERROR: No customer data in response. Available keys: " . implode(', ', array_keys((array)$customers))); + if ($logCallback) { + $logCallback('ERROR: No customer data in response. Available keys: ' . implode(', ', array_keys((array)$customers))); + } return null; } // Try items array instead @@ -580,13 +608,17 @@ private function findCustomerForLogin($loginId, $logCallback = null) $customersList = $customers->data; } - if ($logCallback) $logCallback("Found " . count($customersList) . " customers in main organization"); + if ($logCallback) { + $logCallback('Found ' . count($customersList) . ' customers in main organization'); + } // For now, just return the first customer if any exist // In a real implementation, we might match by name or other criteria if (count($customersList) > 0) { $customer = $customersList[0]; - if ($logCallback) $logCallback("Returning first customer: " . ($customer->name ?? 'Unknown')); + if ($logCallback) { + $logCallback('Returning first customer: ' . ($customer->name ?? 'Unknown')); + } return [ 'id' => $customer->id ?? null, @@ -594,7 +626,9 @@ private function findCustomerForLogin($loginId, $logCallback = null) ]; } - if ($logCallback) $logCallback("No customers found in main organization"); + if ($logCallback) { + $logCallback('No customers found in main organization'); + } return null; } @@ -607,26 +641,36 @@ private function findCustomerForLogin($loginId, $logCallback = null) */ private function findCustomerOrgForLogin($loginId, $logCallback = null) { - if ($logCallback) $logCallback("Searching for customer organization containing login ID: $loginId"); + if ($logCallback) { + $logCallback("Searching for customer organization containing login ID: $loginId"); + } // Get all customer organizations $response = $this->getCustomers(); if ($response->errors()) { - if ($logCallback) $logCallback("ERROR: Failed to get customers - " . serialize($response->errors())); + if ($logCallback) { + $logCallback('ERROR: Failed to get customers - ' . serialize($response->errors())); + } return null; } $customers = $response->response(); - if ($logCallback) $logCallback("DEBUG: Raw customers response structure: " . json_encode($customers)); + if ($logCallback) { + $logCallback('DEBUG: Raw customers response structure: ' . json_encode($customers)); + } if (!isset($customers->data) || !is_array($customers->data)) { - if ($logCallback) $logCallback("ERROR: No customer data in response. Available keys: " . implode(', ', array_keys((array)$customers))); + if ($logCallback) { + $logCallback('ERROR: No customer data in response. Available keys: ' . implode(', ', array_keys((array)$customers))); + } return null; } $customerCount = count($customers->data); - if ($logCallback) $logCallback("Checking $customerCount customer organizations"); + if ($logCallback) { + $logCallback("Checking $customerCount customer organizations"); + } // Search through each customer organization for ($index = 0; $index < $customerCount; $index++) { @@ -634,7 +678,9 @@ private function findCustomerOrgForLogin($loginId, $logCallback = null) $customer_org_id = $customer->id ?? null; $customer_name = $customer->name ?? 'Unknown'; - if ($logCallback) $logCallback("Checking customer $index: '$customer_name' (ID: $customer_org_id)"); + if ($logCallback) { + $logCallback("Checking customer $index: '$customer_name' (ID: $customer_org_id)"); + } if (!$customer_org_id) { continue; @@ -644,13 +690,17 @@ private function findCustomerOrgForLogin($loginId, $logCallback = null) $membersResponse = $this->apiRequest("orgs/{$customer_org_id}/members", [], 'GET'); if ($membersResponse->errors()) { - if ($logCallback) $logCallback("ERROR getting members for customer $index: " . serialize($membersResponse->errors())); + if ($logCallback) { + $logCallback("ERROR getting members for customer $index: " . serialize($membersResponse->errors())); + } continue; } $members = $membersResponse->response(); if (!isset($members->data) || !is_array($members->data)) { - if ($logCallback) $logCallback("No members data for customer $index"); + if ($logCallback) { + $logCallback("No members data for customer $index"); + } continue; } @@ -658,10 +708,14 @@ private function findCustomerOrgForLogin($loginId, $logCallback = null) foreach ($members->data as $memberIndex => $member) { $memberLoginId = $member->login->id ?? null; - if ($logCallback) $logCallback("Member {$index}-{$memberIndex} has login ID: $memberLoginId"); + if ($logCallback) { + $logCallback("Member {$index}-{$memberIndex} has login ID: $memberLoginId"); + } if ($memberLoginId === $loginId) { - if ($logCallback) $logCallback("FOUND! Customer organization '$customer_name' contains login ID $loginId"); + if ($logCallback) { + $logCallback("FOUND! Customer organization '$customer_name' contains login ID $loginId"); + } return [ 'customer_org_id' => $customer_org_id, @@ -672,7 +726,9 @@ private function findCustomerOrgForLogin($loginId, $logCallback = null) } } - if ($logCallback) $logCallback("Login ID $loginId not found in any customer organization"); + if ($logCallback) { + $logCallback("Login ID $loginId not found in any customer organization"); + } return null; } @@ -743,7 +799,7 @@ public function createCustomerLogin($customer_org_id, $email, $name, $password) $endpoints = [ "orgs/{$customer_org_id}/logins", "logins?orgId={$customer_org_id}", - "logins" + 'logins' ]; $lastResponse = null; diff --git a/config.json b/config.json index 058d3cf..0eece46 100644 --- a/config.json +++ b/config.json @@ -1,5 +1,5 @@ { - "version": "1.0.1", + "version": "2.0.0", "name": "Enhance.name", "description": "Enhance.description", "authors": [ @@ -21,8 +21,22 @@ "name_key": "domain" }, "email_tags": { - "module": ["server_label", "hostname", "org_id", "api_token"], - "package": ["package"], - "service": ["domain", "username", "password", "website_id", "customer_email"] - } -} \ No newline at end of file + "module": [ + "server_label", + "hostname", + "org_id", + "api_token" + ], + "package": [ + "package" + ], + "service": [ + "domain", + "username", + "password", + "website_id", + "customer_email" + ] + }, + "icon": "bi-server" +} diff --git a/config/enhance.php b/config/enhance.php index f4c0c5f..83d645e 100644 --- a/config/enhance.php +++ b/config/enhance.php @@ -1,4 +1,5 @@ Thank you for your business!

' ] ]); - diff --git a/enhance.php b/enhance.php index 2de77c2..917d610 100644 --- a/enhance.php +++ b/enhance.php @@ -1,5 +1,7 @@ ModuleManager->getByClass( + \Illuminate\Support\Str::snake(get_class($this)), + Configure::get('Blesta.company_id') + ); + $module = ($module[0] ?? []); + $this->view->set('module', (object) $module); $this->view->set('vars', (object) $vars); return $this->view->fetch(); @@ -125,6 +134,14 @@ public function manageEditRow($module_row, array &$vars) $vars = $module_row->meta; } + // Fetch module + Loader::loadModels($this, ['ModuleManager']); + $module = $this->ModuleManager->getByClass( + \Illuminate\Support\Str::snake(get_class($this)), + Configure::get('Blesta.company_id') + ); + $module = ($module[0] ?? []); + $this->view->set('module', (object) $module); $this->view->set('vars', (object) $vars); return $this->view->fetch(); @@ -297,7 +314,7 @@ public function validateConnection($api_token, $hostname = null, $org_id = null) $this->log($hostname . '|validateConnection', serialize($response->raw()), 'output', $success); return $success; - } catch (Exception $e) { + } catch (\Throwable $e) { // Log the exception $this->log($hostname . '|validateConnection', serialize(['error' => $e->getMessage()]), 'output', false); return false; @@ -380,7 +397,7 @@ public function getPackageFields($vars = null) } } } - } catch (Exception $e) { + } catch (\Throwable $e) { // Log the error but continue with empty plans array $this->log($row->meta->hostname . '|getPackageFields', 'Failed to fetch plans: ' . $e->getMessage(), 'output', false); } @@ -395,7 +412,7 @@ public function getPackageFields($vars = null) $fields->fieldSelect( 'meta[package]', $plans, - (isset($vars->meta['package']) ? $vars->meta['package'] : null), + ($vars->meta['package'] ?? null), ['id' => 'enhance_package'] ) ); @@ -404,7 +421,7 @@ public function getPackageFields($vars = null) $package->attach( $fields->fieldText( 'meta[package]', - (isset($vars->meta['package']) ? $vars->meta['package'] : null), + ($vars->meta['package'] ?? null), ['id' => 'enhance_package'] ) ); @@ -574,7 +591,7 @@ public function addService( } // Log each customer found - $customerKeys = array_filter(array_keys($lastRequest), function($key) { + $customerKeys = array_filter(array_keys($lastRequest), function ($key) { return strpos($key, 'customer_') === 0 && strpos($key, '_') === strrpos($key, '_'); }); foreach ($customerKeys as $key) { @@ -582,7 +599,7 @@ public function addService( } // Log member details - $memberKeys = array_filter(array_keys($lastRequest), function($key) { + $memberKeys = array_filter(array_keys($lastRequest), function ($key) { return strpos($key, 'member_') === 0 || strpos($key, 'members_count_') === 0 || strpos($key, 'no_members_') === 0; }); foreach ($memberKeys as $key) { @@ -1032,7 +1049,7 @@ private function getFieldsFromInput(array $vars, $package) $password = !empty($vars['password']) ? $vars['password'] : $this->generatePassword(); // Get package name from the package meta - $package_name = isset($package->meta->package) ? $package->meta->package : 'default'; + $package_name = $package->meta->package ?? 'default'; $fields = [ 'domain' => $domain, @@ -1216,7 +1233,7 @@ private function generateSsoLoginUrl($service_fields, $row) $this->log($row->meta->hostname . '|sso_error', 'Failed to get members: ' . serialize($membersResponse->errors()), 'output', false); $otp_response = null; } - } catch (Exception $e) { + } catch (\Throwable $e) { $this->log($row->meta->hostname . '|sso_error', 'SSO exception: ' . $e->getMessage(), 'output', false); $otp_response = null; } @@ -1238,11 +1255,14 @@ private function generateSsoLoginUrl($service_fields, $row) } elseif ($otp_response) { $this->log($row->meta->hostname . '|sso_error', 'SSO failed: ' . serialize($otp_response->errors()) . ' Status: ' . $otp_response->status(), 'output', false); } - } else { $missing = []; - if (!isset($service_fields->customer_org_id)) $missing[] = 'customer_org_id'; - if (!$row) $missing[] = 'module_row'; + if (!isset($service_fields->customer_org_id)) { + $missing[] = 'customer_org_id'; + } + if (!$row) { + $missing[] = 'module_row'; + } $this->log($row ? $row->meta->hostname : 'unknown' . '|sso_error', 'Missing required fields for SSO: ' . implode(', ', $missing), 'output', false); } @@ -1362,7 +1382,7 @@ public function tabChangePassword( $this->view->set('service_fields', $service_fields); $this->view->set('service_id', $service->id); $this->view->set('client_id', $service->client_id); - $this->view->set('vars', (isset($vars) ? $vars : new stdClass())); + $this->view->set('vars', ($vars ?? new stdClass())); $this->view->setDefaultView('components' . DS . 'modules' . DS . 'enhance' . DS); return $this->view->fetch(); @@ -1451,7 +1471,7 @@ public function tabClientChangePassword( $this->view->set('service_fields', $service_fields); $this->view->set('service_id', $service->id); $this->view->set('client_id', $service->client_id); - $this->view->set('vars', (isset($vars) ? $vars : new stdClass())); + $this->view->set('vars', ($vars ?? new stdClass())); $this->view->setDefaultView('components' . DS . 'modules' . DS . 'enhance' . DS); return $this->view->fetch(); @@ -1527,7 +1547,7 @@ private function getServiceFields($vars = null) $domain->attach( $fields->fieldText( 'domain', - (isset($vars->domain) ? $vars->domain : null), + ($vars->domain ?? null), ['id' => 'enhance_domain'] ) ); diff --git a/language/en_us/enhance.php b/language/en_us/enhance.php index 3bcdb18..796b7fe 100644 --- a/language/en_us/enhance.php +++ b/language/en_us/enhance.php @@ -9,6 +9,7 @@ $lang['Enhance.module_row_plural'] = 'Servers'; $lang['Enhance.module_group'] = 'Server Group'; +$lang['Enhance.back_to_manage'] = 'Back'; // Module management $lang['Enhance.add_module_row'] = 'Add Server'; diff --git a/views/default/add_row.pdt b/views/default/add_row.pdt index 48b3076..d4e7519 100644 --- a/views/default/add_row.pdt +++ b/views/default/add_row.pdt @@ -1,48 +1,65 @@ - + +Widget->clear(); - $this->Widget->setLinkButtons([]); + $this->Widget->setLinkButtons([ + ['name' => $this->_('Enhance.back_to_manage', true), 'icon' => 'bi bi-arrow-left me-1', 'attributes' => ['href' => $this->base_uri . 'settings/company/modules/manage/' . $module->id]] + ]); $this->Widget->create($this->_('Enhance.add_row.box_title', true)); ?> -
- Form->create(); + Form->create(null, ['class' => 'disable-on-submit']); ?> -
-
    -
  • - Form->label($this->_('Enhance.row_meta.server_label', true), 'server_label'); - $this->Form->fieldText('server_label', (isset($vars->server_label) ? $vars->server_label : null), ['id' => 'server_label', 'class' => 'block']); - ?> -
  • -
  • - Form->label($this->_('Enhance.row_meta.hostname', true), 'hostname'); - $this->Form->fieldText('hostname', (isset($vars->hostname) ? $vars->hostname : null), ['id' => 'hostname', 'class' => 'block']); - ?> -
  • -
  • - Form->label($this->_('Enhance.row_meta.org_id', true), 'org_id'); - $this->Form->fieldText('org_id', (isset($vars->org_id) ? $vars->org_id : null), ['id' => 'org_id', 'class' => 'block']); - ?> -
  • -
  • - Form->label($this->_('Enhance.row_meta.api_token', true), 'api_token'); - $this->Form->fieldText('api_token', (isset($vars->api_token) ? $vars->api_token : null), ['id' => 'api_token', 'class' => 'block']); - ?> -
  • -
-
-
- Form->fieldSubmit('save', $this->_('Enhance.add_row.add_btn', true), ['class' => 'btn btn-primary pull-right']); + +
+ + Form->fieldText('server_label', (isset($vars->server_label) ? $vars->server_label : null), ['id' => 'server_label', 'class' => 'form-control']); + ?> +
+ +
+ + Form->fieldText('hostname', (isset($vars->hostname) ? $vars->hostname : null), ['id' => 'hostname', 'class' => 'form-control']); + ?> +
+ +
+ + Form->fieldText('org_id', (isset($vars->org_id) ? $vars->org_id : null), ['id' => 'org_id', 'class' => 'form-control']); ?> -
- + +
+ + Form->fieldText('api_token', (isset($vars->api_token) ? $vars->api_token : null), ['id' => 'api_token', 'class' => 'form-control']); + ?> +
+ + Widget->footer(); ?> +
+ Form->fieldSubmit('save', $this->_('Enhance.add_row.add_btn', true), ['class' => 'btn btn-primary']); + ?> +
+ + Form->end(); ?> -
Widget->end(); + ?> diff --git a/views/default/admin_service_info.pdt b/views/default/admin_service_info.pdt index 815a448..f09f4ef 100644 --- a/views/default/admin_service_info.pdt +++ b/views/default/admin_service_info.pdt @@ -1,11 +1,16 @@ - - - - - - - + + +
_('Enhance.service_info.username'); ?>_('Enhance.service_info.email'); ?>_('Enhance.service_info.password'); ?>_('Enhance.service_info.options');?>
+ + + + + + + + + @@ -13,6 +18,7 @@ -
_('Enhance.service_info.username'); ?>_('Enhance.service_info.email'); ?>_('Enhance.service_info.password'); ?>_('Enhance.service_info.options');?>
username) ? $this->Html->safe($service_fields->username) : null); ?>password) ? $this->Html->safe($service_fields->password) : null); ?> _('Enhance.service_info.option_login');?> @@ -25,4 +31,5 @@ ?>
+ + \ No newline at end of file diff --git a/views/default/client_service_info.pdt b/views/default/client_service_info.pdt index 98b256f..105c21e 100644 --- a/views/default/client_service_info.pdt +++ b/views/default/client_service_info.pdt @@ -1,34 +1,37 @@ -
- - - - - - - - - - - - - - - - - + + +
_('Enhance.service_info.username'); ?>_('Enhance.service_info.email'); ?>_('Enhance.service_info.password'); ?>_('Enhance.service_info.options'); ?>
username) ? $this->Html->safe($service_fields->username) : null); ?>customer_email) ? $this->Html->safe($service_fields->customer_email) : null); ?>password) ? $this->Html->safe($service_fields->password) : null); ?> - + +
+ + + + + + + + + + + + + + + + + - - -
_('Enhance.service_info.username'); ?>_('Enhance.service_info.email'); ?>_('Enhance.service_info.password'); ?>_('Enhance.service_info.options'); ?>
username) ? $this->Html->safe($service_fields->username) : null); ?>customer_email) ? $this->Html->safe($service_fields->customer_email) : null); ?>password) ? $this->Html->safe($service_fields->password) : null); ?> + - _('Enhance.service_info.option_login');?> - Html->safe($login_url) : null);?>" target="_blank">_('Enhance.service_info.option_login');?> + - _('Enhance.service_info.option_login');?> - meta->hostname) ? $this->Html->safe($module_row->meta->hostname) : ''); ?>:2087" target="_blank">_('Enhance.service_info.option_login');?> + -
-
+
+
\ No newline at end of file diff --git a/views/default/edit_row.pdt b/views/default/edit_row.pdt index 7d82d32..c0281d3 100644 --- a/views/default/edit_row.pdt +++ b/views/default/edit_row.pdt @@ -1,49 +1,65 @@ - + +Widget->clear(); - $this->Widget->setLinkButtons([]); + $this->Widget->setLinkButtons([ + ['name' => $this->_('Enhance.back_to_manage', true), 'icon' => 'bi bi-arrow-left me-1', 'attributes' => ['href' => $this->base_uri . 'settings/company/modules/manage/' . $module->id]] + ]); $this->Widget->create($this->_('Enhance.edit_row.box_title', true)); ?> -
- Form->create(); + Form->create(null, ['class' => 'disable-on-submit']); ?> -
-
    -
  • - Form->label($this->_('Enhance.row_meta.server_label', true), 'server_label'); - $this->Form->fieldText('server_label', (isset($vars->server_label) ? $vars->server_label : null), ['id' => 'server_label', 'class' => 'block']); - ?> -
  • -
  • - Form->label($this->_('Enhance.row_meta.hostname', true), 'hostname'); - $this->Form->fieldText('hostname', (isset($vars->hostname) ? $vars->hostname : null), ['id' => 'hostname', 'class' => 'block']); - ?> -
  • -
  • - Form->label($this->_('Enhance.row_meta.org_id', true), 'org_id'); - $this->Form->fieldText('org_id', (isset($vars->org_id) ? $vars->org_id : null), ['id' => 'org_id', 'class' => 'block']); - ?> -
  • -
  • - Form->label($this->_('Enhance.row_meta.api_token', true), 'api_token'); - $this->Form->fieldText('api_token', (isset($vars->api_token) ? $vars->api_token : null), ['id' => 'api_token', 'class' => 'block']); - ?> -
  • -
-
- -
- Form->fieldSubmit('save', $this->_('Enhance.edit_row.edit_btn', true), ['class' => 'btn btn-primary pull-right']); + +
+ + Form->fieldText('server_label', (isset($vars->server_label) ? $vars->server_label : null), ['id' => 'server_label', 'class' => 'form-control']); + ?> +
+ +
+ + Form->fieldText('hostname', (isset($vars->hostname) ? $vars->hostname : null), ['id' => 'hostname', 'class' => 'form-control']); + ?> +
+ +
+ + Form->fieldText('org_id', (isset($vars->org_id) ? $vars->org_id : null), ['id' => 'org_id', 'class' => 'form-control']); ?> -
- + +
+ + Form->fieldText('api_token', (isset($vars->api_token) ? $vars->api_token : null), ['id' => 'api_token', 'class' => 'form-control']); + ?> +
+ + Widget->footer(); ?> +
+ Form->fieldSubmit('save', $this->_('Enhance.edit_row.edit_btn', true), ['class' => 'btn btn-primary']); + ?> +
+ + Form->end(); ?> -
Widget->end(); + ?> diff --git a/views/default/manage.pdt b/views/default/manage.pdt index 16cce89..839a99f 100644 --- a/views/default/manage.pdt +++ b/views/default/manage.pdt @@ -1,4 +1,6 @@ - + + $this->_('Enhance.add_module_row', true), 'attributes' => ['href' => $this->base_uri . 'settings/company/modules/addrow/' . $module->id]], ['name' => $this->_('Enhance.add_module_group', true), 'attributes' => ['href' => $this->base_uri . 'settings/company/modules/addgroup/' . $module->id]] @@ -10,107 +12,126 @@ $this->Widget->create($this->_('AdminCompanyModules.manage.boxtitle_manage', true, (isset($module->name) ? $this->Html->safe($module->name, true) : null)), ['id' => 'manage_enhance']); ?> -
-

_('Enhance.manage.module_rows_title'); ?>

-
+
_('Enhance.manage.module_rows_title');?>
rows) ? $module->rows : [])); if ($num_rows > 0) { ?> - - - - - - - - - + + + + + + + + + + + - > - - - - - + + + + + - - + + -
_('Enhance.manage.module_rows_heading.server_label'); ?>_('Enhance.manage.module_rows_heading.hostname'); ?>_('Enhance.manage.module_rows_heading.org_id'); ?>_('Enhance.manage.module_rows_heading.api_token'); ?>_('Enhance.manage.module_rows_heading.options'); ?>
_('Enhance.manage.module_rows_heading.server_label'); ?>_('Enhance.manage.module_rows_heading.hostname'); ?>_('Enhance.manage.module_rows_heading.org_id'); ?>_('Enhance.manage.module_rows_heading.api_token'); ?>_('Enhance.manage.module_rows_heading.options'); ?>
rows[$i]->meta->server_label) ? $this->Html->safe($module->rows[$i]->meta->server_label) : null); ?>rows[$i]->meta->hostname) ? $this->Html->safe($module->rows[$i]->meta->hostname) : null); ?>rows[$i]->meta->org_id) ? $this->Html->safe($module->rows[$i]->meta->org_id) : null); ?>rows[$i]->meta->api_token) ? $this->Html->safe($module->rows[$i]->meta->api_token) : null); ?> - _('Enhance.manage.module_rows.edit'); ?> - Form->create($this->base_uri . 'settings/company/modules/deleterow/'); +
rows[$i]->meta->server_label) ? $this->Html->safe($module->rows[$i]->meta->server_label) : null); ?>rows[$i]->meta->hostname) ? $this->Html->safe($module->rows[$i]->meta->hostname) : null); ?>rows[$i]->meta->org_id) ? $this->Html->safe($module->rows[$i]->meta->org_id) : null); ?>rows[$i]->meta->api_token) ? $this->Html->safe($module->rows[$i]->meta->api_token) : null); ?> + + + + Form->create($this->base_uri . 'settings/company/modules/deleterow/', ['class' => 'd-inline']); $this->Form->fieldHidden('id', (isset($module->id) ? $module->id : null)); $this->Form->fieldHidden('row_id', (isset($module->rows[$i]->id) ? $module->rows[$i]->id : null)); ?> - _('Enhance.manage.module_rows.delete'); ?> - Html->safe($this->_('Enhance.manage.module_rows.confirm_delete', true)); ?>" + title="_('Enhance.manage.module_rows.delete'); ?>"> + + + Form->end(); ?> -
- + + -
-
- _('Enhance.manage.module_rows_no_results'); ?> -
-
- + +

_('Enhance.manage.module_rows_no_results'); ?>

+
+ -
-

_('Enhance.manage.module_groups_title');?>

-
- +
_('Enhance.manage.module_groups_title');?>
+
+ groups) ? $module->groups : [])); if ($num_rows > 0) { ?> - - - - - - - + + + + + + + + + - > - - - + + + - - + + -
_('Enhance.manage.module_groups_heading.name');?>_('Enhance.manage.module_groups_heading.module_rows');?>_('Enhance.manage.module_groups_heading.options');?>
_('Enhance.manage.module_groups_heading.name');?>_('Enhance.manage.module_groups_heading.module_rows');?>_('Enhance.manage.module_groups_heading.options');?>
groups[$i]->name) ? $this->Html->safe($module->groups[$i]->name) : null);?>groups[$i]->rows) ? $module->groups[$i]->rows : []));?> - _('Enhance.manage.module_groups.edit');?> - Form->create($this->base_uri . 'settings/company/modules/deletegroup/'); +
groups[$i]->name) ? $this->Html->safe($module->groups[$i]->name) : null);?>groups[$i]->rows) ? $module->groups[$i]->rows : []));?> + + + + Form->create($this->base_uri . 'settings/company/modules/deletegroup/', ['class' => 'd-inline']); $this->Form->fieldHidden('id', (isset($module->id) ? $module->id : null)); $this->Form->fieldHidden('group_id', (isset($module->groups[$i]->id) ? $module->groups[$i]->id : null)); ?> - _('Enhance.manage.module_groups.delete');?> - Html->safe($this->_('Enhance.manage.module_groups.confirm_delete', true));?>" + title="_('Enhance.manage.module_groups.delete');?>"> + + + Form->end(); ?> -
- + + -
-
- _('Enhance.manage.module_groups.no_results');?> -
-
- + +

_('Enhance.manage.module_groups.no_results');?>

+ + Widget->end(); ?> \ No newline at end of file diff --git a/views/default/tabChangePassword.pdt b/views/default/tabChangePassword.pdt index a039021..ef5ec2a 100644 --- a/views/default/tabChangePassword.pdt +++ b/views/default/tabChangePassword.pdt @@ -1,32 +1,34 @@ -
-
-
- -
-

_('Enhance.tabChangePassword.header');?>

-
-
+ + +
+
+
+ +
_('Enhance.tabChangePassword.header');?>
+
+ + Form->create(); ?> -
-
- +
+ Form->label($this->_('Enhance.service_fields.password', true), 'password'); $this->Form->fieldPassword('password', ['id' => 'password', 'class' => 'form-control', 'value' => (isset($vars->password) ? $vars->password : null)]); ?> -
+
-
- -
+
+
- + Form->end(); ?> -
+
-
\ No newline at end of file +
\ No newline at end of file From 6bd0fdcc5eac8127ca0821421db5312f2facd499 Mon Sep 17 00:00:00 2001 From: Abdy Franco Date: Wed, 4 Mar 2026 14:56:02 -0600 Subject: [PATCH 2/5] Update manage.pdt --- views/default/manage.pdt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/views/default/manage.pdt b/views/default/manage.pdt index 839a99f..ab91ec9 100644 --- a/views/default/manage.pdt +++ b/views/default/manage.pdt @@ -68,9 +68,7 @@ } ?> -
-
_('Enhance.manage.module_groups_title');?>
-
+
_('Enhance.manage.module_groups_title');?>
groups) ? $module->groups : [])); if ($num_rows > 0) { From d7ee4d5d7f5872313c72bfa2d87c2cb2f689c08e Mon Sep 17 00:00:00 2001 From: Abdy Franco Date: Thu, 5 Mar 2026 11:37:37 -0600 Subject: [PATCH 3/5] Formatting --- views/default/add_row.pdt | 74 +++++----- views/default/admin_service_info.pdt | 35 ++--- views/default/client_service_info.pdt | 33 +++-- views/default/edit_row.pdt | 74 +++++----- views/default/manage.pdt | 163 +++++++++++++--------- views/default/tabChangePassword.pdt | 24 ++-- views/default/tabClientChangePassword.pdt | 18 +-- 7 files changed, 226 insertions(+), 195 deletions(-) diff --git a/views/default/add_row.pdt b/views/default/add_row.pdt index d4e7519..536c774 100644 --- a/views/default/add_row.pdt +++ b/views/default/add_row.pdt @@ -1,65 +1,65 @@ Widget->clear(); - $this->Widget->setLinkButtons([ - ['name' => $this->_('Enhance.back_to_manage', true), 'icon' => 'bi bi-arrow-left me-1', 'attributes' => ['href' => $this->base_uri . 'settings/company/modules/manage/' . $module->id]] - ]); - $this->Widget->create($this->_('Enhance.add_row.box_title', true)); - ?> - Form->create(null, ['class' => 'disable-on-submit']); - ?> +$this->Widget->clear(); +$this->Widget->setLinkButtons([ + [ + 'name' => $this->_('Enhance.back_to_manage', true), + 'icon' => 'bi bi-arrow-left me-1', + 'attributes' => ['href' => $this->base_uri . 'settings/company/modules/manage/' . $module->id], + ], +]); +$this->Widget->create($this->_('Enhance.add_row.box_title', true)); +?> + Form->create(null, ['class' => 'disable-on-submit']); ?>
- Form->fieldText('server_label', (isset($vars->server_label) ? $vars->server_label : null), ['id' => 'server_label', 'class' => 'form-control']); - ?> + Form->fieldText('server_label', isset($vars->server_label) ? $vars->server_label : null, [ + 'id' => 'server_label', + 'class' => 'form-control', + ]); ?>
- Form->fieldText('hostname', (isset($vars->hostname) ? $vars->hostname : null), ['id' => 'hostname', 'class' => 'form-control']); - ?> + Form->fieldText('hostname', isset($vars->hostname) ? $vars->hostname : null, [ + 'id' => 'hostname', + 'class' => 'form-control', + ]); ?>
- Form->fieldText('org_id', (isset($vars->org_id) ? $vars->org_id : null), ['id' => 'org_id', 'class' => 'form-control']); - ?> + Form->fieldText('org_id', isset($vars->org_id) ? $vars->org_id : null, [ + 'id' => 'org_id', + 'class' => 'form-control', + ]); ?>
- Form->fieldText('api_token', (isset($vars->api_token) ? $vars->api_token : null), ['id' => 'api_token', 'class' => 'form-control']); - ?> + Form->fieldText('api_token', isset($vars->api_token) ? $vars->api_token : null, [ + 'id' => 'api_token', + 'class' => 'form-control', + ]); ?>
Widget->footer(); ?>
- Form->fieldSubmit('save', $this->_('Enhance.add_row.add_btn', true), ['class' => 'btn btn-primary']); - ?> + Form->fieldSubmit('save', $this->_('Enhance.add_row.add_btn', true), [ + 'class' => 'btn btn-primary', + ]); ?>
- Form->end(); - ?> - Widget->end(); - ?> + Form->end(); ?> + Widget->end(); +?> diff --git a/views/default/admin_service_info.pdt b/views/default/admin_service_info.pdt index f09f4ef..8474268 100644 --- a/views/default/admin_service_info.pdt +++ b/views/default/admin_service_info.pdt @@ -7,28 +7,31 @@ _('Enhance.service_info.username'); ?> _('Enhance.service_info.email'); ?> _('Enhance.service_info.password'); ?> - _('Enhance.service_info.options');?> + _('Enhance.service_info.options'); ?> - username) ? $this->Html->safe($service_fields->username) : null); ?> - customer_email) ? $this->Html->safe($service_fields->customer_email) : null); ?> - password) ? $this->Html->safe($service_fields->password) : null); ?> + username) + ? $this->Html->safe($service_fields->username) + : null; ?> + customer_email) + ? $this->Html->safe($service_fields->customer_email) + : null; ?> + password) + ? $this->Html->safe($service_fields->password) + : null; ?> - - _('Enhance.service_info.option_login');?> - - _('Enhance.service_info.option_login');?> - + + _('Enhance.service_info.option_login'); ?> + + _('Enhance.service_info.option_login'); ?> + diff --git a/views/default/client_service_info.pdt b/views/default/client_service_info.pdt index 105c21e..9b517dc 100644 --- a/views/default/client_service_info.pdt +++ b/views/default/client_service_info.pdt @@ -14,22 +14,25 @@ - username) ? $this->Html->safe($service_fields->username) : null); ?> - customer_email) ? $this->Html->safe($service_fields->customer_email) : null); ?> - password) ? $this->Html->safe($service_fields->password) : null); ?> + username) + ? $this->Html->safe($service_fields->username) + : null; ?> + customer_email) + ? $this->Html->safe($service_fields->customer_email) + : null; ?> + password) + ? $this->Html->safe($service_fields->password) + : null; ?> - - _('Enhance.service_info.option_login');?> - - _('Enhance.service_info.option_login');?> - + + _('Enhance.service_info.option_login'); ?> + + _('Enhance.service_info.option_login'); ?> + diff --git a/views/default/edit_row.pdt b/views/default/edit_row.pdt index c0281d3..de8c063 100644 --- a/views/default/edit_row.pdt +++ b/views/default/edit_row.pdt @@ -1,65 +1,65 @@ Widget->clear(); - $this->Widget->setLinkButtons([ - ['name' => $this->_('Enhance.back_to_manage', true), 'icon' => 'bi bi-arrow-left me-1', 'attributes' => ['href' => $this->base_uri . 'settings/company/modules/manage/' . $module->id]] - ]); - $this->Widget->create($this->_('Enhance.edit_row.box_title', true)); - ?> - Form->create(null, ['class' => 'disable-on-submit']); - ?> +$this->Widget->clear(); +$this->Widget->setLinkButtons([ + [ + 'name' => $this->_('Enhance.back_to_manage', true), + 'icon' => 'bi bi-arrow-left me-1', + 'attributes' => ['href' => $this->base_uri . 'settings/company/modules/manage/' . $module->id], + ], +]); +$this->Widget->create($this->_('Enhance.edit_row.box_title', true)); +?> + Form->create(null, ['class' => 'disable-on-submit']); ?>
- Form->fieldText('server_label', (isset($vars->server_label) ? $vars->server_label : null), ['id' => 'server_label', 'class' => 'form-control']); - ?> + Form->fieldText('server_label', isset($vars->server_label) ? $vars->server_label : null, [ + 'id' => 'server_label', + 'class' => 'form-control', + ]); ?>
- Form->fieldText('hostname', (isset($vars->hostname) ? $vars->hostname : null), ['id' => 'hostname', 'class' => 'form-control']); - ?> + Form->fieldText('hostname', isset($vars->hostname) ? $vars->hostname : null, [ + 'id' => 'hostname', + 'class' => 'form-control', + ]); ?>
- Form->fieldText('org_id', (isset($vars->org_id) ? $vars->org_id : null), ['id' => 'org_id', 'class' => 'form-control']); - ?> + Form->fieldText('org_id', isset($vars->org_id) ? $vars->org_id : null, [ + 'id' => 'org_id', + 'class' => 'form-control', + ]); ?>
- Form->fieldText('api_token', (isset($vars->api_token) ? $vars->api_token : null), ['id' => 'api_token', 'class' => 'form-control']); - ?> + Form->fieldText('api_token', isset($vars->api_token) ? $vars->api_token : null, [ + 'id' => 'api_token', + 'class' => 'form-control', + ]); ?>
Widget->footer(); ?>
- Form->fieldSubmit('save', $this->_('Enhance.edit_row.edit_btn', true), ['class' => 'btn btn-primary']); - ?> + Form->fieldSubmit('save', $this->_('Enhance.edit_row.edit_btn', true), [ + 'class' => 'btn btn-primary', + ]); ?>
- Form->end(); - ?> - Widget->end(); - ?> + Form->end(); ?> + Widget->end(); +?> diff --git a/views/default/manage.pdt b/views/default/manage.pdt index ab91ec9..7ba5e12 100644 --- a/views/default/manage.pdt +++ b/views/default/manage.pdt @@ -1,22 +1,34 @@ $this->_('Enhance.add_module_row', true), 'attributes' => ['href' => $this->base_uri . 'settings/company/modules/addrow/' . $module->id]], - ['name' => $this->_('Enhance.add_module_group', true), 'attributes' => ['href' => $this->base_uri . 'settings/company/modules/addgroup/' . $module->id]] - ]; +$link_buttons = [ + [ + 'name' => $this->_('Enhance.add_module_row', true), + 'attributes' => ['href' => $this->base_uri . 'settings/company/modules/addrow/' . $module->id], + ], + [ + 'name' => $this->_('Enhance.add_module_group', true), + 'attributes' => ['href' => $this->base_uri . 'settings/company/modules/addgroup/' . $module->id], + ], +]; - $this->Widget->clear(); - $this->Widget->setLinkButtons($link_buttons); +$this->Widget->clear(); +$this->Widget->setLinkButtons($link_buttons); - $this->Widget->create($this->_('AdminCompanyModules.manage.boxtitle_manage', true, (isset($module->name) ? $this->Html->safe($module->name, true) : null)), ['id' => 'manage_enhance']); - ?> +$this->Widget->create( + $this->_( + 'AdminCompanyModules.manage.boxtitle_manage', + true, + isset($module->name) ? $this->Html->safe($module->name, true) : null, + ), + ['id' => 'manage_enhance'], +); +?> -
_('Enhance.manage.module_rows_title');?>
+
_('Enhance.manage.module_rows_title'); ?>
rows) ? $module->rows : [])); - if ($num_rows > 0) { - ?> + $num_rows = count(isset($module->rows) ? $module->rows : []); + if ($num_rows > 0) { ?> @@ -28,103 +40,118 @@ - + - - - - + + + + - +
rows[$i]->meta->server_label) ? $this->Html->safe($module->rows[$i]->meta->server_label) : null); ?>rows[$i]->meta->hostname) ? $this->Html->safe($module->rows[$i]->meta->hostname) : null); ?>rows[$i]->meta->org_id) ? $this->Html->safe($module->rows[$i]->meta->org_id) : null); ?>rows[$i]->meta->api_token) ? $this->Html->safe($module->rows[$i]->meta->api_token) : null); ?>rows[$i]->meta->server_label) + ? $this->Html->safe($module->rows[$i]->meta->server_label) + : null; ?>rows[$i]->meta->hostname) + ? $this->Html->safe($module->rows[$i]->meta->hostname) + : null; ?>rows[$i]->meta->org_id) + ? $this->Html->safe($module->rows[$i]->meta->org_id) + : null; ?>rows[$i]->meta->api_token) + ? $this->Html->safe($module->rows[$i]->meta->api_token) + : null; ?> - + - Form->create($this->base_uri . 'settings/company/modules/deleterow/', ['class' => 'd-inline']); - $this->Form->fieldHidden('id', (isset($module->id) ? $module->id : null)); - $this->Form->fieldHidden('row_id', (isset($module->rows[$i]->id) ? $module->rows[$i]->id : null)); ?> + Form->create($this->base_uri . 'settings/company/modules/deleterow/', ['class' => 'd-inline']); + $this->Form->fieldHidden('id', isset($module->id) ? $module->id : null); + $this->Form->fieldHidden('row_id', isset($module->rows[$i]->id) ? $module->rows[$i]->id : null); + ?> - Form->end(); ?> + Form->end(); ?>
- +

_('Enhance.manage.module_rows_no_results'); ?>

- -
_('Enhance.manage.module_groups_title');?>
+
_('Enhance.manage.module_groups_title'); ?>
groups) ? $module->groups : [])); - if ($num_rows > 0) { - ?> + $num_rows = count(isset($module->groups) ? $module->groups : []); + if ($num_rows > 0) { ?> - - - + + + - + - - + + - +
_('Enhance.manage.module_groups_heading.name');?>_('Enhance.manage.module_groups_heading.module_rows');?>_('Enhance.manage.module_groups_heading.options');?>_('Enhance.manage.module_groups_heading.name'); ?>_('Enhance.manage.module_groups_heading.module_rows'); ?>_('Enhance.manage.module_groups_heading.options'); ?>
groups[$i]->name) ? $this->Html->safe($module->groups[$i]->name) : null);?>groups[$i]->rows) ? $module->groups[$i]->rows : []));?>groups[$i]->name) + ? $this->Html->safe($module->groups[$i]->name) + : null; ?>groups[$i]->rows) ? $module->groups[$i]->rows : []); ?> - + Form->create($this->base_uri . 'settings/company/modules/deletegroup/', ['class' => 'd-inline']); - $this->Form->fieldHidden('id', (isset($module->id) ? $module->id : null)); - $this->Form->fieldHidden('group_id', (isset($module->groups[$i]->id) ? $module->groups[$i]->id : null)); - ?> + $this->Form->create($this->base_uri . 'settings/company/modules/deletegroup/', ['class' => 'd-inline']); + $this->Form->fieldHidden('id', isset($module->id) ? $module->id : null); + $this->Form->fieldHidden('group_id', isset($module->groups[$i]->id) ? $module->groups[$i]->id : null); + ?> - Form->end(); - ?> + Form->end(); ?>
- +
-

_('Enhance.manage.module_groups.no_results');?>

+

_('Enhance.manage.module_groups.no_results'); ?>

- Widget->end(); - ?> + $this->Widget->end(); + ?> \ No newline at end of file + ?> +
+
+Widget->end(); ?>