static private function sessionArray() { if( MMUserLogin::$isLogin ) { eZSession::start(); return $_SESSION; } if ( is_null(self::$_localSession) ) { eZSession::start(); self::$_localSession = $_SESSION; if ( !isset($_COOKIE['eZSESSID']) ) { setcookie( 'eZSESSID', session_id(), null, '/', CookieTool::getCookieDomain() ); $_COOKIE['eZSESSID'] = session_id(); } eZSession::stop(); } return self::$_localSession; }
case 'fre-CH': $value = 'fr_CH'; break; case 'ger-CH': $value = 'de_CH'; break; case 'fre-CA': $value = 'fr_CA'; break; case 'eng-CA': $value = 'en_CA'; break; } if( $value ) setcookie( substr($value, -2) . '_Login', $value, 0, '/', CookieTool::getCookieDomain() ); } $userId = MMUsers::getCurrentUserId(); if ( !MMUsers::isAnonymous($userId) ) { if ( SolrSafeOperatorHelper::featureIsActive( 'ToUPPPopin' ) ) { if ( ( !ContextTool::instance()->isMobile() && SolrSafeOperatorHelper::feature( 'ToUPPPopin', 'useDedicatedPage' ) ) || ( ContextTool::instance()->isMobile() && SolrSafeOperatorHelper::feature('ToUPPPopin','showOnMobile') && SolrSafeOperatorHelper::feature('ToUPPPopin','useDedicatedPageMobile') ) ) { $serviceLogin = ESBFactory::getLoginService( ServiceLoginBase::ESB_METHOD_AUTOLOGIN, $_REQUEST );
<?php MMUserLogin::$isLogin = true; if( in_array( ClusterTool::clusterIdentifier(), array( 'cluster_be_fr', 'cluster_be_nl' ) ) && isset( $_REQUEST['ll']) ){ $value = false; switch( $_REQUEST['ll'] ) { case 'fr': case 'fre-BE': $value = 'fr_BE'; break; case 'nl': case 'dut-BE': $value = 'nl_BE'; break; } if( $value ) setcookie( 'BE_Login', $value, 0, '/', CookieTool::getCookieDomain() ); } $login = ESBFactory::getLoginService( 'login', $_REQUEST ); $login->login(); eZExecution::cleanExit();
/** * @return array */ public static function applicationList() { # Hotfix #23450 note-8 if ( !isset($_COOKIE['remember_me']) ) { $cookieExpiration = time() + eZINI::instance('merck.ini')->variable('TIBCOCookieSettings', 'TIBCOCookieExpiration'); $uuid = MMUsers::getCurrentUserId(); setcookie('remember_me', MMUserLogin::encryptText(json_encode($uuid)), $cookieExpiration, '/', CookieTool::getCookieDomain()); } $out = array('applicationList' => array()); $host = 'http://' . self::host(); if ( isset($_POST['application']) ) { $applicationIdList = array((int) $_POST['application']); } else { $applicationIdList = AppBarControl::instance()->applicationIds(); } foreach ( $applicationIdList as $applicationId ) { if ( !is_numeric($applicationId) ) { continue; } $applicationLocalized = CacheApplicationTool::buildLocalizedApplicationByApplication($applicationId); $application = ($applicationLocalized) ? $applicationLocalized->applicationObject() : null; if ( $applicationLocalized ) { $application = $applicationLocalized->applicationObject(); } if ( isset($application) ) { $applicationType = $application->applicationType(); $icons = array( 'icon' => array( 'path' => '', 'md5' => '', 'file' => 'ico.png', ), 'icon_hd' => array( 'path' => '', 'md5' => '', 'file' => 'ico_notext_hd.png', ), 'icon_active' => array( 'path' => '', 'md5' => '', 'file' => 'ico_notext_active.png', ), 'icon_active_hd' => array( 'path' => '', 'md5' => '', 'file' => 'ico_notext_active_hd.png' ), ); foreach($icons as $key => $iconData) { $path = sprintf('apps/%s/%s', $application->attribute('identifier'), $iconData['file']); $fullPath = StaticData::clusterFilePath(ClusterTool::clusterIdentifier(), $path); if ($fullPath) { $icons[$key]['path'] = StaticData::externalUrl(ClusterTool::clusterIdentifier(), $path); $icons[$key]['md5'] = md5_file($fullPath); } } $path = '/' . $applicationLocalized->attribute('url'); $url = $host . $path; if ( $application->isPureExternal() ) { $url = $applicationLocalized->attribute("external_url"); } $outApplicationListArray = array( 'id' => $applicationId, 'identifier' => $application->attribute('identifier'), 'name' => $applicationLocalized->attribute('name'), 'headline' => $applicationLocalized->attribute('headline'), 'type' => $applicationType->attribute('internal_type'), 'url' => $url, 'path' => $path, 'javascript' => self::getJavascript($application->attribute('identifier'), 'application')); foreach($icons as $key => $icon) { $outApplicationListArray[$key] = array( '100' => array('path' => $icon['path'], $icon['md5']), ); } $out['applicationList'][] = $outApplicationListArray; } } return $out; }
if ( !isset( $Params['mode'] ) || !isset( $Params['action'] ) ) { return $module->handleError( eZError::KERNEL_NOT_AVAILABLE ); } $mode = SolrSafeOperatorHelper::feature('CookieLaw', 'Mode'); if ( !$mode ) { $mode = 'passive'; } $action = $Params['action']; $cookieKey = "cookie_{$mode}_optin_cookie"; $lifeTime = SolrSafeOperatorHelper::feature( 'CookieLaw' , 'Lifetime' ); $lifeTime = ( $lifeTime ? $lifeTime : 61516800 ); $cookieVersion = SolrSafeOperatorHelper::feature( 'CookieLaw' , 'Version' ); $cookieVersion = ( $cookieVersion ? $cookieVersion : 1 ); switch ( $action ) { case 'accept': setcookie( $cookieKey, $cookieVersion, time() + $lifeTime, '/', CookieTool::getCookieDomain() ); break; } header('Content-type: application/json'); echo json_encode( array( 'ErrorCode' => 0 ) ); eZExecution::cleanExit();
/** * @param string $url * @return bool */ protected static function checkRedirectDomain($url) { $domain = CookieTool::getCookieDomain(); if ( preg_match( '#^https?://(?:[^/]+)?'.str_replace('.', '\.', $domain).'(?:[?/].*)?$#', $url) ) { return true; } $merckIni = eZINI::instance('merck.ini'); $allowedRedirectDomains = $merckIni->hasVariable( 'CookieSettings', 'AllowedRedirectDomains' ) ? $merckIni->variable( 'CookieSettings', 'AllowedRedirectDomains' ) : array(); foreach( $allowedRedirectDomains as $domain ) { if ( preg_match( '#^https?://(?:[^/]+)?'.str_replace('.', '\.', $domain).'(?:[?/].*)?$#', $url) ) { return true; } } return false; }
/** * Logs in the user if applied username and password is * valid. The userID is returned if successful, false if not. * * @param array $params * @return bool */ public static function loginUser($params = null) { $uncryptedTicket = array(); if($params) { $uncryptedTicket["uuid"] = $params["Username"]; $uncryptedTicket["customerType"] = $params["Customer_type"]; $uncryptedTicket["userSpeciality"] = $params["User_specialty"]; $uncryptedTicket["state"] = $params["Province"]; $uncryptedTicket["country"] = $params["Country_of_registration"]; $uncryptedTicket['toUValidated'] = isset( $params['toUValidated'] ) ? $params['toUValidated'] : true; $uncryptedTicket['autologin'] = isset( $params['autologin'] ) ? $params['autologin'] : false; } else { $http = eZHTTPTool::instance(); $hashedTicket = $http->getVariable( 't' ); if ( empty( $hashedTicket ) ) { return false; } $uncryptedTicket = self::uncryptTicket ( $hashedTicket ); } if ( !self::validateTicket($uncryptedTicket) ) { return false; } $mmUser = self::createOrUpdateMMUser($uncryptedTicket); if( isset($uncryptedTicket['toUValidated']) ) { $mmUser->toUValidated( $uncryptedTicket['toUValidated'] ); } if( isset($uncryptedTicket['autologin']) ) { $mmUser->isAutologin( $uncryptedTicket['autologin'] ); } MMUsers::setCurrentUserObject($mmUser); AppBarControl::instance()->store(); MMSelections::setCookie(); MMUsers::setCookieUserPreferences(); $catchUpSpe = $mmUser->getPreference( 'catchUpSpe' ); if ( !empty( $catchUpSpe ) ) { setcookie ('catchUpSpe', '1', CookieTool::getDefaultCookieExpiration(), '/', CookieTool::getCookieDomain() ); } return true; }