git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2327 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2007-08-12 03:59:52 +00:00
commit 8326004cb2
2773 changed files with 91485 additions and 0 deletions

View file

@ -0,0 +1,59 @@
<?php
/**
* @class adminAdminController
* @author zero (zero@nzeo.com)
* @brief admin 모듈의 admin controller class
**/
class adminAdminController extends admin {
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief 숏컷 추가
**/
function procAdminInsertShortCut() {
$module = Context::get('selected_module');
$output = $this->insertShortCut($module);
if(!$output->toBool()) return $output;
$this->setMessage('success_registed');
}
/**
* @brief 숏컷의 삭제
**/
function procAdminDeleteShortCut() {
$args->module = Context::get('selected_module');
// 삭제 불가능 바로가기의 처리
if(in_array($args->module, array('module','addon','widget','layout'))) return new Object(-1, 'msg_manage_module_cannot_delete');
$output = executeQuery('admin.deleteShortCut', $args);
if(!$output->toBool()) return $output;
$this->setMessage('success_deleted');
}
/**
* @brief 관리자 페이지의 단축 메뉴 추가
**/
function insertShortCut($module) {
// 선택된 모듈의 정보중에서 admin_index act를 구함
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoXml($module);
$args->module = $module;
$args->title = $module_info->title;
$args->default_act = $module_info->admin_index_act;
if(!$args->default_act) return new Object(-1, 'msg_default_act_is_null');
$output = executeQuery('admin.insertShortCut', $args);
return $output;
}
}
?>

View file

@ -0,0 +1,42 @@
<?php
/**
* @class adminAdminModel
* @author zero (zero@nzeo.com)
* @brief admin 모듈의 admin model class
**/
class adminAdminModel extends admin {
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief admin shortcut 등록된 목록을 return;
**/
function getShortCuts() {
$output = executeQuery('admin.getShortCutList');
if(!$output->toBool()) return $output;
if(!is_array($output->data)) $list = array($output->data);
else $list = $output->data;
foreach($list as $val) {
$shortcut_list[$val->module] = $val;
}
// 모듈 목록을 구해와서 숏컷에 해당하는 타이틀을 추출
$oModuleModel = &getModel('module');
$module_list = $oModuleModel->getModulesXmlInfo();
foreach($module_list as $key => $val) {
$module_name = $val->module;
if($shortcut_list[$module_name]) $shortcut_list[$module_name]->title = $val->title;
}
return $shortcut_list;
}
}
?>

View file

@ -0,0 +1,85 @@
<?php
/**
* @class adminAdminView
* @author zero (zero@nzeo.com)
* @brief admin 모듈의 admin view class
**/
class adminAdminView extends admin {
/**
* @brief 초기화
**/
function init() {
if(!$this->grant->is_admin) return;
// template path 지정
$this->setTemplatePath($this->module_path.'tpl');
// 접속 사용자에 대한 체크
$oMemberModel = &getModel('member');
$logged_info = $oMemberModel->getLoggedInfo();
// 관리자용 레이아웃으로 변경
$this->setLayoutPath($this->getTemplatePath());
$this->setLayoutFile('layout.html');
// shortcut 가져오기
$oAdminModel = &getAdminModel('admin');
$shortcut_list = $oAdminModel->getShortCuts();
Context::set('shortcut_list', $shortcut_list);
// 현재 실행중인 모듈을 구해 놓음
$running_module = strtolower(preg_replace('/([a-z]+)([A-Z]+)([a-z]+)(.*)/', '\\2\\3', $this->act));
Context::set('running_module', $running_module);
$db_info = Context::getDBInfo();
Context::set('time_zone_list', $GLOBALS['time_zone']);
Context::set('time_zone', $GLOBALS['_time_zone']);
Context::set('use_rewrite', $db_info->use_rewrite=='Y'?'Y':'N');
Context::setBrowserTitle("ZeroboardXE Admin Page");
}
/**
* @brief 관리자 메인 페이지 출력
**/
function dispAdminIndex() {
// 공식사이트에서 최신 뉴스를 가져옴
$newest_news_url = sprintf("http://news.zeroboard.com/%s/news.php", Context::getLangType());
$cache_file = sprintf("./files/cache/newest_news.%s.cache.php", Context::getLangType());
// 1시간 단위로 캐싱 체크
if(!file_exists($cache_file) || filectime($cache_file)+ 60*60 < time()) {
FileHandler::getRemoteFile($newest_news_url, $cache_file);
}
if(file_exists($cache_file)) {
$oXml = new XmlParser();
$buff = $oXml->parse(FileHandler::readFile($cache_file));
$item = $buff->zbxe_news->item;
if($item) {
if(!is_array($item)) $item = array($item);
foreach($item as $key => $val) {
$obj = null;
$obj->title = $val->body;
$obj->date = $val->attrs->date;
$obj->url = $val->attrs->url;
$news[] = $obj;
}
Context::set('news', $news);
}
}
$this->setTemplateFile('index');
}
/**
* @brief 관리자 메뉴 숏컷 출력
**/
function dispAdminShortCut() {
$this->setTemplateFile('shortcut_list');
}
}
?>

View file

@ -0,0 +1,45 @@
<?php
/**
* @class admin
* @author zero (zero@nzeo.com)
* @brief admin 모듈의 high class
**/
class admin extends ModuleObject {
/**
* @brief 설치시 추가 작업이 필요할시 구현
**/
function moduleInstall() {
// 게시판, 회원관리, 레이아웃관리등 자주 사용될 module을 admin_shortcut에 등록
$oAdminController = &getAdminController('admin');
$oAdminController->insertShortCut('blog');
$oAdminController->insertShortCut('board');
$oAdminController->insertShortCut('page');
$oAdminController->insertShortCut('menu');
$oAdminController->insertShortCut('layout');
$oAdminController->insertShortCut('addon');
$oAdminController->insertShortCut('widget');
$oAdminController->insertShortCut('member');
$oAdminController->insertShortCut('module');
return new Object();
}
/**
* @brief 설치가 이상이 없는지 체크하는 method
**/
function checkUpdate() {
return false;
}
/**
* @brief 업데이트 실행
**/
function moduleUpdate() {
return new Object();
}
}
?>

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<module version="0.1">
<title xml:lang="ko">관리자 모듈</title>
<title xml:lang="en">Administrator Module</title>
<title xml:lang="es">Modules de administración</title>
<title xml:lang="zh-CN">管理员模块</title>
<title xml:lang="jp">管理者用モジュール</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>
<name xml:lang="es">zero</name>
<name xml:lang="zh-CN">zero</name>
<name xml:lang="jp">Zero</name>
<description xml:lang="ko">각 모듈들의 기능을 나열하고 관리자용 레이아웃을 적용하여 관리 기능을 사용할 수 있도록 하는 모듈입니다.</description>
<description xml:lang="en">This module shows a list of features of each module, and enables you to use a quite few of managers by applying layout for administrator.</description>
<description xml:lang="es">Lista las los funciónes de modules y aplica diseño de administración para manejar sitio.</description>
<description xml:lang="zh-CN">列出各模块的功能并使用管理员布局,可以让其使用管理功能的模块。</description>
<description xml:lang="jp">各モジュールの機能を羅列し、管理者用のレイアウトを適用させ、管理機能が使用できるようにするモジュールです。</description>
</author>
</module>

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<module>
<actions>
<action name="dispAdminIndex" type="view" standalone="true" index="true"/>
<action name="dispAdminShortCut" type="view" standalone="true" />
<action name="procAdminInsertShortCut" type="controller" standalone="true" />
<action name="procAdminDeleteShortCut" type="controller" standalone="true" />
</actions>
</module>

View file

@ -0,0 +1,70 @@
<?php
/**
* @file en.lang.php
* @author zero (zero@nzeo.com)
* @brief English Language Pack (Only basic words are included here)
**/
$lang->newest_news = "Latest News";
$lang->env_setup = "Setting";
$lang->item_module = "Module List";
$lang->item_addon = "Addon List";
$lang->item_widget = "Widget List";
$lang->item_layout = "Layout List";
$lang->module_name = "Module Name";
$lang->addon_name = "Addon Name";
$lang->version = "Version";
$lang->author = "Developer";
$lang->table_count = "Number of Table";
$lang->installed_path = "Installed Path";
$lang->cmd_shortcut_management = "Edit Menues";
$lang->msg_is_not_administrator = 'Administrator only';
$lang->msg_manage_module_cannot_delete = 'Shortcuts of module, addon, layout, widget cannot be removed';
$lang->msg_default_act_is_null = 'Shortcut could not be registered because default admin Action is not set';
$lang->welcome_to_zeroboard_xe = 'Welcome to the admin page of Zeroboard XE';
$lang->about_admin_page = "Admin page is still being developing,\nWe will add essential contents by accepting many good suggestions during Closebeta.";
$lang->zeroboard_xe_user_links = 'Links for Users';
$lang->zeroboard_xe_developer_links = 'Links for Developers';
$lang->xe_user_links = array(
'Official Website' => 'http://www.zeroboard.com',
//'Close Beta website' => 'http://spring.zeroboard.com',
//'Module morgue' => 'http://www.zeroboard.com',
//'Addon morgue' => 'http://www.zeroboard.com',
//'Widget morgue' => 'http://www.zeroboard.com',
//'Module Skin morgue' => 'http://www.zeroboard.com',
//'Widget Skin morgue' => 'http://www.zeroboard.com',
//'Layout Skin morgue' => 'http://www.zeroboard.com',
);
$lang->xe_developer_links = array(
//'Manual' => 'http://www.zeroboard.com/wiki/manual',
"Developer's forum" => 'http://spring.zeroboard.com',
'Issue Tracking' => 'http://trac.zeroboard.com',
'SVN Repository' => 'http://svn.zeroboard.com',
'doxygen document' => 'http://doc.zeroboard.com',
'PDF Documentation' => 'http://doc.zeroboard.com/zeroboard_xe.pdf',
);
$lang->zeroboard_xe_usefulness_module = 'Useful Modules';
$lang->xe_usefulness_modules = array(
'dispEditorAdminIndex' => 'Editor Manager',
'dispDocumentAdminList' => 'Article Manager',
'dispCommentAdminList' => 'Comment Manager',
'dispFileAdminList' => 'Attachment Manager',
'dispPollAdminList' => 'Poll Manager',
'dispSpamfilterAdminConfig' => 'Spam Filter Manager',
'dispCounterAdminIndex' => 'Counter Log',
);
$lang->xe_license = 'Zeroboard XE complies with the GPL';
$lang->about_shortcut = 'You may remove shortcuts of modules which are registered on frequently using module list';
?>

View file

@ -0,0 +1,66 @@
<?php
/**
* @file es.lang.php
* @author zero (zero@nzeo.com)
* @brief Paquete lenguaje Español (solo los basicos)
**/
$lang->item_module = "Lista de Módulos";
$lang->item_addon = "Lista de Adiciónales";
$lang->item_widget = "Lista de Widget";
$lang->item_layout = "Liasta de Diseño";
$lang->module_name = "Nombre de Módulo";
$lang->addon_name = "Nombre de Adición";
$lang->version = "Versión";
$lang->author = "Autor";
$lang->table_count = "Numero de Tablos";
$lang->installed_path = "Paso de instalación";
$lang->cmd_shortcut_management = "Modificar Menú";
$lang->msg_is_not_administrator = 'Solo administrador puede entrar.';
$lang->msg_manage_module_cannot_delete = 'No puede eliminar acceso directo de Módulos, Adiciónales, Diseño y Widget.';
$lang->msg_default_act_is_null = 'No puede registrar acceso directo por acción de administrador determinado no esta registrado.';
$lang->welcome_to_zeroboard_xe = 'Esto es Pagina de Administrador de ZeroBoard XE';
$lang->about_admin_page = "El pagina de Administración no esta listo.";
$lang->zeroboard_xe_user_links = 'Enlace para usuarios ';
$lang->zeroboard_xe_developer_links = 'Enlace para desarrolladores';
$lang->xe_user_links = array(
'Pagina de web oficial' => 'http://www.zeroboard.com',
//'Sitio para beta cerrado' => 'http://spring.zeroboard.com',
//'Depósitorio de Módulos´ => 'http://www.zeroboard.com',
//'Depósitorio de Adiciónales' => 'http://www.zeroboard.com',
//'Depósitorio de Widgets' => 'http://www.zeroboard.com',
//'Depósitorio de carátulas de módulos' => 'http://www.zeroboard.com',
//'Depósitorio de carátulas de widget' => 'http://www.zeroboard.com',
//'Depósitorio de carátulas de diseño' => 'http://www.zeroboard.com',
);
$lang->xe_developer_links = array(
//'Manuales' => 'http://www.zeroboard.com/wiki/manual',
'Foro Abierto de desarrolladores' => 'http://spring.zeroboard.com',
'Huellas de distribuciónes' => 'http://trac.zeroboard.com',
'Repositor de SVN' => 'http://svn.zeroboard.com',
'doxygen document' => 'http://doc.zeroboard.com',
'Documentación en PDF' => 'http://doc.zeroboard.com/zeroboard_xe.pdf',
);
$lang->zeroboard_xe_usefulness_module = 'Módulos útiles';
$lang->xe_usefulness_modules = array(
'dispEditorAdminIndex' => 'Manejar Editor',
'dispDocumentAdminList' => 'Manejar Documentos',
'dispCommentAdminList' => 'Manejar Commentarios',
'dispFileAdminList' => 'Manejar archivos',
'dispPollAdminList' => 'Manejar votaciónes',
'dispSpamfilterAdminConfig' => 'Manejar SpamFilter',
'dispCounterAdminIndex' => 'Manejar archivo de registro de taquilla',
);
$lang->xe_license = 'ZeroBoard XE esta en bajo de Licencia GPL';
$lang->about_shortcut = 'Puede Eliminar acceso directo de módulos';
?>

View file

@ -0,0 +1,70 @@
<?php
/**
* @file jp.lang.php
* @author zero (zero@nzeo.com) 翻訳RisaPapa
* @brief 日本語言語パッケージ(基本的な内容のみ)
**/
$lang->newest_news = "最新ニュース";
$lang->env_setup = "環境設定";
$lang->item_module = "モジュールリスト";
$lang->item_addon = "アドオンリスト";
$lang->item_widget = "ウィジェットリスト";
$lang->item_layout = "レイアウトリスト";
$lang->module_name = "モジュール名";
$lang->addon_name = "アドオン名";
$lang->version = "バージョン";
$lang->author = "作者";
$lang->table_count = "テーブル数";
$lang->installed_path = "インストールパス";
$lang->cmd_shortcut_management = "メニュー編集";
$lang->msg_is_not_administrator = '管理者のみ接続できます';
$lang->msg_manage_module_cannot_delete = 'モジュール、アドオン、ウィジェットのショットカットは削除できません。';
$lang->msg_default_act_is_null = 'デフォルトの管理者のアクションが指定されていないため、ショットカットを登録することができません。';
$lang->welcome_to_zeroboard_xe = 'ゼロボードXEの管理者ページです。';
$lang->about_admin_page = "管理者ページはまだ未完成です。クローズベタバージョンの期間に、多くの方々からご意見をいただきながら、必ず必要なコンテンツを埋めていきたいと思います。";
$lang->zeroboard_xe_user_links = 'ユーザのためのリンク';
$lang->zeroboard_xe_developer_links = 'デベロッパーのためのリンク';
$lang->xe_user_links = array(
'公式ホームページ' => 'http://www.zeroboard.com',
//'クローズベタサイト' => 'http://spring.zeroboard.com',
//'モジュルダ情報' => 'http://www.zeroboard.com',
//'アドオン情報' => 'http://www.zeroboard.com',
//'ウィジェット情報' => 'http://www.zeroboard.com',
//'モジュール・スキン情報' => 'http://www.zeroboard.com',
//'ウィジェットスキン情報' => 'http://www.zeroboard.com',
//'レイアウトスキン情報' => 'http://www.zeroboard.com',
);
$lang->xe_developer_links = array(
'デベロッパーフォーラム' => 'http://spring.zeroboard.com',
//'マニュアル' => 'http://www.zeroboard.com/wiki/manual',
'イッシュートラッキング' => 'http://trac.zeroboard.com',
'SVN Repository' => 'http://svn.zeroboard.com',
'Doxygen Document' => 'http://doc.zeroboard.com',
'PDFドキュメント' => 'http://doc.zeroboard.com/zeroboard_xe.pdf',
);
$lang->zeroboard_xe_usefulness_module = '有用なモジュール';
$lang->xe_usefulness_modules = array(
'dispEditorAdminIndex' => 'エディター管理',
'dispDocumentAdminList' => 'ドキュメント管理',
'dispCommentAdminList' => 'コメント管理',
'dispFileAdminList' => '添付ファイル管理',
'dispPollAdminList' => 'アンケート管理',
'dispSpamfilterAdminConfig' => 'スパムフィルター管理',
'dispCounterAdminIndex' => 'カウンターログ',
);
$lang->xe_license = 'ゼロボードXEのライセンスはGPLです。';
$lang->about_shortcut = 'よく使用するモジュールに登録されたショットカットは削除できます。';
?>

View file

@ -0,0 +1,70 @@
<?php
/**
* @file ko.lang.php
* @author zero (zero@nzeo.com)
* @brief 한국어 언어팩 (기본적인 내용만 수록)
**/
$lang->newest_news = "최신 소식";
$lang->env_setup = "환경 설정";
$lang->item_module = "모듈 목록";
$lang->item_addon = "애드온 목록";
$lang->item_widget = "위젯 목록";
$lang->item_layout = "레이아웃 목록";
$lang->module_name = "모듈 이름";
$lang->addon_name = "애드온 이름";
$lang->version = "버전";
$lang->author = "제작자";
$lang->table_count = "테이블수";
$lang->installed_path = "설치경로";
$lang->cmd_shortcut_management = "메뉴 편집하기";
$lang->msg_is_not_administrator = '관리자만 접속이 가능합니다';
$lang->msg_manage_module_cannot_delete = '모듈, 애드온, 레이아웃, 위젯 모듈의 바로가기는 삭제 불가능합니다';
$lang->msg_default_act_is_null = '기본 관리자 Action이 지정되어 있지 않아 바로가기 등록을 할 수가 없습니다';
$lang->welcome_to_zeroboard_xe = '제로보드XE 관리자 페이지입니다';
$lang->about_admin_page = "관리자 페이지는 아직 미완성입니다.\n클로즈 베타동안 좋은 의견 받아서 꼭 필요한 컨텐츠를 채우도록 하겠습니다.";
$lang->zeroboard_xe_user_links = '사용자를 위한 링크';
$lang->zeroboard_xe_developer_links = '개발자를 위한 링크';
$lang->xe_user_links = array(
'공식홈페이지' => 'http://www.zeroboard.com',
//'클로즈베타 사이트' => 'http://spring.zeroboard.com',
//'모듈 자료실' => 'http://www.zeroboard.com',
//'애드온 자료실' => 'http://www.zeroboard.com',
//'위젯 자료실' => 'http://www.zeroboard.com',
//'모듈 스킨 자료실' => 'http://www.zeroboard.com',
//'위젯 스킨 자료실' => 'http://www.zeroboard.com',
//'레이아웃 스킨 자료실' => 'http://www.zeroboard.com',
);
$lang->xe_developer_links = array(
//'매뉴얼' => 'http://www.zeroboard.com/wiki/manual',
'개발자 포럼' => 'http://spring.zeroboard.com',
'이슈트래킹' => 'http://trac.zeroboard.com',
'SVN Repository' => 'http://svn.zeroboard.com',
'doxygen document' => 'http://doc.zeroboard.com',
'pdf 문서' => 'http://doc.zeroboard.com/zeroboard_xe.pdf',
);
$lang->zeroboard_xe_usefulness_module = '유용한 모듈들';
$lang->xe_usefulness_modules = array(
'dispEditorAdminIndex' => '에디터 관리',
'dispDocumentAdminList' => '문서 관리',
'dispCommentAdminList' => '댓글 관리',
'dispFileAdminList' => '첨부파일 관리',
'dispPollAdminList' => '설문조사 관리',
'dispSpamfilterAdminConfig' => '스팸필터 관리',
'dispCounterAdminIndex' => '카운터 로그',
);
$lang->xe_license = '제로보드XE는 GPL을 따릅니다';
$lang->about_shortcut = '자주 사용하는 모듈에 등록된 모듈의 바로가기를 삭제할 수 있습니다';
?>

View file

@ -0,0 +1,71 @@
<?php
/**
* @file zh-CN.lang.php
* @author zero (zero@nzeo.com)
* @brief 简体中文语言包 (只收录基本内容)
**/
$lang->newest_news = "最新消息";
$lang->env_setup = "环境设置";
$lang->item_module = "模块目录";
$lang->item_addon = "插件目录";
$lang->item_widget = "控件目录";
$lang->item_layout = "布局目录";
$lang->module_name = "模块名称";
$lang->addon_name = "插件名称";
$lang->version = "版本";
$lang->author = "作者";
$lang->table_count = "表格数";
$lang->installed_path = "安装路径";
$lang->cmd_shortcut_management = "编辑菜单";
$lang->msg_is_not_administrator = '只有管理员可以查看';
$lang->msg_manage_module_cannot_delete = '模块,插件,布局,控件模块的快捷菜单是不能删除的。';
$lang->msg_default_act_is_null = '没有指定默认管理员的动作,是不能添加到快捷菜单的。';
$lang->welcome_to_zeroboard_xe = 'zeroboard XE 管理页面';
$lang->about_admin_page = "后台管理页面未完成";
$lang->zeroboard_xe_user_links = '为用户提供的链接';
$lang->zeroboard_xe_developer_links = '为开发人员提供的链接';
$lang->xe_user_links = array(
'韩国官方主页' => 'http://www.zeroboard.com',
//'closebeta主页' => 'http://spring.zeroboard.com',
//'模块下载地址' => 'http://www.zeroboard.com',
//'插件下载地址' => 'http://www.zeroboard.com',
//'控件下载地址' => 'http://www.zeroboard.com',
//'模块皮肤下载地址' => 'http://www.zeroboard.com',
//'控件皮肤下载地址' => 'http://www.zeroboard.com',
//'布局皮肤下载地址' => 'http://www.zeroboard.com',
);
$lang->xe_developer_links = array(
//'使用手册' => 'http://www.zeroboard.com/wiki/manual',
'Developer 论坛' => 'http://spring.zeroboard.com',
'问题跟踪' => 'http://trac.zeroboard.com',
'SVN Repository' => 'http://svn.zeroboard.com',
'doxygen document' => 'http://doc.zeroboard.com',
'pdf 文件' => 'http://doc.zeroboard.com/zeroboard_xe.pdf',
);
$lang->zeroboard_xe_usefulness_module = '常用模块';
$lang->xe_usefulness_modules = array(
'dispEditorAdminIndex' => '编辑器管理',
'dispDocumentAdminList' => '主题管理',
'dispCommentAdminList' => '评论管理',
'dispFileAdminList' => '附件管理',
'dispPollAdminList' => '投票管理',
'dispSpamfilterAdminConfig' => '垃圾过滤管理',
'dispCounterAdminIndex' => '统计日志',
);
$lang->xe_license = 'Zeroboard XE遵循 GPL协议';
$lang->about_shortcut = '可以删除添加到常用模块中的快捷菜单。';
?>

View file

@ -0,0 +1,8 @@
<query id="deleteShortCut" action="delete">
<tables>
<table name="admin_shortcut" />
</tables>
<conditions>
<condition operation="equal" column="module" var="module" notnull="notnull" />
</conditions>
</query>

View file

@ -0,0 +1,8 @@
<query id="getShortCutList" action="select">
<tables>
<table name="admin_shortcut" />
</tables>
<navigation>
<index var="sort_index" default="list_order" order="asc" />
</navigation>
</query>

View file

@ -0,0 +1,13 @@
<query id="insertShortCut" action="insert">
<tables>
<table name="admin_shortcut" />
</tables>
<columns>
<column name="shortcut_srl" var="shortcut_srl" default="sequence()" filter="number" notnull="notnull" />
<column name="title" var="title" notnull="notnull" minlength="2" maxlength="250" />
<column name="module" var="module" notnull="notnull" minlength="2" maxlength="250" />
<column name="default_act" var="default_act" notnull="notnull" minlength="2" maxlength="250" />
<column name="regdate" var="regdate" default="curdate()" />
<column name="list_order" var="list_order" default="sequence()" />
</columns>
</query>

View file

@ -0,0 +1,8 @@
<table name="admin_shortcut">
<column name="shortcut_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" />
<column name="module" type="varchar" size="250" notnull="notnull" unique="uni_module" />
<column name="title" type="varchar" size="250" notnull="notnull" />
<column name="default_act" type="varchar" size="250" notnull="notnull" />
<column name="list_order" type="number" size="11" notnull="notnull" index="idx_list_order" />
<column name="regdate" type="date" />
</table>

View file

@ -0,0 +1,211 @@
@charset "utf-8";
/*
NHN UIT Lab. WebStandardization Team (http://html.nhndesign.com/)
Jeong, Chan Myeong 070601~070630
*/
/*
Used Hack
IE6 & Below
{ property:value; _property:value;}
IE7 Only
*:first-child+html #selector
*/
body { margin:0; }
li { list-style:none; }
a { text-decoration:none;}
a:hover { text-decoration:underline;}
address { font-style:normal;}
/* Special Class Selector */
.fr { float:right;}
.fl { float:left;}
.fwB { font-weight:bold;}
.gl3 { padding-left:2em; }
/* ----- cBody | Start ----- */
h3 { padding:22px 0 7px 0; border-bottom:2px solid #f2250d; background:url(../images/h3.gif) no-repeat 1px 24px; font-size:1.4em; margin-bottom:10px; text-indent:24px; z-index:99;}
h3 .gray { color:#9d9d9d;}
.pass { background:url(../images/h4.gif) no-repeat .5em center; padding-left:1em; color:#606060; font-size:1em;}
.header4 { overflow:hidden;}
h4 { font-size:1em; color:#f2250d; float:left; padding:.5em 0 1.2em 2em;}
h4 .bracket { font-weight:normal; color:#9d9d9d;}
h4 .vr { font-weight:normal; color:#d1d1d1;}
h4 .view { color:#158692; padding-right:.6em; font:bold .9em Tahoma; background:url(../images/iconView.gif) no-repeat right center;}
.header4 div.summary { font:.9em Tahoma; color:#636363; float:left; padding:.5em 0 1.2em 2em;}
.header4 div.summary .vr { font-weight:normal; color:#d1d1d1; margin:0 .5em;}
.header4 div.summary em { color:#ff1d00; font-style:normal;}
.header4 table.summary { border-right:1px solid #f2f2f2; width:100%; height:35px; margin-bottom:15px;}
.header4 table.summary th { background:#969693; color:#ffffff;}
.header4 table.summary th img { vertical-align:middle;}
.header4 table.summary th .vr { color:#a3a39f; margin:0 4px; font-weight:normal;}
.header4 table.summary td { border-top:1px solid #f2f2f2; border-bottom:1px solid #f2f2f2; font:.9em Tahoma; padding-left:17px;}
select.time_zone { width:70%; position:relative; top:4px; }
/* ----- cBody | End ----- */
/* ----- Content | Start ----- */
/* localNavigation */
.localNavigation { float:right;margin-bottom:10px;}
.localNavigation li { float:left; margin-right:.3em;}
.localNavigation li.on { margin-right:.3em;}
.localNavigation li a { padding:.4em 1em .2em 1em; display:block; float:left; font-size:.9em; color:#606060; border:2px solid #e0dfde;}
.localNavigation li a:hover { border:2px solid #ff1a00; color:#f2250d; text-decoration:none;}
.localNavigation li.on a { color:#f2250d; border:2px solid #ff1a00; text-decoration:none;}
/* pageNavigation */
.pageNavigation { display:block; padding:1.5em 0 2em 0; text-align:center; font:bold .8em Tahoma; }
.pageNavigation a { margin-left:-4px; font:bold 1em Tahoma; color:#666666; display:inline-block; padding:1px 7px 2px 6px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; }
.pageNavigation a:hover { background:#F7F7F7; text-decoration:none; }
.pageNavigation a:visited { color:#999999;}
.pageNavigation a.goToFirst,
.pageNavigation a.goToLast { border:none; border-right:1px solid #ffffff; border-left:1px solid #ffffff; z-index:99; vertical-align:top; padding:0px 7px 4px 6px;}
.pageNavigation a.goToFirst img,
.pageNavigation a.goToLast img { display:inline-block; padding:2px 0; top:2px; _top:1px;}
.pageNavigation .current { margin-left:-4px; font:bold 1em Tahoma; color:#ff6600; display:inline-block; padding:1px 7px 1px 6px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; }
/* tableStyle */
.infoText { clear:both; border:1px solid #f2f2f0; margin-bottom:12px; background:#f9f9f6; padding:1.2em; color:#7b7972; font-size:.9em; line-height:1.4em;}
.gap1 { margin-top:.8em; }
.tableSummaryType1 { font:bold .8em Tahoma; color:#a0a0a0; margin-bottom:10px;}
.tableSummaryType1 strong { font:bold 1em Tahoma; color:#ff1a00;}
.tableType1 { width:100%; border-bottom:2px solid #c1c0bd;}
.tableType1 caption { padding:2em 0 .5em 1.5em; font-weight:bold; text-align:left; background:url(../images/iconH3.gif) no-repeat .5em 2em;}
.tableType1 th { font-weight:normal; color:#ffffff; background:url(../images/tableType1Header.gif) repeat-x; height:28px;}
.tableType1 th select { vertical-align:middle; }
.tableType1 td { text-align:center; color:#636363; height:30px; border-top:1px solid #ededed;}
.tableType1 td.left { text-align:left }
.tableType1 td a { color:#1d1d1d;}
.tableType1 .tahoma { font-size:.9em; font-family:Tahoma;}
.tableType1 .tahoma a { font-size:1em;}
.tableType1 td.blue a { color:#158692;}
.tableType1 td.red a { color:#c95b53;}
.tableType1 td.red { color:#c95b53;}
.tableType1 td .blue { color:#158692;}
.tableType1 td .red { color:#c95b53;}
.tableType2 { border:2px solid #c1c0bd; border-left:none; border-right:none; width:100%;}
.tableType2 caption { padding:2em 0 .5em 1.5em; font-weight:bold; text-align:left; background:url(../images/iconH3.gif) no-repeat .5em 2em;}
.tableType2 th { border-top:1px solid #fbfbfb; border-bottom:1px solid #e4e4e4; background:#f5f5f5; padding:10px 10px 10px 2em; font-weight:normal; text-align:left; color:#606060;}
.tableType2 td { border-bottom:1px solid #ededed; padding:10px 10px 7px 10px; font-size:.9em; color:#7b7972;}
.tableType2 td input,
.tableType2 td textarea,
.tableType2 td select { margin-bottom:.5em; vertical-align:middle; font-size:1em; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6;}
.tableType2 td .w100 { width:100%; display:block;}
.tableType2 td .checkbox { margin:-3px;}
.tableType2 td p { line-height:1.4em;}
.tableType2 td a { color:#1d1d1d;}
.tableType2 td a.blue { color:#158692;}
.tableType2 td a.red { color:#c95b53;}
.tableType3 { width:100%; border-bottom:2px solid #c1c0bd;}
.tableType3 caption { padding:2em 0 .5em 1.5em; font-weight:bold; text-align:left; background:url(../images/iconH3.gif) no-repeat .5em 2em;}
.tableType3 th.bold { font-weight:bold; }
.tableType3 th,
.tableType3 td { border-top:1px solid #bfbfbf;}
.tableType3 thead th { font-weight:normal; color:#ffffff; background:url(../images/tableType1Header.gif) repeat-x; height:28px;}
.tableType3 tbody th { font-weight:normal; color:#606060; text-align:left; background:#f5f5f5; padding:10px 10px 10px 2em;}
.tableType3 tbody th img { vertical-align:middle; margin-top:-2px;}
.tableType3 td { text-align:center; color:#636363; border-left:1px solid #ededed; padding:10px 10px 7px 10px;}
.tableType3 td.colSpan { text-align:left; border-top:1px solid #ededed;}
.tableType3 td a { color:#1d1d1d;}
.tableType3 th a.blue { color:#158692;}
.tableType3 th a.red { color:#c95b53;}
.tableType3 .tahoma { font-size:.9em; font-family:Tahoma;}
.tableType3 .tahoma a { font-size:1em;}
.tableType3 td.left { text-align:left; }
.tableType3 td label { margin-right:1em; }
.tableType3 td.blue a { color:#158692;}
.tableType3 td.red a { color:#c95b53;}
.tableType3 td a.blue { color:#158692;}
.tableType3 td a.red { color:#c95b53;}
/*.tableType3 td input,*/
.tableType3 td textarea,
.tableType3 td select { margin-bottom:.5em; vertical-align:middle; font-size:1em; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6;}
.tableType3 td .w100 { width:100%; display:block;}
.tableType4 { border:2px solid #c1c0bd; border-left:none; border-right:none; width:100%;}
.tableType4 th { border-top:1px solid #fbfbfb; border-bottom:1px solid #e4e4e4; background:#f5f5f5; padding:10px 10px 10px 2em; font-weight:normal; text-align:left; color:#606060;}
.tableType4 caption { padding:2em 0 .5em 1.5em; font-weight:bold; text-align:left; background:url(../images/iconH3.gif) no-repeat .5em 2em;}
.tableType4.counter th { font-size:.9em; text-align:center; padding:0;}
.tableType4.counter th em { font:normal 1em Tahoma;}
.tableType4 td { border-bottom:1px solid #ededed; padding:10px 10px 7px 10px; color:#7b7972;}
.tableType4 td a { color:#1d1d1d;}
.tableType4 .tahoma { font-size:.9em; font-family:Tahoma;}
.tableType4 .tahoma a { font-size:1em;}
.tableType4 td.blue a { color:#158692;}
.tableType4 td.red a { color:#c95b53;}
/*.tableType4 td input,*/
.tableType4 td textarea,
.tableType4 td select { margin-bottom:.5em; vertical-align:middle;font-size:1em; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6;}
.tableType4 td label { margin-right:1em; }
.tableType4 td .w100 { width:100%; display:block;}
.tableType4 td .checkbox { margin:-3px;}
.tableType4 td p { line-height:1.4em;}
.tableType4 td .graph { width:90%; position:relative;}
.tableType4 td .graph .bar { width:100%; position:absolute; margin-top:4px;}
.tableType4 td .graph .num { position:relative; background:#ffffff; color:#636363; font:.9em Tahoma; padding-left:10px;}
.widgetBox { border:1px solid #c1c0bd; width:100%;}
.widgetBox th { text-align:center; font-weight:normal; background-color:#EFEFEF; }
.widgetBox td { text-align:left; padding:.5em; }
/* ----- Content | End ----- */
/* ----- Popup | Start ----- */
/* popup */
#popHeadder { width:620px; height:40px; background:url(../images/popupTopBg.png) repeat-x left top; }
#popHeadder h1 { padding:13px 0 0 19px; height:27px; background:url(../images/popupTopBgEnd.png) no-repeat right top; font-size:1.2em; color:#d8d8d8;}
#popBody { width:600px; padding:10px; background:#ffffff;}
#popFooter { width:620px; background:#f7f7f6; border-top:1px solid #e8e8e7; padding:.5em 0 .5em 0; overflow:hidden; }
#popFooter .close { position:relative; left:50%; margin-left:-1em; float:left;}
#popBody .tableType5 { border:1px solid #c1c0bd; border-left:none; border-right:none; width:100%;}
#popBody .tableType5 th { border-top:1px solid #fbfbfb; border-bottom:1px solid #e4e4e4; background:#f5f5f5; padding:8px 10px 7px 2em; font-weight:normal; text-align:left; color:#606060;}
#popBody .tableType5 td { border-bottom:1px solid #ededed; padding:8px 10px 7px 10px; color:#7b7972;}
/*#popBody .tableType5 td input,*/
#popBody .tableType5 td textarea,
#popBody .tableType5 td select { margin-bottom:.5em; vertical-align:middle;}
#popBody .tableType5 td .w100 { width:100%; display:block;}
#popBody .tableType5 td .checkbox { margin:-3px; margin-bottom:1em; }
#popBody .tableType5 td p { line-height:1.4em;}
#popBody .tableType5 td.blue a { color:#158692;}
#popBody .tableType5 .borderBottomNone { border-bottom:none;}
/* ----- Popup | End ----- */
.widget_item { margin-bottom:.5em; }
.layout_editor { width:100%; height:500px; border:0px; font-size:1em; }
.layout_editor_box { padding:10px; border:1px solid #DDDDDD; }
/* adminSearch */
.adminSearch { text-align:right; clear:both; width:100%;}
.adminSearch fieldset { border:none; display:inline; overflow:visible; }
.adminSearch * { vertical-align:middle;}
.title { font-size:1.5em; font-weight:bold; margin-top:2em; margin-bottom:.5em; color:#666666; }
.desc { font-size:1em; margin-bottom:.5em; color:#ADADAD;}
.w700 { width:700px; }
.w5 { width:5em; }
.nowrap { white-space:nowrap; }
.mid_list { width:7em; }
ul.extra_vars li { margin-bottom:.5em;}
li.type_key { float:left; width:10em; }
li.type_value { clear:right; }
.admin_news { width:49%; float:left; margin-right:10px; }
.admin_link { width:49%; float:right; }

View file

@ -0,0 +1,65 @@
@charset "utf-8";
/*
NHN UIT Lab. WebStandardization Team (http://html.nhndesign.com/)
Jeong, Chan Myeong 070601~070630
*/
/*
Used Hack
IE6 & Below
{ property:value; _property:value;}
IE7 Only
*:first-child+html #selector
*/
/* default.css - Type Selector Definition */
li { list-style:none;}
a { text-decoration:none;}
a:hover { text-decoration:underline;}
address { font-style:normal;}
/* Special Class Selector */
.fr { float:right;}
.fl { float:left;}
.fwB { font-weight:bold;}
/* ----- Header | Start ----- */
#header { position:relative; height:71px; background:url(../images/headerBg.gif) repeat-x; overflow:hidden; clear:both; z-index:99;}
#header h1 { float:left; width:180px; height:71px; position:relative; background:url(../images/h1_bg.gif) no-repeat;}
#header h1 img { position:absolute; top:29px; left:29px;}
#header #logout { width:470px; height:71px; float:right; background:url(../images/headerBgEnd.png) no-repeat right top;}
#header #logout a { float:right; position:relative; top:29px; right:24px;}
/* ----- Header | End ----- */
#cBody { clear:both; padding:0px 18px 0px 198px; margin:-71px 0 -38px 0; overflow:hidden; background:#ffffff url(../images/menuBg.gif) repeat-y;}
#gNavigation { float:left; width:180px; padding:71px 0 200px 0; margin-right:18px; margin-left:-198px; _margin-left:-99px; background:#ffffff url(../images/menuBg.gif) repeat-y;}
#gNavigation h2 { }
#gNavigation ul { width:180px;}
#gNavigation ul li { width:180px; height:30px; background:url(../images/menuBg.png) no-repeat left top; } /* behavior:url(./common/js/iePngFix.htc);}*/
#gNavigation ul li.on { background-position:left -30px; margin-top:-2px; _background:url(../images/menuBgIeFix.png) no-repeat left top;}
#gNavigation ul li.on a { color:#ffffff; font-weight:bold;}
#gNavigation ul li a { display:block; padding:9px 0 0 28px; height:21px; color:#606060;}
#gNavigation ul li a:hover { background:url(../images/menuBgIeFix.png) no-repeat; margin-top:-2px; font-weight:bold; color:#ffffff; text-decoration:none;}
#gNavigation ul li.on a:hover { background:url(../images/menuBgIeFix.png) no-repeat; margin-top:0; font-weight:bold; color:#ffffff; text-decoration:none;}
#gNavigation .menuEdit { width:180px; height:30px; text-align:center; margin-top:1em;}
#content { float:left; width:100%; padding:71px 0 100px 0;}
/* ----- Footer | Start ----- */
#footer { width:100%; clear:both; height:38px; margin-bottom:-38px; overflow:hidden; background:url(../images/footerBg.gif) repeat-x left 3px;}
#footer .footerLine { height:3px; width:100%; float:left; clear:both;}
#footer .footerLeft { float:left;}
#footer address { float:right; width:350px; height:35px; background:url(../images/addressBg.gif) no-repeat right top;}
#footer address img { margin:15px 10px 0 0}
#footer address .version { font:.8em Tahoma; color:#ffffff;}
#footer address .version strong { font:bold 1em Tahoma; color:#ff0000; }
/* ----- Footer | End ----- */

View file

@ -0,0 +1,9 @@
<filter name="delete_shortcut" module="admin" act="procAdminDeleteShortCut" confirm_msg_code="confirm_delete">
<form>
<node target="selected_module" required="true" />
</form>
<response>
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -0,0 +1,9 @@
<filter name="update_env_config" module="install" act="procInstallAdminSaveTimeZone" >
<form>
<node target="time_zone" required="true" />
</form>
<response>
<tag name="error" />
<tag name="message" />
</response>
</filter>

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 724 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 908 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 608 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 617 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 582 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 623 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 347 B

View file

@ -0,0 +1,96 @@
<!--%import("./filter/update_env_config.xml")-->
<!--%import("../../install/lang")-->
<h3>{$lang->welcome_to_zeroboard_xe}</h3>
<form action="./" method="get" onsubmit="return procFilter(this, update_env_config);">
<table cellspacing="0" class="tableType4">
<col width="250" />
<col />
<caption>{$lang->env_setup}</caption>
<tr>
<th scope="row">Lang</th>
<td>
<select name="lang_type" onchange="doChangeLangType(this)">
<option value="{$lang_type}">{$lang_type}</option>
<!--@foreach($lang_supported as $val)-->
<!--@if($val != $lang_type)-->
<option value="{$val}">{$val}</option>
<!--@end-->
<!--@end-->
</select>
</td>
</tr>
<tr>
<th scope="row">{$lang->use_rewrite}</th>
<td>
<input type="checkbox" name="use_rewrite" value="Y" <!--@if(function_exists('apache_get_modules')&&in_array('mod_rewrite',apache_get_modules())&&$use_rewrite=='Y')-->checked="checked"<!--@end--> />
<p>{$lang->about_rewrite}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->time_zone}</th>
<td>
<select name="time_zone" class="time_zone">
<!--@foreach($time_zone_list as $key => $val)-->
<option value="{$key}" <!--@if($time_zone==$key)-->selected="selected"<!--@end-->>{$val}</option>
<!--@end-->
</select>
<p>{$lang->about_time_zone}</p>
</td>
</tr>
</table>
<div class="tRight gap1">
<span class="button"><input type="submit" value="{$lang->cmd_save}" /></span>
</div>
</form>
<div class="admin_news">
<!--@if($news)-->
<table cellspacing="0" class="tableType1">
<caption>{$lang->newest_news}</caption>
<thead>
<tr>
<th scope="col">{$lang->title}</th>
<th scope="col">{$lang->regdate}</th>
</tr>
</thead>
<tbody>
<!--@foreach($news as $key => $val)-->
<tr>
<td class="left">&nbsp;<a href="{$val->url}" onclick="window.open(this.href);return false;">{$val->title}</a></td>
<td class="tahoma">{zdate($val->date,"Y-m-d H:i")}</td>
</tr>
<!--@end-->
</tbody>
</table>
<!--@end-->
</div>
<div class="admin_link">
<!-- 사용자 링크 -->
<table cellspacing="0" class="tableType3">
<col width="250" />
<col />
<caption>{$lang->zeroboard_xe_user_links}</caption>
<!--@foreach($lang->xe_user_links as $key => $val)-->
<tr>
<th scope="col">{$key}</th>
<td class="left blue"><a href="{$val}" onclick="winopen(this.href); return false;">{$val}</a></td>
</tr>
<!--@end-->
</table>
<!-- 개발자 링크 -->
<table cellspacing="0" class="tableType3">
<col width="250" />
<col />
<caption>{$lang->zeroboard_xe_developer_links}</caption>
<!--@foreach($lang->xe_developer_links as $key => $val)-->
<tr>
<th scope="col">{$key}</th>
<td class="left blue"><a href="{$val}" onclick="winopen(this.href); return false;">{$val}</a></td>
</tr>
<!--@end-->
</table>
</div>

View file

@ -0,0 +1,31 @@
/**
* @file admin.js
* @author zero (zero@nzeo.com)
* @brief admin 모듈의 javascript
**/
// 숏컷 삭제
function doDeleteShortCut(selected_module) {
var fo_obj = xGetElementById('fo_shortcut_info');
fo_obj.selected_module.value = selected_module;
procFilter(fo_obj, delete_shortcut);
}
// footer를 화면 크기에 맞춰 설정 (폐기)
//xAddEventListener(window, 'load', fixAdminLayoutFooter);
//xAddEventListener(window, 'resize', fixAdminLayoutFooter);
function fixAdminLayoutFooter(height) {
return;
}
if(xIE6) {
xAddEventListener(window,'load',fixAdminNaviHeight);
}
function fixAdminNaviHeight() {
var naviHeight = xHeight('gNavigation');
var bodyHeight = xHeight('content');
if(naviHeight<bodyHeight) xHeight('gNavigation',bodyHeight);
else xHeight('content',naviHeight);
setTimeout(fixAdminNaviHeight, 500);
}

View file

@ -0,0 +1,34 @@
<!--%import("css/admin_layout.css")-->
<!--%import("js/admin.js")-->
<div id="header">
<h1><a href="{getUrl('','module','admin')}"><img src="./images/h1.png" alt="Zeroboard XE" width="128" height="20" class="iePngFix" /></a></h1>
<div id="logout" class="iePngFix">
<a href="{getUrl('','module','admin','act','dispMemberLogout')}"><img src="./images/buttonLogout.png" alt="{$lang->cmd_logout}" width="53" height="10" class="iePngFix" /></a>
</div>
</div>
<div id="cBody">
<div id="gNavigation">
<h2><img src="./images/h2.gif" alt="Administration" width="180" height="45" /></h2>
<ul>
<!--@foreach($shortcut_list as $key => $val)-->
<li <!--@if($running_module==$val->module)-->class="on"<!--@end-->><a href="{getUrl('','module','admin','act',$val->default_act)}">{cut_str($val->title,14,'..')}</a></li>
<!--@end-->
</ul>
<div class="menuEdit">
<a href="{getUrl('','module','admin','act','dispAdminShortCut')}" class="button"><span>{$lang->cmd_shortcut_management}</span></a>
</div>
</div>
<div id="content">{$content}</div>
</div>
<div id="footer">
<img src="./images/footerLine.gif" alt="" class="footerLine" /><img src="./images/footerLeft.gif" alt="" width="350" height="35" class="footerLeft" />
<address>
<a href="http://www.zeroboard.com"><img src="./images/address.gif" alt="Copyright 2000, Zeroboard All Rights Reserved. Version" width="255" height="7" /><span class="version"><strong>XE</strong> Beta</span></a>
</address>
</div>

View file

@ -0,0 +1,32 @@
<!--%import("filter/delete_shortcut.xml")-->
<!--%import("js/admin.js")-->
<h3>{$lang->cmd_shortcut_management}</h3>
<div class="infoText">{$lang->about_shortcut}</div>
<!-- 숏컷의 위/아래, 삭제와 관련된 form -->
<form id="fo_shortcut_info" action="./" method="get">
<input type="hidden" name="selected_module" value="" />
</form>
<table cellspacing="0" class="tableType3">
<thead>
<tr>
<th scope="col">{$lang->title}</th>
<th scope="col">{$lang->module}</th>
<th scope="col">{$lang->regdate}</th>
<th scope="col">{$lang->cmd_delete}</th>
</tr>
</thead>
<tbody>
<!--@foreach($shortcut_list as $shortcut_info)-->
<tr>
<th scope="row">{$shortcut_info->title}</th>
<td class="tahoma">{$shortcut_info->module}</td>
<td class="tahoma">{zdate($shortcut_info->regdate,"Y-m-d H:i:s")}</td>
<td><a href="#" onclick="doDeleteShortCut('{$shortcut_info->module}');return false;" class="red">{$lang->cmd_delete}</a></td>
</tr>
<!--@end-->
</tbody>
</table>