static function updateConfiguredServer($id, $frmvalues) { global $adb; $providertype = vtlib_purify($frmvalues['smsserver_provider']); $username = vtlib_purify($frmvalues['smsserver_username']); $password = vtlib_purify($frmvalues['smsserver_password']); $isactive = vtlib_purify($frmvalues['smsserver_isactive']); $provider = SMSProvider::getInstance($providertype); $parameters = ''; if ($provider) { $providerParameters = $provider->getRequiredParams(); $inputServerParams = array(); foreach ($providerParameters as $k => $v) { $lookupkey = "smsserverparam_{$providertype}_{$v}"; if (isset($frmvalues[$lookupkey])) { $inputServerParams[$v] = vtlib_purify($frmvalues[$lookupkey]); } } $parameters = Zend_Json::encode($inputServerParams); } if (empty($id)) { $adb->pquery("INSERT INTO vtiger_smsnotifier_servers (providertype,username,password,isactive,parameters) VALUES(?,?,?,?,?)", array($providertype, $username, $password, $isactive, $parameters)); } else { $adb->pquery("UPDATE vtiger_smsnotifier_servers SET username=?, password=?, isactive=?, providertype=?, parameters=? WHERE id=?", array($username, $password, $isactive, $providertype, $parameters, $id)); } }
$smarty->assign('SMSSERVERPARAMS', $smsserverparams); } else { $smsserverinfo = SMSNotifierManager::listConfiguredServer($record); $smsserverparams = array(); if (!empty($smsserverinfo['parameters'])) { $smsserverparams = Zend_Json::decode($smsserverinfo['parameters']); } $smarty->assign('SMSSERVERINFO', $smsserverinfo); $smarty->assign('SMSSERVERPARAMS', $smsserverparams); } $smsproviders = SMSNotifierManager::listAvailableProviders(); // Collect required parameters to be made available in the EditForm $smsproviderparams = array(); if (!empty($smsproviders)) { foreach ($smsproviders as $smsprovidername) { $smsprovider = SMSProvider::getInstance($smsprovidername); $requiredparameters = $smsprovider->getRequiredParams(); if (!empty($requiredparameters)) { $smsproviderparams[$smsprovidername] = $requiredparameters; } } } $smarty->assign('SMSPROVIDERS', $smsproviders); $smarty->assign('SMSPROVIDERSPARAMS', $smsproviderparams); $smarty->display(vtlib_getModuleTemplate($currentModule, 'SMSConfigServerEdit.tpl')); } else { if ($mode == 'Save') { SMSNotifierManager::updateConfiguredServer($_REQUEST['smsserver_id'], $_REQUEST); $smarty->assign('SMSSERVERS', SMSNotifierManager::listConfiguredServers()); $smarty->display(vtlib_getModuleTemplate($currentModule, 'SMSConfigServerListContents.tpl')); } else {