function main_settings($eventData) { global $gXmlDefinition, $gLocale, $gPageTitle; $innomaticSecurity = new \Innomatic\Security\SecurityManager(); $sessionLifeTime = $innomaticSecurity->getSessionLifetime(); $maxWrongLogins = $innomaticSecurity->getMaxWrongLogins(); $wrongLoginDelay = $innomaticSecurity->getWrongLoginDelay(); $lockUnsecureWebservices = $innomaticSecurity->getUnsecureWebServicesLock(); $onlyHttpsRoot = $innomaticSecurity->getOnlyHttpsRootAccess(); $onlyHttpsDomain = $innomaticSecurity->getOnlyHttpsDomainAccess(); $alertsOn = $innomaticSecurity->getAlertEvents(); $wrongLocalRootLogin = $alertsOn['wronglocalrootlogin'] ? 'true' : 'false'; $wrongLocalUserLogin = $alertsOn['wronglocaluserlogin'] ? 'true' : 'false'; $wrongWebservicesLogin = $alertsOn['wrongwebserviceslogin'] ? 'true' : 'false'; $applicationOperation = $alertsOn['applicationoperation'] ? 'true' : 'false'; $domainApplicationOperation = $alertsOn['applicationdomainoperation'] ? 'true' : 'false'; $domainOperation = $alertsOn['domainoperation'] ? 'true' : 'false'; $reportsInterval = $innomaticSecurity->getReportsInterval(); $reportsEnabled = $reportsInterval ? 'true' : 'false'; $reportDestinationEmail = $innomaticSecurity->getReportsEmail(); $alertDestinationEmail = $innomaticSecurity->getAlertsEmail(); $tabs[0]['label'] = $gLocale->getStr('security_presets.tab'); $tabs[1]['label'] = $gLocale->getStr('access_settings.tab'); $tabs[2]['label'] = $gLocale->getStr('alerts_settings.tab'); $tabs[3]['label'] = $gLocale->getStr('reports_settings.tab'); $gXmlDefinition = '<tab><name>security</name> <args> <tabs type="array">' . WuiXml::encode($tabs) . '</tabs> <tabactionfunction>settings_tab_builder</tabactionfunction> <activetab>' . (isset($eventData['tab']) ? $eventData['tab'] : '') . '</activetab> </args> <children> <vertgroup><name></name> <children> <table><name>presets</name> <args> <headers type="array">' . WuiXml::encode(array(0 => array('label' => $gLocale->getStr('security_presets.label')))) . '</headers> </args> <children> <button row="0" col="0"><name>preset</name> <args> <themeimage>unlock</themeimage> <label type="encoded">' . urlencode($gLocale->getStr('level_low.label')) . '</label> <horiz>true</horiz> <frame>false</frame> <action type="encoded">' . urlencode(\Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'settings', ''), array('action', 'set_security_preset', array('preset' => SecurityManager::PRESET_LOW))))) . '</action> </args> </button> <label row="0" col="1"><name>details</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('level_low.text')) . '</label> <nowrap>false</nowrap> </args> </label> <button row="1" col="0"><name>preset</name> <args> <themeimage>lock</themeimage> <label type="encoded">' . urlencode($gLocale->getStr('level_normal.label')) . '</label> <horiz>true</horiz> <frame>false</frame> <action type="encoded">' . urlencode(\Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'settings', ''), array('action', 'set_security_preset', array('preset' => SecurityManager::PRESET_NORMAL))))) . '</action> </args> </button> <label row="1" col="1"><name>details</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('level_normal.text')) . '</label> <nowrap>false</nowrap> </args> </label> <button row="2" col="0"><name>preset</name> <args> <themeimage>lock</themeimage> <label type="encoded">' . urlencode($gLocale->getStr('level_high.label')) . '</label> <horiz>true</horiz> <frame>false</frame> <action type="encoded">' . urlencode(\Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'settings', ''), array('action', 'set_security_preset', array('preset' => SecurityManager::PRESET_HIGH))))) . '</action> </args> </button> <label row="2" col="1"><name>details</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('level_high.text')) . '</label> <nowrap>false</nowrap> </args> </label> <button row="3" col="0"><name>preset</name> <args> <themeimage>lock</themeimage> <label type="encoded">' . urlencode($gLocale->getStr('level_paranoid.label')) . '</label> <horiz>true</horiz> <frame>false</frame> <action type="encoded">' . urlencode(\Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'settings', ''), array('action', 'set_security_preset', array('preset' => SecurityManager::PRESET_PARANOID))))) . '</action> </args> </button> <label row="3" col="1"><name>details</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('level_paranoid.text')) . '</label> <nowrap>false</nowrap> </args> </label> </children> </table> </children> </vertgroup> <vertgroup><name></name> <children> <table><name>access</name> <args> <headers type="array">' . WuiXml::encode(array(0 => array('label' => $gLocale->getStr('access_settings.label')))) . '</headers> </args> <children> <form row="0" col="0"><name>access</name> <args> <method>post</method> <action type="encoded">' . urlencode(\Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'settings', ''), array('action', 'set_access_prefs', '')))) . '</action> </args> <children> <grid> <children> <label row="0" col="0"><name>sessionlifetime</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('session_lifetime.label')) . '</label> </args> </label> <string row="0" col="1"><name>sessionlifetime</name> <args> <value>' . $sessionLifeTime . '</value> <disp>action</disp> <size>10</size> </args> </string> <label row="1" col="0"><name>maxwronglogins</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('max_wrong_logins.label')) . '</label> </args> </label> <string row="1" col="1"><name>maxwronglogins</name> <args> <value>' . $maxWrongLogins . '</value> <disp>action</disp> <size>4</size> </args> </string> <label row="2" col="0"><name>wronglogindelay</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('wrong_login_delay.label')) . '</label> </args> </label> <string row="2" col="1"><name>wronglogindelay</name> <args> <value>' . $wrongLoginDelay . '</value> <disp>action</disp> <size>3</size> </args> </string> <label row="3" col="0"><name>lockunsecurewebservices</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('block_unsecure_webservices.label')) . '</label> </args> </label> <checkbox row="3" col="1"><name>lockunsecurewebservices</name> <args> <checked>' . ($lockUnsecureWebservices ? 'true' : 'false') . '</checked> <disp>action</disp> </args> </checkbox> <label row="4" col="0"><name>onlyhttpsroot</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('only_https_root.label')) . '</label> </args> </label> <checkbox row="4" col="1"><name>onlyhttpsroot</name> <args> <checked>' . ($onlyHttpsRoot ? 'true' : 'false') . '</checked> <disp>action</disp> </args> </checkbox> <label row="5" col="0"><name>onlyhttpsdomain</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('only_https_domain.label')) . '</label> </args> </label> <checkbox row="5" col="1"><name>onlyhttpsdomain</name> <args> <checked>' . ($onlyHttpsDomain ? 'true' : 'false') . '</checked> <disp>action</disp> </args> </checkbox> </children> </grid> </children> </form> <button row="1" col="0"><name>apply</name> <args> <horiz>true</horiz> <frame>false</frame> <label type="encoded">' . urlencode($gLocale->getStr('apply.submit')) . '</label> <themeimage>buttonok</themeimage> <formsubmit>access</formsubmit> <action type="encoded">' . urlencode(\Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'settings', ''), array('action', 'set_access_prefs', '')))) . '</action> </args> </button> </children> </table> </children> </vertgroup> <vertgroup><name></name> <children> <table><name>alerts</name> <args> <headers type="array">' . WuiXml::encode(array(0 => array('label' => $gLocale->getStr('alerts_settings.label')))) . '</headers> </args> <children> <form row="0" col="0"><name>alerts</name> <args> <method>post</method> <action type="encoded">' . urlencode(\Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'settings', ''), array('action', 'set_alerts_prefs', '')))) . '</action> </args> <children> <grid> <children> <label row="0" col="0"><name>alertonevents</name> <args> <bold>true</bold> <label type="encoded">' . urlencode($gLocale->getStr('alert_on_events.label')) . '</label> </args> </label> <label row="1" col="0"><name>wronglocalrootlogin</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('wrong_local_root_login.label')) . '</label> </args> </label> <checkbox row="1" col="1"><name>wronglocalrootlogin</name> <args> <checked>' . $wrongLocalRootLogin . '</checked> <disp>action</disp> </args> </checkbox> <label row="2" col="0"><name>wronglocaluserlogin</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('wrong_local_user_login.label')) . '</label> </args> </label> <checkbox row="2" col="1"><name>wronglocaluserlogin</name> <args> <checked>' . $wrongLocalUserLogin . '</checked> <disp>action</disp> </args> </checkbox> <label row="3" col="0"><name>wrongwebserviceslogin</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('wrong_webservices_login.label')) . '</label> </args> </label> <checkbox row="3" col="1"><name>wrongwebserviceslogin</name> <args> <checked>' . $wrongWebservicesLogin . '</checked> <disp>action</disp> </args> </checkbox> <label row="4" col="0"><name>applicationoperation</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('application_operation.label')) . '</label> </args> </label> <checkbox row="4" col="1"><name>applicationoperation</name> <args> <checked>' . $applicationOperation . '</checked> <disp>action</disp> </args> </checkbox> <label row="5" col="0"><name>domainapplicationoperation</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('domainapplication_operation.label')) . '</label> </args> </label> <checkbox row="5" col="1"><name>domainapplicationoperation</name> <args> <checked>' . $domainApplicationOperation . '</checked> <disp>action</disp> </args> </checkbox> <label row="6" col="0"><name>domainoperation</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('domain_operation.label')) . '</label> </args> </label> <checkbox row="6" col="1"><name>domainoperation</name> <args> <checked>' . $domainOperation . '</checked> <disp>action</disp> </args> </checkbox> <label row="7" col="0"><name>alertdestinationemail</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('alert_destination_email.label')) . '</label> </args> </label> <string row="7" col="1"><name>alertdestinationemail</name> <args> <value type="encoded">' . urlencode($alertDestinationEmail) . '</value> <disp>action</disp> <size>25</size> </args> </string> </children> </grid> </children> </form> <button row="1" col="0"><name>apply</name> <args> <horiz>true</horiz> <frame>false</frame> <label type="encoded">' . urlencode($gLocale->getStr('apply.submit')) . '</label> <themeimage>buttonok</themeimage> <formsubmit>alerts</formsubmit> <action type="encoded">' . urlencode(\Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'settings', ''), array('action', 'set_alerts_prefs', '')))) . '</action> </args> </button> </children> </table> </children> </vertgroup> <vertgroup><name></name> <children> <table><name>alerts</name> <args> <headers type="array">' . WuiXml::encode(array(0 => array('label' => $gLocale->getStr('reports_settings.label')))) . '</headers> </args> <children> <form row="0" col="0"><name>alerts</name> <args> <method>post</method> <action type="encoded">' . urlencode(\Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'settings', ''), array('action', 'set_reports_prefs', '')))) . '</action> </args> <children> <grid> <children> <label row="0" col="0"><name>enablereports</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('enable_reports.label')) . '</label> </args> </label> <checkbox row="0" col="1"><name>enablereports</name> <args> <checked>' . $reportsEnabled . '</checked> <disp>action</disp> </args> </checkbox> <label row="1" col="0"><name>reportsinterval</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('reports_interval.label')) . '</label> </args> </label> <string row="1" col="1"><name>reportsinterval</name> <args> <value>' . $reportsInterval . '</value> <disp>action</disp> <size>3</size> </args> </string> <label row="2" col="0"><name>reportdestinationemail</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('report_destination_email.label')) . '</label> </args> </label> <string row="2" col="1"><name>reportdestinationemail</name> <args> <value type="encoded">' . urlencode($reportDestinationEmail) . '</value> <disp>action</disp> <size>25</size> </args> </string> </children> </grid> </children> </form> <button row="1" col="0"><name>apply</name> <args> <horiz>true</horiz> <frame>false</frame> <label type="encoded">' . urlencode($gLocale->getStr('apply.submit')) . '</label> <themeimage>buttonok</themeimage> <formsubmit>alerts</formsubmit> <action type="encoded">' . urlencode(\Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'settings', ''), array('action', 'set_reports_prefs', '')))) . '</action> </args> </button> </children> </table> </children> </vertgroup> </children> </tab>'; $gPageTitle .= ' - ' . $gLocale->getStr('settings.title'); }