반응형
ciboard 버전을 확인하는 부분인데, ciboard.co.kr 에서 문제가 있으면 관라지페이지 접속이 안되는 오류가 발생한다.
문제구간
application/libraries/Managelayout.php 82라인부분
$cachename = 'check_latest_version_from_ciboard_api';
$cachetime = 10800;
if ( ! $result = $CI->cache->get($cachename)) {
$CI->load->library('Requests');
$requests = new Requests();
$requests->register_autoloader();
$headers = array('Accept' => 'application/json');
$postdata = array(
'requesturl' => current_full_url(),
'package' => CB_PACKAGE,
'version' => CB_VERSION
);
$request = $requests->post(
config_item('ciboard_check_latest_version'),
$headers,
$postdata
);
$result['latest_versions'] = json_decode($request->body, true);
if (strtolower(CB_PACKAGE) === 'pro') {
$result['latest_version_name'] = $result['latest_versions']['pro_version'];
$result['latest_download_url'] = $result['latest_versions']['pro_downloadurl'];
} else {
$result['latest_version_name'] = $result['latest_versions']['lite_version'];
$result['latest_download_url'] = $result['latest_versions']['lite_downloadurl'];
}
$CI->cache->save($cachename, $result, $cachetime);
}
$data['version_latest'] = $result;
다음으로 교체
$cachename = 'check_latest_version_from_ciboard_api';
$cachetime = 10800;
/* 기본값 세팅 (외부 통신 실패 대비) */
$result = array(
'latest_versions' => array(),
'latest_version_name' => '',
'latest_download_url' => '',
);
if ( ! $cached = $CI->cache->get($cachename)) {
try {
$CI->load->library('Requests');
$requests = new Requests();
$requests->register_autoloader();
$headers = array('Accept' => 'application/json');
$postdata = array(
'requesturl' => current_full_url(),
'package' => CB_PACKAGE,
'version' => CB_VERSION
);
$request = $requests->post(
config_item('ciboard_check_latest_version'),
$headers,
$postdata,
array(
'timeout' => 2,
'connect_timeout' => 2,
)
);
if (isset($request->body)) {
$json = json_decode($request->body, true);
if (is_array($json)) {
$result['latest_versions'] = $json;
if (strtolower(CB_PACKAGE) === 'pro') {
$result['latest_version_name'] =
element('pro_version', $json);
$result['latest_download_url'] =
element('pro_downloadurl', $json);
} else {
$result['latest_version_name'] =
element('lite_version', $json);
$result['latest_download_url'] =
element('lite_downloadurl', $json);
}
}
}
$CI->cache->save($cachename, $result, $cachetime);
} catch (Exception $e) {
/* 외부 서버 장애 시 완전 무시 */
$CI->cache->save($cachename, $result, $cachetime);
}
} else {
$result = $cached;
}
$data['version_latest'] = $result;반응형
'CIBOARD 씨아이보드' 카테고리의 다른 글
| 그누보드 -> 씨아이보드 변환 프로그램 (0) | 2025.03.04 |
|---|---|
| ciboard 씨아이보드 url_auto_link 자동 링크 해제 (0) | 2024.05.08 |
| 씨아이보드 ciboard 구버전 cacert.pem 갱신 (0) | 2023.12.20 |
| 소셜로그인 - 구글 연동방법 (0) | 2023.12.13 |
| ciboard 소셜로그인 - 카카오 연동방법 (0) | 2023.12.13 |
댓글