diff --git a/lib/common.lib.php b/lib/common.lib.php index 5ee99b547..526d36f4f 100644 --- a/lib/common.lib.php +++ b/lib/common.lib.php @@ -2881,7 +2881,7 @@ function clean_query_string($query, $amp=true) $q = array(); foreach($out as $key=>$val) { - $key = trim($key); + $key = strip_tags(trim($key)); $val = trim($val); switch($key) { @@ -2953,4 +2953,38 @@ function clean_query_string($query, $amp=true) return $str; } + +function get_device_change_url() +{ + $p = parse_url(G5_URL); + $href = $p['scheme'].'://'.$p['host']; + if(isset($p['port']) && $p['port']) + $href .= ':'.$p['port']; + $href .= $_SERVER['SCRIPT_NAME']; + + $q = array(); + $device = 'device='.(G5_IS_MOBILE ? 'pc' : 'mobile'); + + if($_SERVER['QUERY_STRING']) { + foreach($_GET as $key=>$val) { + if($key == 'device') + continue; + + $key = strip_tags($key); + $val = strip_tags($val); + + if($key && $val) + $q[$key] = $val; + } + } + + if(!empty($q)) { + $query = http_build_query($q, '', '&'); + $href .= '?'.$query.'&'.$device; + } else { + $href .= '?'.$device; + } + + return $href; +} ?> \ No newline at end of file diff --git a/mobile/tail.php b/mobile/tail.php index ceecca3fd..44d88ff22 100644 --- a/mobile/tail.php +++ b/mobile/tail.php @@ -25,30 +25,8 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 $val) { - if($key == 'device') - continue; - - $href .= $sep.$key.'='.$val; - $sep = '&'; - $seq++; - } - } - if($seq) - $href .= '&device=pc'; - else - $href .= '?device=pc'; -?> -PC 버전으로 보기 +if(G5_DEVICE_BUTTON_DISPLAY && G5_IS_MOBILE) { ?> +PC 버전으로 보기 $val) { - if($key == 'device') - continue; - - $href .= $sep.$key.'='.strip_tags($val); - $sep = '&'; - $seq++; - } - } - if($seq) - $href .= '&device=mobile'; - else - $href .= '?device=mobile'; -?> -모바일 버전으로 보기 +if(G5_DEVICE_BUTTON_DISPLAY && !G5_IS_MOBILE) { ?> +모바일 버전으로 보기