#14 별도의 외부 페이지(opage) 모듈을 만들어서 외부 html/php 문서나 외부 html문서등을 내부에서 사용할 수 있는 모듈 제작

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2600 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2007-09-18 04:13:34 +00:00
parent 7f90125627
commit dc24001d46
21 changed files with 984 additions and 4 deletions

View file

@ -0,0 +1,8 @@
{$opage_content}
<!--@if($grant->is_admin)-->
<!--%import("./js/opage_admin.js")-->
<div class="tRight gap1 clear">
<a href="{getUrl('act','dispOpageAdminInsert','module_srl',$module_info->module_srl)}" class="button"><span>{$lang->cmd_setup}</span></a>
</div>
<!--@end-->

View file

@ -0,0 +1,10 @@
<filter name="delete_opage" module="opage" act="procOpageAdminDelete">
<form>
<node target="module_srl" required="true" />
</form>
<response callback_func="completeDeleteOpage">
<tag name="error" />
<tag name="message" />
<tag name="opage" />
</response>
</filter>

View file

@ -0,0 +1,24 @@
<filter name="insert_opage" module="opage" act="procOpageAdminInsert" confirm_msg_code="confirm_submit">
<form>
<node target="mid" required="true" filter="alpha_number" />
<node target="browser_title" required="true" maxlength="250" />
<node target="opage_path" required="true" maxlength="250" />
</form>
<parameter>
<param name="opage_name" target="mid" />
<param name="module_srl" target="module_srl" />
<param name="module_category_srl" target="module_category_srl" />
<param name="layout_srl" target="layout_srl" />
<param name="browser_title" target="browser_title" />
<param name="is_default" target="is_default" />
<param name="caching_interval" target="opage_caching_interval" />
<param name="path" target="opage_path" />
<param name="view" target="view" />
</parameter>
<response callback_func="completeInsertOpage">
<tag name="error" />
<tag name="message" />
<tag name="module_srl" />
<tag name="opage" />
</response>
</filter>

View file

@ -0,0 +1,3 @@
<!--%import("js/blog_admin.js")-->
<!--%import("js/opage_admin.js")-->
<h3>{$lang->opage} <span class="gray">{$lang->cmd_management}</span></h3>

View file

@ -0,0 +1,79 @@
<!--%import("js/opage_admin.js")-->
<!--#include("header.html")-->
<div class="infoText">{nl2br($lang->about_opage)}</div>
<!-- 정보 -->
<div class="tableSummaryType1">
Total <strong>{number_format($total_count)}</strong>, Opage <strong>{number_format($opage)}</strong>/{number_format($total_opage)}
</div>
<!-- 목록 -->
<table cellspacing="0" class="tableType1">
<thead>
<tr>
<th scope="col">{$lang->no}</th>
<th scope="col">
<form action="./" method="get" onsubmit="return doChangeCategory(this);">
<input type="hidden" name="module" value="{$module}" />
<input type="hidden" name="act" value="{$act}" />
<select name="module_category_srl">
<option value="">{$lang->module_category}</option>
<!--@foreach($module_category as $key => $val)-->
<option value="{$key}" <!--@if($module_category_srl==$key)-->selected="selected"<!--@end-->>{$val->title}</option>
<!--@end-->
<option value="">---------</option>
<option value="-1">{$lang->cmd_management}</option>
</select>
<span class="button"><input type="submit" name="go_button" id="go_button" value="GO" /></span>
</form>
</th>
<th scope="col">{$lang->mid}</th>
<th scope="col">{$lang->browser_title}</th>
<th scope="col">{$lang->is_default}</th>
<th scope="col">{$lang->regdate}</th>
<th scope="col">{$lang->cmd_view}</th>
<th scope="col">{$lang->cmd_delete}</th>
</tr>
</thead>
<tbody>
<!--@foreach($opage_list as $no => $val)-->
<tr>
<td class="tahoma">{$no}</td>
<td>
<!--@if(!$val->module_category_srl)-->
{$lang->not_exists}
<!--@else-->
{$module_category[$val->module_category_srl]->title}
<!--@end-->
</td>
<td><a href="{getUrl('act','dispOpageAdminInsert','module_srl',$val->module_srl)}" class="blue">{$val->mid}</a></td>
<td>{$val->browser_title}</td>
<td class="tahoma">{$val->is_default}</td>
<td class="tahoma">{zdate($val->regdate,"Y-m-d")}</td>
<td class="blue"><a href="./?mid={$val->mid}" target="_blank">{$lang->cmd_view}</a></td>
<td class="red"><!--@if($val->is_default!='Y')--><a href="{getUrl('act','dispOpageAdminDelete','module_srl', $val->module_srl)}">{$lang->cmd_delete}</a><!--@end--></td>
</tr>
<!--@end-->
</tbody>
</table>
<!-- 버튼 -->
<div class="fr gap1">
<a href="{getUrl('act','dispOpageAdminInsert','module_srl','')}" class="button"><span>{$lang->cmd_make}</span></a>
</div>
<!-- 페이지 네비게이션 -->
<div class="pageNavigation">
<a href="{getUrl('page','','module_srl','')}" class="goToFirst"><img src="../../admin/tpl/images/bottomGotoFirst.gif" alt="{$lang->first_page}" width="7" height="5" /></a>
<!--@while($page_no = $page_navigation->getNextPage())-->
<!--@if($page == $page_no)-->
<span class="current">{$page_no}</span>
<!--@else-->
<a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a>
<!--@end-->
<!--@end-->
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="goToLast"><img src="../../admin/tpl/images/bottomGotoLast.gif" alt="{$lang->last_page}" width="7" height="5" /></a>
</div>

View file

@ -0,0 +1,49 @@
/**
* @file modules/opage/js/opage_admin.js
* @author zero (zero@nzeo.com)
* @brief opage모듈의 관리자용 javascript
**/
/* 모듈 생성 후 */
function completeInsertOpage(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var opage = ret_obj['opage'];
var module_srl = ret_obj['module_srl'];
alert(message);
var url = '';
if(location.href.getQuery('module')=='admin') {
url = current_url.setQuery('module_srl',module_srl).setQuery('act','dispOpageAdminInsert');
if(opage) url = url.setQuery('opage',opage);
} else {
url = current_url.setQuery('act','').setQuery('module_srl','');
}
location.href = url;
}
/* 모듈 삭제 후 */
function completeDeleteOpage(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var opage = ret_obj['opage'];
alert(message);
var url = current_url.setQuery('act','dispOpageAdminContent');
if(opage) url = url.setQuery('opage',opage);
location.href = url;
}
/* 카테고리 이동 */
function doChangeCategory(fo_obj) {
var module_category_srl = fo_obj.module_category_srl.options[fo_obj.module_category_srl.selectedIndex].value;
if(module_category_srl==-1) {
location.href = current_url.setQuery('act','dispModuleAdminCategory');
return false;
}
return true;
}

View file

@ -0,0 +1,31 @@
<!--%import("filter/delete_opage.xml")-->
<!--%import("js/opage_admin.js")-->
<!--#include("header.html")-->
<form action="./" method="get" onsubmit="return procFilter(this, delete_opage)">
<input type="hidden" name="opage" value="{$opage}" />
<input type="hidden" name="module_srl" value="{$module_info->module_srl}" />
<table cellspacing="0" class="tableType4">
<col width="150" />
<col />
<tr>
<th scope="row" colspan="2">{$lang->confirm_delete}</th>
</tr>
<tr>
<th scope="row">{$lang->module_name}</th>
<td>{$module_info->mid}</td>
</tr>
<tr>
<th scope="row">{$lang->module}</th>
<td>{$module_info->module}</td>
</tr>
</table>
<div class="tRight gap1">
<a href="{getUrl('act','dispOpageAdminContent')}" class="button"><span>{$lang->cmd_back}</span></a>
<span class="button"><input type="submit" value="{$lang->cmd_delete}" /></span>
</div>
</form>

View file

@ -0,0 +1,116 @@
<!--%import("filter/insert_opage.xml")-->
<!--#include("header.html")-->
<form action="./" method="post" onsubmit="return procFilter(this, insert_opage)" enctype="multipart/form-data">
<input type="hidden" name="opage" value="{$opage}" />
<input type="hidden" name="module_srl" value="{$module_srl}" />
<!--@if($module_info->is_default=='Y')-->
<input type="hidden" name="is_default" value="Y" />
<!--@end-->
<table cellspacing="0" class="tableType2">
<col width="150" />
<col />
<tr>
<th scope="row">{$lang->mid}</th>
<td>
<input type="text" name="mid" value="{$module_info->mid}" class="inputTypeText" />
<p>{$lang->about_mid}</p>
</td>
</tr>
<!--@if($module_info->is_default!='Y')-->
<tr>
<th scope="row">{$lang->is_default}</th>
<td>
<input type="checkbox" name="is_default" value="Y" <!--@if($module_info->is_default=='Y')-->checked="checked"<!--@end--> id="fld_for_default" class="checkbox" />
<label for="fld_for_default">{$lang->about_default}</label>
</td>
</tr>
<!--@end-->
<tr>
<th scope="row">{$lang->module_category}</th>
<td>
<select name="module_category_srl">
<option value="0">{$lang->notuse}</option>
<!--@foreach($module_category as $key => $val)-->
<option value="{$key}" <!--@if($module_info->module_category_srl==$key)-->selected="selected"<!--@end-->>{$val->title}</option>
<!--@end-->
</select>
<p>{$lang->about_module_category}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->browser_title}</th>
<td>
<input type="text" name="browser_title" value="{htmlspecialchars($module_info->browser_title)}" class="inputTypeText" />
<p>{$lang->about_browser_title}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->layout}</th>
<td>
<select name="layout_srl">
<option value="0">{$lang->notuse}</option>
<!--@foreach($layout_list as $key => $val)-->
<option value="{$val->layout_srl}" <!--@if($module_info->layout_srl==$val->layout_srl)-->selected="selected"<!--@end-->>{$val->title} ({$val->layout})</option>
<!--@end-->
</select>
<p>{$lang->about_layout}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->opage_caching_interval}</th>
<td>
<input type="text" name="opage_caching_interval" value="{(int)$module_info->caching_interval}" class="inputTypeText w40" /> {$lang->unit_min}
<p>{$lang->about_opage_caching_interval}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->opage_path}</th>
<td>
<input type="text" name="opage_path" value="{htmlspecialchars($module_info->path)}" class="inputTypeText w400" />
<p>{$lang->about_opage_path}<b>{realpath("./")}</b></p>
</td>
</tr>
</table>
<!-- 권한 출력 -->
<table cellspacing="0" class="tableType3 gap1">
<col width="130" />
<col width="*" />
<col width="80" />
<col width="80" />
<thead>
<tr>
<th scope="col">{$lang->grant}</th>
<th scope="col" colspan="3">{$lang->target}</th>
</tr>
</thead>
<tbody>
<!--@foreach($grant_list as $key => $val)-->
<tr>
<th scope="row">{$val->title}</th>
<td class="left">
<!--@foreach($group_list as $k => $v)-->
<input type="checkbox" class="checkbox" name="{$key}" value="{$v->group_srl}" id="grant_{$key}_{$v->group_srl}" <!--@if(is_array($module_info->grants[$key])&&in_array($v->group_srl,$module_info->grants[$key]))-->checked="checked"<!--@end-->/>
<label for="grant_{$key}_{$v->group_srl}">{$v->title}</label>
<!--@end-->
</td>
<td><a href="#" onclick="doSelectAll(this, '{$key}')" class="blue">{$lang->cmd_select_all}</a></td>
<td><a href="#" onclick="doUnSelectAll(this, '{$key}')" class="red">{$lang->cmd_unselect_all}</a></td>
</tr>
<!--@end-->
</tbody>
</table>
<div class="tRight gap1">
<span class="button"><input type="submit" value="{$lang->cmd_save}" accesskey="s" /></span>
<!--@if($module == 'admin')-->
<span class="button"><input type="button" value="{$lang->cmd_list}" onclick="location.href='./?module=admin&act=dispOpageAdminContent';return false;" /></span>
<!--@else-->
<span class="button"><input type="button" value="{$lang->cmd_back}" onclick="location.href=current_url.setQuery('module_srl','').setQuery('act','');return false;" /></span>
<!--@end-->
</div>
</form>