{@ $XE_version = __ZBXE_VERSION__;}{@ $XE_version = __XE_VERSION__;} {@ $var_version = "PlannerXE123 Skin V470(".$XE_version."+".phpversion().")";} {@ $linkpath = getUrl('mid',$mid,'pGanjioption',1,'offset',$offset,'pOption',$pOption,'listStyle',$listStyle,'pYear','','pMonth','','pDay',''); $skinpath = $tpl_path;// 스킨 설치 경로지정 $XE_path = getUrl(''); $obj = new stdClass;// 클리어 쿼리검색 object $arr_plan = array();// 전역변수 처럼 작용되어 위젯, 스킨 모두에서 클리어함) } {@ $day_bgcolor="transparent";} {@ $day_bgcolor=$module_info->calendar_bgcolor;} {@ $day_bgcolor2="#fffacd";} {@ require_once($skinpath.'function/class.planner123_main.php');} {@ $args = new stdClass; $args->module_srl = $module_info->module_srl; $args->var_idx = 1; $tmp_output = executeQuery('document.getDocumentExtraKeys', $args); } {@ planner123_main::fn_install_extra_keys($module_info->module_srl);} {@ $server_timestamp = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); $server_offset = date("Z"); $xe_timestamp = planner123_main::fn_xetimestamp(); $xe_offset = date("Z")+zgap(); $client_offset = Context::get('offset');// url 변수로 받은 client offset $client_timestamp = mktime(date("H"), date("i"), date("s")-date("Z")+$client_offset, date("m"), date("d"), date("Y")); } {@ $display_timestamp = $xe_timestamp;} {@ $wrk_timestamp = $display_timestamp;} {@ $wrk_timestamp = $client_timestamp;} {@ $today_stamp = $wrk_timestamp;// 날자 재계산 // 당일 타임스탬프 $todayYY = date("Y", $wrk_timestamp);// 당일년도 $todayMM = date("n", $wrk_timestamp);// 당일월 $todayDD = date("j", $wrk_timestamp);// 당일일 } {@ $ind_weekly_base = $module_info->weekly_base;} {@ $ind_fill = '';} {@ $pDay = 1; $ind_fill = 'Y'; } {@ $pYear = date("Y", $wrk_timestamp);} {@ $pMonth = date("n", $wrk_timestamp);} {@ $pMon = date("F", $wrk_timestamp);} {@ $pDay =$todayDD; $tmp_feb_lastday = date('t', mktime(0,0,0,$pMonth,1,$pYear)); } {@ $pDay = $tmp_feb_lastday;} {@ $pTimestamp = mktime(0, 0, 0, $pMonth, $pDay, $pYear); $pYear =date("Y", $pTimestamp); $pMonth =date("n", $pTimestamp); $pDay = date("j", $pTimestamp); $pMon =date("F", $pTimestamp);// 당월 이름 } {@ $pOption = $module_info->default_view_mobile;} {@ $pOption = $module_info->default_view_pc;} {@ $pOption = "M";} {@ $pTimeSchedule = "Y";} {@ $listStyle = $module_info->default_style;} {@ $tmp_timestamp_01 = mktime(0, 0, 0, $pMonth, $pDay, $pYear);// 주간계획으로 추가 $pMon_short =date("M", $tmp_timestamp_01);// 주간계획으로 추가 $pWeekday =date("D", $tmp_timestamp_01);// 주간계획으로 추가 $week_count = planner123_main::fn_WeekOfYear($pMonth, $pDay, $pYear);// 주간계획(주일 수) } {@ $tmp_lastday = date("t", $pTimestamp);//말일} {@ $jd_dspStart = gregoriantojd($pMonth, $pDay, $pYear); // 출력시작 일자 jd } {@ $jd_dspEnd = gregoriantojd($pMonth, $tmp_lastday, $pYear); // 출력종료 일자 jd } {@ $jd_dspStart = planner123_main::fn_calcDateToJD($pYear, $pMonth, $pDay); // 출력시작 일자 jd } {@ $jd_dspEnd = planner123_main::fn_calcDateToJD($pYear, $pMonth, $tmp_lastday); // 출력종료 일자 jd } {@ $jd_dspEnd = $jd_dspStart + 7-1;} {@ $jd_dspStart = $jd_dspStart - date("w", $pTimestamp); $jd_dspEnd = $jd_dspStart + 7-1; } {@ $jd_dspEnd = $jd_dspStart + 14-1;} {@ $jd_dspStart = $jd_dspStart - date("w", $pTimestamp); $jd_dspEnd = $jd_dspStart + 14-1; } {@ $jd_dspEnd = $jd_dspStart + 7 * $ind_weekly_base -1;} {@ $jd_dspStart = $jd_dspStart - $pDay +1; // 출력시작 일자 jd(1일) } {@ $jd_dspStart = $jd_dspStart - date("w", $pTimestamp); $jd_dspEnd = $jd_dspStart + 7 * $ind_weekly_base - 1; } {@ $jd_dspStart = $jd_dspStart - $pDay + 1; // 출력시작 일자 jd } {@ $jd_dspStart = $jd_dspStart - $pDay + 1 - date("w", mktime(0,0,0,$pMonth,1,$pYear)); $jd_dspEnd = $jd_dspEnd + (6 - date('w', mktime(0,0,0,$pMonth,$tmp_lastday,$pYear))); $ind_fill = 'Y'; } {@ $wrk_dsp_str = jdtogregorian($jd_dspStart);} {@ $wrk_dsp_end = jdtogregorian($jd_dspEnd);} {@ $wrk_dsp_str = planner123_main::fn_calcJDToGregorian($jd_dspStart);} {@ $wrk_dsp_end = planner123_main::fn_calcJDToGregorian($jd_dspEnd);} {@ $wrk_arr_dt = explode('/', $wrk_dsp_str); $dispStart_stamp = mktime(0, 1, 0, $wrk_arr_dt[0], $wrk_arr_dt[1], $wrk_arr_dt[2]);// 출력 시작일 $wrk_arr_dt = explode('/', $wrk_dsp_end); $dispEnd_stamp = mktime(23, 59, 0, $wrk_arr_dt[0], $wrk_arr_dt[1], $wrk_arr_dt[2]);// 출력 종료일 } {@ $dispStartYY = date("Y", $dispStart_stamp);// 출력 시작일 년도 $dispStartMM = date("m", $dispStart_stamp); $dispStartDD = date("d", $dispStart_stamp); $dispStartM = date("n", $dispStart_stamp); $dispStart_date = $dispStartYY.",".$dispStartMM.",".$dispStartDD.",0,0,0";// 시간테이블을 위해 $dispEndYY = date("Y", $dispEnd_stamp);// 출력 종료일 년도 $dispEndMM = date("m", $dispEnd_stamp); $dispEndDD = date("d", $dispEnd_stamp); $dispEndM = date("n", $dispEnd_stamp); $dispEnd_date = $dispEndYY.",".$dispEndMM.",".$dispEndDD.",23,59,59";// 시간테이블을 위해 } {@ $Calmain = planner123_main::fn_CalMain($dispStart_stamp,$dispEnd_stamp);} {@ $holiday_cnt_arr = array("kor" => "Korea", "usa"=> "U.S.A", "chn"=> "China", "jpn"=> "Japan", "can"=> "Canada", "vnm"=> "Vietnam", "tur"=> "Turkey", "user"=> "User", "default"=> "Default"); } {@ $dft_country_code = $module_info->holiday_country; // 기본국가 공휴일 } {@ $dft_holiday = planner123_main::fn_getHolidayByCountry($skinpath.'function/', $dft_country_code, $dispStart_stamp, $dispEnd_stamp);} {@ $holiday_country_code = $dft_country_code; } {@ $Holiday = $dft_holiday;} {@ $holiday_filename = planner123_main::fn_getHolidayFileName($skinpath.'function/', $pHoliday_cnt);} {@ $holiday_country_code = 'default';} {@ $holiday_country_code = $pHoliday_cnt;} {@ $Holiday = planner123_main::fn_getHolidayByCountry($skinpath.'function/', $holiday_country_code, $dispStart_stamp, $dispEnd_stamp);} {@ $holiday_country_name = $holiday_cnt_arr[$holiday_country_code];} {@ $ind_holiday = "Y";} {@ $Memday = planner123_main::fn_getMemdayByCountry($skinpath.'function/', $holiday_country_code, $dispStart_stamp, $dispEnd_stamp);} {@ $ind_memday = "Y";} {@ $Lunarday = planner123_main::fn_sol2lun_kr_period($dispStart_stamp,$dispEnd_stamp);} {@ $ind_lunar = "Y";} {@ $Lunarday = planner123_main::fn_sol2lun_kr_period($dispStart_stamp,$dispEnd_stamp);} {@ $ind_lunar_all = "Y";} {@ $GanjiJeolki = planner123_main::fn_jeolki_ganji_ary($dispStartYY,$dispStartM,$pGanjioption);} {@ $GanjiJeolki_2 = planner123_main::fn_jeolki_ganji_ary($dispEndYY,1,$pGanjioption);} {@ $ind_24term = "Y";} {@ $ind_iljin = "Y";} {@ $Islamicday = planner123_main::fn_getIslamic_ary($dispStart_stamp,$dispEnd_stamp); $ind_islamic = "Y"; } {@ $Islamicday = planner123_main::fn_getIslamic_ary($dispStart_stamp,$dispEnd_stamp); $ind_islamic_all = "Y"; } {@ $ind_bgcolor_option = $module_info->use_category_bgcolor;// 일정 배경색상 옵션 $ind_image_diary = $module_info->image_diary;// 그림일기 사용여부 $ind_complete_doc = $module_info->display_complete_doc;// 완료일정 표시여부 $ind_oneday_container = $module_info->oneday_container;// 하루(비연속)일정 콘테이너 (T, J) $dft_offday = unserialize($module_info->off_day);// 휴무일 $dft_offday_option = unserialize($module_info->off_day_option);// 휴무일 처리옵션 } {@ if(!is_array($dft_offday)) $dft_offday = array($dft_offday);} {@ if(!is_array($dft_offday_option)) $dft_offday_option = array($dft_offday_option);} {@ $ind_offday_naDisp = TRUE;} {@ $ind_offday_naNew = TRUE;} {@ $ind_offday_Label = TRUE;} {@ $ind_holiday_off = TRUE;} {@ $ind_oneday_container = 'T';} {@ $ind_reservation = $module_info->reservation;} {@ $ind_reservation = 'N';} {@ $ind_repeat_style = 'S';} {@ $ind_repeat_style = $module_info->repeat_style;} {@ $tempmonth = substr("0".$pMonth, -2);// 검색년월 및 목록수 설정//월 을 "7" 에서 "07"로 $list_count = $module_info->list_count;//목록수 $page_count = $module_info->page_count;//목록수 } {@ $tmp_search_keyword = str_replace(' ','%',$search_keyword);} {@ $obj->var_search_title = $tmp_search_keyword;} {@ $obj->var_search_content = $tmp_search_keyword;} {@ $obj->var_search_content = $tmp_search_keyword;} {@ $obj->var_search_user_name = $tmp_search_keyword;} {@ $obj->var_search_nick_name = $tmp_search_keyword;} {@ $obj->var_search_user_id = $tmp_search_keyword;} {@ $obj->var_search_tags = $tmp_search_keyword;} {@ $obj->var_search_extra_idx = substr($search_target, strlen('extra_vars'));} {@ $obj->var_search_extra_value = str_replace(' ','%',$search_keyword);} {@ $ind_use_category = "Y";// 분류(카테고리) 사용} {@ $category_list[$key]->title = $category_list[$val->parent_srl]->title.'/'.$category_list[$key]->title;} {@ $ind_use_category = "N";} {@ $wrk_var_category_srl = "0";} {@ $wrk_var_category_srl .= ",".$val->category_srl;} {@ $obj->var_category_srl = $val->category_srl;} {@ $obj->var_category_srl .= ",".$val2;} {@ $obj->var_category_srl = $wrk_var_category_srl;} {@ $module_srl = $module_info->module_srl;// loged member// module srl (drag&drop 에서 사용) $module_name = $module_info->module;// module name (drag&drop 에서 사용) $member_temp_name = $logged_info->nick_name;// 공개그룹 user에 nick_name 이용 $member_srl = $logged_info->member_srl; $group_list = $logged_info->group_list; $usergroup_arr = array(); } {@ $obj->var_member_srl = $member_srl;} {@ $group_titles .= ",".$val;} {@ $group_titles=substr($group_titles,1);// 사용자가 소속된 그룹명칭 $usergroup_arr = explode(",",$group_titles); } {@ $tmp_slt_s_mmdd = $dispStartMM.$dispStartDD; $tmp_slt_e_mmdd = $dispEndMM.$dispEndDD; $tmp_slt_s_mmdd2 = '0000'; $tmp_slt_e_mmdd2 = '0000'; } {@ $tmp_slt_s_mmdd = $dispStartMM.$dispStartDD; $tmp_slt_e_mmdd = '1231'; $tmp_slt_s_mmdd2 = '0101'; $tmp_slt_e_mmdd2 = $dispEndMM.$dispEndDD; } {@ $obj->var_0 = '0'; $obj->site_srl = '';// 쿼리 설정/실행/list만들기// 0을 넣으면 이상해짐 $obj->module_srl = $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_end'; $obj->sort_index_1_1 = 'extra_value_start';// (일정시작 일) (2010-08-01 $obj->order_type_1_1 = 'desc'; $obj->sort_index_default_1_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 = $module_info->order_target;// (게시판 문서 정렬 번호) $obj->order_type = $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_period_start = $dispStartYY.$dispStartMM.$dispStartDD;// 선택 범위시작 $obj->var_period_end = $dispEndYY.$dispEndMM.$dispEndDD;// 선택 범위 끝 $obj->var_start_mmdd = $tmp_slt_s_mmdd;// 년단위 반복일정만 있는경우 선택 범위시작 $obj->var_end_mmdd = $tmp_slt_e_mmdd;// 년단위 반복일정만 있는경우 선택 범위 끝 $obj->var_start_mmdd2 = $tmp_slt_s_mmdd2;// 년단위 반복일정만 있는경우 선택 범위시작 2 $obj->var_end_mmdd2 = $tmp_slt_e_mmdd2;// 년단위 반복일정만 있는경우 선택 범위 끝 2 $obj->var_fld_null = null;// 0을 null로 (0일 경우 레코드 없으면 안됨 -> 추후 값이없는 확장변수 레코드 삭제를 고려하여 null로 변경) $query_path = $module_info->module."/skins/".$module_info->skin;// 쿼리경로 $view_group = $module_info->default_document_group;// 스킨에서 정해준 일반사용자가 볼수있는 문서그룹 } {@ $obj->var_status ="N";// Status } {@ $obj->var_status ="PUBLIC";// Status } {@ $output = executeQueryArray($query_path.'.getDocumentsForPlanner_all', $obj);} {@ $output = executeQueryArray($query_path.'.getDocumentsForPlanner_own', $obj);} {@ $output = executeQueryArray($query_path.'.getDocumentsForPlanner_own', $obj);} {@ $output = executeQueryArray($query_path.'.getDocumentsForPlanner_group', $obj);} {@ $output = executeQueryArray($query_path.'.getDocumentsForPlanner_nonSec', $obj);} {@ $output = executeQueryArray($query_path.'.getDocumentsForPlanner_all', $obj);} {@ $output = executeQueryArray($query_path.'.getDocumentsForPlanner_all', $obj);} {@ $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); } {@ $tmp_document_list[$key] = $tmp_Document;} {@ $tmp_document_list[$key] = $tmp_Document;} {@ $tmp_document_list[$key] = $tmp_Document;} {@ $tmp_document_list[$key] = $tmp_Document;} {@ $tmp_document_list[$key] = $tmp_Document;} {@ $tmp_flag = null;} {@ $tmp_group_01 = $tmp_opengroup_arr[0];} {@ $tmp_flag = "*";} {@ $tmp_flag = "*";} {@ $tmp_flag = "*";} {@ $tmp_flag = "*";} {@ $tmp_document_list[$key] = $tmp_Document;} {@ $tmp_flag = "";} {@ $tmp_flag = "*";} {@ $tmp_flag = "*";} {@ $tmp_document_list[$key] = $tmp_Document;} {@ $tmp_document_list = array();} {@ Context::set('document_list', $tmp_document_list); $oDocumentModel = &getModel('document'); $oDocumentModel->setToAllDocumentExtraVars(); $planner_flag = "Y" } {@ $category_color = $category_list[$document->get('category_srl')]->color;} {@ $category_title = $category_list[$document->get('category_srl')]->title;} {@ $category_color = null;} {@ $category_title = null;} {@ $plan_reply = $document->getCommentCount();} {@ $plan_reply = null;} {@ $plan_NickName = "[".$document->getNickName()."]";// 닉네임 $plan_title = $document->getTitle($module_info->subject_cut_size);//일정제목 $plan_detail = $document->getSummary($module_info->content_cut_size);//일정내용 $plan_doc_extra_vars = $document->get('extra_vars');// 상태 - 취소일정을 위해 추가 $plan_docsrl = $document->document_srl;//문서번호 $plan_url = getUrl('document_srl',$document->document_srl,'offset',$offset);//문서url $plan_new = $document->printExtraImages(60*60*$module_info->duration_new);// 새글표시 이미지 } {@ $plan_detail_all[$plan_docsrl] = $document->getContent(false); } {@ $plan_img = null;} {@ $plan_img = $document->getThumbnail($module_info->thumbnail_width, $module_info->thumbnail_height, $module_info->thumbnail_type);} {@ $plan_start = $document->getExtraValue(1);// 일정시작일자-확장변수값 얻기 $plnstartYY = substr($plan_start,0,4); $plnstartMM = substr($plan_start,4,2); $plnstartDD = substr($plan_start,6,2); $plnstartMM = ltrim( $plnstartMM, "0" );// 앞의 "0" 제거 $plnstartDD = ltrim( $plnstartDD, "0" );// 앞의 "0" 제거 } {@ $plan_end = $document->getExtraValue(2);} {@ $plan_end = $plan_start;} {@ $plnendYY = substr($plan_end,0,4); $plnendMM = substr($plan_end,4,2); $plnendDD = substr($plan_end,6,2); $plnendMM = ltrim( $plnendMM, "0" );// 일자 앞의 "0" 제거 $plnendDD = ltrim( $plnendDD, "0" );// 일자 앞의 "0" 제거 $plan_bgcolor = $document->getExtraValueHTML(3);// 배경색상 $plan_flagicon = $document->getExtraValueHTML(4);// 일정확인 $plan_repeat_cycle = $document->getExtraValueHTML(5);// 반복일정 cycle $plan_repeat_unit = $document->getExtraValueHTML(6);// 반복일정 unit $plan_time = $document->getExtraValueHTML(7);// 시작종료시간 (09:00, 09:30, 10:00,.. 형식) } {@ $plan_detail = str_replace("'", "'", $plan_detail);} {@ $plan_detail = str_replace("\"", """, $plan_detail);} {@ $_doc_status = $plan_doc_extra_vars;} {@ $_doc_status = unserialize($plan_doc_extra_vars);} {@ $plan_title = "".$plan_title."";} {@ $arr_repeat = planner123_main::fn_repeat_schedule($dispStart_stamp, $dispEnd_stamp, $plan_start, $plan_end, $plan_repeat_cycle, $plan_repeat_unit, $dft_holiday); // V430에서 $dft_holiday 추가} {@ $ind_weekday = date('w', mktime(0, 0, 0, $i, $j, $arr_repeat[$i][$j])); // 당일요일} {@ $tmp_offday = in_array(strval($ind_weekday), $dft_offday); // 당일 휴뮤 요일여부} {@ if($dft_holiday[$i][$j] != null) $tmp_offday = TRUE; // 당일 기본 공휴일여부} {@ $ind_weekday_2 = $ind_weekday + 1; // 다음날 요일} {@ $ind_weekday_2 = 0;} {@ $i_next = date('n', mktime(0, 0, 0, $i, $j+1, $arr_repeat[$i][$j])); // 다음날월} {@ $j_next = date('j', mktime(0, 0, 0, $i, $j+1, $arr_repeat[$i][$j])); // 다음날일} {@ $tmp_offday_2 = in_array(strval($ind_weekday_2), $dft_offday); // 다음날 휴뮤 요일여부} {@ if($dft_holiday[$i_next][$j_next] != null) $tmp_offday_2 = TRUE; // 다음날 기본 공휴일여부} {@ $j_temp = $j;} {@ $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."|Ø|".$plan_NickName;} {@ $j_temp = ""; // 일정 시작일 지움} {@ $plan_length = 1;} {@ $arr_plan[$i][$j] .="|#Ø#|"} {@ $arr_plan[$i][$j] .= $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."|Ø|".$plan_NickName;}