php8.0 버전 호환 코드 적용 및 PHP 끝 태그 삭제 일괄적용

This commit is contained in:
thisgun
2021-01-04 15:33:29 +09:00
parent 10d377de7d
commit 582d1a01f4
852 changed files with 120617 additions and 6307 deletions

View File

@ -166,9 +166,8 @@ function get_cookie($cookie_name)
// 경고메세지를 경고창으로
function alert($msg='', $url='', $error=true, $post=false)
{
global $g5, $config, $member;
global $is_admin;
global $g5, $config, $member, $is_member, $is_admin, $board;
run_event('alert', $msg, $url, $error, $post);
$msg = $msg ? strip_tags($msg, '<br>') : '올바른 방법으로 이용해 주십시오.';
@ -185,7 +184,7 @@ function alert($msg='', $url='', $error=true, $post=false)
// 경고메세지 출력후 창을 닫음
function alert_close($msg, $error=true)
{
global $g5;
global $g5, $config, $member, $is_member, $is_admin, $board;
run_event('alert_close', $msg, $error);
@ -202,7 +201,7 @@ function alert_close($msg, $error=true)
// confirm 창
function confirm($msg, $url1='', $url2='', $url3='')
{
global $g5;
global $g5, $config, $member, $is_member, $is_admin, $board;
if (!$msg) {
$msg = '올바른 방법으로 이용해 주십시오.';
@ -300,14 +299,14 @@ function get_filesize($size)
// 게시글에 첨부된 파일을 얻는다. (배열로 반환)
function get_file($bo_table, $wr_id)
{
global $g5, $qstr;
global $g5, $qstr, $board;
$file['count'] = 0;
$sql = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no ";
$result = sql_query($sql);
while ($row = sql_fetch_array($result))
{
$no = $row['bf_no'];
$no = (int) $row['bf_no'];
$bf_content = $row['bf_content'] ? html_purifier($row['bf_content']) : '';
$file[$no]['href'] = G5_BBS_URL."/download.php?bo_table=$bo_table&amp;wr_id=$wr_id&amp;no=$no" . $qstr;
$file[$no]['download'] = $row['bf_download'];
@ -763,7 +762,8 @@ function get_group($gr_id, $is_cache=false)
$sql = " select * from {$g5['group_table']} where gr_id = '$gr_id' ";
$cache[$key] = run_replace('get_group', sql_fetch($sql), $gr_id, $is_cache);
$group = run_replace('get_group', sql_fetch($sql), $gr_id, $is_cache);
$cache[$key] = array_merge(array('gr_device'=>'', 'gr_subject'=>''), (array) $group);
return $cache[$key];
}
@ -1252,13 +1252,13 @@ function delete_point($mb_id, $rel_table, $rel_id, $rel_action)
and po_rel_action = '$rel_action' ";
$row = sql_fetch($sql);
if($row['po_point'] < 0) {
if(isset($row['po_point']) && $row['po_point'] < 0) {
$mb_id = $row['mb_id'];
$po_point = abs($row['po_point']);
delete_use_point($mb_id, $po_point);
} else {
if($row['po_use_point'] > 0) {
if(isset($row['po_use_point']) && $row['po_use_point'] > 0) {
insert_use_point($row['mb_id'], $row['po_use_point'], $row['po_id']);
}
}
@ -1270,11 +1270,13 @@ function delete_point($mb_id, $rel_table, $rel_id, $rel_action)
and po_rel_action = '$rel_action' ", false);
// po_mb_point에 반영
$sql = " update {$g5['point_table']}
set po_mb_point = po_mb_point - '{$row['po_point']}'
where mb_id = '$mb_id'
and po_id > '{$row['po_id']}' ";
sql_query($sql);
if(isset($row['po_point'])) {
$sql = " update {$g5['point_table']}
set po_mb_point = po_mb_point - '{$row['po_point']}'
where mb_id = '$mb_id'
and po_id > '{$row['po_id']}' ";
sql_query($sql);
}
// 포인트 내역의 합을 구하고
$sum_point = get_point_sum($mb_id);
@ -1391,7 +1393,7 @@ function view_file_link($file, $width, $height, $content='')
$ids++;
// 파일의 폭이 게시판설정의 이미지폭 보다 크다면 게시판설정 폭으로 맞추고 비율에 따라 높이를 계산
if ($width > $board['bo_image_width'] && $board['bo_image_width'])
if ($board && $width > $board['bo_image_width'] && $board['bo_image_width'])
{
$rate = $board['bo_image_width'] / $width;
$width = $board['bo_image_width'];
@ -1404,7 +1406,7 @@ function view_file_link($file, $width, $height, $content='')
else
$attr = '';
if (preg_match("/\.({$config['cf_image_extension']})$/i", $file)) {
if (preg_match("/\.({$config['cf_image_extension']})$/i", $file) && isset($board['bo_table'])) {
$attr_href = run_replace('thumb_view_image_href', G5_BBS_URL.'/view_image.php?bo_table='.$board['bo_table'].'&amp;fn='.urlencode($file), $file, $board['bo_table'], $width, $height, $content);
$img = '<a href="'.$attr_href.'" target="_blank" class="view_image">';
$img .= '<img src="'.G5_DATA_URL.'/file/'.$board['bo_table'].'/'.urlencode($file).'" alt="'.$content.'" '.$attr.'>';
@ -1749,7 +1751,7 @@ function get_table_define($table, $crlf="\n")
global $g5;
// For MySQL < 3.23.20
$schema_create .= 'CREATE TABLE ' . $table . ' (' . $crlf;
$schema_create = 'CREATE TABLE ' . $table . ' (' . $crlf;
$sql = 'SHOW FIELDS FROM ' . $table;
$result = sql_query($sql);
@ -1799,7 +1801,7 @@ function get_table_define($table, $crlf="\n")
} // end while
sql_free_result($result);
while (list($x, $columns) = @each($index)) {
foreach((array) $index as $x => $columns){
$schema_create .= ',' . $crlf;
if ($x == 'PRIMARY') {
$schema_create .= ' PRIMARY KEY (';
@ -1810,7 +1812,7 @@ function get_table_define($table, $crlf="\n")
} else {
$schema_create .= ' KEY ' . $x . ' (';
}
$schema_create .= implode($columns, ', ') . ')';
$schema_create .= implode(', ', $columns) . ')';
} // end while
$schema_create .= $crlf . ') ENGINE=MyISAM DEFAULT CHARSET=utf8';
@ -2239,7 +2241,7 @@ function get_uniqid()
sql_query(" LOCK TABLE {$g5['uniqid_table']} WRITE ");
while (1) {
// 년월일시분초에 100분의 1초 두자리를 추가함 (1/100 초 앞에 자리가 모자르면 0으로 채움)
$key = date('YmdHis', time()) . str_pad((int)(microtime()*100), 2, "0", STR_PAD_LEFT);
$key = date('YmdHis', time()) . str_pad((int)((float)microtime()*100), 2, "0", STR_PAD_LEFT);
$result = sql_query(" insert into {$g5['uniqid_table']} set uq_id = '$key', uq_ip = '{$_SERVER['REMOTE_ADDR']}' ", false);
if ($result) break; // 쿼리가 정상이면 빠진다.
@ -2717,32 +2719,9 @@ function board_notice($bo_notice, $wr_id, $insert=false)
function googl_short_url($longUrl)
{
global $config;
// Get API key from : http://code.google.com/apis/console/
// URL Shortener API ON
$apiKey = $config['cf_googl_shorturl_apikey'];
$postData = array('longUrl' => $longUrl);
$jsonData = json_encode($postData);
$curlObj = curl_init();
curl_setopt($curlObj, CURLOPT_URL, 'https://www.googleapis.com/urlshortener/v1/url?key='.$apiKey);
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curlObj, CURLOPT_HEADER, 0);
curl_setopt($curlObj, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
curl_setopt($curlObj, CURLOPT_POST, 1);
curl_setopt($curlObj, CURLOPT_POSTFIELDS, $jsonData);
$response = curl_exec($curlObj);
//change the response json string to object
$json = json_decode($response);
curl_close($curlObj);
return $json->id;
// 구글 짧은 주소는 서비스가 종료 되었습니다.
return function_exists('run_replace') ? run_replace('googl_short_url', $longUrl) : $longUrl;
}
@ -2813,7 +2792,7 @@ function certify_count_check($mb_id, $type)
}
// 1:1문의 설정로드
function get_qa_config($fld='*')
function get_qa_config($fld='*', $is_cache=false)
{
global $g5;
@ -2840,6 +2819,8 @@ if (!function_exists("get_sock")) {
$host = $res[1];
$get = $res[2];
}
$header = '';
// 80번 포트로 소캣접속 시도
$fp = fsockopen ($host, 80, $errno, $errstr, $timeout);
@ -3029,8 +3010,16 @@ function get_search_string($stx)
}
// XSS 관련 태그 제거
function clean_xss_tags($str, $check_entities=0)
function clean_xss_tags($str, $check_entities=0, $is_remove_tags=0, $cur_str_len=0)
{
if( $is_remove_tags ){
$str = strip_tags($str);
}
if( $cur_str_len ){
$str = utf8_strcut($str, $cur_str_len, '');
}
$str_len = strlen($str);
$i = 0;
@ -3173,7 +3162,7 @@ function get_email_address($email)
{
preg_match("/[0-9a-z._-]+@[a-z0-9._-]{4,}/i", $email, $matches);
return $matches[0];
return isset($matches[0]) ? $matches[0] : '';
}
// 파일명에서 특수문자 제거
@ -3447,7 +3436,7 @@ function get_params_merge_url($params, $url=''){
} else if( $tmp = explode('?', $_SERVER['REQUEST_URI']) ){
if( isset($tmp[0]) && $tmp[0] ) {
$href .= $tmp[0];
$ori_params = $tmp[1];
$ori_params = isset($tmp[1]) ? $tmp[1] : '';
}
if( $freg = strstr($ori_params, '#') ) {
$p['fragment'] = preg_replace('/^#/', '', $freg);
@ -3715,6 +3704,15 @@ function is_use_email_certify(){
return $config['cf_use_email_certify'];
}
function safe_replace_regex($str, $str_case=''){
if($str_case === 'time'){
return preg_replace('/[^0-9 _\-:]/i', '', $str);
}
return preg_replace('/[^0-9a-z_\-]/i', '', $str);
}
function get_real_client_ip(){
$real_ip = $_SERVER['REMOTE_ADDR'];
@ -3870,4 +3868,3 @@ function option_array_checked($option, $arr=array()){
return $checked;
}
?>