질문/조언질답게시판
Extra Form
PHP PHP 7.4
CMS Rhymix

22.PNG

 

count -> countobj 관련 문제가 발생하는것 같습니다.

 

코어에도 반영이 되면 좋을것 같아 공유합니다!

  • profile

    제보 감사합니다. 광속패치 출동합니다.

    https://github.com/rhymix/rhymix/commit/2c48e34

  • profile profile

    위젯 부분에도 발생하여 보고드립니당

     

    function recompileWidget($content)
    {
    // Language in bringing
    $lang_list = Context::get('lang_supported');
    // Bringing widget cache sequence
    preg_match_all('!<img([^\>]*)widget=([^\>]*?)\>!is', $content, $matches);
    
    $oXmlParser = new XeXmlParser();
    
    $cnt = count($matches[1]);
    for($i=0;$i<$cnt;$i++)
    {
    $buff = $matches[0][$i];
    $xml_doc = $oXmlParser->parse(trim($buff));
    
    $args = $xml_doc->img->attrs;
    if(!$args) continue;
    // If you are not caching path
    $widget = $args->widget;
    $sequence = $args->widget_sequence;
    $cache = $args->widget_cache;
    if(!$cache) continue;
    if(!$sequence)
    {
    $sequence = sha1(json_encode($args));
    }
    
    if(countobj($args))
    {
    foreach($args as $k => $v) $args->{$k} = urldecode($v);
    }
    
    foreach($lang_list as $lang_type => $val)
    {
    $this->getCache($widget, $args, $lang_type, true, $sequence);
    }
    }
    }

     

     

    if(countobj($args))
    {
    foreach($args as $k => $v) $args->{$k} = urldecode($v);
    }

    이 부분이 count로 되어있어 오류가 발생하였고, countobj로 바꾸니까 해결되었습니다 

  • profile profile
    이 경우에는 count를 사용한 조건이 아예 필요없을 것 같네요. 위에서 if(!$args) continue; 를 해주고 있기 때문에 $args에 뭔가가 들어 있지 않으면 문제의 줄까지 내려올 수조차 없습니다.

    패치: https://github.com/rhymix/rhymix/commit/2f99d71
  • profile profile
    감사합니다! 개발은 할 줄 모르지만 사용을 하면서 나타나는 버그들을 바로바로 보고드려서 라이믹스에 기여하겠습니다
  • profile profile
    PHP 8.0 베타테스터 노릇을 계속 하실 생각이라면 아예 하루쯤 목록을 쫙 만들어서 한꺼번에 전달해 주시면 더 좋을 것 같습니다. 에러나는 곳이 한두 군데가 아닐 테니까요.
  • profile profile
    아아 그게 기진곰님과 라이믹스 개발진분들도 조금 덜 번거로우실것 같네요

    그렇게 전달드리겠습니다~