css 및 js 호출순서 조정기능 추가

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5785 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ngleader 2009-03-06 05:33:56 +00:00
parent 4f380d9c48
commit 61851f1dfe
2149 changed files with 109090 additions and 18689 deletions

View file

@ -1,17 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<module>
<grants>
<grant name="view" default="guest">
<title xml:lang="ko">열람</title>
<title xml:lang="zh-CN">查看</title>
<title xml:lang="jp">閲覧</title>
<title xml:lang="en">view</title>
<title xml:lang="zh-TW">檢視</title>
</grant>
</grants>
<grants />
<permissions />
<actions>
<action name="dispOpageIndex" type="view" index="true" />
<action name="dispOpageAdminContent" type="view" admin_index="true" standalone="true" />
<action name="dispOpageAdminGrantInfo" type="view" standalone="true" />
<action name="dispOpageAdminModuleConfig" type="view" standalone="true" />
<action name="dispOpageAdminInfo" type="view" standalone="true" />
<action name="dispOpageAdminInsert" type="view" standalone="true" />

View file

@ -5,11 +5,11 @@
* @brief 외부 페이지(opage) 모듈의 기본 언어팩
**/
$lang->opage = "외부 페이지";
$lang->opage_path = "외부 문서 위치";
$lang->opage_caching_interval = "캐싱 시간 설정";
$lang->opage = '외부 페이지';
$lang->opage_path = '외부 문서 위치';
$lang->opage_caching_interval = '캐싱 시간 설정';
$lang->about_opage = "XE가 아닌 외부 html 또는 php파일을 XE에서 사용할 수 있도록 하는 모듈입니다.<br />절대경로, 상대경로를 이용할 수 있으며 http:// 로 시작할 경우 서버 외부의 페이지도 표시할 수 있습니다";
$lang->about_opage_path= "외부문서의 위치를 입력해주세요.<br />/path1/path2/sample.php 와 같이 절대경로나 ../path2/sample.php와 같은 상대경로 모두 사용가능합니다.<br />http://url/sample.php 와 같이 사용하면 결과를 받아다가 출력을 하게 됩니다.<br />현재 XE가 설치된 절대경로는 다음과 같습니다.<br />";
$lang->about_opage_caching_interval = "단위는 분이며 정해진 시간동안은 임시 저장한 데이터를 출력하도록 합니다.<br />다른 서버의 정보를 출력하거나 데이터 출력시 많은 자원이 필요하면 원하시는 분 단위로 캐싱하시는 것을 추천해드립니다.<br />0 으로 하시면 캐싱을 하지 않습니다";
$lang->about_opage = 'XE가 아닌 외부 html 또는 php파일을 XE에서 사용할 수 있도록 하는 모듈입니다.<br />절대경로, 상대경로를 이용할 수 있으며 http:// 로 시작할 경우 서버 외부의 페이지도 표시할 수 있습니다';
$lang->about_opage_path= '외부문서의 위치를 입력해주세요.<br />/path1/path2/sample.php 와 같이 절대경로나 ../path2/sample.php와 같은 상대경로 모두 사용가능합니다.<br />http://url/sample.php 와 같이 사용하면 결과를 받아다가 출력을 하게 됩니다.<br />현재 XE가 설치된 절대경로는 다음과 같습니다.<br />';
$lang->about_opage_caching_interval = '단위는 분이며 정해진 시간동안은 임시 저장한 데이터를 출력하도록 합니다.<br />다른 서버의 정보를 출력하거나 데이터 출력시 많은 자원이 필요하면 원하시는 분 단위로 캐싱하시는 것을 추천해드립니다.<br />0 으로 하시면 캐싱을 하지 않습니다';
?>

View file

@ -9,7 +9,7 @@
$lang->opage_path = "外部頁面路徑";
$lang->opage_caching_interval = "暫存時間設置";
$lang->about_opage = "此模組可把外部HTML或PHP檔案插入到 XE中的模組。<br />可以使用絕對路徑及相對路徑。而且使用以http://開頭的網址時可以把外部主機中的頁面插入到XE當中。";
$lang->about_opage_path= "請輸入外部檔案路徑。<br />可以使用如同 /path1/path2/sample.php的絕對路徑或如 ../path2/sample.php的相對路徑。<br />如使用http://url/sample.php之類的地址可以把此頁面的輸出結果顯示到XE內部的指定位置。<br />目前安裝的XE絕對路徑如下:<br />";
$lang->about_opage_caching_interval = "單位為分。暫存時間內頁面將輸出臨時儲存的資料。<br />輸出外部主機訊息或資料時,如消耗資源很大,盡量把暫存時間設置大一點。<br />0 表示不暫存。";
$lang->about_opage = "此模組可把外部HTML或PHP檔案插入到XE中的模組。<br />可以使用絕對路徑及相對路徑。而且使用以http://開頭的網址時可以把外部主機中的頁面插入到XE當中。";
$lang->about_opage_path= "請輸入外部檔案路徑。<br />可以使用像『/path1/path2/sample.php』的絕對路徑或是『../path2/sample.php』的相對路徑。<br />如果是用『http://url/sample.php』之類的網址會將此頁面的結果顯示到XE內部的指定位置。<br />目前安裝的XE絕對路徑如下:<br />";
$lang->about_opage_caching_interval = "單位為分。暫存時間內頁面將輸出臨時儲存的資料。<br />輸出外部主機訊息或資料時,如消耗資源很大,盡量把暫存時間設大一點。<br />『0』表示不暫存。";
?>

View file

@ -17,64 +17,39 @@
* @brief 외부페이지 추가
**/
function procOpageAdminInsert() {
// module 모듈의 controller 객체 생성
// module 모듈의 model/controller 객체 생성
$oModuleController = &getController('module');
$oModuleModel = &getModel('module');
// 기본 모듈 정보로 등록된 변수 구함
$module_args = Context::gets('module_srl','module_category_srl','browser_title','is_default','layout_srl');
$module_args->module = 'opage';
$module_args->mid = Context::get('opage_name');
if($module_args->is_default!='Y') $module_args->is_default = 'N';
// 외부 문서 위치, 캐싱 시간은 extra_vars에 저장
$config_args = Context::gets('path','caching_interval');
$module_args->extra_vars = serialize($config_args);
// 게시판 모듈의 정보 설정
$args = Context::getRequestVars();
$args->module = 'opage';
$args->mid = $args->opage_name;
unset($args->opage_name);
// module_srl이 넘어오면 원 모듈이 있는지 확인
if($module_args->module_srl) {
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_args->module_srl);
if($args->module_srl) {
$module_info = $oModuleModel->getModuleInfoByModuleSrl($args->module_srl);
if($module_info->module_srl != $args->module_srl) unset($args->module_srl);
}
// is_default=='Y' 이면 기본 모듈을 제거
if($module_args->is_default=='Y') $oModuleController->clearDefaultModule();
// module_srl의 값에 따라 insert/update
if($module_info->module_srl != $module_args->module_srl) {
$output = $oModuleController->insertModule($module_args);
if(!$args->module_srl) {
$output = $oModuleController->insertModule($args);
$msg_code = 'success_registed';
$module_info->module_srl = $output->get('module_srl');
} else {
$output = $oModuleController->updateModule($module_args);
$output = $oModuleController->updateModule($args);
$msg_code = 'success_updated';
// 캐시 파일 삭제
$cache_file = sprintf("./files/cache/opage/%d.cache.php", $module_info->module_srl);
if(file_exists($cache_file)) FileHandler::removeFile($cache_file);
}
// 등록 실패시 에러 반환
if(!$output->toBool()) return $output;
/**
* 권한 저장
**/
// 현 모듈의 권한 목록을 가져옴
$grant_list = $this->xml_info->grant;
if(count($grant_list)) {
foreach($grant_list as $key => $val) {
$group_srls = Context::get($key);
if($group_srls) $arr_grant[$key] = explode('|@|',$group_srls);
}
$grants = serialize($arr_grant);
}
$oModuleController = &getController('module');
$oModuleController->updateModuleGrant($module_info->module_srl, $grants);
// 캐시 파일 삭제
$cache_file = sprintf("./files/cache/opage/%d.cache.php", $module_info->module_srl);
if(file_exists($cache_file)) FileHandler::removeFile($cache_file);
// 등록 성공후 return될 메세지 정리
$this->add("module_srl", $module_args->module_srl);
$this->add("module_srl", $output->get('module_srl'));
$this->add("opage", Context::get('opage'));
$this->setMessage($msg_code);
}

View file

@ -1,153 +1,153 @@
<?php
/**
* @class opageAdminView
* @author zero (zero@nzeo.com)
* @brief opage 모듈의 admin view 클래스
**/
class opageAdminView extends opage {
var $module_srl = 0;
var $list_count = 20;
var $page_count = 10;
/**
* @brief 초기화
**/
function init() {
// module_srl이 있으면 미리 체크하여 존재하는 모듈이면 module_info 세팅
$module_srl = Context::get('module_srl');
// module model 객체 생성
$oModuleModel = &getModel('module');
// 모듈 카테고리 목록을 구함
$module_category = $oModuleModel->getModuleCategories();
Context::set('module_category', $module_category);
// 템플릿 경로 구함 (opage의 경우 tpl에 관리자용 템플릿 모아놓음)
$this->setTemplatePath($this->module_path.'tpl');
}
/**
* @brief 외부페이지 관리 목록 보여줌
**/
function dispOpageAdminContent() {
$args->sort_index = "module_srl";
$args->page = Context::get('page');
$args->list_count = 40;
$args->page_count = 10;
$args->s_module_category_srl = Context::get('module_category_srl');
$output = executeQuery('opage.getOpageList', $args);
// 템플릿에 쓰기 위해서 context::set
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('opage_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
// 템플릿 파일 지정
$this->setTemplateFile('index');
}
/**
* @brief 선택된 외부페이지의 정보 출력
**/
function dispOpageAdminInfo() {
// GET parameter에서 module_srl을 가져옴
$module_srl = Context::get('module_srl');
// module model 객체 생성
if($module_srl) {
$oOpageModel = &getModel('opage');
$module_info = $oOpageModel->getOpage($module_srl);
if(!$module_info) {
unset($module_info);
unset($module_srl);
} else {
Context::set('module_info',$module_info);
}
// module_srl 값이 없다면 그냥 index 외부페이지를 보여줌
} else {
return $this->dispOpageAdminContent();
}
// 레이아웃이 정해져 있다면 레이아웃 정보를 추가해줌(layout_title, layout)
if($module_info->layout_srl) {
$oLayoutModel = &getModel('layout');
$layout_info = $oLayoutModel->getLayout($module_info->layout_srl);
$module_info->layout = $layout_info->layout;
$module_info->layout_title = $layout_info->layout_title;
}
// 레이아웃 목록을 구해옴
$oLayoutMode = &getModel('layout');
$layout_list = $oLayoutMode->getLayoutList();
Context::set('layout_list', $layout_list);
// 템플릿 파일 지정
$this->setTemplateFile('opage_info');
}
/**
* @brief 외부페이지 추가 출력
**/
function dispOpageAdminInsert() {
// 권한 그룹의 목록을 가져온다
$oMemberModel = &getModel('member');
$group_list = $oMemberModel->getGroups();
Context::set('group_list', $group_list);
// module.xml에서 권한 관련 목록을 구해옴
$grant_list = $this->xml_info->grant;
Context::set('grant_list', $grant_list);
// GET parameter에서 module_srl을 가져옴
$module_srl = Context::get('module_srl');
// module_srl이 있으면 해당 모듈의 정보를 구해서 세팅
if($module_srl) {
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
if($module_info->module_srl == $module_srl) Context::set('module_info',$module_info);
else {
unset($module_info);
unset($module_srl);
}
}
// module_srl이 없으면 sequence값으로 미리 구해 놓음
if(!$module_srl) $module_srl = getNextSequence();
Context::set('module_srl',$module_srl);
// 레이아웃 목록을 구해옴
$oLayoutMode = &getModel('layout');
$layout_list = $oLayoutMode->getLayoutList();
Context::set('layout_list', $layout_list);
// 템플릿 파일 지정
$this->setTemplateFile('opage_insert');
}
/**
* @brief 외부페이지 삭제 화면 출력
**/
function dispOpageAdminDelete() {
$module_srl = Context::get('module_srl');
if(!$module_srl) return $this->dispContent();
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
Context::set('module_info',$module_info);
// 템플릿 파일 지정
$this->setTemplateFile('opage_delete');
}
}
?>
<?php
/**
* @class opageAdminView
* @author zero (zero@nzeo.com)
* @brief opage 모듈의 admin view 클래스
**/
class opageAdminView extends opage {
var $module_srl = 0;
var $list_count = 20;
var $page_count = 10;
/**
* @brief 초기화
**/
function init() {
// module_srl이 있으면 미리 체크하여 존재하는 모듈이면 module_info 세팅
$module_srl = Context::get('module_srl');
// module model 객체 생성
$oModuleModel = &getModel('module');
// 모듈 카테고리 목록을 구함
$module_category = $oModuleModel->getModuleCategories();
Context::set('module_category', $module_category);
// 템플릿 경로 구함 (opage의 경우 tpl에 관리자용 템플릿 모아놓음)
$this->setTemplatePath($this->module_path.'tpl');
}
/**
* @brief 외부페이지 관리 목록 보여줌
**/
function dispOpageAdminContent() {
$args->sort_index = "module_srl";
$args->page = Context::get('page');
$args->list_count = 40;
$args->page_count = 10;
$args->s_module_category_srl = Context::get('module_category_srl');
$output = executeQuery('opage.getOpageList', $args);
// 템플릿에 쓰기 위해서 context::set
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('opage_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
// 템플릿 파일 지정
$this->setTemplateFile('index');
}
/**
* @brief 선택된 외부페이지의 정보 출력
**/
function dispOpageAdminInfo() {
// GET parameter에서 module_srl을 가져옴
$module_srl = Context::get('module_srl');
// module model 객체 생성
if($module_srl) {
$oOpageModel = &getModel('opage');
$module_info = $oOpageModel->getOpage($module_srl);
if(!$module_info) {
unset($module_info);
unset($module_srl);
} else {
Context::set('module_info',$module_info);
}
// module_srl 값이 없다면 그냥 index 외부페이지를 보여줌
} else {
return $this->dispOpageAdminContent();
}
// 레이아웃이 정해져 있다면 레이아웃 정보를 추가해줌(layout_title, layout)
if($module_info->layout_srl) {
$oLayoutModel = &getModel('layout');
$layout_info = $oLayoutModel->getLayout($module_info->layout_srl);
$module_info->layout = $layout_info->layout;
$module_info->layout_title = $layout_info->layout_title;
}
// 레이아웃 목록을 구해옴
$oLayoutMode = &getModel('layout');
$layout_list = $oLayoutMode->getLayoutList();
Context::set('layout_list', $layout_list);
// 템플릿 파일 지정
$this->setTemplateFile('opage_info');
}
/**
* @brief 외부페이지 추가 출력
**/
function dispOpageAdminInsert() {
// 권한 그룹의 목록을 가져온다
$oMemberModel = &getModel('member');
$group_list = $oMemberModel->getGroups();
Context::set('group_list', $group_list);
// module.xml에서 권한 관련 목록을 구해옴
$grant_list = $this->xml_info->grant;
Context::set('grant_list', $grant_list);
// GET parameter에서 module_srl을 가져옴
$module_srl = Context::get('module_srl');
// module_srl이 있으면 해당 모듈의 정보를 구해서 세팅
if($module_srl) {
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
if($module_info->module_srl == $module_srl) Context::set('module_info',$module_info);
else {
unset($module_info);
unset($module_srl);
}
}
// module_srl이 없으면 sequence값으로 미리 구해 놓음
if(!$module_srl) $module_srl = getNextSequence();
Context::set('module_srl',$module_srl);
// 레이아웃 목록을 구해옴
$oLayoutMode = &getModel('layout');
$layout_list = $oLayoutMode->getLayoutList();
Context::set('layout_list', $layout_list);
// 템플릿 파일 지정
$this->setTemplateFile('opage_insert');
}
/**
* @brief 외부페이지 삭제 화면 출력
**/
function dispOpageAdminDelete() {
$module_srl = Context::get('module_srl');
if(!$module_srl) return $this->dispContent();
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
Context::set('module_info',$module_info);
// 템플릿 파일 지정
$this->setTemplateFile('opage_delete');
}
}
?>

View file

@ -11,13 +11,6 @@
* @brief 설치시 추가 작업이 필요할시 구현
**/
function moduleInstall() {
// action forward에 등록 (관리자 모드에서 사용하기 위함)
$oModuleController = &getController('module');
$oModuleController->insertActionForward('opage', 'view', 'dispOpageIndex');
$oModuleController->insertActionForward('opage', 'view', 'dispOpageAdminContent');
$oModuleController->insertActionForward('opage', 'view', 'dispOpageAdminInsert');
$oModuleController->insertActionForward('opage', 'view', 'dispOpageAdminDelete');
// opage 에서 사용할 cache디렉토리 생성
FileHandler::makeDir('./files/cache/opage');
@ -28,14 +21,6 @@
* @brief 설치가 이상이 없는지 체크하는 method
**/
function checkUpdate() {
$oModuleModel = &getModel('module');
// 외부페이지 모듈을 업그레이드로 설치하였을 경우 필요한 action 값의 여부 체크 (2007. 09. 17)
if(!$oModuleModel->getActionForward('dispOpageIndex')) return true;
if(!$oModuleModel->getActionForward('dispOpageAdminContent')) return true;
if(!$oModuleModel->getActionForward('dispOpageAdminInsert')) return true;
if(!$oModuleModel->getActionForward('dispOpageAdminDelete')) return true;
// cache 디렉토리가 없으면 바로 디렉토리 생성
if(!is_dir('./files/cache/opage')) FileHandler::makeDir('./files/cache/opage');
@ -46,23 +31,6 @@
* @brief 업데이트 실행
**/
function moduleUpdate() {
$oModuleModel = &getModel('module');
$oModuleController = &getController('module');
// 외부페이지 모듈을 업그레이드로 설치하였을 경우 필요한 action 값 등록
if(!$oModuleModel->getActionForward('dispOpageIndex'))
$oModuleController->insertActionForward('opage', 'view', 'dispOpageIndex');
if(!$oModuleModel->getActionForward('dispOpageAdminContent'))
$oModuleController->insertActionForward('opage', 'view', 'dispOpageAdminContent');
if(!$oModuleModel->getActionForward('dispOpageAdminInsert'))
$oModuleController->insertActionForward('opage', 'view', 'dispOpageAdminInsert');
if(!$oModuleModel->getActionForward('dispOpageAdminDelete'))
$oModuleController->insertActionForward('opage', 'view', 'dispOpageAdminDelete');
return new Object(0, 'success_updated');
}

View file

@ -19,9 +19,6 @@
* @brief 일반 요청시 출력
**/
function dispOpageIndex() {
// 권한 체크
if(!$this->grant->view) return $this->stop('msg_not_permitted');
// 외부 페이지 모듈의 정보를 구함
$oOpageModel = &getModel('opage');
$module_info = $oOpageModel->getOpage($this->module_srl);

View file

@ -0,0 +1,3 @@
<!--#include("./header.html")-->
{$grant_content}

View file

@ -1,5 +1,5 @@
<!--%import("js/blog_admin.js")-->
<!--%import("js/opage_admin.js")-->
<h3>{$lang->opage} <span class="gray">{$lang->cmd_management}</span></h3>
<h3 class="xeAdmin">{$lang->opage} <span class="gray">{$lang->cmd_management}</span></h3>
<div class="infoText">{nl2br($lang->about_opage)}</div>

View file

@ -2,21 +2,21 @@
<!--#include("header.html")-->
<!-- 정보 -->
<div class="summary">
<strong>Total</strong> <em>{number_format($total_count)}</em>, page <strong>{number_format($opage)}</strong>/{number_format($total_opage)}
</div>
<form action="./" method="get" onsubmit="return doChangeCategory(this);" id="fo_list">
<!-- 목록 -->
<table cellspacing="0" class="adminTable">
<table cellspacing="0" class="rowTable">
<caption>Total {number_format($total_count)}, page {number_format($opage)}/{number_format($total_opage)}</caption>
<thead>
<tr>
<th scope="col"><div>{$lang->no}</div></th>
<th scope="col"><div><input type="checkbox" onclick="XE.checkboxToggleAll(); return false;" /></div></th>
<th scope="col">
<div>
<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" class="w120">
<select name="module_category_srl" class="fullWidth">
<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>
@ -25,7 +25,6 @@
<option value="-1">{$lang->cmd_management}</option>
</select>
<input type="submit" name="go_button" id="go_button" value="GO" class="buttonTypeGo" />
</form>
</div>
</th>
<th scope="col" class="half_wide"><div>{$lang->mid}</div></th>
@ -39,6 +38,7 @@
<!--@foreach($opage_list as $no => $val)-->
<tr class="row{$cycle_idx}">
<td class="number center">{$no}</td>
<td class="center"><input type="checkbox" name="cart" value="{$val->module_srl}" /></td>
<td>
<!--@if(!$val->module_category_srl)-->
{$lang->not_exists}
@ -46,22 +46,29 @@
{$module_category[$val->module_category_srl]->title}
<!--@end-->
</td>
<td><a href="{getUrl('act','dispOpageAdminInsert','module_srl',$val->module_srl)}">{htmlspecialchars($val->mid)}</a></td>
<td><a href="{getUrl('act','dispOpageAdminInsert','module_srl',$val->module_srl)}">{htmlspecialchars($val->browser_title)}</a></td>
<td class="date nowrap center">{zdate($val->regdate,"Y-m-d")}</td>
<td class="view center"><a href="{getUrl('','mid',$val->mid)}" onclick="window.open(this.href); return false;">{$lang->cmd_view}</a></td>
<td class="copy center"><a href="./?module=module&act=dispModuleAdminCopyModule&module_srl={$val->module_srl}" onclick="popopen(this.href);return false;">{$lang->cmd_copy}</a></td>
<td class="delete center"><!--@if($val->is_default!='Y')--><a href="{getUrl('act','dispOpageAdminDelete','module_srl', $val->module_srl)}">{$lang->cmd_delete}</a><!--@end--></td>
<td>{htmlspecialchars($val->mid)}</td>
<td><a href="{getUrl('','mid',$val->mid)}" onclick="window.open(this.href); return false;">{htmlspecialchars($val->browser_title)}</a></td>
<td>{zdate($val->regdate,"Y-m-d")}</td>
<td><a href="{getUrl('act','dispOpageAdminInsert','module_srl',$val->module_srl)}" class="buttonSet buttonSetting"><span>{$lang->cmd_setup}</a></span></td>
<td><a href="./?module=module&act=dispModuleAdminCopyModule&module_srl={$val->module_srl}" onclick="popopen(this.href);return false;" class="buttonSet buttonCopy"><span>{$lang->cmd_copy}</span></a></td>
<td><!--@if($val->is_default!='Y')--><a href="{getUrl('act','dispOpageAdminDelete','module_srl', $val->module_srl)}" class="buttonSet buttonDelete"><span>{$lang->cmd_delete}</span></a><!--@end--></td>
</tr>
<!--@end-->
<tr>
<td colspan="8" class="right">
<a href="{getUrl('act','dispOpageAdminInsert','module_srl','')}" class="button"><span>{$lang->cmd_make}</span></a>
</td>
</tr>
</tbody>
</table>
<!-- 버튼 -->
<div class="clear">
<div class="fl">
<a href="{getUrl('','module','module','act','dispModuleAdminModuleSetup')}" onclick="doCartSetup(this.href); return false;" class="button green"><span>{$lang->cmd_setup}</span></a>
<a href="{getUrl('','module','module','act','dispModuleAdminModuleGrantSetup')}" onclick="doCartSetup(this.href); return false;" class="button blue"><span>{$lang->cmd_manage_grant}</span></a>
</div>
<div class="fr ">
<a href="{getUrl('act','dispOpageAdminInsert','module_srl','')}" class="button black strong"><span>{$lang->cmd_make}</span></a>
</div>
</div>
</form>
<!-- 페이지 네비게이션 -->
<div class="pagination a1">

View file

@ -47,3 +47,16 @@ function doChangeCategory(fo_obj) {
}
return true;
}
/* 일괄 설정 */
function doCartSetup(url) {
var module_srl = new Array();
jQuery('#fo_list input[name=cart]:checked').each(function() {
module_srl[module_srl.length] = jQuery(this).val();
});
if(module_srl.length<1) return;
url += "&module_srls="+module_srl.join(',');
popopen(url,'modulesSetup');
}

View file

@ -5,8 +5,8 @@
<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="adminTable">
<caption>{$lang->confirm_delete}</caption>
<h4 class="xeAdmin">{$lang->confirm_delete}</h4>
<table cellspacing="0" class="rowTable">
<tr>
<th scope="row"><div>{$lang->module_name}</div></th>
<td class="wide">{$module_info->mid}</td>
@ -16,10 +16,10 @@
<td>{$module_info->module}</td>
</tr>
<tr>
<td colspan="2" class="right">
<th colspan="2" class="button">
<span class="button black strong"><input type="submit" value="{$lang->cmd_delete}" /></span>
<a href="{getUrl('act','dispOpageAdminContent')}" class="button"><span>{$lang->cmd_back}</span></a>
<span class="button"><input type="submit" value="{$lang->cmd_delete}" /></span>
</td>
</th>
</tr>
</table>

View file

@ -8,7 +8,7 @@
<input type="hidden" name="is_default" value="Y" />
<!--@end-->
<table cellspacing="0" class="adminTable">
<table cellspacing="0" class="rowTable">
<tr class="row2">
<th scope="row"><div>{$lang->mid}</div></th>
<td colspan="3">
@ -40,7 +40,8 @@
<tr>
<th scope="row"><div>{$lang->browser_title}</div></th>
<td colspan="3">
<input type="text" name="browser_title" value="{htmlspecialchars($module_info->browser_title)}" class="inputTypeText w400" />
<input type="text" name="browser_title" value="{htmlspecialchars($module_info->browser_title)}" class="inputTypeText w400" id="browser_title"/>
<a href="{getUrl('','module','module','act','dispModuleAdminLangcode','target','browser_title')}" onclick="popopen(this.href);return false;" class="buttonSet buttonSetting"><span>{$lang->cmd_find_langcode}</span></a>
<p>{$lang->about_browser_title}</p>
</td>
</tr>
@ -70,34 +71,16 @@
<p>{$lang->about_opage_path}<b>{realpath("./")}</b></p>
</td>
</tr>
<tr>
<th scope="col"><div>{$lang->grant}</div></th>
<th scope="col" colspan="3"><div>{$lang->target}</div></th>
</tr>
<!--@foreach($grant_list as $key => $val)-->
<tr class="row{$cycle_idx}">
<th scope="row"><div>{$val->title}</div></th>
<td class="wide">
<!--@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 class="selectAll center"><a href="#" onclick="XE.checkboxToggleAll('{$key}', { checked:true }); return false;" class="blue">{$lang->cmd_select_all}</a></td>
<td class="deSelectAll center"><a href="#" onclick="XE.checkboxToggleAll('{$key}', { checked:false }); return false;" class="red">{$lang->cmd_unselect_all}</a></td>
</tr>
<!--@end-->
<tr class="row2">
<td colspan="4" class="right">
<span class="button"><input type="submit" value="{$lang->cmd_save}" accesskey="s" /></span>
<th colspan="4" class="button">
<span class="button black strong"><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-->
</td>
</th>
</tr>
</table>
</div>
</form>