-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
libs 폴더 내의 오래된 라이브러리들 정리 #68
Conversation
👍 |
출석부는 어쩌면 문제점이 있을지도..?(1.4버전 기반대인 코드가 아직 남아있습니다..) |
@qw5414 |
@conory 그렇다면 가능성 희박 |
@qw5414 직접 불러오는 자료가 있더라도 업데이트 과정에서 파일이 한두 개 남았는데도 완전히 다른 경로로 옮겨버린 이유가 그거예요. 기존에 |
libs
폴더 내에는 XE 초창기 이후 거의 업데이트되지 않은 라이브러리들이 몇 개 들어 있습니다. composer와 호환되지도 않고, 어떤 보안 취약점이 있는지도 모르고, PHP 버전이 자꾸 올라가면서 언제 작동을 멈춰버릴지 모릅니다.그래서
libs
폴더 내의 라이브러리들을 싹 정리해 버렸습니다.FirePHP
: composer로 설치하도록 변경HTTP_Request
: composer로 설치한rmccue/Requests
로 교체HTTP_Request
를 composer로 설치할 수도 있으나, composer로 설치할 경우 오류가 발생하는 것을 확인했습니다.HTTP_Request
를 사용하는FileHandler::getRemoteResource()
메소드를 리팩토링하여, 새 라이브러리를 사용하면서도 동일한 기능을 수행하도록 만들었습니다.requirePear()
함수는 내용을 모두 지우고 껍데기만 남겨두었습니다.PHPMailer
: composer로 설치한SwiftMailer
로 교체Mail
클래스를 완전히 교체하였습니다. 여기에 필요한 코드는 고급 메일 발송 모듈에서 가져왔으며, 해당 부분의 라이선스를 저작권자 직권으로 GPLv2에서 LGPL로 변경했습니다. (고급 메일 발송 모듈의 나머지 부분에는 여전히 GPLv2 라이선스가 적용됩니다.)Mail
클래스가 비공식적으로 지원하던 Gmail과 SMTP도 이제 제대로 지원합니다.idna_convert
: 최근 PHP에 내장되어 있는idn_to_utf8()
등의 함수로 대체true/punycode
라이브러리를 사용합니다.ftp
,tar
: 교체가 쉽지 않을 것 같아 일단 남겨둠common/libraries
폴더로 옮기고 오토로딩을 적용했습니다.자, 이제 코어에서 제공하는 클래스와 메소드를 사용하지 않고
libs
폴더의 라이브러리를 직접 인클루드하여 사용하던나쁜 어린이호환성 떨어지는 서드파티 자료들을 찾아봅시다!(직접 인클루드하여 사용하는 기존 자료가 있더라도 업데이트 과정에서
libs
폴더를 삭제하지 않으면 모두 그대로 남을 테니 상관없을 거라는 생각이 들긴 합니다.)