*/ // 작업 시작 시간 기록 list($starttime1, $starttime2) = split(" ", microtime()); $starttime1 += $starttime2; // 세션 기록 session_set_cookie_params (0,"/",$_SERVER["HTTP_HOST"]); session_register("userinfo"); // 로그인 하지 않았는 접속에 대한 임시 정보들 지정 if(! $userinfo->gids){ $userinfo->gids = '{0}'; $userarrgids[0] = "Guest"; $userinfo->groups = $userarrgids; $userinfo->str_groups = "Guest"; } // DB 사용을 위한 클래스 호출 require_once("lib/dsndb.php"); // gpc 값 설정을 대비한 string_escaping 함수들 function mygpc($str){ if(!get_magic_quotes_gpc()){ $str = pg_escape_string($str); } return $str; } function myungpc($str){ if(get_magic_quotes_gpc()){ $str = ereg_replace("(\\\)(['\"\\\])", "\\2", $str); } return $str; } // 사용자가 입력한 검색어를 DB에서 사용하기 위해서, 배열에다 집어넣고 그 배열을 리턴함 function mkarrkeyword($pgdb,$str){ global $criteria; $str = str_replace("[", " ", $str); $str = str_replace("]", " ", $str); // 구분 문자 $str = ereg_replace("[@#`~!%&\*\+=\|\\:<>/\?;\^\(\)\{\},\"\$']", " ", $str); $arr = split("[ ]+", trim($str)); sort($arr); $arr = array_unique($arr); $i=0; foreach($arr as $str){ // php의 strtoupper 함수를 믿을 수 없어서, postgresql translate() 함수를 이용해서 소문자로 변환함 if($str) list($str) = pg_fetch_row($pgdb->exec("select case when length('$str') > 1 then substr(translate('$str', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),1,50) else '' end"),0); // mysql 게시판에서 mysql 검색어는 무시하도록 설정 - 검색결과가 너무 많아서 if($criteria == "mysql" && ($str == "mysql" || $str == "mysq" || $str == "mys" || $str == "my")) $str = ""; if($str){ $newarr[$i] = $str; $i++; } } if(count($newarr)){ sort($newarr); $arr = array_unique($newarr); } else { $arr = array(); } return $arr; } // 주어진 문자열 가운데, 검색어 배열에 해당하는 문자열이 있으면 표시하기 위해서 function highlight($str, $arr){ if(count($arr)){ foreach($arr as $s){ if($s) $str = eregi_replace("($s)", "\\1", $str); } } return $str; } // 사이트 왼쪽 메뉴를 만들기 위한 함수 - 결과값을 파일로 저장해둠 function mkleftmenu(){ // db 연결 $menudb = new dsndb(); // 최상위 메뉴 구하고, $res = $menudb->exec("select * from viewmenus where subcrit = ''"); $i = 0; $str1 = ""; $str2 = ""; $j = 0; $arrTopMenuColor = array( array("#80BFFF", "#BBD7FC", "#377DC5"), array("#7FBFC0", "#A5D8DD", "#377DC5"), array("#EF9F3F", "#F8D6AE", "#377DC5")); while($row = @pg_fetch_object($res, $i++)){ if($row->depth){ $str1 .= "
criteria') echo '1px;background-color: #ffffee'; else echo '15px'?>'>"; if($row->menutype == 4){ // 외부 링크이면 $str1 .= "tname style='color:criteria') echo \"brown; font-weight: bold'>ㆍ\"; else echo \"navy'>\"?>"; } else{ $str1 .= "criteria') echo \"brown; font-weight: bold'>ㆍ\"; else echo \"navy'>\"?>"; } $str1 .= "$row->name"; $str1 .= "
\n"; if($row->menutype == 2){ $str2 .= "\n"; } } else { list($backcolor, $bordercolor1, $bordercolor2) = $arrTopMenuColor[$j]; $str1 .= "
$row->name
\n"; $j++; } } //$menudb->close(); // $str1 = 왼쪽 메뉴, $str2 =