diff --git a/core/mpesapay_setup.php b/core/mpesapay_setup.php index 095cdf6..c166f63 100644 --- a/core/mpesapay_setup.php +++ b/core/mpesapay_setup.php @@ -1,47 +1,97 @@ load("admin"); -$langs->load("mpesapay"); +$langs->load('adminross('admin'); +$langs->load('dolipesa@dolipesa'); if (!$user->admin) accessforbidden(); $action = GETPOST('action', 'alpha'); -if ($action == 'save') { - $paybill = GETPOST('MPESAPAY_PAYBILL', 'alpha'); +// Save settings +if ($action === 'save') { + $consumer_key = GETPOST('MPESAPAY_CONSUMER_KEY', 'alpha'); + $consumer_secret = GETPOST('MPESAPAY_CONSUMER_SECRET', 'alpha'); + $shortcode = GETPOST('MPESAPAY_SHORTCODE', 'alpha'); $passkey = GETPOST('MPESAPAY_PASSKEY', 'alpha'); + $callback_url = GETPOST('MPESAPAY_CALLBACK_URL', 'alpha'); - dolibarr_set_const($db, "MPESAPAY_PAYBILL", $paybill, 'chaine', 0, '', 1); - dolibarr_set_const($db, "MPESAPAY_PASSKEY", $passkey, 'chaine', 0, '', 1); + // Validate required fields + if (empty($shortcode) || empty($passkey) || empty($consumer_key) || empty($consumer_secret)) { + setEventMessages($langs->trans('ErrorFieldRequired'), null, 'errors'); + } else { + // Store settings in Dolibarr configuration (encrypted for sensitive data) + dolibarr_set_const($db, 'MPESAPAY_CONSUMER_KEY', $consumer_key, 'chaine', 0, '', $conf->entity); + dolibarr_set_const($db, 'MPESAPAY_CONSUMER_SECRET', dol_encrypt($consumer_secret), 'chaine', 0, '', $conf->entity); + dolibarr_set_const($db, 'MPESAPAY_SHORTCODE', $shortcode, 'chaine', 0, '', $conf->entity); + dolibarr_set_const($db, 'MPESAPAY_PASSKEY', dol_encrypt($passkey), 'chaine', 0, '', $conf->entity); + dolibarr_set_const($db, 'MPESAPAY_CALLBACK_URL', $callback_url, 'chaine', 0, '', $conf->entity); - setEventMessages("Settings saved", null, 'mesgs'); + setEventMessages($langs->trans('SettingsSaved'), null, 'mesgs'); + } } -print load_fiche_titre("M-Pesa Payment Module Configuration"); -print '
'; +// Page title +print load_fiche_titre($langs->trans('MpesaPaymentModuleConfig')); + +// Configuration form +print ''; print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; +print '
SettingValue
M-Pesa Paybill Number
M-Pesa Passkey
'; +print ''; +print ''; +print ''; +print ''; + +// Consumer Key +print ''; +print ''; +print ''; +print ''; + +// Consumer Secret (decrypted for display) +print ''; +print ''; +print ''; +print ''; + +// Shortcode (Business Till/Paybill Number) +print ''; +print ''; +print ''; +print ''; + +// Passkey (decrypted for display) +print ''; +print ''; +print ''; +print ''; + +// Callback URL +print ''; +print ''; +print ''; +print ''; + print '
' . $langs->trans('Parameter') . '' . $langs->trans('Value') . '
'; -print '
'; -print ''; +print '
'; +print ''; print '
'; + print ''; +// Footer llxFooter(); $db->close(); -?> +?> \ No newline at end of file