mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-14 00:39:57 +09:00
#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:
parent
7f90125627
commit
dc24001d46
21 changed files with 984 additions and 4 deletions
8
modules/opage/tpl/content.html
Normal file
8
modules/opage/tpl/content.html
Normal 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-->
|
||||
10
modules/opage/tpl/filter/delete_opage.xml
Normal file
10
modules/opage/tpl/filter/delete_opage.xml
Normal 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>
|
||||
24
modules/opage/tpl/filter/insert_opage.xml
Normal file
24
modules/opage/tpl/filter/insert_opage.xml
Normal 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>
|
||||
3
modules/opage/tpl/header.html
Normal file
3
modules/opage/tpl/header.html
Normal 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>
|
||||
79
modules/opage/tpl/index.html
Normal file
79
modules/opage/tpl/index.html
Normal 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>
|
||||
49
modules/opage/tpl/js/opage_admin.js
Normal file
49
modules/opage/tpl/js/opage_admin.js
Normal 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;
|
||||
}
|
||||
31
modules/opage/tpl/opage_delete.html
Normal file
31
modules/opage/tpl/opage_delete.html
Normal 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>
|
||||
|
||||
116
modules/opage/tpl/opage_insert.html
Normal file
116
modules/opage/tpl/opage_insert.html
Normal 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>
|
||||
Loading…
Add table
Add a link
Reference in a new issue