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 );
示例#3
0
<?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;
    }