$i = 0; foreach ($_GET as $key => $value) { if ($key != 'q') { if ($i) { $getVars .= '&' . $key . '=' . $value; } else { //primera variable $getVars .= '?' . $key . '=' . $value; } $i++; } } // Nos aseguramos de que ?origen=attel o parecidos quedan excluidos del test $attel = isset($_GET['origen']) && preg_match('/attel/', $_GET['origen']); // Si el nodo tiene un test A/B activo, procedemos if (!$attel && $testAB->get_id()) { // Recuperamos la IP del usuario $remote_ip = $_SERVER['REMOTE_ADDR']; if (!$remote_ip || $remote_ip == '') { $remote_ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } // Vemos si tiene una cookie guardada con el test. El valor va a ser test_id-opcion_id $cookie_info = explode('-', $_COOKIE['aiesp_multivariate_test']); if (isset($cookie_info) && $cookie_info[0] == $testAB->get_id()) { $test_id = $cookie_info[0]; $option_id = $cookie_info[1]; } else { // Si no tiene cookie, miramos si su IP tiene entrada en la BD para este test, // Sino, sirve una opción aleatoria A o B $option_id = $testAB->search_option($remote_ip); // Borramos una cookie anterior, si existe