<title>맨티스 Mantis (BTS)</title>
설정파일의 참고 파일
사이트에 적용 되는 설정 파일
$g_allow_signup = ON|OFF; # 유저등록 메뉴 감추기 $g_reauthentication_expiry = 5*60; # 로그인 세션 유지 기간. 10분으로 하고 싶으시면 (10*60)으로 입력하시면 됩니다. # 혹시 필요하다면.. $g_signup_use_captcha = ON|OFF; # 유저 가입시 captcha 사용
config_defaults_inc.php 파일에 추가하자.
$g_allow_file_upload = ON; # 첨부 파일을 저장하도록 한다. $g_file_upload_method = DISK; # 첨부 파일은 디스크에 저장한다. (DB or FTP 도 있다.) $g_absolute_path_default_upload_folder = "/FULL/PATH/"; # 마지막에 '/' 를 빼먹으면 안되다. # 호스팅인 경우라도 "/home.."으로 시작되는 full path를 붙인다. # 파일 이름이 'abc'인 경우 위 옵션의 마지막에 '/'가 빠지면 "/FULL/PATHabc" 로 저장되어 버리므로 주의 필요!
파일 업로드 크기에 제한이 걸린다면,
; 파일업로드 허용여부 file_uploads = On ; 최대 업로드 파일 사이즈 upload_max_filesize = 100M ; Post 방식으로 넘겨질 최대 데이터 사이즈 post_max_size = 100M ; 최대 실행시간. 파일 사이즈가 클수록 시간을 늘려주어야함. 0은 무한대 max_execution_time = 30 ; 스크립트 페이지로 넘어가기 전에 php엔진이 데이터를 업로더 받는 시간 max_input_time = 3600
호스팅을 사용 중이라 php.ini를 고칠 수 없다면, 해당 사이트의 루트에 .htaccess 파일을 생성하여 설정할 수 있다.(출처)
php_value upload_max_filesize 50M php_value post_max_size 50M php_flag register_globals off php_flag magic_quotes_gpc on
이미 db에 파일이 첨부 되어 있는 경우,
http://(bts url)/admin/ 로 접속.
시스템 유틸리티 메뉴에서 , 첨부 파일을 디스크로 저장하는 기능으로 첨부 파일을 디스크에 저장할 수 있다.
$g_max_file_size = 50000000; # 첨부 파일 크기를 5 MB 제한한다. 더 늘리고 싶다면 더 크게
이 설정은 php.ini 추가 설정이 더 필요할 수도 있다. php.ini 설정에
post_max_size upload_max_filesize
옵션을 설정합니다.
첨부 파일을 저장하는 테이블
첨부파일을 DB에 저장하지 않으려면 옵션에서 파일로 저장하는 모드로 변경한다.
APPLICATION ERROR #2800
APPLICATION ERROR #2800 폼의 보안 토큰이 잘못되었습니다. 세션 시간 초과 또는 폼을 실수로 두 번 제출할 경우 발생합니다 이전 페이지로 돌아가려면 웹 브라우저에서 "뒤로" 버튼을 사용하세요. 이 오류에 대한 문제를 수정하거나 다른 동작을 선택하세요. 새로운 영역으로 이동하기 위해서는 메뉴의 옵션을 클릭하시면 됩니다.
PHP 세션 저장되는 폴더의 문제
; php 설정에 /etc/php.ini 또는 어딘가, ; 세션 저장 위치 session.save_path = (저장가능한 풀패스) ; 주석처리 되어 있다면 풀자.
<note>새로 버젼업 되면서 이제 필요 없다</note>
JSGraph에 한글(멀티바이트글자)가 나오도록 설정하기
버젼 2.x를 사용했으며, 3.x는 확인해보지 않았음
쓰고 나니 읽기가 복잡해보이지만 찬찬히 읽어보시면 쉽게 가능
내가 다시 읽을 경우 : 보기 좋게 문서를 다시 정리해..!
수정방향은, 원본 코드 구조를 활용해서 최대한 코드 수정을 적게 하는 것
코드를 자세히보면 폰트의 정의하는 범위가 ~53까지인가 되어 있는데 많이 안들어가게 되어 있다.
DEFINE("FF_GULIM",47); // 굴림체를 추가했다. 다른 폰트를 쓰고 싶다면 폰트이름에 맞게 define 추가
클래스 TTF 생성자에서 폰트셋을 생성하고 있으니 여기에 한글 폰트를 추가한다.
난 이렇게 추가했다. 놓는 위치는 아무래도 좋다. 난 일본어 폰트 사이에 넣었는데 영향이 없었다.
FF_GULIM은 위에서 추가한 DEFINE을 사용한다. 위에서 DEFINE하고 클래스 생성자에서 배열 항목을 실제로 생성.
/* korean */ FF_GULIM => array(FS_NORMAL =>'gulim.ttc', FS_BOLD =>'gulim.ttc', FS_ITALIC =>'gulim.ttc', FS_BOLDITALIC =>'gulim.ttc' ),
좀 신경쓴 듯하지만 약간 어설프다.
더 손대기는 귀찮으니 가볍게 필요한 코드 추가.
//(원래코드)if ($family >= FF_MINCHO && $family <= FF_PGOTHIC) { if ($family >= FF_MINCHO && $family <= FF_PGOTHIC || $family == FF_GULIM) { // 굴림이면 MBTTF_DIR 경로를 사용하도록 $f = MBTTF_DIR.$f; } else { $f = TTF_DIR.$f; }
코드에서 보이듯이 일본어 폰트면 다른 경로로 읽게 되어 잇는 것을 알 수 있다.
여기에 한국어 폰트를 추가한다.
elseif( ASSUME_EUCJP_ENCODING && ($aFF == FF_MINCHO || $aFF == FF_GOTHIC || $aFF == FF_PMINCHO || $aFF == FF_PGOTHIC || $aFF == FF_GULIM) ) { // 한글을 추가
버그인건지 모르겠지만 MBTTF_DIR 디파인이 제대로 정의되고 있지 않았다. 윈도우 버젼이라 그런건지..
line 49 부근 : 패스 정의를 추가한다.
if (!defined('TTF_DIR')) { if (strstr( PHP_OS, 'WIN') ) { $sroot = getenv('SystemRoot'); if( empty($sroot) ) { $t = new ErrMsgText(); $msg = $t->Get(12,$file,$lineno); die($msg); } else { DEFINE('TTF_DIR', $sroot.'/fonts/'); DEFINE('MBTTF_DIR', $sroot.'/fonts/'); // <-- 새로 추가 } } else { DEFINE('TTF_DIR','/usr/X11R6/lib/X11/fonts/truetype/'); }
여기에서는 프로그램 실행시 사용할 폰트군을 설정한다.
line 36 부근 : 그래프에서 사용할 폰트를 추가. 기본은 영문 밖에 없었다.
function graph_get_font() { // 함수에서 신규로 사용할 폰트를 추가한다. ex) $t_font_map = array( 'MSPGothic' => FF_PGOTHIC, //... 'gulim' => FF_GULIM,
여기에서는 프로그램 실행시 사용할 폰트를 설정한다.
line 588 부근 :
$g_graph_font = 'MSPGothic'; // 여기에 사용할 폰트를 적는다.