$wuiGrid->addChild(new WuiLabel('oldpasswordlabel', array('label' => $innomaticLocale->getStr('rootpasswordold_label'))), 0, 0); $wuiGrid->addChild(new WuiString('oldpassword', array('disp' => 'action', 'password' => 'true')), 0, 1); $wuiGrid->addChild(new WuiLabel('newpasswordalabel', array('label' => $innomaticLocale->getStr('rootpassworda_label'))), 1, 0); $wuiGrid->addChild(new WuiString('newpassworda', array('disp' => 'action', 'password' => 'true')), 1, 1); $wuiGrid->addChild(new WuiLabel('newpasswordblabel', array('label' => $innomaticLocale->getStr('rootpasswordb_label'))), 2, 0); $wuiGrid->addChild(new WuiString('newpasswordb', array('disp' => 'action', 'password' => 'true')), 2, 1); $wuiVGroup = new WuiVertgroup('vertgroup', array('align' => 'center')); $wuiVGroup->addChild($wuiGrid); $wuiVGroup->addChild(new WuiSubmit('submit', array('caption' => $innomaticLocale->getStr('rootpasschange_submit')))); $formEventsCall = new WuiEventsCall(); $formEventsCall->addEvent(new WuiEvent('view', 'default', '')); $formEventsCall->addEvent(new WuiEvent('action', 'edit', '')); $wuiForm = new WuiForm('form', array('action' => $formEventsCall->getEventsCallString())); $wuiForm->addChild($wuiVGroup); $wuiMainFrame->addChild($wuiForm); } $viewDispatcher->addEvent('help', 'main_help'); function main_help($eventData) { global $wuiTitleBar, $wuiMainFrame, $innomaticLocale; $wuiTitleBar->mTitle .= ' - ' . $innomaticLocale->getStr('help_title'); $wuiMainFrame->addChild(new WuiHelpNode('password_help', array('base' => 'innomatic', 'node' => 'innomatic.domain.password.' . $eventData['node'] . '.html', 'language' => \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getCurrentUser()->getLanguage()))); } $viewDispatcher->Dispatch(); // Page render // $wuiMainVertGroup->addChild($wuiMainFrame); $wuiMainVertGroup->addChild($wuiMainStatus); $wuiPage->addChild($wuiMainVertGroup); $wui->addChild($wuiPage); $wui->render();
/** * Innomatic * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE. * * @copyright 1999-2014 Innoteam Srl * @license http://www.innomatic.io/license/ New BSD License * @link http://www.innomatic.io * @since Class available since Release 5.0 */ function main_page() { $innomatic_locale = new \Innomatic\Locale\LocaleCatalog('innomatic::root_menu', \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getLanguage()); $app_cfg = new \Innomatic\Application\ApplicationSettings('innomatic'); if (is_object(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getDataAccess()) and !(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getState() == \Innomatic\Core\InnomaticContainer::STATE_SETUP)) { $app_cfg = new \Innomatic\Application\ApplicationSettings('innomatic'); $innomatic_logo_disabled = $app_cfg->getKey('innomatic-biglogo-disabled'); } else { $innomatic_logo_disabled = 0; } $wui = \Innomatic\Wui\Wui::instance('\\Innomatic\\Wui\\Wui', true); $wui->loadWidget('page'); $wui->loadWidget('vertgroup'); $wui->loadWidget('button'); $wui->loadWidget('horizbar'); $wui->loadWidget('horizgroup'); $wui->loadWidget('label'); $page_params['title'] = 'Innomatic' . (strlen(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getPlatformName()) ? ' - ' . \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getPlatformName() . (strlen(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getPlatformGroup()) ? '.' . \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getPlatformGroup() : '') : ''); $page_params['border'] = 'false'; $wui_page = new WuiPage('page', $page_params); $wui_vertgroup = new WuiVertgroup('vertgroup', array('align' => 'center', 'groupalign' => 'center', 'groupvalign' => 'middle', 'height' => '100%', 'width' => '0%')); $wui_center_group = new WuiVertgroup('center_group', array('align' => 'center', 'groupalign' => 'center', 'groupvalign' => 'middle', 'height' => '0%')); $wui_buttons_group = new WuiHorizgroup('buttons', array('align' => 'middle', 'groupalign' => 'center', 'width' => '0%')); $query = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getDataAccess()->execute('SELECT count(id) AS domains FROM domains'); if ($query->getFields('domains') > 0) { $wui_buttons_group->addChild(new WuiButton('domain', array('label' => $innomatic_locale->getStr('domainadmin'), 'image' => $wui_page->mThemeHandler->mStyle['domainaccess'], 'horiz' => 'true', 'action' => 'domain/', 'width' => 32, 'height' => 32))); } $wui_buttons_group->addChild(new WuiButton('root', array('label' => $innomatic_locale->getStr('rootadmin'), 'image' => $wui_page->mThemeHandler->mStyle['rootaccess'], 'horiz' => 'true', 'action' => 'root/', 'width' => 32, 'height' => 32))); if ($app_cfg->getKey('innomatic-link-disabled') != '1') { $wui_buttons_group->addChild(new WuiButton('innomaticlogo', array('label' => $innomatic_locale->getStr('innomatichome'), 'image' => $wui_page->mThemeHandler->mStyle['innomaticminilogo'], 'horiz' => 'true', 'action' => 'http://www.innomatic.io/', 'width' => 32, 'height' => 32))); } if ($app_cfg->getKey('serviceprovider-link-disabled') != '1') { $serviceprovider_link_filename = $app_cfg->getKey('serviceprovider-link-filename'); if (strlen($serviceprovider_link_filename) and file_exists(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome() . 'shared/' . $serviceprovider_link_filename)) { $wui_buttons_group->addChild(new WuiButton('userlogo', array('label' => $app_cfg->getKey('serviceprovider-name'), 'image' => \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getBaseUrl(false) . '/shared/' . $serviceprovider_link_filename, 'horiz' => 'true', 'action' => $app_cfg->getKey('serviceprovider-url')))); } } $wui_logos_group = new WuiVertgroup('buttons_group', array('align' => 'center', 'groupalign' => 'center', 'groupvalign' => 'middle', 'height' => '0%')); if ($innomatic_logo_disabled != '1') { if (\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getEdition() == \Innomatic\Core\InnomaticContainer::EDITION_MULTITENANT) { $edition = '_asp'; } else { $edition = '_enterprise'; } if (isset($wui_page->mThemeHandler->mStyle['biglogo' . $edition])) { $biglogo_image = $wui_page->mThemeHandler->mStyle['biglogo' . $edition]; } else { $biglogo_image = $wui_page->mThemeHandler->mStyle['biglogo']; } $wui_button = new WuiButton('button', array('action' => ' http://www.innomatic.io', 'target' => '_top', 'image' => $biglogo_image, 'highlight' => 'false')); $wui_logos_group->addChild($wui_button); } if (is_object(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getDataAccess()) and \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getState() != \Innomatic\Core\InnomaticContainer::STATE_SETUP) { // Service Provider personalization // $serviceprovider_biglogo_filename = $app_cfg->getKey('serviceprovider-biglogo-filename'); $serviceprovider_url = $app_cfg->getKey('serviceprovider-url'); if ($app_cfg->getKey('serviceprovider-biglogo-disabled') != '1') { if (strlen($serviceprovider_biglogo_filename) and file_exists(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome() . 'shared/' . $serviceprovider_biglogo_filename)) { $serviceprovider_button = new WuiButton('serviceproviderbutton', array('action' => strlen($serviceprovider_url) ? $serviceprovider_url : ' http://www.innomatic.io', 'target' => '_top', 'image' => \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getBaseUrl(false) . '/shared/' . $serviceprovider_biglogo_filename, 'highlight' => 'false')); $wui_logos_group->addChild($serviceprovider_button); } } } $wui_center_group->addChild($wui_buttons_group); $wui_center_group->addChild(new WuiHorizBar('hb')); $wui_center_group->addChild($wui_logos_group); $label_text = strlen(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getPlatformName()) ? \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getPlatformName() . (strlen(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getPlatformGroup()) ? '.' . \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getPlatformGroup() : '') : ''; if (strlen($label_text)) { //$wui_center_group->addChild(new WuiHorizBar('hb')); $wui_center_group->addChild(new WuiLabel('label', array('label' => $label_text, 'color' => $wui_page->mThemeHandler->mColorsSet['buttons']['text']))); } $wui_vertgroup->addChild($wui_center_group); $wui_page->addChild($wui_vertgroup); $wui->addChild($wui_page); $wui->render(); }
public static function doAuth($wrong = false, $reason = '') { $container = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); $innomatic_locale = new \Innomatic\Locale\LocaleCatalog('innomatic::authentication', $container->getLanguage()); $innomatic = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); $wui = \Innomatic\Wui\Wui::instance('\\Innomatic\\Wui\\Wui'); $wui->loadWidget('button'); $wui->loadWidget('empty'); $wui->loadWidget('formarg'); $wui->loadWidget('form'); $wui->loadWidget('grid'); $wui->loadWidget('horizbar'); $wui->loadWidget('horizframe'); $wui->loadWidget('horizgroup'); $wui->loadWidget('image'); $wui->loadWidget('label'); $wui->loadWidget('link'); $wui->loadWidget('page'); $wui->loadWidget('sessionkey'); $wui->loadWidget('statusbar'); $wui->loadWidget('string'); $wui->loadWidget('submit'); $wui->loadWidget('titlebar'); $wui->loadWidget('vertframe'); $wui->loadWidget('vertgroup'); $wui_page = new WuiPage('loginpage', array('title' => $innomatic_locale->getStr('rootlogin'), 'border' => 'false', 'align' => 'center', 'valign' => 'middle')); $wui_topgroup = new WuiVertgroup('topgroup', array('align' => 'center', 'groupalign' => 'center', 'groupvalign' => 'middle', 'height' => '100%', 'width' => '0%')); $wui_maingroup = new WuiVertgroup('maingroup', array('align' => 'center')); $wui_titlebar = new WuiTitleBar('titlebar', array('title' => $innomatic_locale->getStr('rootlogin'))); $wui_mainbframe = new WuiVertframe('vframe', array('align' => 'center')); $wui_mainframe = new WuiHorizgroup('horizframe'); $wui_mainstatus = new WuiStatusBar('mainstatusbar'); // Main frame // $wui_grid = new WuiGrid('grid', array('rows' => '2', 'cols' => '2')); $wui_grid->addChild(new WuiLabel('usernamelabel', array('label' => $innomatic_locale->getStr('username'))), 0, 0); $wui_grid->addChild(new WuiString('username', array('disp' => 'login')), 0, 1); $wui_grid->addChild(new WuiLabel('passwordlabel', array('label' => $innomatic_locale->getStr('password'))), 1, 0); $wui_grid->addChild(new WuiString('password', array('disp' => 'login', 'password' => 'true')), 1, 1); $wui_vgroup = new WuiVertgroup('vertgroup', array('align' => 'center')); // $wui_vgroup->addChild( new WuiLabel( 'titlelabel', array( 'label' => $innomatic_locale->getStr( 'rootlogin' ) ) ) ); $wui_vgroup->addChild($wui_grid); $wui_vgroup->addChild(new WuiSubmit('submit', array('caption' => $innomatic_locale->getStr('enter')))); $form_events_call = new \Innomatic\Wui\Dispatch\WuiEventsCall(); $form_events_call->addEvent(new \Innomatic\Wui\Dispatch\WuiEvent('login', 'login', '')); $form_events_call->addEvent(new \Innomatic\Wui\Dispatch\WuiEvent('view', 'default', '')); $wui_form = new WuiForm('form', array('action' => $form_events_call->getEventsCallString())); $wui_hgroup = new WuiHorizgroup('horizgroup', array('align' => 'middle')); $wui_hgroup->addChild(new WuiButton('password', array('themeimage' => 'keyhole', 'themeimagetype' => 'big', 'action' => $innomatic->getBaseUrl() . '/', 'highlight' => false))); $wui_hgroup->addChild($wui_vgroup); $wui_form->addChild($wui_hgroup); $wui_mainframe->addChild($wui_form); // Wrong account check // $session = \Innomatic\Desktop\Controller\DesktopFrontController::instance('\\Innomatic\\Desktop\\Controller\\DesktopFrontController')->session; if ($wrong) { if ($innomatic->getConfig()->Value('SecurityAlertOnWrongLocalRootLogin') == '1') { $innomatic_security = new \Innomatic\Security\SecurityManager(); $innomatic_security->sendAlert('Wrong root local login from remote address ' . $_SERVER['REMOTE_ADDR']); $innomatic_security->logFailedAccess('', true, $_SERVER['REMOTE_ADDR']); unset($innomatic_security); } $sleep_time = $innomatic->getConfig()->Value('WrongLoginDelay'); if (!strlen($sleep_time)) { $sleep_time = 1; } $max_attempts = $innomatic->getConfig()->Value('MaxWrongLogins'); if (!strlen($max_attempts)) { $max_attempts = 3; } sleep($sleep_time); if ($session->isValid('root_login_attempts')) { $session->put('root_login_attempts', $session->get('root_login_attempts') + 1); if ($session->get('root_login_attempts') >= $max_attempts) { $innomatic->abort($innomatic_locale->getStr('wrongpwd')); } } else { $session->put('root_login_attempts', 1); } if ($reason) { $wui_mainstatus->mArgs['status'] = $innomatic_locale->getStr($reason); } else { $wui_mainstatus->mArgs['status'] = $innomatic_locale->getStr('wrongpwd'); } } else { $session->put('domain_login_attempts', 0); } // Page render // $wui_maingroup->addChild($wui_titlebar); // $wui_maingroup->addChild( new WuiButton( 'innomaticlogo', array( 'image' => $innomatic->getBaseUrl(false).'/shared/styles/cleantheme/innomatic_big_asp.png', 'action' => $innomatic->getBaseUrl().'/' ) ) ); $wui_mainbframe->addChild($wui_mainframe); $wui_mainbframe->addChild(new WuiHorizBar('hb')); $wui_mainbframe->addChild(new WuiLink('copyright', array('label' => $innomatic_locale->getStr('auth_copyright.label'), 'link' => 'http://www.innomatic.io/', 'target' => '_blank'))); $wui_maingroup->addChild($wui_mainbframe); $wui_maingroup->addChild($wui_mainstatus); $wui_topgroup->addChild($wui_maingroup); $wui_page->addChild($wui_topgroup); $wui->addChild($wui_page); $wui->render(); $innomatic->halt(); }
$wuiPage = new WuiPage('page', array('title' => 'Innomatic')); $wui_vertgroup = new WuiVertgroup('vertgroup', array('align' => 'center', 'groupalign' => 'center', 'groupvalign' => 'middle', 'height' => '100%')); $wui_buttons_group = new WuiVertgroup('buttons_group', array('align' => 'center', 'groupalign' => 'center', 'groupvalign' => 'middle', 'height' => '0%')); if ($app_cfg->getKey('innomatic-biglogo-disabled') != '1') { if ($container->getEdition() == \Innomatic\Core\InnomaticContainer::EDITION_MULTITENANT) { $edition = '_asp'; } else { $edition = '_enterprise'; } if (isset($wuiPage->mThemeHandler->mStyle['biglogo' . $edition])) { $biglogo_image = $wuiPage->mThemeHandler->mStyle['biglogo' . $edition]; } else { $biglogo_image = $wuiPage->mThemeHandler->mStyle['biglogo']; } $wui_button = new WuiButton('button', array('action' => ' http://www.innomatic.io', 'target' => '_top', 'image' => $biglogo_image, 'highlight' => 'false')); $wui_buttons_group->addChild($wui_button); } // Service Provider personalization // $serviceprovider_biglogo_filename = $app_cfg->getKey('serviceprovider-biglogo-filename'); $serviceprovider_url = $app_cfg->getKey('serviceprovider-url'); if ($app_cfg->getKey('serviceprovider-biglogo-disabled') != '1') { if (strlen($serviceprovider_biglogo_filename) and file_exists($container->getHome() . 'shared/' . $serviceprovider_biglogo_filename)) { $serviceprovider_button = new WuiButton('serviceproviderbutton', array('action' => strlen($serviceprovider_url) ? $serviceprovider_url : ' http://www.innomatic.io', 'target' => '_top', 'image' => $container->getBaseUrl(false) . '/shared/' . $serviceprovider_biglogo_filename, 'highlight' => 'false')); $wui_buttons_group->addChild($serviceprovider_button); } } $wui_vertgroup->addChild($wui_buttons_group); $wuiPage->addChild($wui_vertgroup); $wui->addChild($wuiPage); $wui->render();