
방명록 쓰기

# 태터툴즈 1.1 이상 용 Draco 카운터 Ver 3.01 # 제작자 : Draco # 제작일 : 2008. 1. 3 # 문의 : http://draco.pe.kr function ShowDracoCounter_DataSet($data){ requireComponent('Tattertools.Function.misc'); if(!is_integer(intval($data['how_day']))) return false; $cfg = misc::fetchConfigVal($data); return true; } function tcDateToTime($d) // 블로그 방문자숫자를 시간 문자열로 변환 { $y = intval($d/10000); $m = intval(($d%10000)/100); $d = $d%100; return ("$y-$m-$d 00:00:00"); } function dateDiff($d1, $d2) // 날짜 차이를 계산 { return floor((strtotime($d2) - strtotime($d1))/60/60/24); } function ShowDracoCounter($parameter){ global $database, $owner, $blogURL, $pluginURL, $configVal; requireComponent('Tattertools.Function.misc'); $data = misc::fetchConfigVal($configVal); if(!is_null($data) && array_key_exists('how_day', $data)){ $how_day = $data['how_day']; } else { $how_day = '30'; } if(!is_null($data) && array_key_exists('cut_peak', $data)){ $cut_peak = $data['cut_peak']; } else { $cut_peak = 'true'; } if(!is_null($data) && array_key_exists('view_marker', $data)){ $view_marker = $data['view_marker']; } else { $view_marker = 'true'; } if(!is_null($data) && array_key_exists('view_grid', $data)){ $view_grid = $data['view_grid']; } else { $view_grid = 'false'; } if(!is_null($data) && array_key_exists('graph_barwidth', $data)){ $graph_barwidth = $data['graph_barwidth']; } else { $graph_barwidth = '5'; } if(!is_null($data) && array_key_exists('graph_color', $data)){ $graph_color = $data['graph_color']; } else { $graph_color = '#577EE1'; } if(!is_null($data) && array_key_exists('line_thickness', $data)){ $line_thickness = $data['line_thickness']; } else { $line_thickness = '2'; } if(!is_null($data) && array_key_exists('line_blank', $data)){ $line_blank = $data['line_blank']; } else { $line_blank = 'false'; } if(!is_null($data) && array_key_exists('graph_backcolor', $data)){ $graph_backcolor = $data['graph_backcolor']; } else { $graph_backcolor = '#FFFFFF'; } if(!is_null($data) && array_key_exists('graph_fillcolor', $data)){ $graph_fillcolor = $data['graph_fillcolor']; } else { $graph_fillcolor = '#F4F7FF'; } if(!is_null($data) && array_key_exists('graph_highcolor', $data)){ $graph_highcolor = $data['graph_highcolor']; } else { $graph_highcolor = '#FF0000'; } if(!is_null($data) && array_key_exists('disp_y', $data)){ $disp_y = $data['disp_y']; } else { $disp_y = 'true'; } if(!is_null($data) && array_key_exists('disp_x', $data)){ $disp_x = $data['disp_x']; } else { $disp_x = 'true'; } if(!is_null($data) && array_key_exists('xy_color', $data)){ $xy_color = $data['xy_color']; } else { $xy_color = '#cccccc'; } #------------------------------------------------------------------------------------------ ## 1.5이전인지 이후인지 체크 $query = ("SHOW COLUMNS FROM `".$database['prefix']."DailyStatistics` LIKE 'blogid'"); $result = mysql_query($query) or die("버전체크쿼리 에러 : ".mysql_error()); $rarray = mysql_fetch_array($result); if (NULL == $rarray[0]) $blogid_col = "owner"; else $blogid_col = "blogid"; # 날짜 계산 $now_date = strtotime("now"); $old_date = strtotime("-".($how_day-1)." days"); $now_day = date('Ymd', $now_date); $old_day = date('Ymd', $old_date); $yester_day = date('Ymd', strtotime("-1 day")); # 최대 방문자 계산 $max_query = "SELECT `visits` FROM `".$database['prefix']."DailyStatistics` WHERE `".$blogid_col."` =".$owner." and date between ".$old_day." and ".$now_day." ORDER BY `visits` DESC LIMIT 1"; $max_result = mysql_query($max_query) or die("쿼리 실패1 : " . mysql_error()); $max_data=mysql_fetch_array($max_result); $max_data[visits]=stripslashes($max_data[visits]); # 평균 방문자 계산 $avg_query = "SELECT AVG(visits) FROM `".$database['prefix']."DailyStatistics` WHERE `".$blogid_col."` =".$owner." and date between ".$old_day." and ".$now_day; $avg_result = mysql_query($avg_query) or die("쿼리 실패2 : " . mysql_error()); $avg_data=mysql_fetch_array($avg_result); $avg=round($avg_data['AVG(visits)']); # 평균의 2배보다 많은 수치를 제외하고 계산 $cut_line = $avg*2; $cut_query = "SELECT MAX(visits) FROM `".$database['prefix']."DailyStatistics` WHERE `".$blogid_col."` =".$owner." and `visits` <= ".$cut_line." and date between ".$old_day." and ".$now_day; $cut_result = mysql_query($cut_query) or die("쿼리 실패3 : " . mysql_error()); $cut_data=mysql_fetch_array($cut_result); $cut_line=round($cut_data['MAX(visits)']); if($cut_peak == 'true') $graph_max = $cut_line; else $graph_max = $max_data[visits]; #최대 날짜, 최소 날짜 $high_query = "SELECT `date` FROM `".$database['prefix']."DailyStatistics` WHERE `".$blogid_col."` =".$owner." and date between ".$old_day." and ".$now_day." ORDER BY `visits` DESC LIMIT 1"; $high_result = mysql_query($high_query) or die("쿼리 실패4 : " . mysql_error()); $high_data=mysql_fetch_array($high_result); $high_date=$high_data[date]; $low_query = "SELECT `date` FROM `".$database['prefix']."DailyStatistics` WHERE `".$blogid_col."` =".$owner." and date between ".$old_day." and ".$yester_day." ORDER BY `visits` ASC LIMIT 1"; $low_result = mysql_query($low_query) or die("쿼리 실패5 : " . mysql_error()); $low_data=mysql_fetch_array($low_result); $low_date=$low_data[date]; $high_diff = dateDiff(tcDateToTime($old_day),tcDateToTime($high_date)); $low_diff = dateDiff(tcDateToTime($old_day),tcDateToTime($low_date)); # 실제 방문자수 리스팅 $dcount_query = "SELECT `date` , `visits` FROM `".$database['prefix']."DailyStatistics` WHERE `".$blogid_col."` =".$owner." and date between ".$old_day." and ".$now_day." ORDER BY `date` ASC LIMIT ".$how_day; $dcount_result = mysql_query($dcount_query) or die("쿼리 실패6 : " . mysql_error()); # 그래프 폭 $graph_width = ($how_day-1)*$graph_barwidth; # 메인 부분 HTML 처리 $target = "
"; $target .= "$max_data[visits] "; if($cut_peak == 'true') $target .= $avg; else $target .= round($max_data[visits]/2); $target .=" | ";
}
$target .= "|
| "; $target .=" | -$how_day days today : $lastvisit |



안녕하세요
JCF 홈페이지에서
고경철님이 작성하신 common service를 보고 문의드립니다.
마이플렛폼과 연동하여서 개발하신 글을 보았는데..
혹시 메뉴, 권한, 프로그램관리, 공통코드 관련된 소스를 공유좀 부탁드립니다.
참고하여서 사용하도록 하겠습니다.
감사합니다.
안녕하세요...오랜만에 들어와서 멋지게 바뀐 모습에 당황^^ 하였습니다.
오늘 장차장님은 뵈었구요... 송과장님,,, 정대리님 다들 잘 지내시지요
아래 보니까 okcode 님은 제가 알고 있는 분 같은데^^
넘 멋지게 개편하셨네요 추카드립니다.
그리고 하나 부탁이요
오늘 wiki에 가입했는데 jcf3.0을 보거나 다운로드 할수 없는 권한이라고 하던데 어케 해야하나여??
바쁘시겠지만 답변 부탁드려여
와~~~ 감동입니다.
요즘 업계를 보면 스타 개발자는 점차 사라지는 것 같고 스타팀들이 많이 나오는것 같은데
JCF 팀이 그런 케이스가 아닌가 싶습니다.
멋진 팀 블러그가 되길 바랄게요...
정말 멋지네요...
P.S.
장차장님 진급 축하 드려요
송과장님 새해 복 많이 받으시고, 올해는 꼭 득남 하셔요.
박동영 과장님 깨복은 소리가 여기까지 들린다는...^^
광선도 올해 복많이 받고.. 책 출간한거 축하하고....
고경철님 김민아님 두분 들어오시고 JCF 팀이 더 멋져진거 같아요. (두분이 복덩이 인거 같습니다.)