사용자 도구

사이트 도구


webapp:bts

<title>맨티스 Mantis (BTS)</title>

설정

설정 파일

설정파일의 참고 파일

  • (설치폴더)\config_defaults_inc.php
  • 추가하려는 설정 파일의 여기에서 쇼핑한다.

사이트에 적용 되는 설정 파일

  • (설정파일)\config\config_inc.php
  • config_defaults_inc.php 와 다르게 설정할 내용을 여기에 추가한다.

설정 내용

$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의 첨부파일을 디스크에 저장

이미 db에 파일이 첨부 되어 있는 경우,

http://(bts url)/admin/ 로 접속.

시스템 유틸리티 메뉴에서 , 첨부 파일을 디스크로 저장하는 기능으로 첨부 파일을 디스크에 저장할 수 있다.

첨부 파일 크기 제한 조정

$g_max_file_size = 50000000; # 첨부 파일 크기를 5 MB 제한한다. 더 늘리고 싶다면 더 크게

이 설정은 php.ini 추가 설정이 더 필요할 수도 있다. php.ini 설정에

post_max_size
upload_max_filesize 

옵션을 설정합니다.

참고 사이트

DB

첨부 파일을 저장하는 테이블

  • bts_bug_file_table : 파일을 올릴 때마다 이 테이블 크기가 커진다.

첨부파일을 DB에 저장하지 않으려면 옵션에서 파일로 저장하는 모드로 변경한다.

에러

APPLICATION ERROR #2800

APPLICATION ERROR #2800
폼의 보안 토큰이 잘못되었습니다. 세션 시간 초과 또는 폼을 실수로 두 번 제출할 경우 발생합니다
이전 페이지로 돌아가려면 웹 브라우저에서 "뒤로" 버튼을 사용하세요. 이 오류에 대한 문제를 수정하거나 다른 동작을 선택하세요. 새로운 영역으로 이동하기 위해서는 메뉴의 옵션을 클릭하시면 됩니다.

PHP 세션 저장되는 폴더의 문제

; php  설정에 /etc/php.ini 또는 어딘가,
; 세션 저장 위치
session.save_path = (저장가능한 풀패스)
; 주석처리 되어 있다면 풀자.

JSGraph에 한글가 나오도록 설정하기

<note>새로 버젼업 되면서 이제 필요 없다</note>

JSGraph에 한글(멀티바이트글자)가 나오도록 설정하기

버젼 2.x를 사용했으며, 3.x는 확인해보지 않았음

쓰고 나니 읽기가 복잡해보이지만 찬찬히 읽어보시면 쉽게 가능

내가 다시 읽을 경우 : 보기 좋게  문서를 다시 정리해..!

할것

  • 리눅스 환경에서 동작하는 것이 기본 정책인지라 윈도우즈에서는 약간의 손질 작업이 필요
  • 일본어에 대한 배려는 되어 있는데, 한글은 아예 없는지라 추가 코딩이 필요
  • 참고주소 : KLDP에서 찾은 것
수정방향은, 원본 코드 구조를 활용해서 최대한 코드 수정을 적게 하는 것

jpgraph_ttf.inc.php

line 42 부근 : 한국어 폰트를 추가한다.

코드를 자세히보면 폰트의 정의하는 범위가 ~53까지인가 되어 있는데 많이 안들어가게 되어 있다.

DEFINE("FF_GULIM",47); // 굴림체를 추가했다. 다른 폰트를 쓰고 싶다면 폰트이름에 맞게 define 추가

line 186 부근 : 한글폰트셋을 추가해야 한다.

클래스 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' ),   
  • 굴림폰트는 9이하는 비트맵 폰트라서 회전 효과가 먹지 않는다.
  • 맑은 고딕은 순수 TTF라서 회전이 먹었다. 하지만 일본어는 안나온다.

line 330 근처 : 폰트의 패스를 폰트 종류를 보고 패스 조합하는 부분

좀 신경쓴 듯하지만 약간 어설프다.

더 손대기는 귀찮으니 가볍게 필요한 코드 추가.

//(원래코드)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;
}

코드에서 보이듯이 일본어 폰트면 다른 경로로 읽게 되어 잇는 것을 알 수 있다.

line 114 부근 : 폰트에 따라 언어 설정을 세팅하는 부분

여기에 한국어 폰트를 추가한다.

	elseif( ASSUME_EUCJP_ENCODING &&
	        ($aFF == FF_MINCHO || $aFF == FF_GOTHIC || $aFF == FF_PMINCHO || 
	         $aFF == FF_PGOTHIC || $aFF == FF_GULIM) ) {
// 한글을 추가

jpgraph.php

버그인건지 모르겠지만 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/');
}

graph_api.php

여기에서는 프로그램 실행시 사용할 폰트군을 설정한다.

line 36 부근 : 그래프에서 사용할 폰트를 추가. 기본은 영문 밖에 없었다.

function graph_get_font() { // 함수에서 신규로 사용할 폰트를 추가한다.
ex)
	$t_font_map = array(
		'MSPGothic' => FF_PGOTHIC, //...
		'gulim' => FF_GULIM,

config_defaults_inc.php

여기에서는 프로그램 실행시 사용할 폰트를 설정한다.

line 588 부근 :

$g_graph_font = 'MSPGothic'; // 여기에 사용할 폰트를 적는다.
webapp/bts.txt · 마지막으로 수정됨: 2024/04/23 22:43 저자 127.0.0.1