Q&A

PHP 소스 수정한 것 좀 봐주실 수 있나요?

2020.05.25 02:54
673
0
CMS/프레임워크 Rhymix 1.9
개발 언어 PHP 7.4
문제 페이지 주소 비공개 (작성 후 5일 경과)

라이믹스에서 첨부파일이 그림파일이 아닐 때는 파일아이콘이 뜨지 않게 수정하려고 합니다.

(파일첨부 아이콘을 사용하지만 그림파일은 제외)

인터넷을 열심히 뒤져봤는데 자료를 찾기 힘들어서 소스를 직접 수정해 봤습니다.

syntax error 에러가 나길래 몇 번 수정했더니 일단 작동을 하기는 하는데 프로그래밍을 배운적이 없어서 { } ; 요런거 개념을 잘 모릅니다.

혹시 잘못된 부분이나 수정할 부분이 있는지 알고 싶습니다.

 

 

(라이믹스 1.9.9.7) document.item.php 원본

function getExtraImages($time_interval = 43200)
    {
        if(!$this->document_srl) return;

 

--이하생략---

 

        // Check the attachment
        if($this->hasUploadedFiles()) $buffs[] = "file";

        return $buffs;
    }

 

document.item.php 수정내용

 

function getExtraImages($time_interval = 43200)
    {
        if(!$this->document_srl) return;

 

--이하생략---

 

        // Check the attachment
        if($this->hasUploadedFiles())         
        foreach($this->getUploadedFiles() as $file)
        if(preg_match('/\.(jpg|png|gif)$/i', $file->source_filename)) continue;
        else if($file->direct_download !== 'Y')
        {$buffs[] = 'file';break;}    
        else
        {return $buffs;break;}

        return $buffs;
    }

보닉 Lv. 1

댓글 8

  • 2020.05.25 03:55 #1408076
    php를 수정하시는거보다 css로 감추신는걸 추천드려요

    https://xetown.com/tips/117806
  • 2020.05.25 04:22 #1408110
    제가 잘 이해를 못한 걸수도 있는데 저 방법은 이미 아이콘이 생성된 이후의 처리 아닌가요?
    제가 원하는 건 이미 생성된 아이콘을 교체하거나 없애는게 아니라 아이콘이 표시되는 조건을 수정하는 겁니다.
    파일아이콘을 사용하되 이미지파일은 파일아이콘 표시 조건에서 제외하고 싶어서요.
    그리고 사이트 전체에 적용하고 싶습니다.

    이미지 파일만 첨부 -> 파일아이콘 없음
    pdf파일 첨부 -> 파일아이콘 있음
    이미지 파일과 Pdf 첨부 -> 파일아이콘 있음
  • 2020.05.25 05:08 #1408136
    if($this->hasUploadedFiles()){
    foreach($this->getUploadedFiles() as $file){
    if(preg_match('/\.(jpg|png|gif)$/i', $file->source_filename)){
    continue;
    }
    else if($file->direct_download !== 'Y'){
    $buffs[] = 'file';
    break;
    }
    else{
    return $buffs;
    break;
    }
    }
    }
  • 2020.05.25 05:51 #1408152
    감사합니다. 적용해 볼게요.
  • 2020.05.25 05:11 #1408140

    이 방법이 좋지 않은 이유는
    1. 라이믹스가 배포하는 파일을 코어 파일이라고 하는데 이 코어파일을 수정하는 것입니다.

    라이믹스가 가고자하는 원칙에 따라 저희가 배포하는 파일은 되도록이면 수정하지 않고 쓰셔야 합니다.

    2. 라이믹스에서 스킨파일은 실제로 HTML파일이 아니라 php파일로 보셔야 합니다

    스킨단에서 <!--@if($oDocument->hasUploadedFiles())-->
    와 같이 PHP를 인식할 수 있습니다.

    간단하게 윗부분에서 수정하신것 처럼 수정하실 필요도 없고
    {@
    // 내용
    }

    안에 모든 내용을 다 수정하실 수있어요 (실제로는 이미지 가져왔다가 백엔드에서 다시 이미지 숨겨지는 형태)

    코어파일은 되도록이면 건드리지마시고 스킨도 라이믹스에서 배포하는 스킨을 사용하신다면 스킨폴더 통째로 복사 ->붙여넣어 새로운이름의 폴더에서 수정을 진행하시면 됩니다.

  • 2020.05.25 05:53 #1408156
    네 참고하겠습니다.
  • 2020.05.25 06:37 #1408160
    더 좋은 방법은 깃허브에 이슈를 등록하시는 거죠. ㅎㅎ
  • 2020.05.25 07:49 #1408218
    기진곰님 리플 보고 나름 아이디어를 짜내서 이슈등록 했습니다. 감사합니다.