{@ $var_version = "PlannerXE123: Skin Ver 2.0.0"}
{@ Context::addJsFile("./common/js/jquery.js", true, '', -100000) }
{@ Context::addJsFile("./common/js/js_app.js", true, '', -100000) }
{@ Context::addJsFile("./common/js/x.js", true, '', -100000) }
{@ Context::addJsFile("./common/js/common.js", true, '', -100000) }
{@ Context::addJsFile("./common/js/xml_handler.js", true, '', -100000) }
{@ Context::addJsFile("./common/js/xml_js_filter.js", true, '', -100000) }
{@ $link_path = getUrl('','mid',$mid,'dummy',1,'offset',$offset)}
{@ $XE_path = getUrl('')}
{@ $today_bgcolor="#CDE6AC"}
{@ $today_bodercolor="#58792E"}
{@ $mouseover_bgcolor="#ddfffa"}
{@ $day_bgcolor="white"}
{@ $day_bgcolor=$module_info->calendar_bgcolor}
link_path;
$xepath = $__Context->XE_path;
$skinpath = $tpl_path; // 스킨 설치 경로지정
$today_bgcolor = $__Context->today_bgcolor;
$today_bodercolor = $__Context->today_bodercolor;
$mouseover_bgcolor = $__Context->mouseover_bgcolor;
$day_bgcolor = $__Context->day_bgcolor;
//echo $linkpath;
//echo $skinpath;
?>
client_timestamp = $client_timestamp = mktime(date("H"), date("i"), date("s")-date("Z")+$client_offset, date("m"), date("d"), date("Y"));
// 화면에 보여줄 서버시간: 기본 XE시간으로 설정, 만약 default_timezone을 사용할 경우는 $server_timestamp, $server_offset 로 변경
$__Context->display_timestamp = $display_timestamp = $xe_timestamp;
$__Context->display_offset = $xe_offset;
//$__Context->display_timestamp = $display_timestamp = $server_timestamp;
//$__Context->display_offset = $server_offset;
if ($client_offset == null ) {
$wrk_timestamp = $display_timestamp;
} else {
$wrk_timestamp = $client_timestamp;
}
if ($pYear == null ) {
$pYear = date("Y", $wrk_timestamp);
}
if ($pMonth == null ) {
$pMonth = date("n", $wrk_timestamp);
}
if ($pMon == null ) {
$pMon = date("F", $wrk_timestamp);
}
if ($pDay == null ) {
$pDay = date("j", $wrk_timestamp);
}
if ($pOption < 1 || $pOption > 3 ) {
$pOption=1; // 간지옵션
}
$__Context->pYear = $pYear =date("Y", mktime(0, 0, 0, $pMonth, 1, $pYear));
$__Context->pMonth = $pMonth =date("n", mktime(0, 0, 0, $pMonth, 1, $pYear));
$__Context->pMon = $pMon =date("F", mktime(0, 0, 0, $pMonth, 1, $pYear));
$todayYY = date("Y", $wrk_timestamp); // 당일년도
$todayMM = date("n", $wrk_timestamp); // 당일월
$todayDD = date("j", $wrk_timestamp); // 당일일
$__Context->wrk_timestamp = $wrk_timestamp;
?>
module_info->use_category; // 분류(카테고리) 사용여부
$ind_bgcolor_option = $__Context->module_info->use_category_bgcolor; // 일정 배경색상 옵션
$ind_image_diary = $__Context->module_info->image_diary; // 그림일기 사용여부
$ind_complete_doc = $__Context->module_info->display_complete_doc; // 완료일정 표시여부
$ind_duplicated_schedule = $__Context->module_info->duplicated_schedule; // 중복일정 허용여부
?>
pYear = $pYear;
$tempmonth = substr("0".$pMonth, -2); //월 을 "7" 에서 "07"로
$__Context->tempMonth = $tempmonth;
$list_count = $__Context->module_info->list_count; //목록수
$page_count = $__Context->module_info->page_count; //목록수
?>
search_target;
$search_keyword = $__Context->search_keyword;
// 검색 Target에 따른 검색필드 설정.
if ($search_keyword != null) {
switch ($search_target) {
case (title):
$obj->var_search_title = $search_keyword;
break;
case (content):
$obj->var_search_content = $search_keyword;
break;
case (title_content):
$obj->var_search_title = $search_keyword;
$obj->var_search_content = $search_keyword;
break;
// case (comment): // 댓글 검색하지 않음
// $obj->var_search_comment = $search_keyword;
// break;
case (user_name):
$obj->var_search_user_name = $search_keyword;
break;
case (nick_name):
$obj->var_search_nick_name = $search_keyword;
break;
case (user_id):
$obj->var_search_user_id = $search_keyword;
break;
case (tag):
$obj->var_search_tags = $search_keyword;
break;
default :
if(strpos($search_target,'extra_vars')!==false) {
$obj->var_search_extra_idx = substr($search_target, strlen('extra_vars'));
$obj->var_search_extra_value = str_replace(' ','%',$search_keyword);
}
break;
}
}
?>
category_srl;
if ($val->selected) {
$obj->var_category_srl = $val->category_srl;
}
}
if (!$obj->var_category_srl) {
$obj->var_category_srl = $wrk_var_category_srl;
}
?>
module_info->module_srl; // module srl (drag&drop 에서 사용)
$module_name = $__Context->module_info->module; // module name (drag&drop 에서 사용)
$member_temp_name = $__Context->logged_info->nick_name; // 공개그룹 user에 nick_name 이용
// $member_temp_name = $__Context->logged_info->user_name; // 공개그룹 user에 user_name 이용
$member_srl = $__Context->logged_info->member_srl;
$group_list = $__Context->logged_info->group_list;
$usergroup_arr = array();
if ($member_srl != null) {
$obj->var_member_srl = $member_srl; // user srl
foreach($group_list as $key => $val) {
$group_titles .= ",".$val;
}
$group_titles=substr($group_titles,1); // 사용자가 소속된 그룹명칭
$usergroup_arr = explode(",",$group_titles);
}
?>
site_srl = ''; // 0을 넣으면 이상해짐
$obj->module_srl = $__Context->module_info->module_srl;
$obj->sort_index_1 = 'extra_value_end'; // (일정시작 일) start를 end로(2010-08-01)
$obj->order_type_1 = 'desc';
$obj->sort_index_default_1 = 'extra_value_start';
$obj->sort_index_2 = 'extra_value_time'; // (시작종료 시간)
$obj->order_type_2 = 'asc';
$obj->sort_index_default_2 = 'extra_value_time';
$obj->sort_index = $__Context->module_info->order_target; // (게시판 문서 정렬 번호)
$obj->order_type = $__Context->module_info->order_type;
$obj->sort_index_default = 'list_order'; // 게시판설정 선택값이 null 일때
$obj->list_count = $list_count*10; // 게시판 설정값 10배의 일정표시 (예:기본 20일때 200개까지)
$obj->page_count = $page_count; // 게시판 설정값
$obj->var_idx1 = '1'; // 확장변수1번: sort target(일정시작)- 통상 값이 있음
$obj->var_idx2 = '2'; // 확장변수2번: sort targer(일정종료)- 대부분의 경우 null 값임
$obj->var_idx7 = '7'; // 확장변수7번: 시작종료시간
$obj->var_idx8 = '8'; // 확장변수8번: 공개그룹
$obj->var_period_start = $pYear.$tempmonth."01"; // 선택 범위시작 - 당월 01일 >=
$obj->var_period_end = $pYear.$tempmonth."31"; // 선택 범위 끝 - 당월 31일 <=
$obj->var_fld_null = "0"; // null 대신값 (null이면 이상해짐)
$query_path = $__Context->module_info->module."/skins/".$__Context->module_info->skin; // 쿼리경로
$view_group = $__Context->module_info->default_document_group; // 스킨에서 정해준 일반사용자가 볼수있는 문서그룹
if ($__Context->grant->manager) {
$output = executeQueryArray($query_path.'.getDocumentsForPlanner_all', $obj); // 관리자 (모든문서)
} else if ($__Context->module_info->consultation == "Y") {
$output = executeQueryArray($query_path.'.getDocumentsForPlanner_own', $obj); // 상담기능 (자신 + 공지)
} else if ($view_group == "owner") {
$output = executeQueryArray($query_path.'.getDocumentsForPlanner_own', $obj); // 자신 + 공지
} else if ($view_group == "usergroup") {
$output = executeQueryArray($query_path.'.getDocumentsForPlanner_group', $obj); // 자신 + 공지 + 공개그룹소속
} else if ($view_group == "nonsecured") {
$output = executeQueryArray($query_path.'.getDocumentsForPlanner_nonSec', $obj); // 타인 비밀글및 비멤버쉽 문서 제외
} else if ($view_group == "alldocument") {
$output = executeQueryArray($query_path.'.getDocumentsForPlanner_all', $obj); // 모든문서
} else {
$output = executeQueryArray($query_path.'.getDocumentsForPlanner_all', $obj); // 모든문서
}
// ---문서 목록 생성 --
if(count($output->data)) {
foreach($output->data as $key => $attribute) {
$tmp_document_srl = $attribute->document_srl;
$tmp_Document = null;
$tmp_Document = new documentItem();
$tmp_Document->setAttribute($attribute, false);
$tmp_Document->category_srl = $attribute->category_srl;
$tmp_opengroup_arr = explode("|@|",$attribute->extra_value_group);
if($module_info->consultation == 'Y'){ // 상담기능 일때
if ( $__Context->grant->manager) {
$tmp_document_list[$key] = $tmp_Document; //상담기능-관리자이면 전체 문서를 처리,
} else {
if ($attribute->is_notice == "Y" || $attribute->member_srl == $member_srl) {
$tmp_document_list[$key] = $tmp_Document; //상담기능-관리자 아니면 공지문서나 자신의 문서이면 처리.
}
}
} else { // 상담기능 아닐때
if ( $__Context->grant->manager || $view_group == "alldocument") {
$tmp_document_list[$key] = $tmp_Document; // 관리자또는 문서그룹이 alldocument 이면 전체 문서를 처리,
} else if ($view_group != "usergroup" && $attribute->extra_value_group == null) {
$tmp_document_list[$key] = $tmp_Document; // 문서그룹이 usergroup이 아니면서 공개그룹을 선택하지 않은 문서 처리,
} else { // 문서그룹이 usergroup 또는 공개그룹 선택된 문서
if ($attribute->is_notice == "Y" || $attribute->member_srl == $member_srl) {
$tmp_document_list[$key] = $tmp_Document; //공지문서나 자신의 문서이면 처리.
} else {
$tmp_flag = "";
foreach($usergroup_arr as $tmp_key => $val_tmp) {
if (in_array($val_tmp, $tmp_opengroup_arr)){ //공개그룹 소속.
$tmp_flag = "*";
}
}
if ($member_temp_name != null && in_array($member_temp_name, $tmp_opengroup_arr)){ //공개 user_name.
$tmp_flag = "*";
}
if ($tmp_flag == "*") {
$tmp_document_list[$key] = $tmp_Document; //공개그룹 소속이면 처리.
}
}
}
} //상담기능 아닐때 끝
//echo $tmp_document_srl." "; //디버깅용
} //foreeach 끝
} else {
$tmp_document_list = array();
}
$__Context->planner123_document_list = $tmp_document_list;
// ---문서 목록 생성 끝--
?>
{@ $planner_document_list = $notice_list}
{@ $planner_document_list = $planner_document_list + $document_list}
{@ $planner_document_list = $document_list}
{@ $category_color = $category_list[$document->get('category_srl')]->color}
{@ $category_title = $category_list[$document->get('category_srl')]->title}
{@ $category_color = null}
{@ $category_title = null}
category_title;
$category_color = $__Context->category_color;
?>
{@ $plan_reply = $document->getCommentCount()}
{@ $plan_reply = null}
plan_reply;
?>
{@ $plan_start = $document->getExtraValue($val->idx)}
{@ $startYY = substr($plan_start,0,4)}
{@ $startMM = substr($plan_start,4,2)}
{@ $startDD = substr($plan_start,6,2)}
{@ $plan_title = $document->getTitle($module_info->subject_cut_size)}
{@ $plan_detail = $document->getSummary($module_info->content_cut_size)}
{@ $plan_img = null}
{@ $plan_img = $document->getThumbnail($module_info->thumbnail_width, $module_info->thumbnail_height, $module_info->thumbnail_type)}
{@ $plan_doc_extra_vars = $document->get('extra_vars')}
{@ $plan_docsrl = $document->document_srl}
{@ $plan_url = getUrl('document_srl',$document->document_srl, 'listStyle', $listStyle, 'cpage','','offset',$offset)}
plan_title;
$plan_detail = $__Context->plan_detail;
$plan_img = $__Context->plan_img;
$plan_doc_extra_vars = $__Context->plan_doc_extra_vars;
$plan_url = $__Context->plan_url;
$plan_docsrl = $__Context->plan_docsrl; // 문서번호
$plan_start = $__Context->plan_start; // 일정시작
$plnstartYY = $__Context->startYY;
$plnstartMM = $__Context->startMM;
$plnstartDD = $__Context->startDD;
$plnstartMM = ltrim( $plnstartMM, "0" ); // 앞의 "0" 제거
$plnstartDD = ltrim( $plnstartDD, "0" ); // 앞의 "0" 제거
?>
{@ $plan_end = $document->getExtraValue($val->idx)}
{@ $plan_end = $plan_start}
{@ $endYY = substr($plan_end,0,4)}
{@ $endMM = substr($plan_end,4,2)}
{@ $endDD = substr($plan_end,6,2)}
plan_end; // 일정종료
$plnendYY = $__Context->endYY;
$plnendMM = $__Context->endMM;
$plnendDD = $__Context->endDD;
$plnendMM = ltrim( $plnendMM, "0" ); // 일자 앞의 "0" 제거
$plnendDD = ltrim( $plnendDD, "0" ); // 일자 앞의 "0" 제거
?>
{@ $plan_bgcolor = $document->getExtraValueHTML($val->idx)}
plan_bgcolor; // 배경색상
?>
{@ $plan_flagicon = $document->getExtraValueHTML($val->idx)}
plan_flagicon; // 일정확인
?>
{@ $plan_repeat_cycle = $document->getExtraValueHTML($val->idx)}
plan_repeat_cycle; // 반복일정 cycle
?>
{@ $plan_repeat_unit = $document->getExtraValueHTML($val->idx)}
plan_repeat_unit; // 반복일정 unit
?>
{@ $plan_time = $document->getExtraValueHTML($val->idx)}
plan_time; // 시간대 (09:00, 09:30, 10:00,.. 형식)
?>
{@ $plan_new = $document->printExtraImages(60*60*$module_info->duration_new)}
plan_new; ?>
$pYear) || (($plnendYY == $pYear) && ($plnendMM > $pMonth))) {
$plnendYY = $pYear;
$plnendMM = $pMonth;
$plnendDD = 31;
}
}
elseif (($plnstartYY < $pYear) || (($plnstartYY == $pYear) && ($plnstartMM < $pMonth))) { // 당월 이전 시작 이면서 당월 종료
if ($plnendYY == $pYear && $plnendMM == $pMonth) {
$plnstartYY = $pYear;
$plnstartMM = $pMonth;
$plnstartDD = 1;
}
if (($plnendYY > $pYear) || (($plnendYY == $pYear) && ($plnendMM > $pMonth))) { // 당월 이전시작 이면서 당월 이후 종료
$plnstartYY = $pYear;
$plnstartMM = $pMonth;
$plnstartDD = 1;
$plnendYY = $pYear;
$plnendMM = $pMonth;
$plnendDD = 31;
}
}
// qtip 미사용으로 인해 아래 3째줄 주석처리
$plan_detail = str_replace("'", "`", $plan_detail); // '을 `로 대체 textbox보이기위해
$plan_detail = str_replace("\"", """, $plan_detail); // "를 "로 대체 textbox보이기위해
// $plan_detail = str_replace(chr(012), "
", $plan_detail); // FF를 제거 textbox보이기위해
$plan_detail = str_replace(chr(015), "", $plan_detail); // SI을 제거 textbox보이기위해 -줄바꿈
// 취소일정위해 추가
// ('A'=>'기본', 'F'=>'완료', 'R'=>'취소'); // 기본: 최초는 null, 수정하면 A
$_doc_extra_vars = explode(";", $plan_doc_extra_vars);
$_doc_extra_vars1 = explode(":", $_doc_extra_vars[0]);
$_doc_status = str_replace("\"", "", $_doc_extra_vars1[2]);
if($_doc_status == "F" && $ind_complete_doc == "L") { $plan_title = "".$plan_title.""; } // 완료일정 제목에 취소선 긋기
if($_doc_status != "R" && ($ind_complete_doc == "N" && $_doc_status != "F" || $ind_complete_doc != "N") ) { // 취소일정이 아닐때 처리
if( $plnstartYY == $pYear && $plnstartMM == $pMonth) { // 일정관련자료 어레이에 출력
$arr_repeat = fn_repeat_schedule($pYear, $pMonth, $plan_start, $plan_end, $plan_repeat_cycle, $plan_repeat_unit);
For ($i = $plnstartMM; $i <= $plnendMM; $i++) {
For ($j = $plnstartDD; $j <= $plnendDD; $j++ ) {
if ( $arr_repeat[$i][$j] == "*") {
if ($arr_repeat[$i][$j-1] != "*" || date('w', mktime(0, 0, 0, $i, $j, $pYear)) == 0) { // 새로시작 또는 일요일 이면 시작일자 보관
$j_temp = $j;
}
if ($arr_repeat[$i][$j+1] != "*" || date('w', mktime(0, 0, 0, $i, $j, $pYear)) == 6) { // 마지막 또는 토요일이면 output
$plan_length = $j-$j_temp+1;
$arr_plan[$i][$j_temp] = $arr_plan[$i][$j_temp].$plan_title."|Ø|".$plan_url."|Ø|".$plan_detail."|Ø|".$plan_bgcolor."|Ø|".$plan_flagicon."|Ø|".$category_title."|Ø|".$category_color."|Ø|".$plan_reply."|Ø|".$plan_time."|Ø|".$plan_new."|Ø|".$plan_img."|Ø|".$plan_length."|Ø|".$plan_docsrl."|Ø|".$plan_start."|Ø|".$plan_end."|#Ø#|"; // 어레이에 추가 1차분리자= "|#Ø#|", 2차 분리자 "|Ø|"
}
}
}
}
} // 일정관련자료 어레이에 출력 끝
} // 취소일정이 아닐때 처리 끝
}
?>