RX/XE 팁
XE FAQ 는 제가 XE공홈 '묻고 답하기'에 답변한 내용들 중 일부를 정리한 내용입니다. (대부분이 제가 한 답변이죠)
XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠

제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
출처 sejin7940 

휴지통 기능 사용시,  휴지통 목록은 관리자페이지에서 볼 수 있는데

해당 휴지통의 글 내용을 확인할 방법이 없었다.  복원을 해야만 볼 수 있거나  DB에 직접 접속해서 확인해야만 했는데

휴지통 목록을 클릭시 해당 글의 내용을 확인할 수 있는  trash_view 페이지를 만들었다

 

이 기능을 Core 에 Full Request 해뒀고

XE 1.7.5.2 부터 정식적으로  Core에 포함된 기능이다.   ( Core 내부 소스에도.. 이 부분은 sejin7940 이라고 기록되어있어서 참 묘한 기분 ^^;)

 

 

XE 1.7.5.2  이전 버전을 사용하는 경우에.. 

이 기능을 구현하고파 하는 사람이 있을 수도 있겠다 싶어서...   해당 수정 소스를 공개한다.

 

 

 

휴지통 기능은 상황에 따라서 굉장히 유용하게 쓸 수 있는 기능입니다.
다만, 현재로는 한가지가 부족합니다.
휴지통에 들어간 목록은 확인할 수 있는데, 그 휴지통에 담긴 글의 내용을 확인할 수 있는 방법이 없습니다
확인하려면 복원을 시키거나, DB에 직접 들어가서 살펴봐야하는데..  두가지 모두 불편하거나 문제가 있는 방법입니다.

따라서, 관리자페이지에서 휴지통목록을 바로 View 할 수 있는 기능이 있어야할듯합니다.

 

1. 휴지통 내용 보기 기능 추가

1) trash/conf/module.xml 에 추가

<action name="dispTrashAdminView" type="view" />


2) trash/tpl/trash_list.html 에
{$oTrashVO->getTitle()}
부분을 아래걸로 수정
<a href="{getUrl('act','dispTrashAdminView','trash_srl',$oTrashVO->getTrashSrl())}">{$oTrashVO->getTitle()}</a> 

 

3) trash/trash.admin.view.php 에 함수 새로 추가


 // Trash View - sejin7940
 function dispTrashAdminView() {
  $trash_srl = Context::get('trash_srl');

  $oTrashModel = getModel('trash');
  $output = $oTrashModel->getTrash($trash_srl);
  if(!$output->data->getTrashSrl()) return new Object(-1, 'msg_invalid_request');

  $originObject = unserialize($output->data->getSerializedObject());
  if(is_array($originObject)) $originObject = (object)$originObject;

  Context::set('oTrashVO',$output->data);
  Context::set('oOrigin',$originObject);


  $oMemberModel = &getModel('member');
  $remover_info = $oMemberModel->getMemberInfoByMemberSrl($output->data->getRemoverSrl());
  Context::set('remover_info', $remover_info);
  $oModuleModel = &getModel('module');
  $module_info = $oModuleModel->getModuleInfoByModuleSrl($originObject->module_srl);
  Context::set('module_info', $module_info);

  if($originObject) {
   $args_extra->module_srl = $originObject->module_srl;
   $args_extra->document_srl = $originObject->document_srl;
   $output_extra = executeQueryArray('trash.getDocumentExtraVars', $args_extra);    
   Context::set('oOriginExtraVars',$output_extra->data);
  }
  $this->setTemplateFile('trash_view');
 }

 

4) trash/tpl/trash_view.html  파일 새로 추가

<div class="x_page-header">
 <h1>{$lang->cmd_trash} {$lang->trash_description}</h1>
</div>
<h2>{$lang->delete_info}</h2>
<table class="x_table x_table-striped x_table-hover">
 <col width="120">
 <tr>
  <th scope="col" class="nowr">{$lang->trasher}</th>
  <td>
  {htmlspecialchars($remover_info->nick_name)} <a href="#popup_menu_area" class="member_{$oTrashVO->getRemoverSrl()}" onclick="return false">

[{$remover_info->user_id}]</a>
  </td>
 </tr>
 <tr>
  <th scope="col" class="nowr">{$lang->trash_date}</th>
  <td>{zdate($oTrashVO->getRegdate(), "Y-m-d H:i:s")}</td>
 </tr>
 <tr>
  <th scope="row">{$lang->trash_description}</th>
  <td class="text">{$oTrashVO->getDescription()}</td>
 </tr>
</table>
<br>
<h2>{$lang->origin_info}</h2>
<table class="x_table x_table-striped x_table-hover">
 <col width="120">
 <tr>
  <th scope="row">{$lang->module}</th>
  <td class="text">
  {$module_info->browser_title} ({$module_info->mid})
  </td>
 </tr>
 <tr>
  <th scope="row">{$lang->title}</th>
  <td class="text">{$oOrigin->title}</td>
 </tr>
 <tr>
  <th scope="row">{$lang->writer}</th>
  <td class="text">{htmlspecialchars($oOrigin->nick_name)} <a href="#popup_menu_area" class="member_{$oOrigin->member_srl}" onclick="return false">

[{$oOrigin->user_id}]</a></td>
 </tr>
 <tr>
  <th scope="row">{$lang->regdate}</th>
  <td class="text">{zdate($oOrigin->regdate,'Y.m.d H:i:s')}</td>
 </tr>
 <block loop="$oOriginExtraVars=>$key,$val">
 <tr><th>{$val->name}</th> 
  <td>{$val->value}</td>
 </tr>
 </block>

 <tr>
  <th scope="row">{$lang->content}</th>
  <td class="text">{$oOrigin->content}</td>
 </tr>
</table>


<form action="./" method="post">
 <input type="hidden" name="module" value="trash" />
 <input type="hidden" name="act" value="procTrashAdminEmptyTrash" />
 <input type="hidden" name="page" value="{$page}" />
 <input type="hidden" name="is_all" value="false" />
 <input type="hidden" name="origin_module" value="{$oTrashVO->getOriginModule()}" />

 <input type="hidden" name="cart[]" value="{$oTrashVO->getTrashSrl()}" />

 <div class="x_pull-left"><button class="x_btn" type="button" onclick="history.go(-1)">{$lang->cmd_list}</button></div>

 <div class="x_pull-right">
  <button type="submit" name="is_all" class="x_btn"  value="false">{$lang->cmd_delete}</button>
  <button type="submit" name="act" class="x_btn x_btn-primary"  value="procTrashAdminRestore">{$lang->cmd_restore}</button>
 </div>
</form>

 

 

 

5. modules/trash/queries/getDocumentextraVars.xml  파일 새로 추가

<query id="getDocumentsExtraVars" action="select">
    <tables>
        <table name="document_extra_keys" alias="extra_keys" />
        <table name="document_extra_vars" alias="extra_vars" type="left join">
            <conditions>
                <condition operation="equal" column="extra_keys.module_srl" default="extra_vars.module_srl" />
                <condition operation="equal" column="extra_keys.eid" default="extra_vars.eid" pipe="and" />
            </conditions>
        </table>
    </tables>
    <columns>
        <column name="extra_keys.module_srl" alias="module_srl" />
        <column name="extra_keys.var_name" alias="name" />
        <column name="extra_keys.var_type" alias="type" />
        <column name="extra_keys.var_is_required" alias="is_required" />
        <column name="extra_keys.var_search" alias="search" />
        <column name="extra_keys.var_default" alias="default" />
        <column name="extra_keys.var_desc" alias="desc" />
        <column name="extra_keys.var_idx" alias="idx" />
        <column name="extra_vars.document_srl" alias="document_srl" />
        <column name="extra_vars.lang_code" alias="lang_code" />
        <column name="extra_vars.value" alias="value" />
        <column name="extra_keys.eid" alias="eid" />
    </columns>
 <conditions>
  <condition operation="equal" column="extra_keys.module_srl" var="module_srl" />
  <condition operation="in" column="extra_vars.document_srl" var="document_srl" pipe="and" />
 </conditions>
    <navigation>
        <index var="sort_index" default="extra_keys.var_idx" order="asc" />
    </navigation>
</query>

 


6. modules/trash/lang/lang.xml  에 추가

 <item name="cmd_restore">
  <value xml:lang="ko"><![CDATA[복원]]></value>
  <value xml:lang="en"><![CDATA[Restore]]></value>
  <value xml:lang="jp"><![CDATA[復元]]></value>
  <value xml:lang="zh-TW"><![CDATA[復原]]></value>
 </item>
 <item name="title">
  <value xml:lang="ko"><![CDATA[제목]]></value>
  <value xml:lang="en"><![CDATA[Subject]]></value>
  <value xml:lang="jp"><![CDATA[タイトル]]></value>
  <value xml:lang="zh-TW"><![CDATA[標題]]></value>
 </item>
 <item name="content">
  <value xml:lang="ko"><![CDATA[내용]]></value>
  <value xml:lang="en"><![CDATA[Content]]></value>
  <value xml:lang="jp"><![CDATA[?容]]></value>
  <value xml:lang="zh-TW"><![CDATA[內容]]></value>
 </item>
 <item name="trasher">
  <value xml:lang="ko"><![CDATA[삭제자]]></value>
  <value xml:lang="en"><![CDATA[Deleter]]></value>
  <value xml:lang="jp"><![CDATA[削除者]]></value>
  <value xml:lang="zh-TW"><![CDATA[刪除]]></value>
 </item>
 <item name="origin_info">
  <value xml:lang="ko"><![CDATA[원문 정보]]></value>
  <value xml:lang="en"><![CDATA[Document Info]]></value>
 </item>
 <item name="delete_info">
  <value xml:lang="ko"><![CDATA[삭제 정보]]></value>
  <value xml:lang="en"><![CDATA[Trash Info]]></value>
 </item>

전체 692건
번호 카테고리 제목 출처 등록일 조회
공지 XE 기능개선 XE 1.11.18 이후 버전의 익명 수정 버그 수정법 xetown  2023.10.07 3192
공지 XE 기능개선 XE 1.11.14 보안패치 - 타인의 쪽지 내용을 확인할 수 있는 버그 패치방법 xetown  2023.10.03 3259
공지 XE 기능개선 XE 1.11.6 이후 보안배치 #4 file rhymix  2022.07.05 3419
공지 1.11.6 XE 1.11.6 이후 보안배치 #3 rhymix  2022.04.02 3376
공지 1.11.6 XE 1.11.6 이후 보안배치 #1 xetown  2021.06.22 3770
공지 1.11.6 XE 1.11.6 이하 에서 공개댓글을 비밀댓글로 변경시 생길 수 있는 오류 수정법 sejin7940  2021.01.10 3693
공지 XE 기능개선 XE 1.11.4 이후에서 파일 업로드시 정상 작동 안 하는 현상 수정법 XE github  2019.04.02 6446
공지 XE 기능개선 php 7.1 환경에서 XE 오류 나는 경우 확인할 사항 sejin7940  2018.07.11 6360
공지 유용정보 php7.2 환경에서 XE 오류가 생기는 경우 - Object 클래스 변경 필요 XE Github  2017.11.27 9886
공지 XE 기능개선 XE 1.8.30 이하에서 반드시 수정해주셔야하는 부분입니다. XE 1.8.31  2017.02.26 7152
공지 1.8.18 XE 1.8.18 에서 사용시 반드시 수정해야할 사항들 ( XE 1.8.20 이후에서는 수정 불필요 ) xetown  2016.04.03 26273
공지 XE 기능개선 XE 1.8.12 이후부터 proc controller 일부가 작동 안 할 경우 확인할 부분 [1] XE  2015.10.16 26103
472 유용정보 HTML5 Web Player 설치방법 배워서남준다  2014.06.11 2607
471 XE 기능개선 닉네임 클릭시의 작성글보기 회원번호 기준으로 sejin7940  2014.06.13 4599
470 XE 기능개선 서명기능을 회원가입시 바로 입력받을 수 있도록 sejin7940  2014.06.13 3244
» XE 기능개선 휴지통 목록 클릭시 휴지통 내용 View 화면 구현 ( XE 1.7.5.2 이전 ) sejin7940  2014.06.13 2606
468 1.7.5 댓글 신고목록에서 신고취소 가 안 되는 버그 sejin7940  2014.06.13 2015
467 XE FAQ 손님이 비밀글 작성한 경우에도 글 보려면 반드시 비밀번호 넣게 하려면? sejin7940  2014.06.18 4365
466 XE 기능개선 콘텐츠->파일 에서 등록된 파일 전체 리스트에 썸네일 이미지 나타나도록 sejin7940  2014.06.19 2357
465 XE 기능개선 관리자가 글 쓸때는 분류를 선택 안 해도 등록되도록 (공지글을 쓸때를 위해) 개선 sejin7940  2014.06.21 2406
464 XE 기능개선 스케치북 스킨을 모바일에서 PC보기로 할 경우에도 모바일용 기능이 나오는 현상 수정법 sejin7940  2014.07.03 2518
463 XE FAQ 모바일 환경에서 레벨아이콘이나 이미지마크등이 안 나오는 문제 해결방법 [1] sejin7940  2014.07.07 2673
462 1.7.5 관리자인 경우 에디터의 권한 설정을 무시하고 항상 작동하도록 수정 sejin7940  2014.07.11 1829
461 1.7.5 모바일(또는 textarea형)에서 댓글 수정시 줄바꿈 유지되도록 수정 sejin7940  2014.07.17 2311
460 XE 기능개선 회원 비밀번호 수정시 자동으로 로그아웃 되게 하는 방법 sejin7940  2014.07.18 2603
459 XE FAQ 첨부파일 제한 등을 1M 이하인 K 단위로 제한할 수 있게 설정 sejin7940  2014.08.07 2599
458 1.7.5 관리자 회원목록 페이지에서, 이메일이 이중으로 중복 출력되는 버그 수정 sejin7940  2014.08.09 1853
457 1.7.5 관리자메뉴설정 에서 삭제가 안 되는 현상 수정하는 방법 sejin7940  2014.08.11 2040
456 XE 기능개선 관리자페이지의 '서버정보출력'에 '절대경로' 가 출력되게 하는 방법 sejin7940  2014.08.26 2466
455 XE 기능개선 관리자 게시판 목록에서 브라우저 제목 클릭시 새창으로 뜨도록 수정 sejin7940  2014.08.26 2314
454 XE 기능개선 회원정보보기시 공개 안 한 정보에 대해서도 최고관리자는 볼 수 있도록 변경 sejin7940  2014.09.10 2305
453 XE 기능개선 모바일뷰 사용하는 경우, 사이트맵에서 메뉴 생성시, 모바일 뷰 가 자동으로 체크되도록 sejin7940  2014.09.10 2316
XE Login