Skip to content

Instantly share code, notes, and snippets.

@vgrish
Created September 9, 2013 17:04
Show Gist options
  • Save vgrish/6498541 to your computer and use it in GitHub Desktop.
Save vgrish/6498541 to your computer and use it in GitHub Desktop.
<?php
switch ($modx->event->name) {
case 'OnHandleRequest':
if ($modx->context->key == 'mgr') {return;}
if (!isset($_SESSION['lang']) && isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
if (preg_match('/ru/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
$_SESSION['lang'] = 'ru';
}
else if (preg_match('/fr/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
$_SESSION['lang'] = 'fr';
}
}
if (!empty($_GET['lang']) && $_GET['lang'] != $_SESSION['lang']) {
if (in_array($_GET['lang'], array('ru','en','fr'))) {
$_SESSION['lang'] = $_GET['lang'];
$_GET['reload'] = true;
}
}
$modx->setOption('cultureKey', $_SESSION['lang']);
$modx->setPlaceholder('cultureKey', $_SESSION['lang']);
break;
case 'OnLoadWebDocument':
if (!empty($_GET['reload'])) {
if ($modx->resource->class_key == 'msProduct') {
$modx->resource->clearCache();
}
$modx->sendRedirect($modx->makeUrl($modx->resource->id, '', '', 'full'));
}
break;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment