소스 파일 : /reform/reform.php (2020-04-16)     소스 설명 : (개선중) 현재 기능을 요약적(테이블 형태)으로 시험하며 보여줌   (Run)
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
<?php // (2020.4.16, 차재복, Cha Jae Bok, http://www.ktword.co.kr) 

# (특정검색/운용개선/재분류/코딩목록 등)

# 세션 설정
	// 세션 스타트 (매 웹페이지 마다 필요)
	session_start();

	// (세션 변수 설정) => db명,db사용자명,사용자명,사용자타입,응용명 등 명시
	if ( empty($_SESSION['db_name']) ) $_SESSION['db_name'] = 'test';				// db명
	if ( empty($_SESSION['db_password']) ) $_SESSION['db_password'] = 'cjb1004';	// db password
	if ( empty($_SESSION['db_user']) ) $_SESSION['db_user'] = 'users';				// db사용자명

	// (세션 변수 설정) => 세션 변수에 따른 사용자 타입 설정 ('일반사용자 0' or '테스트편집자 1' or '정식편집자 2' or '종합관리자 3')
	$_SESSION['user_type'] = ( empty($_SESSION['user_name']) ? '일반사용자' : $_SESSION['user_name'] ); 

# db 접속
	include "../base_utils/db_conn.php";

# html 선언
echo "<!DOCTYPE html>";
echo "<html>";

# html 헤더부 선언
echo "<head>";

	// 메타데이터
	echo "<meta http-equiv='content-type' content='text/html; charset=utf-8'>"; // 문서 형식, 문자 코딩
	echo "<meta name='author' content='차재복'>";									// 저작자
	echo "<title>정보통신기술용어해설(개선중)</title>";

	// mobile 체킹 및 적응 (모바일 디스플레이 셋팅 및 화면 폭 넓힘)
	require_once "../../mobiledetect/Mobile_Detect.php";
	$detect = new Mobile_Detect;
	if ( $detect->isMobile() and !($detect->isTablet()) ) { // 순수 모바일 기기 (not tablet)
		echo "<meta name='viewport' content='user-scalable=yes, width=device-width, initial-scale=1.0' />";
        // mobile style
		echo "<style type='text/css'> body { width : 190% ; } </style>";
	}

    // desktop style
	echo "<style>
				body { line-height: 180%; font-size: 13px; }

				button { font-size:13px; }
				table.reform { margin:10px 10px 10px; border-collapse: collapse; }
				table.reform td { border-top:1px dotted gray; border-bottom:1px dotted gray;
									padding:5px 8px; line-height:180% }
				table.reform td.col_1 { font-weight: bold; white-space:nowrap; border: 1px dotted gray; } 
				.insert { color:red; text-decoration:none; }
				.code { font-size:13px; border:1px dotted gray; }
				.hidden { display:none; } /* javascript toggle 보이기/숨기기 */
				div input, div button, div select, div option { font-size:13px; padding:0px; } /* 편집자용 div */
			</style>";
// 				.man  { font-size:13px; border:1px dotted gray; }

echo "</head>";

# 전달변수
	$ch = $_GET['ch'];      // 선택 인수 (auto 또는 each)
		if (empty($ch)) $ch = 'auto';

	$gr = $_GET['gr'];      // 선택 인수 (서브트리 선택)
		if (empty($gr)) $gr = '1';

	$opt = $_GET['opt'];    //선택 인수 (기타 선택)

	$no = $_GET['no'];
		if ( isset($_REQUEST[no]) and !empty($no) and !is_numeric($no) or $no<0 ) exit; // 해킹방지 (수치>0)

# db 쿼리 (reform 테이블 내 )
	$query = "select * from reform where depth=1 order by sub_seq";
	$result = mysqli_query($dbi,$query);
		if (mysqli_errno($dbi)) { echo mysqli_errno($dbi)." : ".mysqli_error($dbi)."\n";}
	while ($matched = mysqli_fetch_assoc($result)) {
		$btn_arr[$matched[id]] = $matched[name];
		if ($gr==$matched[id]) 	$output = $matched[translated];
	}

# html body 선언 ---------------------------------------------------------------------
echo "<body>";

# 상단 제목줄 (top section)
    $title = '각종 기능 초기 시험중 ...';
	include "../base_utils/top_section.php";

# 수평선
	echo "<hr>";

# reform 트리 형태로 보여주기
	echo "[<a href='/test/reform/reform.php?ch=auto&gr=1'>최상단 트리 형태로 보여주기</a>]";

	echo "&nbsp;&nbsp;&nbsp;";

	echo "[<a href='/test/reform/reform.php?opt=each&gr=0' onclick='each_tree(); return false;'>개별 트리 형태로 보여주기</a>]";
	
	echo "<br>";


# 상단 제목줄 바로 밑에 버튼 Top 메뉴 만들기
	echo "<div id='top_menu' style='margin-top:20px;'>";
		echo "<form style='display:inline-block;'>";
			foreach ($btn_arr as $key => $value) {
				if ($key==$gr) {
					$style = 'font-weight:bold;';
					$title = $value;
				} else {
					$style = '';
				}
				echo "<button type='submit' formmethd='get' formaction='/test/reform/special.php' class='gr' id='top_btn_{$key}' value='{$key}' style='{$style}'>{$value}</button>"; 
			}
			echo "<input type='hidden' name=ch value=reform>";
		echo "</form>";
	echo "</div>";

# (PHP => Javascript : 인수 전달) user_type, id, title 등을 자바스크립트 전역변수로 전달
	$global = ( empty($_SESSION['user_name']) ? 0 : 1 );
	echo "<script>
				var glob_var = {
					'user_type' : {$global}, // ('일반사용자 0') or (>1 : '테스트편집자 1' or '정식편집자 2' or '종합관리자 3')
					'id' : {$gr},
					'title' : '{$title}',
					'type' : '{$ch}' // 'auto' or 'each'
					};
			</script>";

# div start
	echo "<div id='div_start' style='margin-top:20px; line-height:200%;'></div>";

# reform table (편집자 이상인 경우에, 테이블 형태로 보여주기)
	if (!empty($_SESSION['user_name'])) {
		// reform table 출력하기
		echo "<br>[테이블 형태로 보여주기]";
		echo "<div id='div_table'>";
			echo $output;
		echo "</div>";

		// reform table 편집
		echo "[<a href=\"#\" id='edit_ptr' onclick=\"table_edit(glob_var.id); return false;\">테이블 형태 편집</a>]";

		echo "<form id='form_{$gr}' method='post' action='../reform/reform_table_edit.php' style='display:none;'>";
			echo "<textarea id='textarea_{$gr}' cols='120' name='str'></textarea>";
			echo "<br>";
			echo "<button type='submit' name='ch' value='edit'>Submit</button>";
			echo "<input type='hidden' name='id' value='{$gr}'>";
		echo "</form>";

    	echo "<br>";
    } 

    echo "<br>";        

# 저작권 (bottom section)
	include_once "../base_utils/copyright.php";

# 접속 통계 처리 
	include_once "../base_utils/stat_utils.php";
	html_access("reform",$dbi,$no);
?>

<?php
## 자바스크립트 코드 load ## (html 끝 부분에 위치) 

# 편집자용 자바스크립트
	if (!empty($_SESSION['user_name'])) {
		echo "<script src='./reform_editor.js' type='text/javascript'></script>";
	}

# 모든 리스트 보여주기 (자바스크립트 코드)
	echo "<script src='./reform_up.js' type='text/javascript'></script>";

# 코드 또는 텍스트 항목별 세부내용 보여주기
	echo "<script src='./reform.js' type='text/javascript'></script>";

# 로드시, 자바스크립트 코드 입수 및 reform table div에 자바스크립트 코드에 의한 데이터 삽입
//	echo "<script src='./reform_start.js' type='text/javascript'></script>"; 
	// 삼성 폰 구형 모바일 브라우저에서 파일 간 의존성 해결 못함
?>


Copyrightⓒ written by 차재복 (Cha Jae Bok)
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"