Пример #1
0
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');
}