커뮤니티

CMS/프레임워크 Rhymix 2.0
개발 언어 PHP 8.3

php 8.3으로 업그레이드 진행 하면서 회원님들의 도움으로 기본적인 것은 대략 수정한 것 같은데...

사용 중인 레이아웃 중에 사이트 활용 특성 상 바로 버릴 수 없는 Sketchbook5  레이아웃이 php8.3에 적용 시 에러 메시지가 뜨면서 접속이 안되는데 당분간 레이아웃 변경까지만이라도 페이지 정도 열 수 있는 수정 버전(유료/무료) 혹시 알고 계시면 관련 정보 공유 부탁드립니다. 

Sketchbook5 게시판 이슈는 많은 것 같은데,  사용자가 상대적으로 적은지 Sketchbook5 레이아웃 이슈는 많지가 않은 것 같습니다.

 

2025-08-13 07 51 30.png

 

미나리 Lv. 2

댓글 9

  • 2025.08.13 08:58 #1914521

    layout.html 파일에 5번 라인에 보시면

    <!--@if(class_exists(Mobile) && Mobile::isFromMobilePhone())-->

     

    라는 코드가 있는데 Mobile를 '' 로 감싸서

    <!--@if(class_exists('Mobile') && Mobile::isFromMobilePhone())-->

     

    이렇게 바꿔보시는건 어떠실까요?

  • 2025.08.13 12:08 #1914535

    감사합니다

    덕분에 이 부분도 해결되었습니다.

     

    참고로 이 부분을 수정했더니, XE의 newest_images 위젯에서 에러가 나서 newest_images 위젯을 삭제했더니 정상적으로 페이지가 보입니다.

    이러한 비슷한 문제가 있는 분들 참고하시면 도움이 될 듯합니다...

  • 2025.08.13 12:52 #1914540

    newest_images 위젯에서도 충분히 해결 가능한 부분이 있을겁니다 ^^. 

    이왕 수정하기 시작한거 하나하나 수정해보시죠!

  • 2025.08.13 18:20 #1914639

    저야 한없이 감사하지만..

    염치가 없어서.. ^^

    조금 오래된 사이트들은 비슷한 문제를 겪을 겁니다

    이러식으로 하나하나 문제가 해결되어 나가면 그 또한 라이믹스의 완성도나 확장성에 기여하는 부분일 수도 있겠다 하는 생각도 듭니다..^^

    그래도 염치가 없어서~~-_-

    문제 되는 부분이 있으면 또 문의드리겠습니다 

    감사합니다 

  • 2025.08.14 08:45 #1914652

    newest_images가 XE 초창기 때 XE 공식 위젯으로 알고 있는데, 스케치북5 레이아웃에서는 먹통이 안 되는데, 오류 메시지를 별도 저장을 해 놓지 않았는데 혹시 아래 소스로만 봐주실 수 있는지요...

    염치 없지만...^^

    스케치북5 레이아웃이 라이믹스에서는 호환이 안되는 것 같습니다.

     

    <?php
        /**
         * @class newest_images
         * @author zero (zero@nzeo.com)
         * @brief 최근 이미지를 출력하는 위젯
         * @version 0.1
         **/

        class newest_images extends WidgetHandler {

            /**
             * @brief 위젯의 실행 부분
             *
             * ./widgets/위젯/conf/info.xml 에 선언한 extra_vars를 args로 받는다
             * 결과를 만든후 print가 아니라 return 해주어야 한다
             **/
            function proc($args) {
                // 대상 모듈 (mid_list는 기존 위젯의 호환을 위해서 처리하는 루틴을 유지. module_srls로 위젯에서 변경)
                $oModuleModel = &getModel('module');
                if($args->mid_list) {
                    $mid_list = explode(",",$args->mid_list);
                    if(count($mid_list)) {
                        $module_srls = $oModuleModel->getModuleSrlByMid($mid_list);
                        if(count($module_srls)) $args->module_srls = implode(',',$module_srls);
                        else $args->module_srls = null;
                    } 
                }

                // 글자 제목 길이
                $widget_info->title_length = (int)$args->title_length;
                if(!$widget_info->title_length) $widget_info->title_length = 10;

                // 썸네일 생성 방법
                $widget_info->thumbnail_type = $args->thumbnail_type;
                if(!$widget_info->thumbnail_type) $widget_info->thumbnail_type = 'crop';

                // 썸네일 가로 크기
                $widget_info->thumbnail_width = (int)$args->thumbnail_width;
                if(!$widget_info->thumbnail_width) $widget_info->thumbnail_width = 100;

                // 썸네일 세로 크기
                $widget_info->thumbnail_height = (int)$args->thumbnail_height;
                if(!$widget_info->thumbnail_height) $widget_info->thumbnail_height = 100;

                // 세로 이미지 수
                $widget_info->rows_list_count = (int)$args->rows_list_count;
                if(!$widget_info->rows_list_count) $widget_info->rows_list_count = 1;

                // 가로 이미지 수
                $widget_info->cols_list_count = (int)$args->cols_list_count;
                if(!$widget_info->cols_list_count) $widget_info->cols_list_count = 5;

                // 노출 여부 체크
                if($args->display_author!='Y') $widget_info->display_author = 'N';
                else $widget_info->display_author = 'Y';
                if($args->display_regdate!='Y') $widget_info->display_regdate = 'N';
                else $widget_info->display_regdate = 'Y';
                if($args->display_readed_count!='Y') $widget_info->display_readed_count = 'N';
                else $widget_info->display_readed_count = 'Y';
                if($args->display_voted_count!='Y') $widget_info->display_voted_count = 'N';
                else $widget_info->display_voted_count = 'Y';

                // 제목
                $widget_info->title = $args->title;

                $oModuleModel = &getModel('module');

                // 대상 모듈이 선택되어 있지 않으면 해당 사이트의 전체 모듈을 대상으로 함
                $site_module_info = Context::get('site_module_info');
                if($args->module_srls) $obj->module_srls = $args->module_srls;
                else if($site_module_info) $obj->site_srl = (int)$site_module_info->site_srl;

                $obj->direct_download = 'Y';
                $obj->isvalid = 'Y';

                // 정해진 모듈에서 문서별 파일 목록을 구함
                $obj->list_count = $widget_info->rows_list_count*$widget_info->cols_list_count;
                $files_output = executeQueryArray("file.getOneFileInDocument", $obj);
                $files_count = count($files_output->data);

                $document_srl_list = array();
                $document_list = array();

                $oDocumentModel = &getModel('document');
                if($files_count>0) {
                    for($i=0;$i<$files_count;$i++) $document_srl_list[] = $files_output->data[$i]->document_srl;

                    $tmp_document_list = $oDocumentModel->getDocuments($document_srl_list);
                    if(count($tmp_document_list)) {
                        foreach($tmp_document_list as $val) $document_list[] = $val;
                    }
                }

                $document_count = count($document_list);
                $total_count = $widget_info->rows_list_count * $widget_info->cols_list_count;
                for($i=$document_count;$i<$total_count;$i++) $document_list[] = new DocumentItem();
                $widget_info->document_list = $document_list;

                // 모듈이 하나만 선택되었을 경우 대상 모듈 이름과 링크를 생성
                $module_srl = explode(',',$args->module_srls);
                if(count($module_srl)==1) {
                    $oModuleModel = &getModel('module');
                    $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl[0]);
                    if($module_info->site_srl) {
                        $site_info = $oModuleModel->getSiteInfo($module_info->site_srl);
                        if($site_info->domain) {
                            $widget_info->more_link = getSiteUrl('http://'.$site_info->domain, '','mid', $module_info->mid);
                        }
                    } else {
                        $widget_info->more_link = getUrl('','mid',$module_info->mid);
                    }
                    $widget_info->module_name = $module_info->mid;
                }

                Context::set('widget_info', $widget_info);

                // 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
                $tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
                Context::set('colorset', $args->colorset);

                // 템플릿 파일을 지정
                $tpl_file = 'list';

                // 템플릿 컴파일
                $oTemplate = &TemplateHandler::getInstance();
                $output = $oTemplate->compile($tpl_path, $tpl_file);
                return $output;
            }
        }
    ?>
     

  • 2025.08.13 15:09 #1914558

    언제 어디서나  쑹하고 나타나서 도움을 주는 영웅^^

  • 2025.08.14 14:00 #1914665

    저도 7.4에서 8.3 으로 너무너무 업그레이드 해보고 싶은데 사용하는 자료가 너무 많아서 이게 다 해결될 수 있을지 도무지 자신이 없네요..

  • 2025.08.14 16:21 #1914673

    저도 고민 고민 끝에 언젠가 해야 할거면 빠를 수록 좋다는 생각에 이용 중인 웹호스팅사에 별도의 임시 계정추가해서 동일환경에 테스트 한번 해보고 본 사이트 업그레이드 하려고  진행 중인데, 그렇게 저렴한 웹호스팅사도 아니데 홈공간만 만들어 주고 모든걸 알아서 하라고 던져 놓네요(백업본은 업로드)...^^

    db.config 수정 후 업로드 했는데, 접속 자체가 안 되어 추가 진행도 못해서 웹호스팅에 문의(도움?)하니 알아서 해결하라고 하는데 관리자 페이지에라도 접속이 되야 뭘해도 하는데, 웹호스팅업은 기본적으로 고객이 신청 후 사이트에 정상적으로 접속되는 것까지는 봐 줘야 하는게 아니지 싶은데..

    어느 것이 맞는건지 모르겠습니다...^^

     

    별도 운영 중인 소규모 사이트는 라이믹스 여러 회원님들 도움으로 대부분 해결되어 거의 정상적이라서 원래 업그레이드 목적의 사이트는 원낙 골동품 수준이라서 사전에 동일한 환경에 한 번 테스트해 보고 진행하려 하는데, 초보적인 단계에서 웹호스팅사의 도움이 없어 사이트 관리자 페이지에 접속도 못하고 있습니다.

     

    직접 업로드하여 작업해 보려고 해도 FTP 업로드 용량을 50 MB로 제한(?)해 놓아서, DB만 1GB되는데 업로드는 엄두 조차 못내어 웹호스팅사에 얘가했더니 DB와 파일은 업로드해 주고 그 다음부터가...악몽 수준입니다...^^

  • 2025.08.15 20:08 #1914728

    이곳 자료실에 SketchBook5 게시판스킨 - 문하우스 수정버전 이 있습니다.
    저는 이 버전으로 php : 8.4.10p1 (64-bit)에서 사용 중인데 문제가 없이 잘 되고 있습니다.
    참고 하시기 바랍니다.