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; }
$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>