download 게시판 작동이 안됩니다.

https://digitalsystem.kr/자료실 에서 download 스킨을 사용중입니다.

워드프레스5.2버전 오늘 업데이트하고 kboard게시판도 5.4.2 로 업데이트 했습니다.

다른 게시판스킨은 정상 동작하는데 자료실로 쓰이는 download 스킨 게시판만 작동이 안됩니다.

마우스를 올려도 링크기능이 안됩니다.

스킨은 다시 받아 download0513으로 올려서 적용하니 오류가 나옵니다.

오류메시지는 다음과 같습니다.

----------------------

워드프레스 KBoard 게시판 플러그인 입니다.

버전 5.4.2 | 코스모스팜 - Cosmosfarm님이 만듬 | 플러그인 사이트 방문
 This plugin failed to load properly and is paused during recovery mode.

An error of type E_COMPILE_ERROR was caused in line 43 of the file /digitalsys/www/wp-content/plugins/kboard/skin/download/functions.php. Error message: Cannot redeclare kboard_download_skin_password() (previously declared in /digitalsys/www/wp-content/plugins/kboard/skin/download0513/functions.php:3)

---------------------

호스팅은 카페24에서 받고 있습니다.

관리자님 해결 부탁드립니다. 감사합니다.

 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    KBoard 플러그인을 최신 버전으로 업데이트 후 게시판 스킨이 정상적으로 동작하지 않는다면,

    게시판 스킨도 최신 버전으로 업데이트해보시겠어요?

     

    스킨 업데이트는

    워드프레스 관리자 -> 스토어 메뉴에서 설치하기 버튼을 눌러주시면 업데이트가 완료됩니다.

     

    스킨 파일을 복사해서 /wp-content/plugins/kboard/skin 경로에 추가했을 때

    Cannot redeclare 에러 메시지가 표시되는 건 함수명 중복 문제로 보입니다.

    FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/functions.php 파일에

    아래의 코드를 찾아서

    add_filter('kboard_download_file', 'kboard_download_skin_password', 10, 3);
    function kboard_download_skin_password($file_info, $content_uid, $board_id){
    	
    	$content = new KBContent();
    	$content->initWithUID($content_uid);
    	
    	if($content->option->download_skin_password){
    		
    		$redirect_to = isset($_GET['redirect_to'])?esc_url_raw($_GET['redirect_to']):'';
    		$password = isset($_POST['download_skin_password'])?$_POST['download_skin_password']:'';
    		
    		if(!isset($_POST['kboard-download-skin-form-execute-nonce']) || !wp_verify_nonce( $_POST['kboard-download-skin-form-execute-nonce'], 'kboard-download-skin-form-execute')){
    			$file_info = false;
    		}
    		
    		if(!$password){
    			$file_info = false;
    		}
    		
    		if($password != $content->option->download_skin_password){
    			$file_info = false;
    		}
    		
    		if($file_info === false){
    			if($password){
    				header('Content-Type: text/html; charset=UTF-8');
    				die('<script>alert("'.__('※ Your password is incorrect.', 'kboard').'");window.history.go(-1);</script>');
    			}
    			else{
    				header('Content-Type: text/html; charset=UTF-8');
    				if($redirect_to){
    					die('<script>alert("보안을 위해서 다운로드 비밀번호를 입력해야 합니다.");window.location.href="'.$redirect_to.'#kboard-document";</script>');
    				}
    				else{
    					die('<script>alert("보안을 위해서 다운로드 비밀번호를 입력해야 합니다.");window.history.go(-1);</script>');
    				}
    			}
    		}
    	}
    	
    	return $file_info;
    }

    아래의 코드로 교체하신 후 확인해보시겠어요?

    if(!function_exists('kboard_download_skin_password')){
    	add_filter('kboard_download_file', 'kboard_download_skin_password', 10, 3);
    	function kboard_download_skin_password($file_info, $content_uid, $board_id){
    		
    		$content = new KBContent();
    		$content->initWithUID($content_uid);
    		
    		if($content->option->download_skin_password){
    			
    			$redirect_to = isset($_GET['redirect_to'])?esc_url_raw($_GET['redirect_to']):'';
    			$password = isset($_POST['download_skin_password'])?$_POST['download_skin_password']:'';
    			
    			if(!isset($_POST['kboard-download-skin-form-execute-nonce']) || !wp_verify_nonce( $_POST['kboard-download-skin-form-execute-nonce'], 'kboard-download-skin-form-execute')){
    				$file_info = false;
    			}
    			
    			if(!$password){
    				$file_info = false;
    			}
    			
    			if($password != $content->option->download_skin_password){
    				$file_info = false;
    			}
    			
    			if($file_info === false){
    				if($password){
    					header('Content-Type: text/html; charset=UTF-8');
    					die('<script>alert("'.__('※ Your password is incorrect.', 'kboard').'");window.history.go(-1);</script>');
    				}
    				else{
    					header('Content-Type: text/html; charset=UTF-8');
    					if($redirect_to){
    						die('<script>alert("보안을 위해서 다운로드 비밀번호를 입력해야 합니다.");window.location.href="'.$redirect_to.'#kboard-document";</script>');
    					}
    					else{
    						die('<script>alert("보안을 위해서 다운로드 비밀번호를 입력해야 합니다.");window.history.go(-1);</script>');
    					}
    				}
    			}
    		}
    		
    		return $file_info;
    	}
    }

    고맙습니다.

  • 올려주신 페이지 주소로 실제 KBoard 다운로드 스킨이 설치된 페이지를 확인해보니

    게시글이 클릭되지 않는 건 다른 플러그인(elegant-elements-fusion-builder) 쪽의 문제인 듯합니다.

    해당 플러그인에서 관련 설정이 있는지 확인해보셔야 할 듯합니다.

    고맙습니다.

  • 감사합니다.

    elegant-elements-fusion-builder 플러그인을 비활성화해서 해결하였습니다.

    고맙습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기