mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-09 19:51:42 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@2 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
2569c554ce
commit
c040d4d713
317 changed files with 14496 additions and 0 deletions
148
modules/admin/admin.module.php
Normal file
148
modules/admin/admin.module.php
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
<?php
|
||||
/**
|
||||
* @file : modules/admin/admin.module.php
|
||||
* @author : zero <zero@nzeo.com>
|
||||
* @desc : 기본 모듈중의 하나인 admin module
|
||||
* Module class에서 상속을 받아서 사용
|
||||
* action 의 경우 disp/proc 2가지만 존재하며 이는 action명세서에
|
||||
* 미리 기록을 하여야 함
|
||||
**/
|
||||
|
||||
class admin extends Module {
|
||||
|
||||
/**
|
||||
* 모듈의 정보
|
||||
**/
|
||||
var $cur_version = "20070130_0.01";
|
||||
|
||||
/**
|
||||
* 기본 action 지정
|
||||
* $act값이 없거나 잘못된 값이 들어올 경우 $default_act 값으로 진행
|
||||
**/
|
||||
var $default_act = '';
|
||||
|
||||
// 모듈에서 사용할 변수들
|
||||
var $skin = "default";
|
||||
|
||||
/**
|
||||
* 현재 모듈의 초기화를 위한 작업을 지정해 놓은 method
|
||||
* css/js파일의 load라든지 lang파일 load등을 미리 선언
|
||||
*
|
||||
* Init() => 공통
|
||||
* dispInit() => disp시에
|
||||
* procInit() => proc시에
|
||||
*
|
||||
* $this->module_path는 현재 이 모듈파일의 위치를 나타낸다
|
||||
* (ex: $this->module_path = "./modules/admin/";
|
||||
**/
|
||||
|
||||
// 초기화
|
||||
function init() {/*{{{*/
|
||||
// admin 모듈의 언어 로드
|
||||
Context::loadLang($this->module_path.'lang');
|
||||
|
||||
// 관리자 모듈 목록을 세팅
|
||||
$module_list = module_manager::getAdminModuleList();
|
||||
Context::set('module_list', $module_list);
|
||||
}/*}}}*/
|
||||
|
||||
// disp 초기화
|
||||
function dispInit() {/*{{{*/
|
||||
// 접속 사용자에 대한 체크
|
||||
$oMember = getModule('member');
|
||||
$logged_info = $oMember->getLoggedInfo();
|
||||
|
||||
// 로그인 하지 않았다면 로그인 폼 출력
|
||||
if(!$oMember->isLogged()) return $this->act = 'dispLogin';
|
||||
|
||||
// 로그인되었는데 관리자(member->is_admin!=1)가 아니면 오류 표시
|
||||
if($logged_info->is_admin != 'Y') {
|
||||
Context::set('msg_code', 'msg_is_not_administrator');
|
||||
return $this->act = 'dispError';
|
||||
}
|
||||
|
||||
// 관리자용 레이아웃으로 변경
|
||||
$this->setLayoutPath($this->getLayoutPath());
|
||||
$this->setLayoutTpl($this->getLayoutTpl());
|
||||
|
||||
return true;
|
||||
}/*}}}*/
|
||||
|
||||
// proc 초기화
|
||||
function procInit() {/*{{{*/
|
||||
// 로그인/로그아웃 act의 경우는 패스~
|
||||
if(in_array($this->act, array('procLogin', 'procLogout'))) return true;
|
||||
|
||||
// 접속 사용자에 대한 체크
|
||||
$oMember = getModule('member');
|
||||
$logged_info = $oMember->getLoggedInfo();
|
||||
|
||||
// 로그인되었는데 관리자(member->is_admin!=1)가 아니면 오류 표시
|
||||
if($logged_info->is_admin != 'Y') {
|
||||
$this->setError(-1);
|
||||
$this->setMessage('msg_is_not_administrator');
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}/*}}}*/
|
||||
|
||||
/**
|
||||
* 여기서부터는 action의 구현
|
||||
* request parameter의 경우 각 method의 첫번째 인자로 넘어온다
|
||||
*
|
||||
* dispXXXX : 출력을 위한 method, output에 tpl file이 지정되어야 한다
|
||||
* procXXXX : 처리를 위한 method, output에는 error, message가 지정되어야 한다
|
||||
*
|
||||
* 변수의 사용은 Context::get('이름')으로 얻어오면 된다
|
||||
**/
|
||||
|
||||
// 출력부분
|
||||
function dispAdminIndex() {/*{{{*/
|
||||
$this->setTemplateFile('index');
|
||||
}/*}}}*/
|
||||
|
||||
function dispLogin() {/*{{{*/
|
||||
if(Context::get('is_logged')) return $this->dispAdminIndex();
|
||||
$this->setTemplateFile('login_form');
|
||||
}/*}}}*/
|
||||
|
||||
function dispLogout() {/*{{{*/
|
||||
if(!Context::get('is_logged')) return $this->dispAdminIndex();
|
||||
$this->setTemplateFile('logout');
|
||||
}/*}}}*/
|
||||
|
||||
function dispError() {/*{{{*/
|
||||
Context::set('error_msg', Context::getLang( Context::get('msg_code') ) );
|
||||
$this->setTemplateFile('error');
|
||||
}/*}}}*/
|
||||
|
||||
// 실행부분
|
||||
function procLogin() {/*{{{*/
|
||||
// 아이디, 비밀번호를 받음
|
||||
$user_id = Context::get('user_id');
|
||||
$password = Context::get('password');
|
||||
// member모듈 객체 생성
|
||||
$oMember = getModule('member');
|
||||
return $oMember->doLogin($user_id, $password);
|
||||
}/*}}}*/
|
||||
|
||||
function procLogout() {/*{{{*/
|
||||
// member모듈 객체 생성
|
||||
$oMember = getModule('member');
|
||||
return $oMember->doLogout();
|
||||
}/*}}}*/
|
||||
|
||||
/**
|
||||
* 여기부터는 이 모듈과 관련된 라이브러리 개념의 method들
|
||||
**/
|
||||
|
||||
function getLayoutPath() {/*{{{*/
|
||||
return $this->template_path;
|
||||
}/*}}}*/
|
||||
|
||||
function getLayoutTpl() {/*{{{*/
|
||||
return "layout.html";
|
||||
}/*}}}*/
|
||||
}
|
||||
?>
|
||||
9
modules/admin/lang/ko.lang.php
Normal file
9
modules/admin/lang/ko.lang.php
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<?php
|
||||
/**
|
||||
* @file : modules/member/lang/ko.lang.php
|
||||
* @author : zero <zero@nzeo.com>
|
||||
* @desc : 한국어 언어팩 (기본적인 내용만 수록)
|
||||
**/
|
||||
|
||||
$lang->msg_is_not_administrator = '관리자만 접속이 가능합니다';
|
||||
?>
|
||||
11
modules/admin/module.xml
Normal file
11
modules/admin/module.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<module version="0.1">
|
||||
<title xml:lang="ko">관리자 툴</title>
|
||||
<title xml:lang="en">Admin tool</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<name xml:lang="en">zero</name>
|
||||
<description xml:lang="ko">모듈 관리 툴</description>
|
||||
<description xml:lang="en">Admin tool</description>
|
||||
</author>
|
||||
<module>
|
||||
22
modules/admin/skins/default/css/admin.css
Normal file
22
modules/admin/skins/default/css/admin.css
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
#admin_title {
|
||||
font-weight:bold;
|
||||
float:left;
|
||||
height:30px;
|
||||
}
|
||||
|
||||
#admin_info {
|
||||
float:right;
|
||||
height:30px;
|
||||
}
|
||||
|
||||
#admin_module_list {
|
||||
clear:both;
|
||||
float:left;
|
||||
}
|
||||
|
||||
#admin_module_content {
|
||||
position:relative;
|
||||
margin-left:150px;
|
||||
left:0px;
|
||||
top:30px;
|
||||
}
|
||||
1
modules/admin/skins/default/error.html
Normal file
1
modules/admin/skins/default/error.html
Normal file
|
|
@ -0,0 +1 @@
|
|||
{$error_msg}
|
||||
10
modules/admin/skins/default/filter/filter.login.xml
Normal file
10
modules/admin/skins/default/filter/filter.login.xml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<filter id="login">
|
||||
<field>
|
||||
<item target="user_id" required="true" filter="user_id"/>
|
||||
<item target="password" required="true" />
|
||||
</field>
|
||||
<response>
|
||||
<item name="error" />
|
||||
<item name="message" />
|
||||
</response>
|
||||
</filter>
|
||||
12
modules/admin/skins/default/filter/filter.logout.xml
Normal file
12
modules/admin/skins/default/filter/filter.logout.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<filter id="logout">
|
||||
<field>
|
||||
<item target="act" required="true" />
|
||||
</field>
|
||||
<parameter>
|
||||
<item param="act" target="act" />
|
||||
</parameter>
|
||||
<response>
|
||||
<item name="error" />
|
||||
<item name="message" />
|
||||
</response>
|
||||
</filter>
|
||||
1
modules/admin/skins/default/index.html
Normal file
1
modules/admin/skins/default/index.html
Normal file
|
|
@ -0,0 +1 @@
|
|||
haha
|
||||
27
modules/admin/skins/default/js/admin.js
Normal file
27
modules/admin/skins/default/js/admin.js
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
/**
|
||||
* @file : modules/admin/js/admin.js
|
||||
* @author : zero <zero@nzeo.com>
|
||||
* @desc : admin 모듈의 javascript
|
||||
**/
|
||||
|
||||
// 현재 페이지 reload
|
||||
function procReload(ret_obj, response_tags) {
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
|
||||
location.href = location.href;
|
||||
}
|
||||
|
||||
// 로그아웃
|
||||
function procLogout(ret_obj, response_tags) {
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
|
||||
location.href = "./admin.php";
|
||||
}
|
||||
|
||||
// 로그인폼에서 아이디 포커스
|
||||
function procAdminLoginFocus() {
|
||||
var fo = xGetElementById('user_id');
|
||||
if(fo) fo.focus();
|
||||
}
|
||||
21
modules/admin/skins/default/layout.html
Normal file
21
modules/admin/skins/default/layout.html
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<!--%import("css/admin.css")-->
|
||||
<!--%import("js/admin.js")-->
|
||||
|
||||
<!--#include("./common/tpl/common_header.html")-->
|
||||
|
||||
<div id="admin_title"><a href="./admin.php">zeroboard5</a></div>
|
||||
<div id="admin_info">
|
||||
<a href="{getUrl('act','dispLogout')}">{$lang->cmd_logout}</a>
|
||||
</div>
|
||||
<div id="admin_module_list">
|
||||
<!--@foreach($module_list as $module_name => $module_title)-->
|
||||
<div <!--@if($module_name==$sid)-->style="font-weight:bold;"<!--@end-->>
|
||||
<a href="{getUrl('sid',$module_name,'act','','module_srl','','page','')}">{$module_title}</a>
|
||||
</div>
|
||||
<!--@end-->
|
||||
</div>
|
||||
<div id="admin_module_content">
|
||||
{$content}
|
||||
</div>
|
||||
|
||||
<!--#include("./common/tpl/common_footer.html")-->
|
||||
30
modules/admin/skins/default/login_form.html
Normal file
30
modules/admin/skins/default/login_form.html
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<!--%import("filter/filter.login.xml")-->
|
||||
<!--%import("js/admin.js")-->
|
||||
|
||||
<form action="./" method="get" onsubmit="return procFormFilter(this, login, procReload)">
|
||||
<input type="hidden" name="sid" value="{$sid}" />
|
||||
<input type="hidden" name="act" value="procLogin" />
|
||||
<table>
|
||||
<col width="120" />
|
||||
<col width="*" />
|
||||
<tr>
|
||||
<th>{$lang->user_id}</th>
|
||||
<td><input type="text" name="user_id" id="user_id" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->password}</th>
|
||||
<td><input type="password" name="password" value="" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{@getUrl('act','')}'" />
|
||||
<input type="submit" value="{$lang->cmd_login}" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
xAddEventListener(window, 'load', procAdminLoginFocus);
|
||||
</script>
|
||||
21
modules/admin/skins/default/logout.html
Normal file
21
modules/admin/skins/default/logout.html
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<!--%import("filter/filter.logout.xml")-->
|
||||
<!--%import("js/admin.js")-->
|
||||
|
||||
<form action="./admin.php" method="get" onsubmit="return procFormFilter(this, logout, procLogout)">
|
||||
<input type="hidden" name="act" value="procLogout" />
|
||||
<table>
|
||||
<tr>
|
||||
<th>{$lang->cmd_logout}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lang->confirm_logout}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{@getUrl('act','')}'" />
|
||||
<input type="submit" value="{$lang->cmd_logout}" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
Loading…
Add table
Add a link
Reference in a new issue