function main_default($eventData) { global $gXmlDefinition, $gLocale, $gPageTitle, $alertText; //$tabs[0]['label'] = $gLocale->getStr( 'currentactivities.tab' ); $tabs[0]['label'] = $gLocale->getStr('accesslog.tab'); $tabs[1]['label'] = $gLocale->getStr('loggedusers.tab'); $tabs[2]['label'] = $gLocale->getStr('securitycheck.tab'); $innomaticSecurity = new \Innomatic\Security\SecurityManager(); $securityCheck = $innomaticSecurity->securityCheck(); if ($securityCheck['rootpasswordcheck'] == false or $securityCheck['rootdapasswordcheck'] == false or count($securityCheck['domainswithunsecuredbpassword']) or count($securityCheck['unsecurelocalaccounts']) or count($securityCheck['unsecurewebservicesprofiles']) or count($securityCheck['unsecurewebservicesaccounts'])) { $alertText = $gLocale->getStr('security_check_failed_status'); } $loggedUsers = $innomaticSecurity->getLoggedSessions(); $rootSessions = $usersSessions = array(); foreach ($loggedUsers['root'] as $rootSession) { $rootSessions[$rootSession] = $rootSession; } foreach ($loggedUsers['domains'] as $user => $sessions) { $usersSessions[$user] = $user; foreach ($sessions as $session) { //$usersSessions[$user.'-'.$session] = '- '.$session; $usersSessions[$session] = '- ' . $session; } } $tmpKey = array_search('', $securityCheck['unsecurewebservicesaccounts']); if (strlen($tmpKey)) { $securityCheck['unsecurewebservicesaccounts'][$tmpKey] = 'Anonymous'; } $gXmlDefinition = '<tab><name>security</name> <args> <tabs type="array">' . WuiXml::encode($tabs) . '</tabs> <tabactionfunction>default_tab_builder</tabactionfunction> <activetab>' . (isset($eventData['tab']) ? $eventData['tab'] : '') . '</activetab> </args> <children> <vertgroup><name></name> <children> <table><name>accesslog</name> <args> <headers type="array">' . WuiXml::encode(array('0' => array('label' => $gLocale->getStr('accesslog.header')))) . '</headers> </args> <children> <text row="0" col="0"><name>accesslog</name> <args> <readonly>true</readonly> <value type="encoded">' . urlencode($innomaticSecurity->getAccessLog()) . '</value> <cols>120</cols> <rows>15</rows> </args> </text> <button row="1" col="0"><name>erase</name> <args> <themeimage>trash</themeimage> <label type="encoded">' . urlencode($gLocale->getStr('eraselog.button')) . '</label> <horiz>true</horiz> <frame>false</frame> <action type="encoded">' . urlencode(\Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'default', ''), array('action', 'clean_access_log', '')))) . '</action> </args> </button> </children> </table> </children> </vertgroup> <vertgroup> <children> <label> <args> <label type="encoded">' . urlencode($gLocale->getStr('root_sessions.label')) . '</label> <bold>true</bold> </args> </label> <form><name>rootsessions</name> <args> <action type="encoded">' . urlencode(\Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'default'), array('action', 'logout_sessions')))) . '</action> </args> <children> <listbox><name>sessions</name> <args> <size>5</size> <elements type="array">' . WuiXml::encode($rootSessions) . '</elements> <multiselect>true</multiselect> <disp>action</disp> </args> </listbox> </children> </form> <button> <args> <horiz>true</horiz> <frame>false</frame> <label type="encoded">' . urlencode($gLocale->getStr('logout_sessions.button')) . '</label> <themeimage>power</themeimage> <formsubmit>rootsessions</formsubmit> <action type="encoded">' . urlencode(\Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'default'), array('action', 'logout_sessions')))) . '</action> </args> </button>'; $gXmlDefinition .= ' <label> <args> <label type="encoded">' . urlencode($gLocale->getStr('users_sessions.label')) . '</label> <bold>true</bold> </args> </label> <form><name>userssessions</name> <args> <action type="encoded">' . urlencode(\Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'default'), array('action', 'logout_sessions')))) . '</action> </args> <children> <listbox><name>sessions</name> <args> <size>15</size> <elements type="array">' . WuiXml::encode($usersSessions) . '</elements> <multiselect>true</multiselect> <disp>action</disp> </args> </listbox> </children> </form> <button> <args> <horiz>true</horiz> <frame>false</frame> <label type="encoded">' . urlencode($gLocale->getStr('logout_sessions.button')) . '</label> <themeimage>power</themeimage> <formsubmit>userssessions</formsubmit> <action type="encoded">' . urlencode(\Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'default'), array('action', 'logout_sessions')))) . '</action> </args> </button>'; $gXmlDefinition .= ' </children> </vertgroup> <vertgroup><name></name> <children> <label><name>tabtitle</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('securitycheck.label')) . '</label> <bold>true</bold> </args> </label> <grid> <children> <button row="0" col="0"><name>check</name> <args> <themeimage>' . ($securityCheck['rootpasswordcheck'] == false ? 'buttoncancel' : 'buttonok') . '</themeimage> <disabled>true</disabled> </args> </button> <label row="0" col="1"><name>check</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('root_password_check.label')) . '</label> </args> </label> <label row="0" col="2"><name>check</name> <args> <label type="encoded">' . urlencode($gLocale->getStr($securityCheck['rootpasswordcheck'] ? 'check_password_ok.label' : 'check_password_unsafe.label')) . '</label> </args> </label> <button row="1" col="0"><name>check</name> <args> <themeimage>' . ($securityCheck['rootdapasswordcheck'] == false ? 'buttoncancel' : 'buttonok') . '</themeimage> <disabled>true</disabled> </args> </button> <label row="1" col="1"><name>check</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('root_dbpassword_check.label')) . '</label> </args> </label> <label row="1" col="2"><name>check</name> <args> <label type="encoded">' . urlencode($gLocale->getStr($securityCheck['rootdapasswordcheck'] ? 'check_password_ok.label' : 'check_password_unsafe.label')) . '</label> </args> </label> <button row="2" col="0" halign="" valign="top"><name>check</name> <args> <themeimage>' . (count($securityCheck['domainswithunsecuredbpassword']) ? 'buttoncancel' : 'buttonok') . '</themeimage> <disabled>true</disabled> </args> </button> <label row="2" col="1" halign="" valign="top"><name>check</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('unsecure_domains_db_check.label')) . '</label> </args> </label> <listbox row="2" col="2"><name>check</name> <args> <readonly>true</readonly> <elements type="array">' . WuiXml::encode($securityCheck['domainswithunsecuredbpassword']) . '</elements> <size>5</size> </args> </listbox> <button row="3" col="0" halign="" valign="top"><name>check</name> <args> <themeimage>' . (count($securityCheck['unsecurelocalaccounts']) ? 'buttoncancel' : 'buttonok') . '</themeimage> <disabled>true</disabled> </args> </button> <label row="3" col="1" halign="" valign="top"><name>check</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('local_accounts_check.label')) . '</label> </args> </label> <listbox row="3" col="2"><name>check</name> <args> <readonly>true</readonly> <elements type="array">' . WuiXml::encode($securityCheck['unsecurelocalaccounts']) . '</elements> <size>5</size> </args> </listbox> <button row="4" col="0" halign="" valign="top"><name>check</name> <args> <themeimage>' . (count($securityCheck['unsecurewebservicesprofiles']) ? 'buttoncancel' : 'buttonok') . '</themeimage> <disabled>true</disabled> </args> </button> <label row="4" col="1" halign="" valign="top"><name>check</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('webservices_profiles_check.label')) . '</label> </args> </label> <listbox row="4" col="2"><name>check</name> <args> <readonly>true</readonly> <elements type="array">' . WuiXml::encode($securityCheck['unsecurewebservicesprofiles']) . '</elements> <size>5</size> </args> </listbox> <button row="5" col="0" halign="" valign="top"><name>check</name> <args> <themeimage>' . (count($securityCheck['unsecurewebservicesaccounts']) ? 'buttoncancel' : 'buttonok') . '</themeimage> <disabled>true</disabled> </args> </button> <label row="5" col="1" halign="" valign="top"><name>check</name> <args> <label type="encoded">' . urlencode($gLocale->getStr('webservices_accounts_check.label')) . '</label> </args> </label> <listbox row="5" col="2"><name>check</name> <args> <readonly>true</readonly> <elements type="array">' . WuiXml::encode($securityCheck['unsecurewebservicesaccounts']) . '</elements> <size>5</size> </args> </listbox> </children> </grid> </children> </vertgroup> </children> </tab>'; $gPageTitle .= ' - ' . $gLocale->getStr('security_check.title'); }