[PHP] telegram-cli 데몬 이용을 위한 PHP client

지난 포스트에서 telegram-cli를 데몬으로 설정해서 실행되도록 했다. 이 데몬을 이용해서 텔레그램에 메세지 등을 위한 PHP 클라이언트 프로그램을 작성하고 테스트한다. 이를 위해 telegram-cli 데몬 실행 스크립트를 약간 수정해서 리턴값을 JSON 형식으로 하고 tcp 포트와 unix 소켓을 이용해 통신이 가능하도록 해야 한다. 또한 telegram-cli 데몬의 소유권을 PHP 에서 접근할 수 있도록 웹서버의 소유권과 동일하게 설정했다. 사용자를 변경하게 되면 telegram-cli 데몬의 설정 등의 정보가 담겨있는 .telegram-cli 디렉토리를 웹서버 실행권한 소유권자의 홈디렉토리에 복사해줘야 한다. 예를 들어 www-data 사용자로 웹서버가 실행 될 때 www-data의 홈디렉토리가 /var/www 라면 /var/www/.telegram-cli 디렉토리에 설정 파일 등이 존재해야 한다.

데몬 실행 스크립트는 다음의 코드로 수정한다. (참고 : https://github.com/vysheng/tg/wiki/Telegram-CLI-Arguments) Read More

[WP] 워드프레스에 키보드 단축키 추가 플러그인

현재 이 블로그에는 기본 워드프레스 단축키 외에 관리자페이지로 접속하는 키보드 단축키가 적용되어 있다. 키보드의 Q 를 타이핑하면 관리자페이지로 이동하고 관리자페이지에서 Q 를 타이핑하면 메인페이지로 이동한다. input, textarea, select 등에서는  Q 를 타이핑해도 이동이 되지 않는다. 아래는 플러그인의 코드이다.

위 코드를 워드프레스 플러그인 디렉토리에 php 파일을 생성 후 붙여놓기 하고 관리자페이지에서 플러그인을 활성화 해주면 된다.

[WP] 포스트 상하단에 애드센스 광고 노출 플러그인

워드프레스 포스트 상하단에 구글 애드센스 광고를 출력하는 플러그인이다. 애드센스 광고 설정 기능은 제공하지 않는 단순한 기능의 플러그인으로 플러그인 적용 전 post-adsense.php 파일에서 자신의 애드센스 광고 설정을 해야 정상적으로 광고가 노출된다.

플러그인 : post-adsense.zip

$top_ads와 $btm_ads 부분 에서 data-ad-client, data-ad-slot 값을 자신의 애드센스 설정으로 반드시 변경하셔야 합니다.

[PHP] 그누보드5 게시글 등록 텔레그램 Push 알림 플러그인

지난 주에 작성한 포스트를 바탕으로 그누보드5에서 게시글 등록 때 Telegram(텔레그램)에 Push 알림을 보내는 플러그인을 만들었다. 게시글 등록 때는 관리자에게 알림이 전송되고 댓글은 게시글 작성자에게 알림이 전송된다. 이 플러그인을 활용해서 그누보드5 메모 수신 등의 알림을 텔레그램으로 전송할 수 있는데 이것은 플러그인의 수정이 필요하다. 텔레그램으로 메세지를 전송하는 Class 는 아래와 같다.

Telegram 플러그인 : telegram.push.zip

Read More

[WP] 워드프레스 포스트에 사진의 EXIF 정보 플러그인

포스트 내용 중에 포함된 사진의 EXIF 정보를 출력하기 위해 테마 파일에 추가했던 코드를 따로 빼서 플러그인으로 만들었다. 워드프레스 플러그인은 이번이 처음이라 제대로 한 것인지 자신은 없지만 일단 나중을 위해서라도 기록해두는 것이 좋을 듯 하여 포스팅한다.

이름은 대충 post-exif-info 라고 했다. 아래는 플러그인 파일의 코드이다.

플러그인 : post-exif-info.zip

사용하는 테마에 따라서 사진의 EXIF 정보가 출력되지 않는 경우가 있을 수 있는데 이럴 경우 플러그인 exif.lib.php 파일의 get_post_photos 함수 중 아래 코드의 패턴을 수정해야 한다.

워드프레스 플러그인 개발은 좀 더 살펴보고 싶다는 생각이 든다.

 

2017.11.15 추가
ngx_pagespeed 모듈을 서버에 적용했더니 위의 정규식 $pattern 형태가 일치하지 않아 아래처럼 $pattern 값을 아래처럼 변경

pagespeed 모듈의 설정을 변경하면 또 이래야할 것 같은데.. 큰 일이다.