묻고답하기

이 중 어느 부분을 고치면 위젯에다가 출력 가능할까요??

 

<?php

/**

 * @file hot_document.addon.php

 * @brief 화제의 게시글을 추출해 게시판 상단에 표시 합니다.

 * @author Canto ( m.canto87@gmail.com )

 **/

if(!defined('__XE__')) exit();

if($called_position == 'after_module_proc' && Context::get('document_list') && class_exists('documentItem')){

// 접속 모듈 정보 취득

$module_info = Context::get('module_info');

 

// 오브젝트 초기화

$obj = new stdClass();

// 추출모드 선택 - 전체 게시판 일 경우 애드온을 사용중인 게시판의 module_srl 을 취득

if($addon_info->extraction_mode != 'total' )

{

$obj->module_srl = $module_info->module_srl;

}

else

{

$oModuleModel = &getModel('module');

foreach($addon_info->mid_list as $key => $val) {

// 해당 게시판이 상담게시판이 아닐 경우에만 추출

if($oModuleModel->getModuleInfoByMid($val)->consultation != "Y") $module_srl[$key] = $oModuleModel->getModuleInfoByMid($val)->module_srl;

}

// 모듈 번호를 받아오지 못한 게시판이 있을 경우 빈배열이 생겨 에러가 생기기 때문에

// 빈 배열 제거

$module_srl = array_filter($module_srl);

$module_srl = implode(',',$module_srl);

 

// 애드온의 사용 설정에 따른 범위 선택

if($addon_info->xe_run_method == 'no_run_selected') $obj->notin_module_srl = $module_srl;

else $obj->module_srl = $module_srl;

}

$obj->list_count = $addon_info->list_count;

$obj->is_notice = 'N';

 

// AND OR 조건 설정

if($addon_info->readed_count && $addon_info->readed_count_op == "AND") $obj->readed_count = $addon_info->readed_count;

if($addon_info->readed_count && $addon_info->readed_count_op == "OR") $obj->readed_count_or = $addon_info->readed_count;

if($addon_info->voted_count && $addon_info->voted_count_op == "AND") $obj->voted_count = $addon_info->voted_count;

if($addon_info->voted_count && $addon_info->voted_count_op == "OR") $obj->voted_count_or = $addon_info->voted_count;

if($addon_info->comment_count && $addon_info->comment_count_op == "AND") $obj->comment_count = $addon_info->comment_count;

if($addon_info->comment_count && $addon_info->comment_count_op == "OR") $obj->comment_count_or = $addon_info->comment_count;

 

// 캐시 타임 설정

if(!$addon_info->cache_time) $cache_time = 0;

else $cache_time = 60 * $addon_info->cache_time;

 

// 추출 시간 범위 설정

if($addon_info->chk_time){

$chk_time = time()-(60*60*$addon_info->chk_time);

$chk_time = date('YmdHis',$chk_time);

$obj->regdate = $chk_time;

}

 

$obj->sort_index = $addon_info->sort_index;

if($addon_info->sort_index != 'list_order' && $addon_info->sort_index) $obj->order_type = 'desc';

 

// 캐시 관련 ( 캐시 설정이 되어있는 상태에서 캐시가 만료 되지 않았을 경우에는 캐시에서 데이터를 취득 )

$oCacheHandler = CacheHandler::getInstance();

 

// 사이트가 캐시를 지원하고 해당 게시판의 화제의 글  캐시가 존재 할 때

if($cache_time && $oCacheHandler->isSupport() && $oCacheHandler->isValid("hot_document_$module_info->module_srl",$cache_time))

{

// 캐시를 가져와서 변수에 입력

$cache = $oCacheHandler->get("hot_document_$module_info->module_srl",$cache_time);

$error = $cache->error;

$message = $cache->message;

$httpStatusCode = $cache->httpStatusCode;

$hot_document = $cache->data;

}

// 캐시가 만료 되거나 캐시 시간이 설정 되어 있지 않는 경우 DB를 통해 데이터 취득

else

{

// 쿼리로 게시물 데이터 가져오기

$output = executeQueryArray('addons.hot_document.getNewestDocuments', $obj);

 

// 결과 값이 있을 때 해당 게시물을 공지사항으로 강제 변경

// 캐시를 지원하고 캐시 타임이 설정 되어 있을 경우 게시물 데이터를 캐시로 만들기

if($output->toBool() && $output->data) {

foreach($output->data as $key => $val) {

$output->data[$key]->is_notice = 'Y';

}

if($oCacheHandler->isSupport() && $cache_time != 0) $oCacheHandler->put("hot_document_$module_info->module_srl",$output,$cache_time);

}

 

// 각 변수에 데이터 입력

$error = $output->error;

$message = $output->message;

$httpStatusCode = $output->httpStatusCode;

$hot_document = $output->data;

}

 

// 게시판의 공지 리스트를 가져와서 화제의 게시글 덧붙이기

$notice_list = Context::get('notice_list');

foreach($hot_document as $key => $val){

$notice_list[$val->document_srl] = new documentItem();

$notice_list[$val->document_srl]->document_srl = $val->document_srl;

$notice_list[$val->document_srl]->lang_code = $val->lang_code;

$notice_list[$val->document_srl]->columnList = Array();

$notice_list[$val->document_srl]->allowscriptaccessList = Array();

$notice_list[$val->document_srl]->allowscriptaccessKey = 0;

$notice_list[$val->document_srl]->uploadedFiles = Array();

$notice_list[$val->document_srl]->error = $error;

$notice_list[$val->document_srl]->message = $message;

$val->hot_document = 'Y';

$notice_list[$val->document_srl]->variables = (array) $val;

 

$notice_list[$val->document_srl]->httpStatusCode = $httpStatusCode;

}

 

// 공지 리스트 재 설정

Context::set('notice_list',$notice_list);

}

 
글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
생컨38889 아이피형식이 2403:6200:8917:bae5:2d7a:7f53:671b:5139 이렇게 나오는데 [1] 2019.05.24 by SimpleCode
chorok 보안패치 후 오류  
인천한량 xe사이트를 새로 설치할시 기존 백업한 사이트 에서의 데이터 이전 방식이 궁금합니다. [2] 2019.05.24 by 인천한량
yool DoorWeb A 슬라이드 타이틀의 위치 조절 [2] file 2019.05.25 by yool
Happiness XE 에서 ioev, pere jit  
nk****04677 로그인 풀림 및 자료 수정 불가 file  
꼬마보딩영720gogo 보안인증서 오류 [4] 2019.05.27 by 커피넉잔
구름한점 특정 크롤링 봇과 일반사용자에게 각각 다른 화면을 보여줄 수 있을까요?  
개박사 사용 용도가 특이해서 문의 드립니다. [2] 2019.05.27 by 개박사
Enki rest부트스트랩이랑 simple스트랩 충돌문제인데  
Enki 스케치북5 댓글 창 숨었다 내려가지는거 없애는법 file  
삐리삐리뽕 게시판 댓글 내용 [3] 2019.05.28 by 제이와이엔소프트
에그 관리자로 로그인하면 접속오류가 뜹니다.  
커피넉잔 core에 연결된 CDN 해제하는 방법을 모르겠습니다. [2] file 2019.05.28 by 커피넉잔
Enki 추천버튼 비추천버튼 간격 띄우는법  
Enki 댓글창이랑 댓글리스트 바꾸는 방법 [2] 2019.05.28 by Enki
카카마 Kim Tajo님 xedition / 메인1 섹션 이미지 업데이트 방법 좀??  
아데나 mysql의 rollup명령어 구분 [1] 2019.05.29 by 아데나
처음부터끝까지 php 페이지를 포함시키려고 하는대 플러그인은 없나요? [2] 2019.05.29 by 제이와이엔소프트
인천한량 xe 복구도중 에러코드 설명좀 부탁 드립니다 [2] file 2019.05.29 by 인천한량
아데나 게시판의 사용자정의 부분에 대한 문제 [1] 2019.05.29 by 아데나
hatali 멀티도메인 적용을 위한 선택은? xe와 라이믹스 [2] 2019.05.29 by hatali
Enki 위지위그 이미지 크기 조정방법 [1] 2019.05.30 by 제이와이엔소프트
미라클캣 코어업데이트 [5] 2019.05.30 by 미라클캣
아데나 고수님들 부탁드려용 ㅠ 사용자정의 항목 디폴트값..  
꿈틀잉 확장변수(사용자정의) 날짜피커 질문드립니다. [4] file 2019.05.31 by 아데나
아데나 게시판 위젯을 수정하고싶은데... [2] 2019.05.31 by 아데나
아데나 게시판의 분류탭마다 사용자정의를 다르게 할수있나요? [2] 2019.05.31 by 아데나
아데나 스케치북 특정그룹 사용자 확장변수 제거하기 file  
기가 서브메뉴를 모르고 삭제했는데 복구하는 방법이 있나요 고수님 가르쳐 주세요 [1] 2019.06.02 by sejin7940