삭제
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2327 201d5d3c-b55e-5fd7-737f-ddc643e51545
59
modules/admin/admin.admin.controller.php
Normal 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;
|
||||
}
|
||||
}
|
||||
?>
|
||||
42
modules/admin/admin.admin.model.php
Normal 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;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
85
modules/admin/admin.admin.view.php
Normal 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');
|
||||
}
|
||||
}
|
||||
?>
|
||||
45
modules/admin/admin.class.php
Normal 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();
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
20
modules/admin/conf/info.xml
Normal 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>
|
||||
10
modules/admin/conf/module.xml
Normal 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>
|
||||
70
modules/admin/lang/en.lang.php
Normal 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';
|
||||
?>
|
||||
66
modules/admin/lang/es.lang.php
Normal 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';
|
||||
?>
|
||||
70
modules/admin/lang/jp.lang.php
Normal 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 = 'よく使用するモジュールに登録されたショットカットは削除できます。';
|
||||
?>
|
||||
70
modules/admin/lang/ko.lang.php
Normal 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 = '자주 사용하는 모듈에 등록된 모듈의 바로가기를 삭제할 수 있습니다';
|
||||
?>
|
||||
71
modules/admin/lang/zh-CN.lang.php
Normal 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 = '可以删除添加到常用模块中的快捷菜单。';
|
||||
?>
|
||||
8
modules/admin/queries/deleteShortCut.xml
Normal 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>
|
||||
8
modules/admin/queries/getShortCutList.xml
Normal 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>
|
||||
13
modules/admin/queries/insertShortCut.xml
Normal 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>
|
||||
8
modules/admin/schemas/admin_shortcut.xml
Normal 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>
|
||||
211
modules/admin/tpl/css/admin.css
Normal 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; }
|
||||
65
modules/admin/tpl/css/admin_layout.css
Normal 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 ----- */
|
||||
|
||||
9
modules/admin/tpl/filter/delete_shortcut.xml
Normal 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>
|
||||
9
modules/admin/tpl/filter/update_env_config.xml
Normal 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>
|
||||
BIN
modules/admin/tpl/images/address.gif
Normal file
|
After Width: | Height: | Size: 231 B |
BIN
modules/admin/tpl/images/addressBg.gif
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
BIN
modules/admin/tpl/images/blank.gif
Normal file
|
After Width: | Height: | Size: 43 B |
BIN
modules/admin/tpl/images/bottomGotoFirst.gif
Normal file
|
After Width: | Height: | Size: 51 B |
BIN
modules/admin/tpl/images/bottomGotoLast.gif
Normal file
|
After Width: | Height: | Size: 51 B |
BIN
modules/admin/tpl/images/buttonLogout.png
Normal file
|
After Width: | Height: | Size: 445 B |
BIN
modules/admin/tpl/images/buttonTypeACenter.gif
Normal file
|
After Width: | Height: | Size: 188 B |
BIN
modules/admin/tpl/images/buttonTypeALeft.gif
Normal file
|
After Width: | Height: | Size: 72 B |
BIN
modules/admin/tpl/images/buttonTypeARight.gif
Normal file
|
After Width: | Height: | Size: 170 B |
BIN
modules/admin/tpl/images/buttonTypeBCenter.gif
Normal file
|
After Width: | Height: | Size: 183 B |
BIN
modules/admin/tpl/images/buttonTypeBLeft.gif
Normal file
|
After Width: | Height: | Size: 72 B |
BIN
modules/admin/tpl/images/buttonTypeBRight.gif
Normal file
|
After Width: | Height: | Size: 72 B |
BIN
modules/admin/tpl/images/buttonTypeInput24.gif
Normal file
|
After Width: | Height: | Size: 419 B |
BIN
modules/admin/tpl/images/button_down.gif
Normal file
|
After Width: | Height: | Size: 208 B |
BIN
modules/admin/tpl/images/button_up.gif
Normal file
|
After Width: | Height: | Size: 206 B |
BIN
modules/admin/tpl/images/footerBg.gif
Normal file
|
After Width: | Height: | Size: 724 B |
BIN
modules/admin/tpl/images/footerLeft.gif
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
modules/admin/tpl/images/footerLine.gif
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
modules/admin/tpl/images/h1.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
modules/admin/tpl/images/h1_bg.gif
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
modules/admin/tpl/images/h2.gif
Normal file
|
After Width: | Height: | Size: 5 KiB |
BIN
modules/admin/tpl/images/h3.gif
Normal file
|
After Width: | Height: | Size: 556 B |
BIN
modules/admin/tpl/images/h4.gif
Normal file
|
After Width: | Height: | Size: 44 B |
BIN
modules/admin/tpl/images/headerBg.gif
Normal file
|
After Width: | Height: | Size: 908 B |
BIN
modules/admin/tpl/images/headerBgEnd.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
modules/admin/tpl/images/iconCreate.gif
Normal file
|
After Width: | Height: | Size: 49 B |
BIN
modules/admin/tpl/images/iconGallery.gif
Normal file
|
After Width: | Height: | Size: 608 B |
BIN
modules/admin/tpl/images/iconGraph.gif
Normal file
|
After Width: | Height: | Size: 346 B |
BIN
modules/admin/tpl/images/iconH3.gif
Normal file
|
After Width: | Height: | Size: 58 B |
BIN
modules/admin/tpl/images/iconHtml.gif
Normal file
|
After Width: | Height: | Size: 617 B |
BIN
modules/admin/tpl/images/iconImage.gif
Normal file
|
After Width: | Height: | Size: 160 B |
BIN
modules/admin/tpl/images/iconImoticon.gif
Normal file
|
After Width: | Height: | Size: 582 B |
BIN
modules/admin/tpl/images/iconLink.gif
Normal file
|
After Width: | Height: | Size: 195 B |
BIN
modules/admin/tpl/images/iconMap.gif
Normal file
|
After Width: | Height: | Size: 623 B |
BIN
modules/admin/tpl/images/iconMedia.gif
Normal file
|
After Width: | Height: | Size: 343 B |
BIN
modules/admin/tpl/images/iconQuote.gif
Normal file
|
After Width: | Height: | Size: 73 B |
BIN
modules/admin/tpl/images/iconTable.gif
Normal file
|
After Width: | Height: | Size: 356 B |
BIN
modules/admin/tpl/images/iconView.gif
Normal file
|
After Width: | Height: | Size: 48 B |
BIN
modules/admin/tpl/images/menuBg.gif
Normal file
|
After Width: | Height: | Size: 122 B |
BIN
modules/admin/tpl/images/menuBg.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
modules/admin/tpl/images/menuBgIeFix.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
modules/admin/tpl/images/popupTopBg.png
Normal file
|
After Width: | Height: | Size: 179 B |
BIN
modules/admin/tpl/images/popupTopBgEnd.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
modules/admin/tpl/images/tableType1Header.gif
Normal file
|
After Width: | Height: | Size: 347 B |
96
modules/admin/tpl/index.html
Normal 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"> <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>
|
||||
31
modules/admin/tpl/js/admin.js
Normal 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);
|
||||
}
|
||||
34
modules/admin/tpl/layout.html
Normal 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>
|
||||
32
modules/admin/tpl/shortcut_list.html
Normal 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>
|
||||