[ Index ]

PHP Cross Reference of phpwcms V1.4.3 _r380 (23.11.09)

title

Body

[close]

/template/inc_script/frontend_init/disabled/ -> lang_redirect.php (source)

   1  <?php
   2  
   3  // compare against current domain and redirect to correct if neccessary - based on 1st level
   4  // and also check for browser language and try to do correct redirect based on this
   5  /*
   6      [-] Webroot (ID 0)
   7       |
   8       |--- EN (level 1, structure ID 1) 
   9       |
  10       |--- DE (level 1, structure ID 2)
  11       |
  12       |--- ES (level 1, structure ID 3)
  13  
  14  
  15  */
  16  
  17  $_DOMAIN_REDIRECT = array(
  18  
  19      'domain1.com'    => array( 'ID' => 1, 'LANG' => 'EN', 'HOME_URL' => 'http://www.domain1.com/?en' ), //1st entry will be taken as default
  20      
  21      'domain2.com'    => array( 'ID' => 2, 'LANG' => 'DE', 'HOME_URL' => 'http://www.domain2.com/?de' ),
  22      
  23      'domain3.com'    => array( 'ID' => 3, 'LANG' => 'ES', 'HOME_URL' => 'http://www.domain3.com/?es' ),
  24  
  25      );
  26  
  27  // try browser based language detection
  28  // but only when user has opened the root level
  29  $_DOMAIN_DETECT_BROWSER_LANG = true;
  30  
  31  
  32  //////////////////////////////////////////////////////////////////////////////////
  33  
  34  $_DOMAIN_URI = strtolower($_SERVER['SERVER_NAME']);
  35  
  36  if(isset($LEVEL_ID[1])) {
  37   
  38       $_DOMAIN_STATUS = true;
  39   
  40      foreach( $_DOMAIN_REDIRECT as $key => $value ) {
  41      
  42          if($LEVEL_ID[1] == $value['ID'] && strpos($_DOMAIN_URI, strtolower($key)) !== false ) {
  43      
  44              $_DOMAIN_STATUS = false;
  45              break;
  46          
  47          } elseif($LEVEL_ID[1] == $value['ID'] && strpos($_DOMAIN_URI, strtolower($key)) === false ) {
  48      
  49              headerRedirect($value['HOME_URL'], 301);
  50      
  51          }
  52      }
  53      
  54      if($_DOMAIN_STATUS) {
  55          reset($_DOMAIN_REDIRECT);
  56          $value = current($_DOMAIN_REDIRECT);
  57          headerRedirect($value['HOME_URL'], 301);
  58      }
  59  
  60  
  61  } elseif( $_DOMAIN_DETECT_BROWSER_LANG && $content['cat_id'] == 0 ) {
  62  
  63      $current_lang = strtoupper( substr( preg_replace('/(;q=\d+.\d+)/i', '', $_SERVER['HTTP_ACCEPT_LANGUAGE'] ), 0, 2 ) );
  64      
  65      foreach( $_DOMAIN_REDIRECT as $key => $value ) {
  66      
  67          if( $value['LANG'] == $current_lang ) {
  68      
  69              headerRedirect($value['HOME_URL'], 301);
  70      
  71          }
  72      
  73      }
  74  
  75      reset($_DOMAIN_REDIRECT);
  76      $value = current($_DOMAIN_REDIRECT);
  77      headerRedirect($value['HOME_URL'], 301);
  78  
  79  }
  80  
  81  
  82  
  83  ?>


Generated: Wed Dec 30 05:55:15 2009 Cross-referenced by PHPXref 0.7