묻고답하기

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

 

<?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 남기남
처음부터끝까지 과거 2013년 설치했던 xe를 다시 설치하려고 합니다.... [1] 2019.05.06 by 처음부터끝까지
미니벨 관리자 페이지 접속시 '페이지가 없습니다'라고 뜹니다ㅠ [1] file 2019.05.07 by 디스케이션
이와이 댓글 비밀로.. [4] 2019.05.07 by 이와이
이정 몇일째 방법을 찾는중이지만 어드민로그인 어떻게하나요 [1] 2019.05.07 by 디스케이션
와칸다 스케치북 게시판에 인피드 광고 삽입 질문 [1] 2019.05.07 by 디스케이션
이와이 댓글에 확장변수(사용자정의) 넣는 방법 [2] 2019.05.07 by 이와이
이와이 확장변수 설명에 태그달기 [1] 2019.05.07 by 이와이
Enki 회원가입을 수동적으로 관리자가 직접 승인해야되네요;; [1] 2019.05.08 by sejin7940
Enki 인기글 위젯 달았는데 각 게시판마다 출력되는게 아니네요;; [3] 2019.05.08 by Enki
genosaid 게시판 분류관리가 먹통이네요 .. [6] 2019.05.08 by SSUN
AliveInVeitnam 스킨적용 에러 file  
아스카플란 코어 최신 버젼 업그레이드 후 먹통 현상 [1] file 2019.05.08 by 정센
FREE 위젯코드 에러?  
정센 XE core 업데이트 이후 홈페이지가 보이지 않습니다. [1] 2019.05.08 by sejin7940
아데나 외부연결페이지에서 DB연결을 통한 자료 불러오기 [2] 2019.05.08 by 아데나
아데나 주소록 가져오기 했는데 왜 1건만 보일까요? [2] 2019.05.08 by sejin7940
Enki 컨텐츠 확장 위젯 + 스케치북5 [1] file 2019.05.09 by DoorWeb
스머프 doorweb반응형 레이아웃 사용자입니다. 창을 줄였을 때 홈페이지명을 ... [3] file 2019.05.09 by DoorWeb
다유시럽 최신글 클릭시 팝업으로 띄우는 방법 도와주세요.. ㅜㅜ [5] 2019.05.09 by 제이와이엔소프트
12123333 XE사이트에서 XE사이트로 게시글 이전 문의드립니다. [1] 2019.05.09 by DoorWeb
인천한량 SKETCHBOOK 스킨 익스플로러11 오류 [3] file 2019.05.09 by 인천한량
Enki 스케치북5 문제 [2] 2019.05.10 by Enki
쿠캉쿠캉 데이터 이전하려는데 하드용량 얼마나 해야 할까요? [2] 2019.05.10 by 쿠캉쿠캉
여휴우 관리자페이지 로그인 후 자동 로그아웃이 되는 현상 [2] 2019.05.10 by 여휴우
Enki 고수님들 화제의 애드온 코드 상단이 아닌 위젯에다 달고 싶습니다  
바람의기억 본문내 문서뷰어 에드온질문 드립니다. file  
처음부터끝까지 xe 와 xe3 는 DB 구조도 다른가여?? [2] 2019.05.11 by SimpleCode
준이 게시판 권한에서 글쓰기와 댓글 권한 변경이 안됩니다.  
아옮옮 중학생이 기본적인 html 질문좀 드리겠습니다 ㅠㅠ [1] file 2019.05.12 by DoorWeb
Enki 카테고리마다 인기글 위젯 [1] 2019.05.12 by DoorWeb