Extra Form
PHP PHP 8.0
CMS Rhymix 2.x

PHP7.4는 괜찮은데 8.0에서 아래와 같은 오류가 나타납니다.

 

Error #0 "Attempt to assign property "subject_cut_size" on null" in widgets/ideationPopular/ideationPopular.class.php on line 22

 

//          $widget_info->subject_cut_size = (int)$args->subject_cut_size;

 

해당 줄은 위와 같습니다.

PHP8에서 어떻게 수정하면 되나요?

 

에러는 자세히 보면 이렇습니다.

AH01071: Got error 'PHP message: PHP Exception: Error #0 "Attempt to assign property "subject_cut_size" on null" in widgets/ideationPopular/ideationPopular.class.php on line 22\n#0 /var/www/vhosts/eond.com/httpdocs/modules/widget/widget.controller.php(392): ideationPopular->proc()\n#1 /var/www/vhosts/eond.com/httpdocs/modules/widget/widget.controller.php(471): widgetController->getCache()\n#2 /var/www/vhosts/eond.com/httpdocs/modules/widget/widget.controller.php(290): widgetController->execute()\n#3 unknown(0): widgetController->transWidget()\n#4 /var/www/vhosts/eond.com/httpdocs/modules/widget/widget.controller.php(266): preg_replace_callback()\n#5 /var/www/vhosts/eond.com/httpdocs/modules/widget/widget.controller.php(248): widgetController->transWidgetCode()\n#6 /var/www/vhosts/eond.com/httpdocs/classes/module/ModuleHandler.class.php(1239): widgetController->triggerWidgetCompile()\n#7 /var/www/vhosts/eond.com/httpdocs/classes/display/DisplayHandler.class.php(85): ModuleHandler::triggerCall()\n#8 /var/www/vhosts/eond.com/htt...'

 

#추가문의

 

$imgno=count($attachedfile);

$fileidx = mt_rand(0,$imgno-1);

 

이 부분이 또 오류를 뱉네요.

TypeError #0 "count(): Argument #1 ($var) must be of type Countable|array, null given

 

ValueError #0 "mt_rand(): Argument #2 ($max) must be greater than or equal to argument #1 ($min)" in widgets/contentsmedia/contentsmedia.class.php on line 1046

 

위에 부분은 count를 countobj로 고치면 넘어가는데, 아래에서 또 막히는데 mt_rand 저 부분은 뭐가 잘못된 걸까요..

 

앞에 값이 min이 0이고 뒤에 값이 max값인데 아마 뒷값이 -1로 들어가서 그런게 아닌가 싶은데요..

 

$imgno의 최소값을 1로 지정해줘야하는건지.. 어떻게 적어주면 될까요.

 

$imgno=countobj($attachedfile);

if($imgno == 1)

$fileidx = 1;

else if($imgno > 1)

$fileidx = mt_rand(0,$imgno-1);

else

 

이렇게 해서 이건 넘어갔는데요 ㅠㅠ

 

#추가문의2

 

Error #0 "Attempt to assign property "title" on null" in widgets/contentextended/contentextended.class.php on line 1058

 

$filename = strtolower($attachedfile[$fileidx]->source_filename);

$srcname = substr($attachedfile[$fileidx]->uploaded_filename, 2);

$srcname = getSiteUrl().$srcname; if($srcname && !preg_match('/^([a-z]+):\/\//i',$srcname))

$srcname = 'http://'.$srcname;

 

1058은 2번째줄인데 title은 안보이는데 -_-; 어찌 고쳐야할까요.

 

펑션 상단에 $obj = new stdClass; 적어주니 또 넘어가집니다 ㅠㅠ

 

#추가문의3

Error #0 "Attempt to assign property "site_srl" on null" in widgets/contentsmedia/contentsmedia.class.php on line 188

 

// 대상 모듈이 선택되어 있지 않으면 해당 사이트의 전체 모듈을 대상으로 함
         if(!$args->module_srls){
            unset($obj);
            $obj->site_srl = (int)$site_module_info->site_srl;
            $output = executeQueryArray('widgets.contentsmedia.getMids', $obj);
            if($output->data) {
               foreach($output->data as $key => $val) {
                  $args->modules_info[$val->mid] = $val;
                  $args->module_srls_info[$val->module_srl] = $val;
                  $args->mid_lists[$val->module_srl] = $val->mid;
                  $module_srls[] = $val->module_srl;
               }
            }

            $args->modules_info = $oModuleModel->getMidList($obj);
            // 대상 모듈이 선택되어 있으면 해당 모듈만 추출
         } else {
            $obj = new stdClass;
            $obj->module_srls = $args->module_srls;
            $output = executeQueryArray('widgets.contentsmedia.getMids', $obj);
         

 

  • profile

    보통 위젯에서 설정값 입력을 받을때 기본 설정값(입력하지 않으면 기본으로 입력되는 기준 숫자)를 입력되도록 코드를 짤텐데 이게 안되서 그런거 아닐까요?

    if(!$args->subject_cut_size) $args->subject_cut_size = 20;

    이런식으로 설정값 초기화 하는 곳에 이런 코드가 있는지 살펴보시고 없다면 위와 같이 넣어보세요.

  • profile

    권한이 있다고 올리신 질문글을 이렇게 막 바꾸고 하시면 어떻게 하시나요?
    질문 게시판이 답변이 달린 후 수정이 안되는게 모두가 지켜야 하는 것으로 보지 않으신가요?

    이 질문글은 1회용인가요? 무슨 질문에 답을 한건지도 알수 없게 되었고..

     

    지금 추가적인 문제가 발생되고 기존 문제가 해결되고 하면 계속 수정하실건가요??

     

    아무리 권한이 있다해도 번번히 본인 질문글을 수정하시는 건 아닌 것 같습니다. 

    다른 회원과 동일하게 추가나 변경사항이 있다면 댓글을 이용해서 추가 의견을 남겨주셔야 한다고 봅니다. 

    관리자가 수정의 권한이 이렇게 이용되라고 주어진게 아닐텐데요.

  • profile profile
    아 수정이 원래 안되는 거였군요. 바뀐 줄 알았습니다. 다음부터 조심하도록 하겠습니다^^;