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