public function authenticate()
 {
     $container = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer');
     $session = \Innomatic\Desktop\Controller\DesktopFrontController::instance('\\Innomatic\\Desktop\\Controller\\DesktopFrontController')->session;
     if (isset(\Innomatic\Wui\Wui::instance('\\Innomatic\\Wui\\Wui')->parameters['wui']['login'])) {
         $loginDispatcher = new \Innomatic\Wui\Dispatch\WuiDispatcher('login');
         $loginDispatcher->addEvent('logout', '\\Innomatic\\Desktop\\Auth\\tenant_login_logout');
         $loginDispatcher->addEvent('login', '\\Innomatic\\Desktop\\Auth\\tenant_login_login');
         $loginDispatcher->Dispatch();
     }
     if ($container->getConfig()->value('SecurityOnlyHttpsDomainAccessAllowed') == '1') {
         if (!isset($_SERVER['HTTPS']) or $_SERVER['HTTPS'] != 'on') {
             self::doAuth(true, 'only_https_allowed');
         }
     }
     // Check if the session is valid
     if (!\Innomatic\Desktop\Controller\DesktopFrontController::instance('\\Innomatic\\Desktop\\Controller\\DesktopFrontController')->session->isValid('INNOMATIC_AUTH_USER')) {
         self::doAuth();
     }
     $domainsquery = $container->getDataAccess()->execute('SELECT id FROM domains WHERE domainid=' . $container->getDataAccess()->formatText(\Innomatic\Domain\User\User::extractDomainID($session->get('INNOMATIC_AUTH_USER'))));
     if ($domainsquery->getNumberRows() == 0) {
         self::doAuth();
     } else {
         $domainsquery->free();
         $container->startDomain(\Innomatic\Domain\User\User::extractDomainID($session->get('INNOMATIC_AUTH_USER')), $session->get('INNOMATIC_AUTH_USER'));
     }
     // Check if the user still exists
     $user = new \Domain\User\User($container->getCurrentDomain()->domaindata['id'], \Domain\User\User::getUserIdByUsername($session->get('INNOMATIC_AUTH_USER')));
     if (!$user->exists()) {
         // User no more exists; remove the session key and redo auth
         \Innomatic\Desktop\Controller\DesktopFrontController::instance('\\Innomatic\\Desktop\\Controller\\DesktopFrontController')->session->remove('INNOMATIC_AUTH_USER');
         $container->stopDomain();
         self::doAuth();
     }
     // Check if the user is enabled
     if (!$user->isEnabled()) {
         $container->stopDomain();
         self::doAuth(true, 'userdisabled');
     }
     if ($session->isValid('domain_login_attempts')) {
         $session->remove('domain_login_attempts');
     }
     // Check if the domain is enabled
     //
     if ($container->getCurrentDomain()->domaindata['domainactive'] != $container->getDataAccess()->fmttrue) {
         self::doAuth(true, 'domaindisabled');
     }
     return true;
 }
 public function authenticate()
 {
     $container = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer');
     $login_disp = new \Innomatic\Wui\Dispatch\WuiDispatcher('login');
     $login_disp->addEvent('login', '\\Innomatic\\Desktop\\Auth\\login_login');
     $login_disp->addEvent('logout', '\\Innomatic\\Desktop\\Auth\\login_logout');
     $login_disp->Dispatch();
     if ($container->getConfig()->Value('SecurityOnlyHttpsRootAccessAllowed') == '1') {
         if (!isset($_SERVER['HTTPS']) or $_SERVER['HTTPS'] != 'on') {
             self::doAuth(true, 'only_https_allowed');
         }
     }
     $session = \Innomatic\Desktop\Controller\DesktopFrontController::instance('\\Innomatic\\Desktop\\Controller\\DesktopFrontController')->session;
     if (!$session->isValid('INNOMATIC_ROOT_AUTH_USER')) {
         self::doAuth();
     }
     if ($session->isValid('root_login_attempts')) {
         $session->remove('root_login_attempts');
     }
     $container->startRoot($session->get('INNOMATIC_ROOT_AUTH_USER'));
     return true;
 }
Beispiel #3
0
    $log = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getLogger();
    $innomaticcfg = new \Innomatic\Config\ConfigFile(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getConfigurationFile());
    $innomaticcfg->setValue('PlatformName', $eventData['name']);
    $innomaticcfg->setValue('PlatformGroup', $eventData['domain']);
    $log->logEvent('Innomatic', 'Changed Innomatic network settings', \Innomatic\Logging\Logger::NOTICE);
    $wuiMainStatus->mArgs['status'] = $innomaticLocale->getStr('datachanged');
}
$actionDispatcher->Dispatch();
// Main dispatcher
//
$viewDispatcher = new \Innomatic\Wui\Dispatch\WuiDispatcher('view');
function interface_tab_action_builder($tab)
{
    return \Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'default', array('activetab' => $tab))));
}
$viewDispatcher->addEvent('default', 'main_default');
function main_default($eventData)
{
    global $wuiMainFrame, $wuiTitleBar, $innomaticLocale, $actionDispatcher, $wuiMainStatus, $wuiComments, $compressedOb;
    $appCfg = new \Innomatic\Application\ApplicationSettings('innomatic');
    $themesQuery = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getDataAccess()->execute('SELECT name,catalog FROM wui_themes ');
    while (!$themesQuery->eof) {
        $tmpLocale = new \Innomatic\Locale\LocaleCatalog($themesQuery->getFields('catalog'), \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getLanguage());
        $elements[$themesQuery->getFields('name')] = $tmpLocale->getStr($themesQuery->getFields('name'));
        $themesQuery->moveNext();
    }
    asort($elements);
    $themesXmlDef = '<vertgroup><name>vgroup</name><args><halign>center</halign></args><children>
        <form><name>theme</name><args><action type="encoded">' . urlencode(\Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('', array(array('view', 'default', ''), array('action', 'settheme', '')))) . '</action></args><children>
        <grid><name>themegrid</name><children>
            <label row="0" col="0"><name>themelabel</name><args><label type="encoded">' . urlencode($innomaticLocale->getStr('themes_label')) . '</label><bold>true</bold></args></label>