mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-23 21:29:58 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@1662 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
15801d738a
commit
8390ec57e2
75 changed files with 484 additions and 484 deletions
|
|
@ -767,11 +767,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 내용의 플러그인이나 기타 기능에 대한 code를 실제 code로 변경
|
* @brief 내용의 위젯이나 기타 기능에 대한 code를 실제 code로 변경
|
||||||
**/
|
**/
|
||||||
function transContent($content) {
|
function transContent($content) {
|
||||||
// 플러그인 코드 변경
|
// 위젯 코드 변경
|
||||||
$content = preg_replace_callback('!<img([^\>]*)plugin=([^\>]*?)\>!is', array($this,'_transPlugin'), $content);
|
$content = preg_replace_callback('!<img([^\>]*)widget=([^\>]*?)\>!is', array($this,'_transWidget'), $content);
|
||||||
|
|
||||||
// 에디터 컴포넌트를 찾아서 결과 코드로 변환
|
// 에디터 컴포넌트를 찾아서 결과 코드로 변환
|
||||||
$content = preg_replace_callback('!<div([^\>]*)editor_component=([^\>]*)>(.*?)\<\/div\>!is', array($this,'_transEditorComponent'), $content);
|
$content = preg_replace_callback('!<div([^\>]*)editor_component=([^\>]*)>(.*?)\<\/div\>!is', array($this,'_transEditorComponent'), $content);
|
||||||
|
|
@ -812,7 +812,7 @@
|
||||||
$buff = preg_replace('/([^=^"^ ]*)=([^"])([^=^ ]*)/i', '$1="$2$3"', $buff);
|
$buff = preg_replace('/([^=^"^ ]*)=([^"])([^=^ ]*)/i', '$1="$2$3"', $buff);
|
||||||
$buff = str_replace("&","&",$buff);
|
$buff = str_replace("&","&",$buff);
|
||||||
|
|
||||||
// 플러그인에서 생성된 코드 (img, div태그내에 editor_plugin코드 존재)의 parameter를 추출
|
// 위젯에서 생성된 코드 (img, div태그내에 editor_widget코드 존재)의 parameter를 추출
|
||||||
$oXmlParser = new XmlParser();
|
$oXmlParser = new XmlParser();
|
||||||
$xml_doc = $oXmlParser->parse($buff);
|
$xml_doc = $oXmlParser->parse($buff);
|
||||||
if($xml_doc->div) $xml_doc = $xml_doc->div;
|
if($xml_doc->div) $xml_doc = $xml_doc->div;
|
||||||
|
|
@ -832,9 +832,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인 코드를 실제 php코드로 변경
|
* @brief 위젯 코드를 실제 php코드로 변경
|
||||||
**/
|
**/
|
||||||
function _transPlugin($matches) {
|
function _transWidget($matches) {
|
||||||
// IE에서는 태그의 특성중에서 " 를 빼어 버리는 경우가 있기에 정규표현식으로 추가해줌
|
// IE에서는 태그의 특성중에서 " 를 빼어 버리는 경우가 있기에 정규표현식으로 추가해줌
|
||||||
$buff = $matches[0];
|
$buff = $matches[0];
|
||||||
$buff = preg_replace('/([^=^"^ ]*)=([^"])([^=^ ]*)/i', '$1="$2$3"', $buff);
|
$buff = preg_replace('/([^=^"^ ]*)=([^"])([^=^ ]*)/i', '$1="$2$3"', $buff);
|
||||||
|
|
@ -846,13 +846,13 @@
|
||||||
if($xml_doc->img) $vars = $xml_doc->img->attrs;
|
if($xml_doc->img) $vars = $xml_doc->img->attrs;
|
||||||
else $vars = $xml_doc->attrs;
|
else $vars = $xml_doc->attrs;
|
||||||
|
|
||||||
if(!$vars->plugin) return "";
|
if(!$vars->widget) return "";
|
||||||
|
|
||||||
// 플러그인의 이름을 구함
|
// 위젯의 이름을 구함
|
||||||
$plugin = $vars->plugin;
|
$widget = $vars->widget;
|
||||||
unset($vars->plugin);
|
unset($vars->widget);
|
||||||
|
|
||||||
return PluginHandler::execute($plugin, $vars);
|
return WidgetHandler::execute($widget, $vars);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
* Response Method에 따라서 html or xml 출력방법을 결정한다
|
* Response Method에 따라서 html or xml 출력방법을 결정한다
|
||||||
* xml : oModule의 variables를 simple xml 로 출력
|
* xml : oModule의 variables를 simple xml 로 출력
|
||||||
* html : oModule의 template/variables로 html을 만들고 contents_html로 처리
|
* html : oModule의 template/variables로 html을 만들고 contents_html로 처리
|
||||||
* plugin이나 layout의 html과 연동하여 출력
|
* widget이나 layout의 html과 연동하여 출력
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class DisplayHandler extends Handler {
|
class DisplayHandler extends Handler {
|
||||||
|
|
@ -45,13 +45,13 @@
|
||||||
|
|
||||||
if(__DEBUG__==3) $GLOBALS['__layout_compile_elapsed__'] = getMicroTime()-$start;
|
if(__DEBUG__==3) $GLOBALS['__layout_compile_elapsed__'] = getMicroTime()-$start;
|
||||||
|
|
||||||
// 각 플러그인, 에디터 컴포넌트의 코드 변경
|
// 각 위젯, 에디터 컴포넌트의 코드 변경
|
||||||
if(__DEBUG__==3) $start = getMicroTime();
|
if(__DEBUG__==3) $start = getMicroTime();
|
||||||
|
|
||||||
$oContext = &Context::getInstance();
|
$oContext = &Context::getInstance();
|
||||||
$zbxe_final_content= $oContext->transContent($zbxe_final_content);
|
$zbxe_final_content= $oContext->transContent($zbxe_final_content);
|
||||||
|
|
||||||
if(__DEBUG__==3) $GLOBALS['__trans_plugin_editor_elapsed__'] = getMicroTime()-$start;
|
if(__DEBUG__==3) $GLOBALS['__trans_widget_editor_elapsed__'] = getMicroTime()-$start;
|
||||||
|
|
||||||
// 최종 결과를 common_layout에 넣어버림
|
// 최종 결과를 common_layout에 넣어버림
|
||||||
Context::set('zbxe_final_content', $zbxe_final_content);
|
Context::set('zbxe_final_content', $zbxe_final_content);
|
||||||
|
|
@ -187,14 +187,14 @@
|
||||||
$buff .= sprintf("\tXmlParse compile elapsed time\t: %0.5f sec\n", $GLOBALS['__xmlparse_elapsed__']);
|
$buff .= sprintf("\tXmlParse compile elapsed time\t: %0.5f sec\n", $GLOBALS['__xmlparse_elapsed__']);
|
||||||
$buff .= sprintf("\tPHP elapsed time \t\t: %0.5f sec\n", $end-__StartTime__-$GLOBALS['__template_elapsed__']-$GLOBALS['__xmlparse_elapsed__']-$GLOBALS['__db_elapsed_time__']-$GLOBALS['__elapsed_class_load__']);
|
$buff .= sprintf("\tPHP elapsed time \t\t: %0.5f sec\n", $end-__StartTime__-$GLOBALS['__template_elapsed__']-$GLOBALS['__xmlparse_elapsed__']-$GLOBALS['__db_elapsed_time__']-$GLOBALS['__elapsed_class_load__']);
|
||||||
|
|
||||||
// 플러그인 실행 시간 작성
|
// 위젯 실행 시간 작성
|
||||||
$buff .= sprintf("\n\tPlugins elapsed time \t\t: %0.5f sec", $GLOBALS['__plugin_excute_elapsed__']);
|
$buff .= sprintf("\n\tWidgets elapsed time \t\t: %0.5f sec", $GLOBALS['__widget_excute_elapsed__']);
|
||||||
|
|
||||||
// 레이아웃 실행 시간
|
// 레이아웃 실행 시간
|
||||||
$buff .= sprintf("\n\tLayout compile elapsed time \t: %0.5f sec", $GLOBALS['__layout_compile_elapsed__']);
|
$buff .= sprintf("\n\tLayout compile elapsed time \t: %0.5f sec", $GLOBALS['__layout_compile_elapsed__']);
|
||||||
|
|
||||||
// 플러그인, 에디터 컴포넌트 치환 시간
|
// 위젯, 에디터 컴포넌트 치환 시간
|
||||||
$buff .= sprintf("\n\tTrans plugin&editor elapsed time: %0.5f sec\n\n", $GLOBALS['__trans_plugin_editor_elapsed__']);
|
$buff .= sprintf("\n\tTrans widget&editor elapsed time: %0.5f sec\n\n", $GLOBALS['__trans_widget_editor_elapsed__']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 전체 실행 시간 작성
|
// 전체 실행 시간 작성
|
||||||
|
|
|
||||||
|
|
@ -1,63 +1,63 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @class PluginHandler
|
* @class WidgetHandler
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief 플러그인의 실행을 담당
|
* @brief 위젯의 실행을 담당
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class PluginHandler {
|
class WidgetHandler {
|
||||||
|
|
||||||
var $plugin_path = '';
|
var $widget_path = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인을 찾아서 실행하고 결과를 출력
|
* @brief 위젯을 찾아서 실행하고 결과를 출력
|
||||||
* <div plugin='플러그인'...></div> 태그 사용 templateHandler에서 PluginHandler::execute()를 실행하는 코드로 대체하게 된다
|
* <div widget='위젯'...></div> 태그 사용 templateHandler에서 WidgetHandler::execute()를 실행하는 코드로 대체하게 된다
|
||||||
**/
|
**/
|
||||||
function execute($plugin, $args) {
|
function execute($widget, $args) {
|
||||||
// 디버그를 위한 플러그인 실행 시간 저장
|
// 디버그를 위한 위젯 실행 시간 저장
|
||||||
if(__DEBUG__==3) $start = getMicroTime();
|
if(__DEBUG__==3) $start = getMicroTime();
|
||||||
|
|
||||||
// $plugin의 객체를 받음
|
// $widget의 객체를 받음
|
||||||
$oPlugin = PluginHandler::getObject($plugin);
|
$oWidget = WidgetHandler::getObject($widget);
|
||||||
|
|
||||||
// 플러그인 실행
|
// 위젯 실행
|
||||||
if($oPlugin) {
|
if($oWidget) {
|
||||||
$output = $oPlugin->proc($args);
|
$output = $oWidget->proc($args);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(__DEBUG__==3) $GLOBALS['__plugin_excute_elapsed__'] += getMicroTime() - $start;
|
if(__DEBUG__==3) $GLOBALS['__widget_excute_elapsed__'] += getMicroTime() - $start;
|
||||||
|
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인 객체를 return
|
* @brief 위젯 객체를 return
|
||||||
**/
|
**/
|
||||||
function getObject($plugin) {
|
function getObject($widget) {
|
||||||
if(!$GLOBALS['_xe_loaded_plugins_'][$plugin]) {
|
if(!$GLOBALS['_xe_loaded_widgets_'][$widget]) {
|
||||||
// 일단 플러그인의 위치를 찾음
|
// 일단 위젯의 위치를 찾음
|
||||||
$oPluginModel = &getModel('plugin');
|
$oWidgetModel = &getModel('widget');
|
||||||
$path = $oPluginModel->getPluginPath($plugin);
|
$path = $oWidgetModel->getWidgetPath($widget);
|
||||||
|
|
||||||
// 플러그인 클래스 파일을 찾고 없으면 에러 출력 (html output)
|
// 위젯 클래스 파일을 찾고 없으면 에러 출력 (html output)
|
||||||
$class_file = sprintf('%s%s.class.php', $path, $plugin);
|
$class_file = sprintf('%s%s.class.php', $path, $widget);
|
||||||
if(!file_exists($class_file)) return sprintf(Context::getLang('msg_plugin_is_not_exists'), $plugin);
|
if(!file_exists($class_file)) return sprintf(Context::getLang('msg_widget_is_not_exists'), $widget);
|
||||||
|
|
||||||
// 플러그인 클래스를 include
|
// 위젯 클래스를 include
|
||||||
require_once($class_file);
|
require_once($class_file);
|
||||||
|
|
||||||
// 객체 생성
|
// 객체 생성
|
||||||
$eval_str = sprintf('$oPlugin = new %s();', $plugin);
|
$eval_str = sprintf('$oWidget = new %s();', $widget);
|
||||||
@eval($eval_str);
|
@eval($eval_str);
|
||||||
if(!is_object($oPlugin)) return sprintf(Context::getLang('msg_plugin_object_is_null'), $plugin);
|
if(!is_object($oWidget)) return sprintf(Context::getLang('msg_widget_object_is_null'), $widget);
|
||||||
|
|
||||||
if(!method_exists($oPlugin, 'proc')) return sprintf(Context::getLang('msg_plugin_proc_is_null'), $plugin);
|
if(!method_exists($oWidget, 'proc')) return sprintf(Context::getLang('msg_widget_proc_is_null'), $widget);
|
||||||
|
|
||||||
$oPlugin->plugin_path = $path;
|
$oWidget->widget_path = $path;
|
||||||
|
|
||||||
$GLOBALS['_xe_loaded_plugins_'][$plugin] = $oPlugin;
|
$GLOBALS['_xe_loaded_widgets_'][$widget] = $oWidget;
|
||||||
}
|
}
|
||||||
return $GLOBALS['_xe_loaded_plugins_'][$plugin];
|
return $GLOBALS['_xe_loaded_widgets_'][$widget];
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ a.bold { font-weight:bold; }
|
||||||
.folder_closer { display: none; }
|
.folder_closer { display: none; }
|
||||||
.folder_area { display: none; }
|
.folder_area { display: none; }
|
||||||
|
|
||||||
.zbxe_plugin_output { background:url(../tpl/images/plugin.gif) no-repeat center; background-color:#FFFFFF; border:3px dotted #039311; display:block; }
|
.zbxe_widget_output { background:url(../tpl/images/widget.gif) no-repeat center; background-color:#FFFFFF; border:3px dotted #039311; display:block; }
|
||||||
|
|
||||||
.member_signature { margin-top:10px; border:1px solid #DDDDDD; padding:10px; }
|
.member_signature { margin-top:10px; border:1px solid #DDDDDD; padding:10px; }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@
|
||||||
|
|
||||||
$lang->mid = '모듈이름';
|
$lang->mid = '모듈이름';
|
||||||
$lang->layout = '레이아웃';
|
$lang->layout = '레이아웃';
|
||||||
$lang->plugin = '플러그인 ';
|
$lang->widget = '위젯 ';
|
||||||
$lang->module = '모듈';
|
$lang->module = '모듈';
|
||||||
$lang->skin = '스킨';
|
$lang->skin = '스킨';
|
||||||
$lang->colorset = '컬러셋';
|
$lang->colorset = '컬러셋';
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@
|
||||||
require_once("./classes/context/Context.class.php");
|
require_once("./classes/context/Context.class.php");
|
||||||
require_once("./classes/db/DB.class.php");
|
require_once("./classes/db/DB.class.php");
|
||||||
require_once("./classes/file/FileHandler.class.php");
|
require_once("./classes/file/FileHandler.class.php");
|
||||||
require_once("./classes/plugin/PluginHandler.class.php");
|
require_once("./classes/widget/WidgetHandler.class.php");
|
||||||
require_once("./classes/editor/EditorHandler.class.php");
|
require_once("./classes/editor/EditorHandler.class.php");
|
||||||
require_once("./classes/module/ModuleObject.class.php");
|
require_once("./classes/module/ModuleObject.class.php");
|
||||||
require_once("./classes/module/ModuleHandler.class.php");
|
require_once("./classes/module/ModuleHandler.class.php");
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 좌측 메뉴 및 메인 2차 메뉴, 로그인 플러그인 및 기타
|
* 좌측 메뉴 및 메인 2차 메뉴, 로그인 위젯 및 기타
|
||||||
**/
|
**/
|
||||||
.layout_left {
|
.layout_left {
|
||||||
width:220px;
|
width:220px;
|
||||||
|
|
|
||||||
|
|
@ -46,10 +46,10 @@ xe_layout_menu['bottom_menu'][1][{$first_key}] = { "text":"{htmlspecialchars($fi
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 왼쪽 2차 메뉴 및 로그인과 기타 플러그인 부분 -->
|
<!-- 왼쪽 2차 메뉴 및 로그인과 기타 위젯 부분 -->
|
||||||
<div class="layout_left">
|
<div class="layout_left">
|
||||||
<!-- 로그인 플러그인 -->
|
<!-- 로그인 위젯 -->
|
||||||
<img src="./common/tpl/images/blank.gif" class="zbxe_plugin_output" plugin="login_info" skin="default" colorset="normal" style="width:100px;height:100px;"/>
|
<img src="./common/tpl/images/blank.gif" class="zbxe_widget_output" widget="login_info" skin="default" colorset="normal" style="width:100px;height:100px;"/>
|
||||||
|
|
||||||
<!-- main_menu 2차 시작 -->
|
<!-- main_menu 2차 시작 -->
|
||||||
<div class="layout_second_menu">
|
<div class="layout_second_menu">
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 좌측 메뉴 및 메인 2차 메뉴, 로그인 플러그인 및 기타
|
* 좌측 메뉴 및 메인 2차 메뉴, 로그인 위젯 및 기타
|
||||||
**/
|
**/
|
||||||
.layout_left {
|
.layout_left {
|
||||||
width:220px;
|
width:220px;
|
||||||
|
|
|
||||||
|
|
@ -29,10 +29,10 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 왼쪽 2차 메뉴 및 로그인과 기타 플러그인 부분 -->
|
<!-- 왼쪽 2차 메뉴 및 로그인과 기타 위젯 부분 -->
|
||||||
<div class="layout_left">
|
<div class="layout_left">
|
||||||
<!-- 로그인 플러그인 -->
|
<!-- 로그인 위젯 -->
|
||||||
<img src="./common/tpl/images/blank.gif" class="zbxe_plugin_output" plugin="login_info" skin="default" colorset="normal" style="width:100px;height:100px;"/>
|
<img src="./common/tpl/images/blank.gif" class="zbxe_widget_output" widget="login_info" skin="default" colorset="normal" style="width:100px;height:100px;"/>
|
||||||
|
|
||||||
<!-- main_menu 2차 시작 -->
|
<!-- main_menu 2차 시작 -->
|
||||||
<div class="layout_second_menu">
|
<div class="layout_second_menu">
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
$args->module = Context::get('selected_module');
|
$args->module = Context::get('selected_module');
|
||||||
|
|
||||||
// 삭제 불가능 바로가기의 처리
|
// 삭제 불가능 바로가기의 처리
|
||||||
if(in_array($args->module, array('module','addon','plugin','layout'))) return new Object(-1, 'msg_manage_module_cannot_delete');
|
if(in_array($args->module, array('module','addon','widget','layout'))) return new Object(-1, 'msg_manage_module_cannot_delete');
|
||||||
|
|
||||||
$output = executeQuery('admin.deleteShortCut', $args);
|
$output = executeQuery('admin.deleteShortCut', $args);
|
||||||
if(!$output->toBool()) return $output;
|
if(!$output->toBool()) return $output;
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
$oAdminController->insertShortCut('menu');
|
$oAdminController->insertShortCut('menu');
|
||||||
$oAdminController->insertShortCut('layout');
|
$oAdminController->insertShortCut('layout');
|
||||||
$oAdminController->insertShortCut('addon');
|
$oAdminController->insertShortCut('addon');
|
||||||
$oAdminController->insertShortCut('plugin');
|
$oAdminController->insertShortCut('widget');
|
||||||
$oAdminController->insertShortCut('member');
|
$oAdminController->insertShortCut('member');
|
||||||
$oAdminController->insertShortCut('module');
|
$oAdminController->insertShortCut('module');
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
$lang->item_module = "모듈 목록";
|
$lang->item_module = "모듈 목록";
|
||||||
$lang->item_addon = "애드온 목록";
|
$lang->item_addon = "애드온 목록";
|
||||||
$lang->item_plugin = "플러그인 목록";
|
$lang->item_widget = "위젯 목록";
|
||||||
$lang->item_layout = "레이아웃 목록";
|
$lang->item_layout = "레이아웃 목록";
|
||||||
|
|
||||||
$lang->module_name = "모듈 이름";
|
$lang->module_name = "모듈 이름";
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
$lang->installed_path = "설치경로";
|
$lang->installed_path = "설치경로";
|
||||||
|
|
||||||
$lang->msg_is_not_administrator = '관리자만 접속이 가능합니다';
|
$lang->msg_is_not_administrator = '관리자만 접속이 가능합니다';
|
||||||
$lang->msg_manage_module_cannot_delete = '모듈, 애드온, 레이아웃, 플러그인 모듈의 바로가기는 삭제 불가능합니다';
|
$lang->msg_manage_module_cannot_delete = '모듈, 애드온, 레이아웃, 위젯 모듈의 바로가기는 삭제 불가능합니다';
|
||||||
$lang->msg_default_act_is_null = '기본 관리자 Action이 지정되어 있지 않아 바로가기 등록을 할 수가 없습니다';
|
$lang->msg_default_act_is_null = '기본 관리자 Action이 지정되어 있지 않아 바로가기 등록을 할 수가 없습니다';
|
||||||
|
|
||||||
// 관리자 메인 페이지
|
// 관리자 메인 페이지
|
||||||
|
|
@ -31,9 +31,9 @@
|
||||||
'공식홈페이지' => 'http://www.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',
|
'위젯 자료실' => 'http://www.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',
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
$lang->about_category_name = '카테고리 이름을 입력해주세요';
|
$lang->about_category_name = '카테고리 이름을 입력해주세요';
|
||||||
$lang->about_expand = '선택하시면 늘 펼쳐진 상태로 있게 합니다';
|
$lang->about_expand = '선택하시면 늘 펼쳐진 상태로 있게 합니다';
|
||||||
$lang->about_category_group_srls = '선택하신 그룹만 현재 카테고리가 보이게 됩니다. (xml파일을 직접 열람하면 노출이 됩니다)';
|
$lang->about_category_group_srls = '선택하신 그룹만 현재 카테고리가 보이게 됩니다. (xml파일을 직접 열람하면 노출이 됩니다)';
|
||||||
$lang->about_layout_setup = '블로그의 레이아웃 코드를 직접 수정할 수 있습니다. 플러그인 코드를 원하는 곳에 삽입하시거나 관리하세요';
|
$lang->about_layout_setup = '블로그의 레이아웃 코드를 직접 수정할 수 있습니다. 위젯 코드를 원하는 곳에 삽입하시거나 관리하세요';
|
||||||
|
|
||||||
$lang->about_blog = "블로그를 만드시고 관리할 수 있는 블로그 모듈입니다.\n블로그 모듈은 블로그 스킨에 포함된 레이아웃을 이용하니 생성후 꼭 분류 및 스킨 관리를 통해서 블로그를 꾸미시기 바랍니다.\n블로그내에 다른 게시판을 연결하시고 싶을때에는 메뉴모듈로 메뉴를 만들고 나서 스킨관리에 연결해 주시면 됩니다";
|
$lang->about_blog = "블로그를 만드시고 관리할 수 있는 블로그 모듈입니다.\n블로그 모듈은 블로그 스킨에 포함된 레이아웃을 이용하니 생성후 꼭 분류 및 스킨 관리를 통해서 블로그를 꾸미시기 바랍니다.\n블로그내에 다른 게시판을 연결하시고 싶을때에는 메뉴모듈로 메뉴를 만들고 나서 스킨관리에 연결해 주시면 됩니다";
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 좌측 메뉴 및 메인 2차 메뉴, 로그인 플러그인 및 기타
|
* 좌측 메뉴 및 메인 2차 메뉴, 로그인 위젯 및 기타
|
||||||
**/
|
**/
|
||||||
.layout_left {
|
.layout_left {
|
||||||
width:220px;
|
width:220px;
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ function editorStart(upload_target_srl, resizable, height) {
|
||||||
else xAddEventListener(contentDocument, 'keypress',editorKeyPress);
|
else xAddEventListener(contentDocument, 'keypress',editorKeyPress);
|
||||||
xAddEventListener(contentDocument,'mousedown',editorHideObject);
|
xAddEventListener(contentDocument,'mousedown',editorHideObject);
|
||||||
|
|
||||||
// 플러그인 감시를 위한 더블클릭 이벤트 걸기 (오페라에 대한 처리는 차후에.. 뭔가 이상함)
|
// 위젯 감시를 위한 더블클릭 이벤트 걸기 (오페라에 대한 처리는 차후에.. 뭔가 이상함)
|
||||||
xAddEventListener(contentDocument,'dblclick',editorSearchComponent);
|
xAddEventListener(contentDocument,'dblclick',editorSearchComponent);
|
||||||
xAddEventListener(document,'dblclick',editorSearchComponent);
|
xAddEventListener(document,'dblclick',editorSearchComponent);
|
||||||
|
|
||||||
|
|
@ -411,8 +411,8 @@ function editorSearchComponent(evt) {
|
||||||
editorPrevNode = null;
|
editorPrevNode = null;
|
||||||
var obj = e.target;
|
var obj = e.target;
|
||||||
|
|
||||||
// 플러그인인지 일단 체크
|
// 위젯인지 일단 체크
|
||||||
if(obj.getAttribute("plugin")) {
|
if(obj.getAttribute("widget")) {
|
||||||
// upload_target_srl을 찾음
|
// upload_target_srl을 찾음
|
||||||
var tobj = obj;
|
var tobj = obj;
|
||||||
while(tobj && tobj.nodeName != "BODY") {
|
while(tobj && tobj.nodeName != "BODY") {
|
||||||
|
|
@ -423,9 +423,9 @@ function editorSearchComponent(evt) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var upload_target_srl = tobj.getAttribute("upload_target_srl");
|
var upload_target_srl = tobj.getAttribute("upload_target_srl");
|
||||||
var plugin = obj.getAttribute("plugin");
|
var widget = obj.getAttribute("widget");
|
||||||
editorPrevNode = obj;
|
editorPrevNode = obj;
|
||||||
popopen(request_uri+"?module=plugin&act=dispPluginGenerateCodeInPage&selected_plugin="+plugin+"&module_srl="+upload_target_srl,'GenerateCodeInPage');
|
popopen(request_uri+"?module=widget&act=dispWidgetGenerateCodeInPage&selected_widget="+widget+"&module_srl="+upload_target_srl,'GenerateCodeInPage');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ function editor_upload_form_set(upload_target_srl) {
|
||||||
var embed_html = "";
|
var embed_html = "";
|
||||||
var flashVars = 'uploadProgressCallback=editor_upload_progress&uploadFileErrorCallback=editor_upload_error_handle&allowedFiletypesDescription='+uploader_setting["allowed_filetypes_description"]+'&autoUpload=true&allowedFiletypes='+uploader_setting["allowed_filetypes"]+'&maximumFilesize='+uploader_setting["allowed_filesize"]+'&uploadQueueCompleteCallback=editor_display_uploaded_file&uploadScript='+escape('../../../../?act=procFileUpload&upload_target_srl='+upload_target_srl+'&PHPSESSID='+xGetCookie(zbxe_session_name));
|
var flashVars = 'uploadProgressCallback=editor_upload_progress&uploadFileErrorCallback=editor_upload_error_handle&allowedFiletypesDescription='+uploader_setting["allowed_filetypes_description"]+'&autoUpload=true&allowedFiletypes='+uploader_setting["allowed_filetypes"]+'&maximumFilesize='+uploader_setting["allowed_filesize"]+'&uploadQueueCompleteCallback=editor_display_uploaded_file&uploadScript='+escape('../../../../?act=procFileUpload&upload_target_srl='+upload_target_srl+'&PHPSESSID='+xGetCookie(zbxe_session_name));
|
||||||
|
|
||||||
if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length) {
|
if(navigator.widgets&&navigator.mimeTypes&&navigator.mimeTypes.length) {
|
||||||
embed_html = '<embed type="application/x-shockwave-flash" src="./modules/editor/tpl/images/SWFUpload.swf" width="1" height="1" id="'+uploader_name+'" name="'+uploader_name+'" quality="high" wmode="transparent" menu="false" flashvars="'+flashVars+'" />';
|
embed_html = '<embed type="application/x-shockwave-flash" src="./modules/editor/tpl/images/SWFUpload.swf" width="1" height="1" id="'+uploader_name+'" name="'+uploader_name+'" quality="high" wmode="transparent" menu="false" flashvars="'+flashVars+'" />';
|
||||||
} else {
|
} else {
|
||||||
embed_html = '<object id="'+uploader_name+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="1" height="1"><param name="movie" value="./modules/editor/tpl/images/SWFUpload.swf" /><param name="bgcolor" value="#000000" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="menu" value="false" /><param name="flashvars" value="'+flashVars+'" /></object>';
|
embed_html = '<object id="'+uploader_name+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="1" height="1"><param name="movie" value="./modules/editor/tpl/images/SWFUpload.swf" /><param name="bgcolor" value="#000000" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="menu" value="false" /><param name="flashvars" value="'+flashVars+'" /></object>';
|
||||||
|
|
|
||||||
|
|
@ -84,10 +84,10 @@
|
||||||
$layout_code = FileHandler::readFile($layout_file);
|
$layout_code = FileHandler::readFile($layout_file);
|
||||||
Context::set('layout_code', $layout_code);
|
Context::set('layout_code', $layout_code);
|
||||||
|
|
||||||
// 플러그인 목록을 세팅
|
// 위젯 목록을 세팅
|
||||||
$oPluginModel = &getModel('plugin');
|
$oWidgetModel = &getModel('widget');
|
||||||
$plugin_list = $oPluginModel->getDownloadedPluginList();
|
$widget_list = $oWidgetModel->getDownloadedWidgetList();
|
||||||
Context::set('plugin_list', $plugin_list);
|
Context::set('widget_list', $widget_list);
|
||||||
|
|
||||||
$this->setTemplateFile('layout_edit');
|
$this->setTemplateFile('layout_edit');
|
||||||
}
|
}
|
||||||
|
|
@ -149,7 +149,7 @@
|
||||||
|
|
||||||
$layout_tpl = $oTemplate->compile($layout_path, $layout_file, $edited_layout_file);
|
$layout_tpl = $oTemplate->compile($layout_path, $layout_file, $edited_layout_file);
|
||||||
|
|
||||||
// 플러그인등을 변환
|
// 위젯등을 변환
|
||||||
$oContext = &Context::getInstance();
|
$oContext = &Context::getInstance();
|
||||||
$layout_tpl = $oContext->transContent($layout_tpl);
|
$layout_tpl = $oContext->transContent($layout_tpl);
|
||||||
Context::set('layout_tpl', $layout_tpl);
|
Context::set('layout_tpl', $layout_tpl);
|
||||||
|
|
|
||||||
|
|
@ -13,10 +13,10 @@
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<div style="margin-bottom:10px;border:1px solid #DDDDDD;padding:5px;">
|
<div style="margin-bottom:10px;border:1px solid #DDDDDD;padding:5px;">
|
||||||
<div style="font-weight:bold">{$lang->plugin}</div>
|
<div style="font-weight:bold">{$lang->widget}</div>
|
||||||
<div>
|
<div>
|
||||||
<!--@foreach($plugin_list as $plugin)-->
|
<!--@foreach($widget_list as $widget)-->
|
||||||
[<a href="#" onclick="popopen('./?module=plugin&act=dispPluginGenerateCode&selected_plugin={$plugin->plugin}&module_srl={$module_srl}','GenerateCodeInPage');return false;">{$plugin->title}</a>]
|
[<a href="#" onclick="popopen('./?module=widget&act=dispWidgetGenerateCode&selected_widget={$widget->widget}&module_srl={$module_srl}','GenerateCodeInPage');return false;">{$widget->title}</a>]
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -158,7 +158,7 @@
|
||||||
|
|
||||||
// addon 삭제
|
// addon 삭제
|
||||||
|
|
||||||
// plugin 삭제
|
// widget 삭제
|
||||||
|
|
||||||
// document 삭제
|
// document 삭제
|
||||||
$oDocumentController = &getAdminController('document');
|
$oDocumentController = &getAdminController('document');
|
||||||
|
|
|
||||||
|
|
@ -6,5 +6,5 @@
|
||||||
**/
|
**/
|
||||||
|
|
||||||
// 주절 주절..
|
// 주절 주절..
|
||||||
$lang->about_page = "하나의 완성된 페이지를 제작할 수 있는 블로그 모듈입니다.\n최근게시물이나 기타 플러그인을 이용해서 동적인 페이지 생성이 가능하고 에디터 컴포넌트를 통해서 다양한 모습으로 꾸밀 수 있습니다.\n접속 URL은 다른 모듈처 mid=모듈이름 으로 접속이 가능하며 기본으로 선택하면 접속시 메인 페이지가 됩니다";
|
$lang->about_page = "하나의 완성된 페이지를 제작할 수 있는 블로그 모듈입니다.\n최근게시물이나 기타 위젯을 이용해서 동적인 페이지 생성이 가능하고 에디터 컴포넌트를 통해서 다양한 모습으로 꾸밀 수 있습니다.\n접속 URL은 다른 모듈처 mid=모듈이름 으로 접속이 가능하며 기본으로 선택하면 접속시 메인 페이지가 됩니다";
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -120,10 +120,10 @@
|
||||||
if(!$module_srl) $module_srl = getNextSequence();
|
if(!$module_srl) $module_srl = getNextSequence();
|
||||||
Context::set('module_srl',$module_srl);
|
Context::set('module_srl',$module_srl);
|
||||||
|
|
||||||
// 플러그인 목록을 세팅
|
// 위젯 목록을 세팅
|
||||||
$oPluginModel = &getModel('plugin');
|
$oWidgetModel = &getModel('widget');
|
||||||
$plugin_list = $oPluginModel->getDownloadedPluginList();
|
$widget_list = $oWidgetModel->getDownloadedWidgetList();
|
||||||
Context::set('plugin_list', $plugin_list);
|
Context::set('widget_list', $widget_list);
|
||||||
|
|
||||||
// 에디터 모듈의 getEditor를 호출하여 세팅
|
// 에디터 모듈의 getEditor를 호출하여 세팅
|
||||||
$oEditorModel = &getModel('editor');
|
$oEditorModel = &getModel('editor');
|
||||||
|
|
|
||||||
|
|
@ -70,10 +70,10 @@
|
||||||
</tr>
|
</tr>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
<tr>
|
<tr>
|
||||||
<th>{$lang->plugin}</th>
|
<th>{$lang->widget}</th>
|
||||||
<td>
|
<td>
|
||||||
<!--@foreach($plugin_list as $plugin)-->
|
<!--@foreach($widget_list as $widget)-->
|
||||||
[<a href="#" onclick="popopen('./?module=plugin&act=dispPluginGenerateCodeInPage&selected_plugin={$plugin->plugin}&module_srl={$module_srl}','GenerateCodeInPage');return false;">{$plugin->title}</a>]
|
[<a href="#" onclick="popopen('./?module=widget&act=dispWidgetGenerateCodeInPage&selected_widget={$widget->widget}&module_srl={$module_srl}','GenerateCodeInPage');return false;">{$widget->title}</a>]
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<module version="0.1">
|
<module version="0.1">
|
||||||
<title xml:lang="ko">플러그인 관리</title>
|
<title xml:lang="ko">위젯 관리</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">플러그인 관리 모듈</description>
|
<description xml:lang="ko">위젯 관리 모듈</description>
|
||||||
</author>
|
</author>
|
||||||
</module>
|
</module>
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<module>
|
<module>
|
||||||
<actions>
|
<actions>
|
||||||
<action name="dispPluginInfo" type="view" standalone="true" />
|
<action name="dispWidgetInfo" type="view" standalone="true" />
|
||||||
<action name="dispPluginGenerateCode" type="view" standalone="true" />
|
<action name="dispWidgetGenerateCode" type="view" standalone="true" />
|
||||||
<action name="dispPluginGenerateCodeInPage" type="view" standalone="true" />
|
<action name="dispWidgetGenerateCodeInPage" type="view" standalone="true" />
|
||||||
|
|
||||||
<action name="dispPluginAdminDownloadedList" type="view" standalone="true" admin_index="true" />
|
<action name="dispWidgetAdminDownloadedList" type="view" standalone="true" admin_index="true" />
|
||||||
|
|
||||||
<action name="procPluginGenerateCode" type="controller" standalone="true" />
|
<action name="procWidgetGenerateCode" type="controller" standalone="true" />
|
||||||
<action name="procPluginGetColorsetList" type="controller" standalone="true" />
|
<action name="procWidgetGetColorsetList" type="controller" standalone="true" />
|
||||||
</actions>
|
</actions>
|
||||||
</module>
|
</module>
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,23 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @file modules/plugin/lang/ko.lang.php
|
* @file modules/widget/lang/ko.lang.php
|
||||||
* @author zero <zero@nzeo.com>
|
* @author zero <zero@nzeo.com>
|
||||||
* @brief 플러그인(plugin) 모듈의 기본 언어팩
|
* @brief 위젯(widget) 모듈의 기본 언어팩
|
||||||
**/
|
**/
|
||||||
|
|
||||||
$lang->cmd_generate_code = '코드생성';
|
$lang->cmd_generate_code = '코드생성';
|
||||||
|
|
||||||
$lang->plugin_name = '플러그인 이름';
|
$lang->widget_name = '위젯 이름';
|
||||||
$lang->plugin_maker = '플러그인 제작자';
|
$lang->widget_maker = '위젯 제작자';
|
||||||
$lang->plugin_history = '변경사항';
|
$lang->widget_history = '변경사항';
|
||||||
$lang->plugin_info = '플러그인 정보';
|
$lang->widget_info = '위젯 정보';
|
||||||
$lang->plugin_code = '코드';
|
$lang->widget_code = '코드';
|
||||||
|
|
||||||
$lang->msg_plugin_is_not_exists = '%s 플러그인을 찾을 수 없습니다';
|
$lang->msg_widget_is_not_exists = '%s 위젯을 찾을 수 없습니다';
|
||||||
$lang->msg_plugin_object_is_null = '%s 플러그인의 객체 생성을 할 수가 없습니다';
|
$lang->msg_widget_object_is_null = '%s 위젯의 객체 생성을 할 수가 없습니다';
|
||||||
$lang->msg_plugin_proc_is_null = '%s 플러그인의 proc() 를 실행할 수가 없습니다';
|
$lang->msg_widget_proc_is_null = '%s 위젯의 proc() 를 실행할 수가 없습니다';
|
||||||
|
|
||||||
$lang->about_plugin_code = '선택하신 플러그인에서 요구하는 아래 항목들의 값을 넣고 [코드생성]버튼을 누르시면 제일 아래 칸에 템플릿 파일에 적용할 수 있는 코드가 출력 됩니다';
|
$lang->about_widget_code = '선택하신 위젯에서 요구하는 아래 항목들의 값을 넣고 [코드생성]버튼을 누르시면 제일 아래 칸에 템플릿 파일에 적용할 수 있는 코드가 출력 됩니다';
|
||||||
$lang->about_plugin_code_in_page = '아래 필요한 값들을 입력하신 후 추가 버튼을 누르시면 페이지 내에 플러그인이 삽입이 됩니다';
|
$lang->about_widget_code_in_page = '아래 필요한 값들을 입력하신 후 추가 버튼을 누르시면 페이지 내에 위젯이 삽입이 됩니다';
|
||||||
$lang->about_addon = "플러그인은 레이아웃이나 페이지 모듈에서 사용되는 작은 구성요소입니다.\n내부 모듈 또는 외부 open api와 연동될 수도 있고 설정을 통해서 다양한 응용이 가능합니다.\n제로보드XE의 페이지 모듈이나 레이아웃 모듈을 사용하지 않더라도 [코드생성] 기능을 통해 직접 플러그인 추가도 할 수 있습니다";
|
$lang->about_addon = "위젯은 레이아웃이나 페이지 모듈에서 사용되는 작은 구성요소입니다.\n내부 모듈 또는 외부 open api와 연동될 수도 있고 설정을 통해서 다양한 응용이 가능합니다.\n제로보드XE의 페이지 모듈이나 레이아웃 모듈을 사용하지 않더라도 [코드생성] 기능을 통해 직접 위젯 추가도 할 수 있습니다";
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @class pluginAdminView
|
* @class widgetAdminView
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief plugin 모듈의 admin view class
|
* @brief widget 모듈의 admin view class
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class pluginAdminView extends plugin {
|
class widgetAdminView extends widget {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 초기화
|
* @brief 초기화
|
||||||
|
|
@ -15,15 +15,15 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인 목록을 보여줌
|
* @brief 위젯 목록을 보여줌
|
||||||
**/
|
**/
|
||||||
function dispPluginAdminDownloadedList() {
|
function dispWidgetAdminDownloadedList() {
|
||||||
// 플러그인 목록을 세팅
|
// 위젯 목록을 세팅
|
||||||
$oPluginModel = &getModel('plugin');
|
$oWidgetModel = &getModel('widget');
|
||||||
$plugin_list = $oPluginModel->getDownloadedPluginList();
|
$widget_list = $oWidgetModel->getDownloadedWidgetList();
|
||||||
Context::set('plugin_list', $plugin_list);
|
Context::set('widget_list', $widget_list);
|
||||||
|
|
||||||
$this->setTemplateFile('downloaded_plugin_list');
|
$this->setTemplateFile('downloaded_widget_list');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @class plugin
|
* @class widget
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief plugin 모듈의 high class
|
* @brief widget 모듈의 high class
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class plugin extends ModuleObject {
|
class widget extends ModuleObject {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 설치시 추가 작업이 필요할시 구현
|
* @brief 설치시 추가 작업이 필요할시 구현
|
||||||
|
|
@ -13,13 +13,13 @@
|
||||||
function moduleInstall() {
|
function moduleInstall() {
|
||||||
// action forward에 등록 (관리자 모드에서 사용하기 위함)
|
// action forward에 등록 (관리자 모드에서 사용하기 위함)
|
||||||
$oModuleController = &getController('module');
|
$oModuleController = &getController('module');
|
||||||
$oModuleController->insertActionForward('plugin', 'view', 'dispPluginInfo');
|
$oModuleController->insertActionForward('widget', 'view', 'dispWidgetInfo');
|
||||||
$oModuleController->insertActionForward('plugin', 'view', 'dispPluginGenerateCode');
|
$oModuleController->insertActionForward('widget', 'view', 'dispWidgetGenerateCode');
|
||||||
$oModuleController->insertActionForward('plugin', 'view', 'dispPluginGenerateCodePage');
|
$oModuleController->insertActionForward('widget', 'view', 'dispWidgetGenerateCodePage');
|
||||||
$oModuleController->insertActionForward('plugin', 'view', 'dispPluginAdminDownloadedList');
|
$oModuleController->insertActionForward('widget', 'view', 'dispWidgetAdminDownloadedList');
|
||||||
|
|
||||||
// plugin 에서 사용할 cache디렉토리 생성
|
// widget 에서 사용할 cache디렉토리 생성
|
||||||
FileHandler::makeDir('./files/cache/plugin');
|
FileHandler::makeDir('./files/cache/widget');
|
||||||
|
|
||||||
return new Object();
|
return new Object();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @class pluginController
|
* @class widgetController
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief plugin 모듈의 Controller class
|
* @brief widget 모듈의 Controller class
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class pluginController extends plugin {
|
class widgetController extends widget {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 초기화
|
* @brief 초기화
|
||||||
|
|
@ -14,16 +14,16 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인의 생성된 코드를 return
|
* @brief 위젯의 생성된 코드를 return
|
||||||
**/
|
**/
|
||||||
function procPluginGenerateCode() {
|
function procWidgetGenerateCode() {
|
||||||
// 변수 정리
|
// 변수 정리
|
||||||
$vars = Context::getRequestVars();
|
$vars = Context::getRequestVars();
|
||||||
$plugin = $vars->selected_plugin;
|
$widget = $vars->selected_widget;
|
||||||
|
|
||||||
unset($vars->module);
|
unset($vars->module);
|
||||||
unset($vars->act);
|
unset($vars->act);
|
||||||
unset($vars->selected_plugin);
|
unset($vars->selected_widget);
|
||||||
|
|
||||||
$attribute = array();
|
$attribute = array();
|
||||||
if($vars) {
|
if($vars) {
|
||||||
|
|
@ -34,20 +34,20 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
$blank_img_path = "./common/tpl/images/blank.gif";
|
$blank_img_path = "./common/tpl/images/blank.gif";
|
||||||
$plugin_code = sprintf('<img src="%s" class="zbxe_plugin_output" plugin="%s" %s style="width:100px;height:100px;"/>', $blank_img_path, $plugin, implode(' ',$attribute));
|
$widget_code = sprintf('<img src="%s" class="zbxe_widget_output" widget="%s" %s style="width:100px;height:100px;"/>', $blank_img_path, $widget, implode(' ',$attribute));
|
||||||
|
|
||||||
// 코드 출력
|
// 코드 출력
|
||||||
$this->add('plugin_code', $plugin_code);
|
$this->add('widget_code', $widget_code);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 선택된 플러그인 - 스킨의 컬러셋을 return
|
* @brief 선택된 위젯 - 스킨의 컬러셋을 return
|
||||||
**/
|
**/
|
||||||
function procPluginGetColorsetList() {
|
function procWidgetGetColorsetList() {
|
||||||
$plugin = Context::get('selected_plugin');
|
$widget = Context::get('selected_widget');
|
||||||
$skin = Context::get('skin');
|
$skin = Context::get('skin');
|
||||||
|
|
||||||
$path = sprintf('./plugins/%s/', $plugin);
|
$path = sprintf('./widgets/%s/', $widget);
|
||||||
$oModuleModel = &getModel('module');
|
$oModuleModel = &getModel('module');
|
||||||
$skin_info = $oModuleModel->loadSkinInfo($path, $skin);
|
$skin_info = $oModuleModel->loadSkinInfo($path, $skin);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @class pluginModel
|
* @class widgetModel
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
* @brief plugin 모듈의 Model class
|
* @brief widget 모듈의 Model class
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class pluginModel extends plugin {
|
class widgetModel extends widget {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 초기화
|
* @brief 초기화
|
||||||
|
|
@ -15,34 +15,34 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인의 경로를 구함
|
* @brief 위젯의 경로를 구함
|
||||||
**/
|
**/
|
||||||
function getPluginPath($plugin_name) {
|
function getWidgetPath($widget_name) {
|
||||||
$path = sprintf('./plugins/%s/', $plugin_name);
|
$path = sprintf('./widgets/%s/', $widget_name);
|
||||||
if(is_dir($path)) return $path;
|
if(is_dir($path)) return $path;
|
||||||
|
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인의 종류와 정보를 구함
|
* @brief 위젯의 종류와 정보를 구함
|
||||||
* 다운로드되어 있는 플러그인의 종류 (생성과 다른 의미)
|
* 다운로드되어 있는 위젯의 종류 (생성과 다른 의미)
|
||||||
**/
|
**/
|
||||||
function getDownloadedPluginList() {
|
function getDownloadedWidgetList() {
|
||||||
// 다운받은 플러그인과 설치된 플러그인의 목록을 구함
|
// 다운받은 위젯과 설치된 위젯의 목록을 구함
|
||||||
$searched_list = FileHandler::readDir('./plugins');
|
$searched_list = FileHandler::readDir('./widgets');
|
||||||
$searched_count = count($searched_list);
|
$searched_count = count($searched_list);
|
||||||
if(!$searched_count) return;
|
if(!$searched_count) return;
|
||||||
|
|
||||||
// 찾아진 플러그인 목록을 loop돌면서 필요한 정보를 간추려 return
|
// 찾아진 위젯 목록을 loop돌면서 필요한 정보를 간추려 return
|
||||||
for($i=0;$i<$searched_count;$i++) {
|
for($i=0;$i<$searched_count;$i++) {
|
||||||
// 플러그인의 이름
|
// 위젯의 이름
|
||||||
$plugin = $searched_list[$i];
|
$widget = $searched_list[$i];
|
||||||
|
|
||||||
// 해당 플러그인의 정보를 구함
|
// 해당 위젯의 정보를 구함
|
||||||
$plugin_info = $this->getPluginInfo($plugin);
|
$widget_info = $this->getWidgetInfo($widget);
|
||||||
|
|
||||||
$list[] = $plugin_info;
|
$list[] = $widget_info;
|
||||||
}
|
}
|
||||||
return $list;
|
return $list;
|
||||||
}
|
}
|
||||||
|
|
@ -51,45 +51,45 @@
|
||||||
* @brief 모듈의 conf/info.xml 을 읽어서 정보를 구함
|
* @brief 모듈의 conf/info.xml 을 읽어서 정보를 구함
|
||||||
* 이것 역시 캐싱을 통해서 xml parsing 시간을 줄인다..
|
* 이것 역시 캐싱을 통해서 xml parsing 시간을 줄인다..
|
||||||
**/
|
**/
|
||||||
function getPluginInfo($plugin) {
|
function getWidgetInfo($widget) {
|
||||||
// 요청된 모듈의 경로를 구한다. 없으면 return
|
// 요청된 모듈의 경로를 구한다. 없으면 return
|
||||||
$plugin_path = $this->getPluginPath($plugin);
|
$widget_path = $this->getWidgetPath($widget);
|
||||||
if(!$plugin_path) return;
|
if(!$widget_path) return;
|
||||||
|
|
||||||
// 현재 선택된 모듈의 스킨의 정보 xml 파일을 읽음
|
// 현재 선택된 모듈의 스킨의 정보 xml 파일을 읽음
|
||||||
$xml_file = sprintf("%sconf/info.xml", $plugin_path);
|
$xml_file = sprintf("%sconf/info.xml", $widget_path);
|
||||||
if(!file_exists($xml_file)) return;
|
if(!file_exists($xml_file)) return;
|
||||||
|
|
||||||
// cache 파일을 비교하여 문제 없으면 include하고 $plugin_info 변수를 return
|
// cache 파일을 비교하여 문제 없으면 include하고 $widget_info 변수를 return
|
||||||
$cache_file = sprintf('./files/cache/plugin/%s.%s.cache.php', $plugin, Context::getLangType());
|
$cache_file = sprintf('./files/cache/widget/%s.%s.cache.php', $widget, Context::getLangType());
|
||||||
|
|
||||||
if(file_exists($cache_file)&&filectime($cache_file)>filectime($xml_file)) {
|
if(file_exists($cache_file)&&filectime($cache_file)>filectime($xml_file)) {
|
||||||
@include($cache_file);
|
@include($cache_file);
|
||||||
return $plugin_info;
|
return $widget_info;
|
||||||
}
|
}
|
||||||
|
|
||||||
// cache 파일이 없으면 xml parsing하고 변수화 한 후에 캐시 파일에 쓰고 변수 바로 return
|
// cache 파일이 없으면 xml parsing하고 변수화 한 후에 캐시 파일에 쓰고 변수 바로 return
|
||||||
$oXmlParser = new XmlParser();
|
$oXmlParser = new XmlParser();
|
||||||
$tmp_xml_obj = $oXmlParser->loadXmlFile($xml_file);
|
$tmp_xml_obj = $oXmlParser->loadXmlFile($xml_file);
|
||||||
$xml_obj = $tmp_xml_obj->plugin;
|
$xml_obj = $tmp_xml_obj->widget;
|
||||||
if(!$xml_obj) return;
|
if(!$xml_obj) return;
|
||||||
|
|
||||||
$buff = '';
|
$buff = '';
|
||||||
|
|
||||||
// 플러그인의 제목, 버전
|
// 위젯의 제목, 버전
|
||||||
$buff .= sprintf('$plugin_info->plugin = "%s";', $plugin);
|
$buff .= sprintf('$widget_info->widget = "%s";', $widget);
|
||||||
$buff .= sprintf('$plugin_info->path = "%s";', $plugin_path);
|
$buff .= sprintf('$widget_info->path = "%s";', $widget_path);
|
||||||
$buff .= sprintf('$plugin_info->title = "%s";', $xml_obj->title->body);
|
$buff .= sprintf('$widget_info->title = "%s";', $xml_obj->title->body);
|
||||||
$buff .= sprintf('$plugin_info->version = "%s";', $xml_obj->attrs->version);
|
$buff .= sprintf('$widget_info->version = "%s";', $xml_obj->attrs->version);
|
||||||
$buff .= sprintf('$plugin_info->plugin_srl = $plugin_srl;');
|
$buff .= sprintf('$widget_info->widget_srl = $widget_srl;');
|
||||||
$buff .= sprintf('$plugin_info->plugin_title = $plugin_title;');
|
$buff .= sprintf('$widget_info->widget_title = $widget_title;');
|
||||||
|
|
||||||
// 작성자 정보
|
// 작성자 정보
|
||||||
$buff .= sprintf('$plugin_info->author->name = "%s";', $xml_obj->author->name->body);
|
$buff .= sprintf('$widget_info->author->name = "%s";', $xml_obj->author->name->body);
|
||||||
$buff .= sprintf('$plugin_info->author->email_address = "%s";', $xml_obj->author->attrs->email_address);
|
$buff .= sprintf('$widget_info->author->email_address = "%s";', $xml_obj->author->attrs->email_address);
|
||||||
$buff .= sprintf('$plugin_info->author->homepage = "%s";', $xml_obj->author->attrs->link);
|
$buff .= sprintf('$widget_info->author->homepage = "%s";', $xml_obj->author->attrs->link);
|
||||||
$buff .= sprintf('$plugin_info->author->date = "%s";', $xml_obj->author->attrs->date);
|
$buff .= sprintf('$widget_info->author->date = "%s";', $xml_obj->author->attrs->date);
|
||||||
$buff .= sprintf('$plugin_info->author->description = "%s";', $xml_obj->author->description->body);
|
$buff .= sprintf('$widget_info->author->description = "%s";', $xml_obj->author->description->body);
|
||||||
|
|
||||||
// 추가 변수 (템플릿에서 사용할 제작자 정의 변수)
|
// 추가 변수 (템플릿에서 사용할 제작자 정의 변수)
|
||||||
if(!is_array($xml_obj->extra_vars->var)) $extra_vars[] = $xml_obj->extra_vars->var;
|
if(!is_array($xml_obj->extra_vars->var)) $extra_vars[] = $xml_obj->extra_vars->var;
|
||||||
|
|
@ -97,16 +97,16 @@
|
||||||
if($extra_vars[0]->attrs->id) {
|
if($extra_vars[0]->attrs->id) {
|
||||||
$extra_var_count = count($extra_vars);
|
$extra_var_count = count($extra_vars);
|
||||||
|
|
||||||
$buff .= sprintf('$plugin_info->extra_var_count = "%s";', $extra_var_count);
|
$buff .= sprintf('$widget_info->extra_var_count = "%s";', $extra_var_count);
|
||||||
for($i=0;$i<$extra_var_count;$i++) {
|
for($i=0;$i<$extra_var_count;$i++) {
|
||||||
unset($var);
|
unset($var);
|
||||||
unset($options);
|
unset($options);
|
||||||
$var = $extra_vars[$i];
|
$var = $extra_vars[$i];
|
||||||
|
|
||||||
$buff .= sprintf('$plugin_info->extra_var->%s->name = "%s";', $var->attrs->id, $var->name->body);
|
$buff .= sprintf('$widget_info->extra_var->%s->name = "%s";', $var->attrs->id, $var->name->body);
|
||||||
$buff .= sprintf('$plugin_info->extra_var->%s->type = "%s";', $var->attrs->id, $var->type->body);
|
$buff .= sprintf('$widget_info->extra_var->%s->type = "%s";', $var->attrs->id, $var->type->body);
|
||||||
$buff .= sprintf('$plugin_info->extra_var->%s->value = $vars->%s;', $var->attrs->id, $var->attrs->id);
|
$buff .= sprintf('$widget_info->extra_var->%s->value = $vars->%s;', $var->attrs->id, $var->attrs->id);
|
||||||
$buff .= sprintf('$plugin_info->extra_var->%s->description = "%s";', $var->attrs->id, str_replace('"','\"',$var->description->body));
|
$buff .= sprintf('$widget_info->extra_var->%s->description = "%s";', $var->attrs->id, str_replace('"','\"',$var->description->body));
|
||||||
|
|
||||||
$options = $var->options;
|
$options = $var->options;
|
||||||
if(!$options) continue;
|
if(!$options) continue;
|
||||||
|
|
@ -114,7 +114,7 @@
|
||||||
if(!is_array($options)) $options = array($options);
|
if(!is_array($options)) $options = array($options);
|
||||||
$options_count = count($options);
|
$options_count = count($options);
|
||||||
for($j=0;$j<$options_count;$j++) {
|
for($j=0;$j<$options_count;$j++) {
|
||||||
$buff .= sprintf('$plugin_info->extra_var->%s->options["%s"] = "%s";', $var->attrs->id, $options[$j]->value->body, $options[$j]->name->body);
|
$buff .= sprintf('$widget_info->extra_var->%s->options["%s"] = "%s";', $var->attrs->id, $options[$j]->value->body, $options[$j]->name->body);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -124,7 +124,7 @@
|
||||||
FileHandler::writeFile($cache_file, $buff);
|
FileHandler::writeFile($cache_file, $buff);
|
||||||
|
|
||||||
if(file_exists($cache_file)) @include($cache_file);
|
if(file_exists($cache_file)) @include($cache_file);
|
||||||
return $plugin_info;
|
return $widget_info;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @class pluginView
|
* @class widgetView
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief plugin 모듈의 View class
|
* @brief widget 모듈의 View class
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class pluginView extends plugin {
|
class widgetView extends widget {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 초기화
|
* @brief 초기화
|
||||||
|
|
@ -15,29 +15,29 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인의 상세 정보(conf/info.xml)를 팝업 출력
|
* @brief 위젯의 상세 정보(conf/info.xml)를 팝업 출력
|
||||||
**/
|
**/
|
||||||
function dispPluginInfo() {
|
function dispWidgetInfo() {
|
||||||
// 선택된 플러그인 정보를 구함
|
// 선택된 위젯 정보를 구함
|
||||||
$oPluginModel = &getModel('plugin');
|
$oWidgetModel = &getModel('widget');
|
||||||
$plugin_info = $oPluginModel->getPluginInfo(Context::get('selected_plugin'));
|
$widget_info = $oWidgetModel->getWidgetInfo(Context::get('selected_widget'));
|
||||||
Context::set('plugin_info', $plugin_info);
|
Context::set('widget_info', $widget_info);
|
||||||
|
|
||||||
// 플러그인을 팝업으로 지정
|
// 위젯을 팝업으로 지정
|
||||||
$this->setLayoutFile('popup_layout');
|
$this->setLayoutFile('popup_layout');
|
||||||
|
|
||||||
// 템플릿 파일 지정
|
// 템플릿 파일 지정
|
||||||
$this->setTemplateFile('plugin_detail_info');
|
$this->setTemplateFile('widget_detail_info');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인의 코드 생성기
|
* @brief 위젯의 코드 생성기
|
||||||
**/
|
**/
|
||||||
function dispPluginGenerateCode() {
|
function dispWidgetGenerateCode() {
|
||||||
// 선택된 플러그인 정보를 구함
|
// 선택된 위젯 정보를 구함
|
||||||
$oPluginModel = &getModel('plugin');
|
$oWidgetModel = &getModel('widget');
|
||||||
$plugin_info = $oPluginModel->getPluginInfo(Context::get('selected_plugin'));
|
$widget_info = $oWidgetModel->getWidgetInfo(Context::get('selected_widget'));
|
||||||
Context::set('plugin_info', $plugin_info);
|
Context::set('widget_info', $widget_info);
|
||||||
|
|
||||||
// mid 목록을 가져옴
|
// mid 목록을 가져옴
|
||||||
$oModuleModel = &getModel('module');
|
$oModuleModel = &getModel('module');
|
||||||
|
|
@ -45,22 +45,22 @@
|
||||||
Context::set('mid_list', $mid_list);
|
Context::set('mid_list', $mid_list);
|
||||||
|
|
||||||
// 스킨의 정보를 구함
|
// 스킨의 정보를 구함
|
||||||
$skin_list = $oModuleModel->getSkins($plugin_info->path);
|
$skin_list = $oModuleModel->getSkins($widget_info->path);
|
||||||
Context::set('skin_list', $skin_list);
|
Context::set('skin_list', $skin_list);
|
||||||
|
|
||||||
// 플러그인을 팝업으로 지정
|
// 위젯을 팝업으로 지정
|
||||||
$this->setLayoutFile('popup_layout');
|
$this->setLayoutFile('popup_layout');
|
||||||
|
|
||||||
// 템플릿 파일 지정
|
// 템플릿 파일 지정
|
||||||
$this->setTemplateFile('plugin_generate_code');
|
$this->setTemplateFile('widget_generate_code');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 페이지 관리에서 사용될 코드 생성 팝업
|
* @brief 페이지 관리에서 사용될 코드 생성 팝업
|
||||||
**/
|
**/
|
||||||
function dispPluginGenerateCodeInPage() {
|
function dispWidgetGenerateCodeInPage() {
|
||||||
$this->dispPluginGenerateCode();
|
$this->dispWidgetGenerateCode();
|
||||||
$this->setTemplateFile('plugin_generate_code_in_page');
|
$this->setTemplateFile('widget_generate_code_in_page');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
@charset "utf-8";
|
@charset "utf-8";
|
||||||
|
|
||||||
.plugin_detail_info_window {
|
.widget_detail_info_window {
|
||||||
width:600px;
|
width:600px;
|
||||||
clear:both;
|
clear:both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.plugin_title {
|
.widget_title {
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
font-size:10pt;
|
font-size:10pt;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
background-color:#444444;
|
background-color:#444444;
|
||||||
}
|
}
|
||||||
|
|
||||||
.plugin_description {
|
.widget_description {
|
||||||
margin:5px 2px 10px 2px;
|
margin:5px 2px 10px 2px;
|
||||||
border:1px solid #EEEEEE;
|
border:1px solid #EEEEEE;
|
||||||
color:#444444;
|
color:#444444;
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
padding:5px;
|
padding:5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.plugin_header {
|
.widget_header {
|
||||||
clear:left;
|
clear:left;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
float:left;
|
float:left;
|
||||||
|
|
@ -31,20 +31,20 @@
|
||||||
padding:5px 0px 5px 0px;
|
padding:5px 0px 5px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.plugin_body {
|
.widget_body {
|
||||||
float:left;
|
float:left;
|
||||||
width:490px;
|
width:490px;
|
||||||
padding:5px 0px 5px 0px;
|
padding:5px 0px 5px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.plugin_var_description {
|
.widget_var_description {
|
||||||
clear:both;
|
clear:both;
|
||||||
padding:5px 0px 5px 0px;
|
padding:5px 0px 5px 0px;
|
||||||
margin-left:100px;
|
margin-left:100px;
|
||||||
color:#AAAAAA;
|
color:#AAAAAA;
|
||||||
}
|
}
|
||||||
|
|
||||||
.plugin_button_area {
|
.widget_button_area {
|
||||||
clear:both;
|
clear:both;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
padding:5px 0px 5px 0px;
|
padding:5px 0px 5px 0px;
|
||||||
|
|
@ -52,14 +52,14 @@
|
||||||
border-top:1px solid #AAAAAA;
|
border-top:1px solid #AAAAAA;
|
||||||
}
|
}
|
||||||
|
|
||||||
.plugin_button {
|
.widget_button {
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
height:16px;
|
height:16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.plugin_code_area {
|
.widget_code_area {
|
||||||
clear:both;
|
clear:both;
|
||||||
padding:4px;
|
padding:4px;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
|
|
@ -67,7 +67,7 @@
|
||||||
height:100px;
|
height:100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.plugin_code_area textarea {
|
.widget_code_area textarea {
|
||||||
border:0px;
|
border:0px;
|
||||||
height:100px;
|
height:100px;
|
||||||
width:570px;
|
width:570px;
|
||||||
|
|
@ -75,7 +75,7 @@
|
||||||
font-size:8pt;
|
font-size:8pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.plugin_mid_list {
|
.widget_mid_list {
|
||||||
float:left;
|
float:left;
|
||||||
margin-right:10px;
|
margin-right:10px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,30 +3,30 @@
|
||||||
{nl2br($lang->about_addon)}
|
{nl2br($lang->about_addon)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 플러그인의 목록 -->
|
<!-- 위젯의 목록 -->
|
||||||
<div>
|
<div>
|
||||||
<table border="1" width="100%">
|
<table border="1" width="100%">
|
||||||
<tr>
|
<tr>
|
||||||
<td>{$lang->plugin_name}</td>
|
<td>{$lang->widget_name}</td>
|
||||||
<td>{$lang->version}</td>
|
<td>{$lang->version}</td>
|
||||||
<td>{$lang->author}</td>
|
<td>{$lang->author}</td>
|
||||||
<td>{$lang->date}</td>
|
<td>{$lang->date}</td>
|
||||||
<td>{$lang->path}</td>
|
<td>{$lang->path}</td>
|
||||||
<td>{$lang->cmd_generate_code}</td>
|
<td>{$lang->cmd_generate_code}</td>
|
||||||
<td>{$lang->plugin_info}</td>
|
<td>{$lang->widget_info}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<!--@foreach($plugin_list as $key => $val)-->
|
<!--@foreach($widget_list as $key => $val)-->
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="2">
|
<td rowspan="2">
|
||||||
{$val->title} <br />
|
{$val->title} <br />
|
||||||
({$val->plugin})
|
({$val->widget})
|
||||||
</td>
|
</td>
|
||||||
<td>{$val->version}</td>
|
<td>{$val->version}</td>
|
||||||
<td><a href="#" onclick="window.open('{$val->author->homepage}')">{$val->author->name}</a></td>
|
<td><a href="#" onclick="window.open('{$val->author->homepage}')">{$val->author->name}</a></td>
|
||||||
<td>{$val->author->date}</td>
|
<td>{$val->author->date}</td>
|
||||||
<td>{$val->path}</td>
|
<td>{$val->path}</td>
|
||||||
<td><a href="#" onclick="popopen('{getUrl('','module','plugin','act','dispPluginGenerateCode','selected_plugin',$val->plugin)}','plugin_code_generate');return false">{$lang->cmd_generate_code}</a></td>
|
<td><a href="#" onclick="popopen('{getUrl('','module','widget','act','dispWidgetGenerateCode','selected_widget',$val->widget)}','widget_code_generate');return false">{$lang->cmd_generate_code}</a></td>
|
||||||
<td><a href="#" onclick="popopen('{getUrl('','module','plugin','act','dispPluginInfo','selected_plugin',$val->plugin)}','plugin_info');return false">{$lang->cmd_view}</a></td>
|
<td><a href="#" onclick="popopen('{getUrl('','module','widget','act','dispWidgetInfo','selected_widget',$val->widget)}','widget_info');return false">{$lang->cmd_view}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="6">
|
<td colspan="6">
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<filter name="generate_code" module="plugin" act="procPluginGenerateCode">
|
<filter name="generate_code" module="widget" act="procWidgetGenerateCode">
|
||||||
<response callback_func="completeGenerateCode">
|
<response callback_func="completeGenerateCode">
|
||||||
<tag name="error" />
|
<tag name="error" />
|
||||||
<tag name="message" />
|
<tag name="message" />
|
||||||
<tag name="plugin_code" />
|
<tag name="widget_code" />
|
||||||
</response>
|
</response>
|
||||||
</filter>
|
</filter>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<filter name="generate_code_in_page" module="plugin" act="procPluginGenerateCode">
|
<filter name="generate_code_in_page" module="widget" act="procWidgetGenerateCode">
|
||||||
<response callback_func="completeGenerateCodeInPage">
|
<response callback_func="completeGenerateCodeInPage">
|
||||||
<tag name="error" />
|
<tag name="error" />
|
||||||
<tag name="message" />
|
<tag name="message" />
|
||||||
<tag name="plugin_code" />
|
<tag name="widget_code" />
|
||||||
</response>
|
</response>
|
||||||
</filter>
|
</filter>
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,23 @@
|
||||||
/**
|
/**
|
||||||
* @file modules/plugin/js/plugin_admin.js
|
* @file modules/widget/js/widget_admin.js
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief plugin 모듈의 관리자용 javascript
|
* @brief widget 모듈의 관리자용 javascript
|
||||||
**/
|
**/
|
||||||
|
|
||||||
/* 생성된 코드를 textarea에 출력 */
|
/* 생성된 코드를 textarea에 출력 */
|
||||||
function completeGenerateCode(ret_obj) {
|
function completeGenerateCode(ret_obj) {
|
||||||
var plugin_code = ret_obj["plugin_code"];
|
var widget_code = ret_obj["widget_code"];
|
||||||
|
|
||||||
var zone = xGetElementById("plugin_code");
|
var zone = xGetElementById("widget_code");
|
||||||
zone.value = plugin_code;
|
zone.value = widget_code;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 생성된 코드를 에디터에 출력 */
|
/* 생성된 코드를 에디터에 출력 */
|
||||||
function completeGenerateCodeInPage(ret_obj,response_tags,params,fo_obj) {
|
function completeGenerateCodeInPage(ret_obj,response_tags,params,fo_obj) {
|
||||||
var plugin_code = ret_obj["plugin_code"];
|
var widget_code = ret_obj["widget_code"];
|
||||||
var module_srl = fo_obj.module_srl.value;
|
var module_srl = fo_obj.module_srl.value;
|
||||||
|
|
||||||
if(!opener || !plugin_code || !module_srl) {
|
if(!opener || !widget_code || !module_srl) {
|
||||||
window.close();
|
window.close();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -29,8 +29,8 @@ function completeGenerateCodeInPage(ret_obj,response_tags,params,fo_obj) {
|
||||||
orig_width = parseInt(xWidth(node),10)-6;
|
orig_width = parseInt(xWidth(node),10)-6;
|
||||||
orig_height = parseInt(xHeight(node),10)-6;
|
orig_height = parseInt(xHeight(node),10)-6;
|
||||||
|
|
||||||
plugin_code = plugin_code.replace(/width([^p]+)px/ig,'width:'+orig_width+'px');
|
widget_code = widget_code.replace(/width([^p]+)px/ig,'width:'+orig_width+'px');
|
||||||
plugin_code = plugin_code.replace(/height([^p]+)px/ig,'height:'+orig_height+'px');
|
widget_code = widget_code.replace(/height([^p]+)px/ig,'height:'+orig_height+'px');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 부모창에 에디터가 있으면 에디터에 추가
|
// 부모창에 에디터가 있으면 에디터에 추가
|
||||||
|
|
@ -38,14 +38,14 @@ function completeGenerateCodeInPage(ret_obj,response_tags,params,fo_obj) {
|
||||||
var iframe_obj = opener.editorGetIFrame(module_srl);
|
var iframe_obj = opener.editorGetIFrame(module_srl);
|
||||||
if(iframe_obj) {
|
if(iframe_obj) {
|
||||||
opener.editorFocus(module_srl);
|
opener.editorFocus(module_srl);
|
||||||
opener.editorReplaceHTML(iframe_obj, plugin_code);
|
opener.editorReplaceHTML(iframe_obj, widget_code);
|
||||||
opener.editorFocus(module_srl);
|
opener.editorFocus(module_srl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//window.close();
|
//window.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 플러그인 코드 생성시 스킨을 고르면 컬러셋의 정보를 표시 */
|
/* 위젯 코드 생성시 스킨을 고르면 컬러셋의 정보를 표시 */
|
||||||
function doDisplaySkinColorset(sel, colorset) {
|
function doDisplaySkinColorset(sel, colorset) {
|
||||||
var skin = sel.options[sel.selectedIndex].value;
|
var skin = sel.options[sel.selectedIndex].value;
|
||||||
if(!skin) {
|
if(!skin) {
|
||||||
|
|
@ -55,18 +55,18 @@ function doDisplaySkinColorset(sel, colorset) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var params = new Array();
|
var params = new Array();
|
||||||
params["selected_plugin"] = xGetElementById("fo_plugin").selected_plugin.value;
|
params["selected_widget"] = xGetElementById("fo_widget").selected_widget.value;
|
||||||
params["skin"] = skin;
|
params["skin"] = skin;
|
||||||
params["colorset"] = colorset;
|
params["colorset"] = colorset;
|
||||||
|
|
||||||
var response_tags = new Array("error","message","colorset_list");
|
var response_tags = new Array("error","message","colorset_list");
|
||||||
|
|
||||||
exec_xml("plugin", "procPluginGetColorsetList", params, completeGetSkinColorset, response_tags, params);
|
exec_xml("widget", "procWidgetGetColorsetList", params, completeGetSkinColorset, response_tags, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 서버에서 받아온 컬러셋을 표시 */
|
/* 서버에서 받아온 컬러셋을 표시 */
|
||||||
function completeGetSkinColorset(ret_obj, response_tags, params, fo_obj) {
|
function completeGetSkinColorset(ret_obj, response_tags, params, fo_obj) {
|
||||||
var sel = xGetElementById("fo_plugin").plugin_colorset;
|
var sel = xGetElementById("fo_widget").widget_colorset;
|
||||||
var length = sel.options.length;
|
var length = sel.options.length;
|
||||||
var selected_colorset = params["colorset"];
|
var selected_colorset = params["colorset"];
|
||||||
for(var i=0;i<length;i++) sel.remove(0);
|
for(var i=0;i<length;i++) sel.remove(0);
|
||||||
|
|
@ -86,10 +86,10 @@ function completeGetSkinColorset(ret_obj, response_tags, params, fo_obj) {
|
||||||
setFixedPopupSize();
|
setFixedPopupSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 페이지 모듈에서 내용의 플러그인을 더블클릭하여 수정하려고 할 경우 */
|
/* 페이지 모듈에서 내용의 위젯을 더블클릭하여 수정하려고 할 경우 */
|
||||||
var selected_node = null;
|
var selected_node = null;
|
||||||
function doFillPluginVars() {
|
function doFillWidgetVars() {
|
||||||
if(!opener || !opener.editorPrevNode || !opener.editorPrevNode.getAttribute("plugin")) return;
|
if(!opener || !opener.editorPrevNode || !opener.editorPrevNode.getAttribute("widget")) return;
|
||||||
|
|
||||||
selected_node = opener.editorPrevNode;
|
selected_node = opener.editorPrevNode;
|
||||||
|
|
||||||
|
|
@ -97,7 +97,7 @@ function doFillPluginVars() {
|
||||||
var skin = selected_node.getAttribute("skin");
|
var skin = selected_node.getAttribute("skin");
|
||||||
var colorset = selected_node.getAttribute("colorset");
|
var colorset = selected_node.getAttribute("colorset");
|
||||||
|
|
||||||
var fo_obj = xGetElementById("fo_plugin");
|
var fo_obj = xGetElementById("fo_widget");
|
||||||
|
|
||||||
for(var name in fo_obj) {
|
for(var name in fo_obj) {
|
||||||
var node = fo_obj[name];
|
var node = fo_obj[name];
|
||||||
|
|
@ -136,8 +136,8 @@ function doFillPluginVars() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 컬러셋 설정
|
// 컬러셋 설정
|
||||||
if(skin && xGetElementById("plugin_colorset").options.length<1 && colorset) {
|
if(skin && xGetElementById("widget_colorset").options.length<1 && colorset) {
|
||||||
doDisplaySkinColorset(xGetElementById("plugin_skin"), colorset);
|
doDisplaySkinColorset(xGetElementById("widget_skin"), colorset);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,25 @@
|
||||||
<!--%import("css/plugin.css")-->
|
<!--%import("css/widget.css")-->
|
||||||
|
|
||||||
<div class="plugin_detail_info_window">
|
<div class="widget_detail_info_window">
|
||||||
|
|
||||||
<div class="plugin_title">{$lang->plugin_maker}</div>
|
<div class="widget_title">{$lang->widget_maker}</div>
|
||||||
|
|
||||||
<div class="plugin_header">{$lang->title}</div>
|
<div class="widget_header">{$lang->title}</div>
|
||||||
<div class="plugin_body">{$plugin_info->title} ver {$plugin_info->version}</div>
|
<div class="widget_body">{$widget_info->title} ver {$widget_info->version}</div>
|
||||||
|
|
||||||
<div class="plugin_header">{$lang->author}</div>
|
<div class="widget_header">{$lang->author}</div>
|
||||||
<div class="plugin_body"><a href="mailto:{$plugin_info->author->email_address}">{$plugin_info->author->name}</a></div>
|
<div class="widget_body"><a href="mailto:{$widget_info->author->email_address}">{$widget_info->author->name}</a></div>
|
||||||
|
|
||||||
<div class="plugin_header">{$lang->homepage}</div>
|
<div class="widget_header">{$lang->homepage}</div>
|
||||||
<div class="plugin_body"><a href="#" onclick="window.open('{$plugin_info->author->homepage}');return false;">{$plugin_info->author->homepage}</a></div>
|
<div class="widget_body"><a href="#" onclick="window.open('{$widget_info->author->homepage}');return false;">{$widget_info->author->homepage}</a></div>
|
||||||
|
|
||||||
<div class="plugin_header">{$lang->regdate}</div>
|
<div class="widget_header">{$lang->regdate}</div>
|
||||||
<div class="plugin_body">{$plugin_info->author->date}</div>
|
<div class="widget_body">{$widget_info->author->date}</div>
|
||||||
|
|
||||||
<div class="plugin_header">{$lang->description}</div>
|
<div class="widget_header">{$lang->description}</div>
|
||||||
<div class="plugin_body">{nl2br($plugin_info->author->description)}</div>
|
<div class="widget_body">{nl2br($widget_info->author->description)}</div>
|
||||||
|
|
||||||
<div class="plugin_button_area">
|
<div class="widget_button_area">
|
||||||
<a href="#" onclick="window.close();">{$lang->cmd_close}</a>
|
<a href="#" onclick="window.close();">{$lang->cmd_close}</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,21 @@
|
||||||
<!--%import("filter/generate_code.xml")-->
|
<!--%import("filter/generate_code.xml")-->
|
||||||
<!--%import("js/plugin_admin.js")-->
|
<!--%import("js/widget_admin.js")-->
|
||||||
<!--%import("css/plugin.css")-->
|
<!--%import("css/widget.css")-->
|
||||||
|
|
||||||
<form action="./" method="get" onsubmit="return procFilter(this, generate_code);" id="fo_plugin">
|
<form action="./" method="get" onsubmit="return procFilter(this, generate_code);" id="fo_widget">
|
||||||
<input type="hidden" name="selected_plugin" value="{$selected_plugin}" />
|
<input type="hidden" name="selected_widget" value="{$selected_widget}" />
|
||||||
|
|
||||||
<div class="plugin_detail_info_window">
|
<div class="widget_detail_info_window">
|
||||||
|
|
||||||
<div class="plugin_title">{$lang->cmd_generate_code}</div>
|
<div class="widget_title">{$lang->cmd_generate_code}</div>
|
||||||
|
|
||||||
<div class="plugin_description">{$lang->about_plugin_code}</div>
|
<div class="widget_description">{$lang->about_widget_code}</div>
|
||||||
|
|
||||||
<div class="plugin_header">{$lang->plugin}</div>
|
<div class="widget_header">{$lang->widget}</div>
|
||||||
<div class="plugin_body">{$plugin_info->title} ver {$plugin_info->version}</div>
|
<div class="widget_body">{$widget_info->title} ver {$widget_info->version}</div>
|
||||||
|
|
||||||
<div class="plugin_header">{$lang->skin}</div>
|
<div class="widget_header">{$lang->skin}</div>
|
||||||
<div class="plugin_body">
|
<div class="widget_body">
|
||||||
<select name="skin" onchange="doDisplaySkinColorset(this);return false;">
|
<select name="skin" onchange="doDisplaySkinColorset(this);return false;">
|
||||||
<option value=""> </option>
|
<option value=""> </option>
|
||||||
<!--@foreach($skin_list as $key => $val)-->
|
<!--@foreach($skin_list as $key => $val)-->
|
||||||
|
|
@ -25,17 +25,17 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="colorset_area" style="display:none">
|
<div id="colorset_area" style="display:none">
|
||||||
<div class="plugin_header">{$lang->colorset}</div>
|
<div class="widget_header">{$lang->colorset}</div>
|
||||||
<div class="plugin_body">
|
<div class="widget_body">
|
||||||
<select name="colorset" id="plugin_colorset">
|
<select name="colorset" id="widget_colorset">
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--@foreach($plugin_info->extra_var as $id => $var)-->
|
<!--@foreach($widget_info->extra_var as $id => $var)-->
|
||||||
<div class="plugin_header">{$var->name}</div>
|
<div class="widget_header">{$var->name}</div>
|
||||||
|
|
||||||
<div class="plugin_body">
|
<div class="widget_body">
|
||||||
<!--@if($var->type == "text")-->
|
<!--@if($var->type == "text")-->
|
||||||
<input type="text" name="{$id}" value="" />
|
<input type="text" name="{$id}" value="" />
|
||||||
|
|
||||||
|
|
@ -51,22 +51,22 @@
|
||||||
|
|
||||||
<!--@elseif($var->type == "mid_list")-->
|
<!--@elseif($var->type == "mid_list")-->
|
||||||
<!--@foreach($mid_list as $key => $val)-->
|
<!--@foreach($mid_list as $key => $val)-->
|
||||||
<div class="plugin_mid_list">
|
<div class="widget_mid_list">
|
||||||
<input type="checkbox" value="{$key}" name="{$id}" id="chk_mid_list_{$key}" />
|
<input type="checkbox" value="{$key}" name="{$id}" id="chk_mid_list_{$key}" />
|
||||||
<label for="chk_mid_list_{$key}">{$key} ({$val->browser_title})</label>
|
<label for="chk_mid_list_{$key}">{$key} ({$val->browser_title})</label>
|
||||||
</div>
|
</div>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
</div>
|
</div>
|
||||||
<div class="plugin_var_description">{$var->description}</div>
|
<div class="widget_var_description">{$var->description}</div>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
||||||
<div class="plugin_button_area">
|
<div class="widget_button_area">
|
||||||
<input type="submit" value="{$lang->cmd_generate_code}" class="plugin_button" />
|
<input type="submit" value="{$lang->cmd_generate_code}" class="widget_button" />
|
||||||
<input type="button" onclick="self.close()" value="{$lang->cmd_close}" class="plugin_button" />
|
<input type="button" onclick="self.close()" value="{$lang->cmd_close}" class="widget_button" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="plugin_code_area"><textarea readonly="true" id="plugin_code"></textarea></div>
|
<div class="widget_code_area"><textarea readonly="true" id="widget_code"></textarea></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,23 @@
|
||||||
<!--%import("filter/generate_code_in_page.xml")-->
|
<!--%import("filter/generate_code_in_page.xml")-->
|
||||||
<!--%import("js/plugin_admin.js")-->
|
<!--%import("js/widget_admin.js")-->
|
||||||
<!--%import("css/plugin.css")-->
|
<!--%import("css/widget.css")-->
|
||||||
|
|
||||||
<form action="./" method="get" onsubmit="return procFilter(this, generate_code_in_page);" id="fo_plugin">
|
<form action="./" method="get" onsubmit="return procFilter(this, generate_code_in_page);" id="fo_widget">
|
||||||
<input type="hidden" name="selected_plugin" value="{$selected_plugin}" />
|
<input type="hidden" name="selected_widget" value="{$selected_widget}" />
|
||||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||||
|
|
||||||
<div class="plugin_detail_info_window">
|
<div class="widget_detail_info_window">
|
||||||
|
|
||||||
<div class="plugin_title">{$plugin_info->title} ver {$plugin_info->version}</div>
|
<div class="widget_title">{$widget_info->title} ver {$widget_info->version}</div>
|
||||||
|
|
||||||
<div class="plugin_description">{$lang->about_plugin_code_in_page}</div>
|
<div class="widget_description">{$lang->about_widget_code_in_page}</div>
|
||||||
|
|
||||||
<div class="plugin_header">{$lang->description}</div>
|
<div class="widget_header">{$lang->description}</div>
|
||||||
<div class="plugin_body">{nl2br($plugin_info->author->description)}</div>
|
<div class="widget_body">{nl2br($widget_info->author->description)}</div>
|
||||||
|
|
||||||
<div class="plugin_header">{$lang->skin}</div>
|
<div class="widget_header">{$lang->skin}</div>
|
||||||
<div class="plugin_body">
|
<div class="widget_body">
|
||||||
<select name="skin" onchange="doDisplaySkinColorset(this,'');return false;" id="plugin_skin">
|
<select name="skin" onchange="doDisplaySkinColorset(this,'');return false;" id="widget_skin">
|
||||||
<option value=""> </option>
|
<option value=""> </option>
|
||||||
<!--@foreach($skin_list as $key => $val)-->
|
<!--@foreach($skin_list as $key => $val)-->
|
||||||
<option value="{$key}">{$val->title} ({$key})</option>
|
<option value="{$key}">{$val->title} ({$key})</option>
|
||||||
|
|
@ -26,17 +26,17 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="colorset_area" style="display:none">
|
<div id="colorset_area" style="display:none">
|
||||||
<div class="plugin_header">{$lang->colorset}</div>
|
<div class="widget_header">{$lang->colorset}</div>
|
||||||
<div class="plugin_body">
|
<div class="widget_body">
|
||||||
<select name="colorset" id="plugin_colorset">
|
<select name="colorset" id="widget_colorset">
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--@foreach($plugin_info->extra_var as $id => $var)-->
|
<!--@foreach($widget_info->extra_var as $id => $var)-->
|
||||||
<div class="plugin_header">{$var->name}</div>
|
<div class="widget_header">{$var->name}</div>
|
||||||
|
|
||||||
<div class="plugin_body">
|
<div class="widget_body">
|
||||||
<!--@if($var->type == "text")-->
|
<!--@if($var->type == "text")-->
|
||||||
<input type="text" name="{$id}" value="" />
|
<input type="text" name="{$id}" value="" />
|
||||||
|
|
||||||
|
|
@ -52,19 +52,19 @@
|
||||||
|
|
||||||
<!--@elseif($var->type == "mid_list")-->
|
<!--@elseif($var->type == "mid_list")-->
|
||||||
<!--@foreach($mid_list as $key => $val)-->
|
<!--@foreach($mid_list as $key => $val)-->
|
||||||
<div class="plugin_mid_list">
|
<div class="widget_mid_list">
|
||||||
<input type="checkbox" value="{$key}" name="{$id}" id="chk_mid_list_{$key}" />
|
<input type="checkbox" value="{$key}" name="{$id}" id="chk_mid_list_{$key}" />
|
||||||
<label for="chk_mid_list_{$key}">{$key} ({$val->browser_title})</label>
|
<label for="chk_mid_list_{$key}">{$key} ({$val->browser_title})</label>
|
||||||
</div>
|
</div>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
</div>
|
</div>
|
||||||
<div class="plugin_var_description">{$var->description}</div>
|
<div class="widget_var_description">{$var->description}</div>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
||||||
<div class="plugin_button_area">
|
<div class="widget_button_area">
|
||||||
<input type="submit" value="{$lang->cmd_insert}" class="plugin_button" />
|
<input type="submit" value="{$lang->cmd_insert}" class="widget_button" />
|
||||||
<input type="button" onclick="self.close()" value="{$lang->cmd_close}" class="plugin_button" />
|
<input type="button" onclick="self.close()" value="{$lang->cmd_close}" class="widget_button" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -72,5 +72,5 @@
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
xAddEventListener(window, "load", doFillPluginVars);
|
xAddEventListener(window, "load", doFillWidgetVars);
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* @brief poll 모듈의 관리자용 javascript
|
* @brief poll 모듈의 관리자용 javascript
|
||||||
**/
|
**/
|
||||||
|
|
||||||
/* 플러그인 코드 생성시 스킨을 고르면 컬러셋의 정보를 표시 */
|
/* 위젯 코드 생성시 스킨을 고르면 컬러셋의 정보를 표시 */
|
||||||
function doDisplaySkinColorset(sel, colorset) {
|
function doDisplaySkinColorset(sel, colorset) {
|
||||||
var skin = sel.options[sel.selectedIndex].value;
|
var skin = sel.options[sel.selectedIndex].value;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,16 +6,16 @@
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class archive_list extends PluginHandler {
|
class archive_list extends WidgetHandler {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인의 실행 부분
|
* @brief 위젯의 실행 부분
|
||||||
*
|
*
|
||||||
* ./plugins/플러그인/conf/info.xml 에 선언한 extra_vars를 args로 받는다
|
* ./widgets/위젯/conf/info.xml 에 선언한 extra_vars를 args로 받는다
|
||||||
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
||||||
**/
|
**/
|
||||||
function proc($args) {
|
function proc($args) {
|
||||||
// 플러그인 자체적으로 설정한 변수들을 체크
|
// 위젯 자체적으로 설정한 변수들을 체크
|
||||||
$title = $args->title;
|
$title = $args->title;
|
||||||
$mid_list = explode(",",$args->mid_list);
|
$mid_list = explode(",",$args->mid_list);
|
||||||
|
|
||||||
|
|
@ -27,17 +27,17 @@
|
||||||
$output = $oDocumentModel->getMonthlyArchivedList($obj);
|
$output = $oDocumentModel->getMonthlyArchivedList($obj);
|
||||||
|
|
||||||
// 템플릿 파일에서 사용할 변수들을 세팅
|
// 템플릿 파일에서 사용할 변수들을 세팅
|
||||||
if(count($mid_list)==1) $plugin_info->module_name = $mid_list[0];
|
if(count($mid_list)==1) $widget_info->module_name = $mid_list[0];
|
||||||
|
|
||||||
$plugin_info->title = $title;
|
$widget_info->title = $title;
|
||||||
$plugin_info->archive_list = $output->data;
|
$widget_info->archive_list = $output->data;
|
||||||
|
|
||||||
preg_match_all('/(width|height)([^[:digit:]]+)([0-9]+)/i',$args->style,$matches);
|
preg_match_all('/(width|height)([^[:digit:]]+)([0-9]+)/i',$args->style,$matches);
|
||||||
$plugin_info->width = trim($matches[3][0]);
|
$widget_info->width = trim($matches[3][0]);
|
||||||
Context::set('plugin_info', $plugin_info);
|
Context::set('widget_info', $widget_info);
|
||||||
|
|
||||||
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
||||||
$tpl_path = sprintf('%sskins/%s', $this->plugin_path, $args->skin);
|
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
|
||||||
Context::set('colorset', $args->colorset);
|
Context::set('colorset', $args->colorset);
|
||||||
|
|
||||||
// 템플릿 파일을 지정
|
// 템플릿 파일을 지정
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<plugin version="0.1">
|
<widget version="0.1">
|
||||||
<title xml:lang="ko">월별 보관 현황 출력</title>
|
<title xml:lang="ko">월별 보관 현황 출력</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
|
|
@ -18,4 +18,4 @@
|
||||||
<description xml:lang="ko">선택하신 모듈에 등록된 글을 대상으로 합니다.</description>
|
<description xml:lang="ko">선택하신 모듈에 등록된 글을 대상으로 합니다.</description>
|
||||||
</var>
|
</var>
|
||||||
</extra_vars>
|
</extra_vars>
|
||||||
</plugin>
|
</widget>
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,13 @@
|
||||||
<div class="archive_list_{$colorset}">
|
<div class="archive_list_{$colorset}">
|
||||||
<div class="archive_list_box">
|
<div class="archive_list_box">
|
||||||
|
|
||||||
<!--@if($plugin_info->title)-->
|
<!--@if($widget_info->title)-->
|
||||||
<div class="title_box">
|
<div class="title_box">
|
||||||
<div class="title">{$plugin_info->title}</div>
|
<div class="title">{$widget_info->title}</div>
|
||||||
</div>
|
</div>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
<div class="archive_box">
|
<div class="archive_box">
|
||||||
<!--@foreach($plugin_info->archive_list as $val)-->
|
<!--@foreach($widget_info->archive_list as $val)-->
|
||||||
<div class="archive">
|
<div class="archive">
|
||||||
<!--@if($layout_info->mid)-->
|
<!--@if($layout_info->mid)-->
|
||||||
<a href="{getUrl('','mid',$layout_info->mid,'search_target','regdate','search_keyword',$val->month)}">{zdate($val->month,'Y. m')} ({$val->count})</a>
|
<a href="{getUrl('','mid',$layout_info->mid,'search_target','regdate','search_keyword',$val->month)}">{zdate($val->month,'Y. m')} ({$val->count})</a>
|
||||||
|
|
|
||||||
|
|
@ -6,16 +6,16 @@
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class calendar extends PluginHandler {
|
class calendar extends WidgetHandler {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인의 실행 부분
|
* @brief 위젯의 실행 부분
|
||||||
*
|
*
|
||||||
* ./plugins/플러그인/conf/info.xml 에 선언한 extra_vars를 args로 받는다
|
* ./widgets/위젯/conf/info.xml 에 선언한 extra_vars를 args로 받는다
|
||||||
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
||||||
**/
|
**/
|
||||||
function proc($args) {
|
function proc($args) {
|
||||||
// 플러그인 자체적으로 설정한 변수들을 체크
|
// 위젯 자체적으로 설정한 변수들을 체크
|
||||||
$title = $args->title;
|
$title = $args->title;
|
||||||
$mid_list = explode(",",$args->mid_list);
|
$mid_list = explode(",",$args->mid_list);
|
||||||
|
|
||||||
|
|
@ -33,27 +33,27 @@
|
||||||
$output = $oDocumentModel->getDailyArchivedList($obj);
|
$output = $oDocumentModel->getDailyArchivedList($obj);
|
||||||
|
|
||||||
// 템플릿 파일에서 사용할 변수들을 세팅
|
// 템플릿 파일에서 사용할 변수들을 세팅
|
||||||
$plugin_info->cur_date = $obj->regdate;
|
$widget_info->cur_date = $obj->regdate;
|
||||||
$plugin_info->today_str = sprintf('%4d%s %2d%s',zdate($obj->regdate, 'Y'), Context::getLang('unit_year'), zdate($obj->regdate,'m'), Context::getLang('unit_month'));
|
$widget_info->today_str = sprintf('%4d%s %2d%s',zdate($obj->regdate, 'Y'), Context::getLang('unit_year'), zdate($obj->regdate,'m'), Context::getLang('unit_month'));
|
||||||
$plugin_info->last_day = date('t', ztime($obj->regdate));
|
$widget_info->last_day = date('t', ztime($obj->regdate));
|
||||||
$plugin_info->start_week= date('w', ztime($obj->regdate));
|
$widget_info->start_week= date('w', ztime($obj->regdate));
|
||||||
|
|
||||||
$plugin_info->prev_month = date('Ym', mktime(1,0,0,zdate($obj->regdate,'m'),1,zdate($obj->regdate,'Y'))-60*60*24);
|
$widget_info->prev_month = date('Ym', mktime(1,0,0,zdate($obj->regdate,'m'),1,zdate($obj->regdate,'Y'))-60*60*24);
|
||||||
$plugin_info->next_month = date('Ym', mktime(1,0,0,zdate($obj->regdate,'m'),$plugin_info->last_day,zdate($obj->regdate,'Y'))+60*60*24);
|
$widget_info->next_month = date('Ym', mktime(1,0,0,zdate($obj->regdate,'m'),$widget_info->last_day,zdate($obj->regdate,'Y'))+60*60*24);
|
||||||
|
|
||||||
if(count($mid_list)==1) $plugin_info->module_name = $mid_list[0];
|
if(count($mid_list)==1) $widget_info->module_name = $mid_list[0];
|
||||||
$plugin_info->title = $title;
|
$widget_info->title = $title;
|
||||||
|
|
||||||
if(count($output->data)) {
|
if(count($output->data)) {
|
||||||
foreach($output->data as $key => $val) $plugin_info->calendar[$val->month] = $val->count;
|
foreach($output->data as $key => $val) $widget_info->calendar[$val->month] = $val->count;
|
||||||
}
|
}
|
||||||
|
|
||||||
preg_match_all('/(width|height)([^[:digit:]]+)([0-9]+)/i',$args->style,$matches);
|
preg_match_all('/(width|height)([^[:digit:]]+)([0-9]+)/i',$args->style,$matches);
|
||||||
$plugin_info->width = trim($matches[3][0]);
|
$widget_info->width = trim($matches[3][0]);
|
||||||
Context::set('plugin_info', $plugin_info);
|
Context::set('widget_info', $widget_info);
|
||||||
|
|
||||||
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
||||||
$tpl_path = sprintf('%sskins/%s', $this->plugin_path, $args->skin);
|
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
|
||||||
Context::set('colorset', $args->colorset);
|
Context::set('colorset', $args->colorset);
|
||||||
|
|
||||||
// 템플릿 파일을 지정
|
// 템플릿 파일을 지정
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<plugin version="0.1">
|
<widget version="0.1">
|
||||||
<title xml:lang="ko">달력 출력</title>
|
<title xml:lang="ko">달력 출력</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
|
|
@ -12,4 +12,4 @@
|
||||||
<description xml:lang="ko">선택하신 모듈에 등록된 글을 대상으로 합니다.</description>
|
<description xml:lang="ko">선택하신 모듈에 등록된 글을 대상으로 합니다.</description>
|
||||||
</var>
|
</var>
|
||||||
</extra_vars>
|
</extra_vars>
|
||||||
</plugin>
|
</widget>
|
||||||
|
|
|
||||||
|
|
@ -8,28 +8,28 @@
|
||||||
<div class="calendar_box">
|
<div class="calendar_box">
|
||||||
|
|
||||||
<div class="title_box">
|
<div class="title_box">
|
||||||
<div class="title">{$plugin_info->today_str}</div>
|
<div class="title">{$widget_info->today_str}</div>
|
||||||
<div class="move_month">
|
<div class="move_month">
|
||||||
<a href="{getUrl('search_target','regdate','search_keyword',$plugin_info->prev_month)}">prev</a> |
|
<a href="{getUrl('search_target','regdate','search_keyword',$widget_info->prev_month)}">prev</a> |
|
||||||
<a href="{getUrl('search_target','regdate','search_keyword',$plugin_info->next_month)}">next</a>
|
<a href="{getUrl('search_target','regdate','search_keyword',$widget_info->next_month)}">next</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{@ $day = ''}
|
{@ $day = ''}
|
||||||
<table border="0" cellspacing="0" cellpadding="0" width="99%" style="table-layout:fixed">
|
<table border="0" cellspacing="0" cellpadding="0" width="99%" style="table-layout:fixed">
|
||||||
<!--@for($i=0;$i<6;$i++)-->
|
<!--@for($i=0;$i<6;$i++)-->
|
||||||
<!--@if($day < $plugin_info->last_day)-->
|
<!--@if($day < $widget_info->last_day)-->
|
||||||
<tr>
|
<tr>
|
||||||
<!--@for($j=0;$j<7;$j++)-->
|
<!--@for($j=0;$j<7;$j++)-->
|
||||||
|
|
||||||
{@ $num = $i*7 + $j}
|
{@ $num = $i*7 + $j}
|
||||||
<!--@if(!$started && $num >= $plugin_info->start_week)-->
|
<!--@if(!$started && $num >= $widget_info->start_week)-->
|
||||||
{@ $started = true}
|
{@ $started = true}
|
||||||
{@ $day = 1}
|
{@ $day = 1}
|
||||||
{@ $cur_date = $plugin_info->cur_date.sprintf('%02d',$day) }
|
{@ $cur_date = $widget_info->cur_date.sprintf('%02d',$day) }
|
||||||
<!--@elseif($started)-->
|
<!--@elseif($started)-->
|
||||||
{@ $day++}
|
{@ $day++}
|
||||||
{@ $cur_date = $plugin_info->cur_date.sprintf('%02d',$day) }
|
{@ $cur_date = $widget_info->cur_date.sprintf('%02d',$day) }
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
||||||
<!--@if($cur_date == date("Ymd"))-->
|
<!--@if($cur_date == date("Ymd"))-->
|
||||||
|
|
@ -46,7 +46,7 @@
|
||||||
{@ $cell_class_name = "week"}
|
{@ $cell_class_name = "week"}
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
||||||
<!--@if($plugin_info->calendar[$cur_date])-->
|
<!--@if($widget_info->calendar[$cur_date])-->
|
||||||
{@ $item_class_name = "selected_item"}
|
{@ $item_class_name = "selected_item"}
|
||||||
<!--@if($layout_info->mid)-->
|
<!--@if($layout_info->mid)-->
|
||||||
{@ $day_link = getUrl('','mid',$layout_info->mid,'search_target','regdate','search_keyword',$cur_date) }
|
{@ $day_link = getUrl('','mid',$layout_info->mid,'search_target','regdate','search_keyword',$cur_date) }
|
||||||
|
|
@ -61,7 +61,7 @@
|
||||||
<td>
|
<td>
|
||||||
<div class="item_box {$today_class}">
|
<div class="item_box {$today_class}">
|
||||||
<div class="{$cell_class_name} {$item_class_name}">
|
<div class="{$cell_class_name} {$item_class_name}">
|
||||||
<!--@if($day <= $plugin_info->last_day)-->
|
<!--@if($day <= $widget_info->last_day)-->
|
||||||
<!--@if($day_link)-->
|
<!--@if($day_link)-->
|
||||||
<a href="{$day_link}">{$day}</a>
|
<a href="{$day_link}">{$day}</a>
|
||||||
<!--@else-->
|
<!--@else-->
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<title xml:lang="ko">달력 및 글 현황 표시</title>
|
<title xml:lang="ko">달력 및 글 현황 표시</title>
|
||||||
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">calendar플러그인의 블로그에 어울리는 기본 스킨입니다.</description>
|
<description xml:lang="ko">calendar위젯의 블로그에 어울리는 기본 스킨입니다.</description>
|
||||||
</maker>
|
</maker>
|
||||||
<colorset>
|
<colorset>
|
||||||
<color name="normal">
|
<color name="normal">
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<plugin version="0.1">
|
<widget version="0.1">
|
||||||
<title xml:lang="ko">기본 카운터 플러그인</title>
|
<title xml:lang="ko">기본 카운터 위젯</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">
|
<description xml:lang="ko">
|
||||||
|
|
@ -9,4 +9,4 @@
|
||||||
</description>
|
</description>
|
||||||
</author>
|
</author>
|
||||||
<extra_vars />
|
<extra_vars />
|
||||||
</plugin>
|
</widget>
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,11 @@
|
||||||
* @brief counter 모듈의 데이터를 이용하여 counter 현황을 출력
|
* @brief counter 모듈의 데이터를 이용하여 counter 현황을 출력
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class counter_status extends PluginHandler {
|
class counter_status extends WidgetHandler {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인의 실행 부분
|
* @brief 위젯의 실행 부분
|
||||||
* ./plugins/플러그인/conf/info.xml에 선언한 extra_vars를 args로 받는다
|
* ./widgets/위젯/conf/info.xml에 선언한 extra_vars를 args로 받는다
|
||||||
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
||||||
**/
|
**/
|
||||||
function proc($args) {
|
function proc($args) {
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
Context::set('style', $args->style);
|
Context::set('style', $args->style);
|
||||||
|
|
||||||
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
||||||
$tpl_path = sprintf('%sskins/%s', $this->plugin_path, $args->skin);
|
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
|
||||||
Context::set('colorset', $args->colorset);
|
Context::set('colorset', $args->colorset);
|
||||||
|
|
||||||
// 템플릿 파일을 지정
|
// 템플릿 파일을 지정
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<!--%import("normal/style.css")-->
|
<!--%import("normal/style.css")-->
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
||||||
<div class="counter_plugin">
|
<div class="counter_widget">
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<!--@if($total_counter)-->
|
<!--@if($total_counter)-->
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
.counter_plugin {
|
.counter_widget {
|
||||||
border:3px solid #DDDDDD;
|
border:3px solid #DDDDDD;
|
||||||
padding:6px;
|
padding:6px;
|
||||||
margin-bottom:10px;
|
margin-bottom:10px;
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<plugin version="0.1">
|
<widget version="0.1">
|
||||||
<title xml:lang="ko">로그인 정보 출력</title>
|
<title xml:lang="ko">로그인 정보 출력</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">로그인 폼이나 로그인 정보를 출력합니다</description>
|
<description xml:lang="ko">로그인 폼이나 로그인 정보를 출력합니다</description>
|
||||||
</author>
|
</author>
|
||||||
<extra_vars />
|
<extra_vars />
|
||||||
</plugin>
|
</widget>
|
||||||
|
|
|
||||||
|
|
@ -3,16 +3,16 @@
|
||||||
* @class login_info
|
* @class login_info
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
* @brief 로그인 폼을 출력하는 플러그인
|
* @brief 로그인 폼을 출력하는 위젯
|
||||||
*
|
*
|
||||||
* $logged_info를 이용하며 이는 미리 설정되어 있음
|
* $logged_info를 이용하며 이는 미리 설정되어 있음
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class login_info extends PluginHandler {
|
class login_info extends WidgetHandler {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인의 실행 부분
|
* @brief 위젯의 실행 부분
|
||||||
* ./plugins/플러그인/conf/info.xml에 선언한 extra_vars를 args로 받는다
|
* ./widgets/위젯/conf/info.xml에 선언한 extra_vars를 args로 받는다
|
||||||
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
||||||
**/
|
**/
|
||||||
function proc($args) {
|
function proc($args) {
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
Context::set('style', $args->style);
|
Context::set('style', $args->style);
|
||||||
|
|
||||||
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
||||||
$tpl_path = sprintf('%sskins/%s', $this->plugin_path, $args->skin);
|
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
|
||||||
Context::set('colorset', $args->colorset);
|
Context::set('colorset', $args->colorset);
|
||||||
|
|
||||||
// 템플릿 파일을 지정
|
// 템플릿 파일을 지정
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<filter name="plugin_login" module="member" act="procMemberLogin">
|
<filter name="widget_login" module="member" act="procMemberLogin">
|
||||||
<form>
|
<form>
|
||||||
<node target="user_id" required="true" filter="user_id"/>
|
<node target="user_id" required="true" filter="user_id"/>
|
||||||
<node target="password" required="true" />
|
<node target="password" required="true" />
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<filter name="plugin_logout" module="member" act="procMemberLogout">
|
<filter name="widget_logout" module="member" act="procMemberLogout">
|
||||||
<form />
|
<form />
|
||||||
<response>
|
<response>
|
||||||
<tag name="error" />
|
<tag name="error" />
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@
|
||||||
<!--%import("./filter/openid_login.xml")-->
|
<!--%import("./filter/openid_login.xml")-->
|
||||||
<!--%import("./js/login.js")-->
|
<!--%import("./js/login.js")-->
|
||||||
|
|
||||||
<div class="login_plugin">
|
<div class="login_widget">
|
||||||
<form action="./" method="get" onsubmit="return procFilter(this, plugin_login)" id="fo_login_plugin">
|
<form action="./" method="get" onsubmit="return procFilter(this, widget_login)" id="fo_login_widget">
|
||||||
<div class="login_box">
|
<div class="login_box">
|
||||||
<div class="header">{$lang->user_id}</div>
|
<div class="header">{$lang->user_id}</div>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
xAddEventListener(window, "load", function(){ doFocusUserId("fo_login_plugin"); });
|
xAddEventListener(window, "load", function(){ doFocusUserId("fo_login_widget"); });
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- OpenID -->
|
<!-- OpenID -->
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
||||||
<!--%import("./filter/logout.xml")-->
|
<!--%import("./filter/logout.xml")-->
|
||||||
<div class="login_plugin">
|
<div class="login_widget">
|
||||||
|
|
||||||
<!-- 닉네임 + 로그아웃 -->
|
<!-- 닉네임 + 로그아웃 -->
|
||||||
<div class="top_box">
|
<div class="top_box">
|
||||||
|
|
|
||||||
|
|
@ -1,92 +1,92 @@
|
||||||
.login_plugin {
|
.login_widget {
|
||||||
border:3px solid #DDDDDD;
|
border:3px solid #DDDDDD;
|
||||||
padding:6px;
|
padding:6px;
|
||||||
margin-bottom:10px;
|
margin-bottom:10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .top_box {
|
.login_widget .top_box {
|
||||||
height:22px;
|
height:22px;
|
||||||
border-bottom:2px dotted #DDDDDD;
|
border-bottom:2px dotted #DDDDDD;
|
||||||
overflow:hidden;
|
overflow:hidden;
|
||||||
margin-bottom:5px;
|
margin-bottom:5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .top_box .nick_name {
|
.login_widget .top_box .nick_name {
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
float:left;
|
float:left;
|
||||||
color:#555555;
|
color:#555555;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .top_box .logout {
|
.login_widget .top_box .logout {
|
||||||
float:right;
|
float:right;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .top_box .logout A {
|
.login_widget .top_box .logout A {
|
||||||
text-decoration:none;
|
text-decoration:none;
|
||||||
color:#737CF5;
|
color:#737CF5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .top_box .logout A:hover {
|
.login_widget .top_box .logout A:hover {
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
letter-spacing:-1px;
|
letter-spacing:-1px;
|
||||||
color:#151F9E;
|
color:#151F9E;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.login_plugin .info_box {
|
.login_widget .info_box {
|
||||||
clear:both;
|
clear:both;
|
||||||
color:#555555;
|
color:#555555;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .info_box A:link {
|
.login_widget .info_box A:link {
|
||||||
text-decoration:none;
|
text-decoration:none;
|
||||||
color:#555555;
|
color:#555555;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .info_box A:visited {
|
.login_widget .info_box A:visited {
|
||||||
text-decoration:none;
|
text-decoration:none;
|
||||||
color:#555555;
|
color:#555555;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .info_box A:hover {
|
.login_widget .info_box A:hover {
|
||||||
text-decoration:none;
|
text-decoration:none;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
letter-spacing:-1px;
|
letter-spacing:-1px;
|
||||||
color:#555555;
|
color:#555555;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .info_box div {
|
.login_widget .info_box div {
|
||||||
padding-left:15px;
|
padding-left:15px;
|
||||||
margin:0px 0px 4px 0px;
|
margin:0px 0px 4px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .info_box .member_info {
|
.login_widget .info_box .member_info {
|
||||||
background:url("../images/icon_profile.gif") no-repeat left;
|
background:url("../images/icon_profile.gif") no-repeat left;
|
||||||
float:left;
|
float:left;
|
||||||
width:90px;
|
width:90px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .info_box .friend_list {
|
.login_widget .info_box .friend_list {
|
||||||
background:url("../images/icon_friend_list.gif") no-repeat left;
|
background:url("../images/icon_friend_list.gif") no-repeat left;
|
||||||
float:left;
|
float:left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .info_box .message_box {
|
.login_widget .info_box .message_box {
|
||||||
background:url("../images/icon_message_box.gif") no-repeat left;
|
background:url("../images/icon_message_box.gif") no-repeat left;
|
||||||
float:left;
|
float:left;
|
||||||
width:90px;
|
width:90px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .info_box .link_admin {
|
.login_widget .info_box .link_admin {
|
||||||
background:url("../images/icon_key.gif") no-repeat left;
|
background:url("../images/icon_key.gif") no-repeat left;
|
||||||
float:left;
|
float:left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .info_box .link_admin A {
|
.login_widget .info_box .link_admin A {
|
||||||
color:#cd0000;
|
color:#cd0000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .info_box .last_login {
|
.login_widget .info_box .last_login {
|
||||||
clear:left;
|
clear:left;
|
||||||
background:url("../images/icon_last_login.gif") no-repeat left;
|
background:url("../images/icon_last_login.gif") no-repeat left;
|
||||||
padding-left:15px;
|
padding-left:15px;
|
||||||
|
|
@ -94,11 +94,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.login_plugin .login_box {
|
.login_widget .login_box {
|
||||||
height:40px;
|
height:40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .header {
|
.login_widget .header {
|
||||||
float:left;
|
float:left;
|
||||||
clear:left;
|
clear:left;
|
||||||
width:80px;
|
width:80px;
|
||||||
|
|
@ -107,31 +107,31 @@
|
||||||
color:#555555;
|
color:#555555;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .body {
|
.login_widget .body {
|
||||||
float:left;
|
float:left;
|
||||||
width:100px;
|
width:100px;
|
||||||
margin-bottom:5px;
|
margin-bottom:5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .body .input {
|
.login_widget .body .input {
|
||||||
width:90px;
|
width:90px;
|
||||||
height:13px;
|
height:13px;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
color:#555555;
|
color:#555555;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .body label {
|
.login_widget .body label {
|
||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .button_area {
|
.login_widget .button_area {
|
||||||
clear:both;
|
clear:both;
|
||||||
height:20px;
|
height:20px;
|
||||||
margin-top:5px;
|
margin-top:5px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .button_area .submit_button {
|
.login_widget .button_area .submit_button {
|
||||||
width:80px;
|
width:80px;
|
||||||
height:18px;
|
height:18px;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
|
|
@ -140,7 +140,7 @@
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login_plugin .button_area .signup_button {
|
.login_widget .button_area .signup_button {
|
||||||
width:80px;
|
width:80px;
|
||||||
height:18px;
|
height:18px;
|
||||||
border:1px solid #555555;
|
border:1px solid #555555;
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<plugin version="0.1">
|
<widget version="0.1">
|
||||||
<title xml:lang="ko">최근 댓글 출력</title>
|
<title xml:lang="ko">최근 댓글 출력</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">최근 댓글 (comment)를 출력하는 플러그인입니다.</description>
|
<description xml:lang="ko">최근 댓글 (comment)를 출력하는 위젯입니다.</description>
|
||||||
</author>
|
</author>
|
||||||
<extra_vars>
|
<extra_vars>
|
||||||
<var id="title">
|
<var id="title">
|
||||||
|
|
@ -22,4 +22,4 @@
|
||||||
<description xml:lang="ko">선택하신 모듈에 등록된 글을 대상으로 합니다.</description>
|
<description xml:lang="ko">선택하신 모듈에 등록된 글을 대상으로 합니다.</description>
|
||||||
</var>
|
</var>
|
||||||
</extra_vars>
|
</extra_vars>
|
||||||
</plugin>
|
</widget>
|
||||||
|
|
|
||||||
|
|
@ -2,20 +2,20 @@
|
||||||
/**
|
/**
|
||||||
* @class newest_comment
|
* @class newest_comment
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief 최근 댓글을 출력하는 플러그인
|
* @brief 최근 댓글을 출력하는 위젯
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class newest_comment extends PluginHandler {
|
class newest_comment extends WidgetHandler {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인의 실행 부분
|
* @brief 위젯의 실행 부분
|
||||||
*
|
*
|
||||||
* ./plugins/플러그인/conf/info.xml 에 선언한 extra_vars를 args로 받는다
|
* ./widgets/위젯/conf/info.xml 에 선언한 extra_vars를 args로 받는다
|
||||||
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
||||||
**/
|
**/
|
||||||
function proc($args) {
|
function proc($args) {
|
||||||
// 플러그인 자체적으로 설정한 변수들을 체크
|
// 위젯 자체적으로 설정한 변수들을 체크
|
||||||
$title = $args->title;
|
$title = $args->title;
|
||||||
$order_target = $args->order_target;
|
$order_target = $args->order_target;
|
||||||
$order_type = $args->order_type;
|
$order_type = $args->order_type;
|
||||||
|
|
@ -33,17 +33,17 @@
|
||||||
$output = $oCommentModel->getNewestCommentList($obj);
|
$output = $oCommentModel->getNewestCommentList($obj);
|
||||||
|
|
||||||
// 템플릿 파일에서 사용할 변수들을 세팅
|
// 템플릿 파일에서 사용할 변수들을 세팅
|
||||||
if(count($mid_list)==1) $plugin_info->module_name = $mid_list[0];
|
if(count($mid_list)==1) $widget_info->module_name = $mid_list[0];
|
||||||
|
|
||||||
$plugin_info->title = $title;
|
$widget_info->title = $title;
|
||||||
$plugin_info->comment_list = $output->data;
|
$widget_info->comment_list = $output->data;
|
||||||
|
|
||||||
preg_match_all('/(width|height)([^[:digit:]]+)([0-9]+)/i',$args->style,$matches);
|
preg_match_all('/(width|height)([^[:digit:]]+)([0-9]+)/i',$args->style,$matches);
|
||||||
$plugin_info->width = trim($matches[3][0]);
|
$widget_info->width = trim($matches[3][0]);
|
||||||
Context::set('plugin_info', $plugin_info);
|
Context::set('widget_info', $widget_info);
|
||||||
|
|
||||||
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
||||||
$tpl_path = sprintf('%sskins/%s', $this->plugin_path, $args->skin);
|
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
|
||||||
Context::set('colorset', $args->colorset);
|
Context::set('colorset', $args->colorset);
|
||||||
|
|
||||||
// 템플릿 파일을 지정
|
// 템플릿 파일을 지정
|
||||||
|
|
|
||||||
|
|
@ -7,14 +7,14 @@
|
||||||
<div class="newest_comment_{$colorset}" style="width:100%">
|
<div class="newest_comment_{$colorset}" style="width:100%">
|
||||||
<div class="newest_comment_box">
|
<div class="newest_comment_box">
|
||||||
|
|
||||||
<!--@if($plugin_info->title)-->
|
<!--@if($widget_info->title)-->
|
||||||
<div class="title_box">
|
<div class="title_box">
|
||||||
<div class="title">{$plugin_info->title}</div>
|
<div class="title">{$widget_info->title}</div>
|
||||||
</div>
|
</div>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
||||||
<div class="comment_box">
|
<div class="comment_box">
|
||||||
<!--@foreach($plugin_info->comment_list as $val)-->
|
<!--@foreach($widget_info->comment_list as $val)-->
|
||||||
<div class="comment">
|
<div class="comment">
|
||||||
<a href="{getUrl('','document_srl',$val->document_srl)}#comment_{$val->comment_srl}">{htmlspecialchars(cut_str(strip_tags($val->content),13,'...'))}</a>
|
<a href="{getUrl('','document_srl',$val->document_srl)}#comment_{$val->comment_srl}">{htmlspecialchars(cut_str(strip_tags($val->content),13,'...'))}</a>
|
||||||
<!--@if($val->member_srl)-->
|
<!--@if($val->member_srl)-->
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<plugin version="0.1">
|
<widget version="0.1">
|
||||||
<title xml:lang="ko">최근 문서 출력</title>
|
<title xml:lang="ko">최근 문서 출력</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">최근 문서 (document)를 출력하는 플러그인입니다.</description>
|
<description xml:lang="ko">최근 문서 (document)를 출력하는 위젯입니다.</description>
|
||||||
</author>
|
</author>
|
||||||
<extra_vars>
|
<extra_vars>
|
||||||
<var id="title">
|
<var id="title">
|
||||||
|
|
@ -48,4 +48,4 @@
|
||||||
<description xml:lang="ko">선택하신 모듈에 등록된 글을 대상으로 합니다.</description>
|
<description xml:lang="ko">선택하신 모듈에 등록된 글을 대상으로 합니다.</description>
|
||||||
</var>
|
</var>
|
||||||
</extra_vars>
|
</extra_vars>
|
||||||
</plugin>
|
</widget>
|
||||||
|
|
|
||||||
|
|
@ -2,20 +2,20 @@
|
||||||
/**
|
/**
|
||||||
* @class newest_document
|
* @class newest_document
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief 최근 게시물을 출력하는 플러그인
|
* @brief 최근 게시물을 출력하는 위젯
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class newest_document extends PluginHandler {
|
class newest_document extends WidgetHandler {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인의 실행 부분
|
* @brief 위젯의 실행 부분
|
||||||
*
|
*
|
||||||
* ./plugins/플러그인/conf/info.xml 에 선언한 extra_vars를 args로 받는다
|
* ./widgets/위젯/conf/info.xml 에 선언한 extra_vars를 args로 받는다
|
||||||
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
||||||
**/
|
**/
|
||||||
function proc($args) {
|
function proc($args) {
|
||||||
// 플러그인 자체적으로 설정한 변수들을 체크
|
// 위젯 자체적으로 설정한 변수들을 체크
|
||||||
$title = $args->title;
|
$title = $args->title;
|
||||||
$order_target = $args->order_target;
|
$order_target = $args->order_target;
|
||||||
$order_type = $args->order_type;
|
$order_type = $args->order_type;
|
||||||
|
|
@ -33,17 +33,17 @@
|
||||||
$output = $oDocumentModel->getDocumentList($obj);
|
$output = $oDocumentModel->getDocumentList($obj);
|
||||||
|
|
||||||
// 템플릿 파일에서 사용할 변수들을 세팅
|
// 템플릿 파일에서 사용할 변수들을 세팅
|
||||||
if(count($mid_list)==1) $plugin_info->module_name = $mid_list[0];
|
if(count($mid_list)==1) $widget_info->module_name = $mid_list[0];
|
||||||
|
|
||||||
$plugin_info->title = $title;
|
$widget_info->title = $title;
|
||||||
$plugin_info->document_list = $output->data;
|
$widget_info->document_list = $output->data;
|
||||||
|
|
||||||
preg_match_all('/(width|height)([^[:digit:]]+)([0-9]+)/i',$args->style,$matches);
|
preg_match_all('/(width|height)([^[:digit:]]+)([0-9]+)/i',$args->style,$matches);
|
||||||
$plugin_info->width = trim($matches[3][0]);
|
$widget_info->width = trim($matches[3][0]);
|
||||||
Context::set('plugin_info', $plugin_info);
|
Context::set('widget_info', $widget_info);
|
||||||
|
|
||||||
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
||||||
$tpl_path = sprintf('%sskins/%s', $this->plugin_path, $args->skin);
|
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
|
||||||
Context::set('colorset', $args->colorset);
|
Context::set('colorset', $args->colorset);
|
||||||
|
|
||||||
// 템플릿 파일을 지정
|
// 템플릿 파일을 지정
|
||||||
|
|
|
||||||
|
|
@ -7,14 +7,14 @@
|
||||||
<div class="newest_document_blog_{$colorset}" style="width:100%">
|
<div class="newest_document_blog_{$colorset}" style="width:100%">
|
||||||
<div class="newest_document_blog_box">
|
<div class="newest_document_blog_box">
|
||||||
|
|
||||||
<!--@if($plugin_info->title)-->
|
<!--@if($widget_info->title)-->
|
||||||
<div class="title_box">
|
<div class="title_box">
|
||||||
<div class="title">{$plugin_info->title}</div>
|
<div class="title">{$widget_info->title}</div>
|
||||||
</div>
|
</div>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
||||||
<div class="document_box">
|
<div class="document_box">
|
||||||
<!--@foreach($plugin_info->document_list as $oDocument)-->
|
<!--@foreach($widget_info->document_list as $oDocument)-->
|
||||||
<div class="document">
|
<div class="document">
|
||||||
<a href="{$oDocument->getPermanentUrl()}#{$oDocument->getCommentCount()}">{$oDocument->getTitleText(20)}</a>
|
<a href="{$oDocument->getPermanentUrl()}#{$oDocument->getCommentCount()}">{$oDocument->getTitleText(20)}</a>
|
||||||
<!--@if($oDocument->getCommentCount())-->
|
<!--@if($oDocument->getCommentCount())-->
|
||||||
|
|
|
||||||
|
|
@ -11,13 +11,13 @@
|
||||||
<div class="newest_document_default_{$colorset}" style="width:100%">
|
<div class="newest_document_default_{$colorset}" style="width:100%">
|
||||||
<div class="newest_document_default_box">
|
<div class="newest_document_default_box">
|
||||||
<div class="title_box">
|
<div class="title_box">
|
||||||
<div class="title">{$plugin_info->title}</div>
|
<div class="title">{$widget_info->title}</div>
|
||||||
<!--@if($module_name)-->
|
<!--@if($module_name)-->
|
||||||
<div class="more"><a href="{getUrl('','mid',$plugin_info->module_name)}">more</a></div>
|
<div class="more"><a href="{getUrl('','mid',$widget_info->module_name)}">more</a></div>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--@foreach($plugin_info->document_list as $oDocument)-->
|
<!--@foreach($widget_info->document_list as $oDocument)-->
|
||||||
<div class="document_box">
|
<div class="document_box">
|
||||||
<div class="document">
|
<div class="document">
|
||||||
<a href="{$oDocument->getPermanentUrl()}#{$oDocument->getCommentCount()}">{$oDocument->getTitleText(20)}</a>
|
<a href="{$oDocument->getPermanentUrl()}#{$oDocument->getCommentCount()}">{$oDocument->getTitleText(20)}</a>
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<title xml:lang="ko">최신글 목록 기본 스킨</title>
|
<title xml:lang="ko">최신글 목록 기본 스킨</title>
|
||||||
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">최신글 목록 플러그인의 기본 스킨</description>
|
<description xml:lang="ko">최신글 목록 위젯의 기본 스킨</description>
|
||||||
</maker>
|
</maker>
|
||||||
<colorset>
|
<colorset>
|
||||||
<color name="normal">
|
<color name="normal">
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<plugin version="0.1">
|
<widget version="0.1">
|
||||||
<title xml:lang="ko">최근 엮인글 출력</title>
|
<title xml:lang="ko">최근 엮인글 출력</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">최근 엮인글 (trackback)을 출력하는 플러그인입니다.</description>
|
<description xml:lang="ko">최근 엮인글 (trackback)을 출력하는 위젯입니다.</description>
|
||||||
</author>
|
</author>
|
||||||
<extra_vars>
|
<extra_vars>
|
||||||
<var id="title">
|
<var id="title">
|
||||||
|
|
@ -22,4 +22,4 @@
|
||||||
<description xml:lang="ko">선택하신 모듈에 등록된 글을 대상으로 합니다.</description>
|
<description xml:lang="ko">선택하신 모듈에 등록된 글을 대상으로 합니다.</description>
|
||||||
</var>
|
</var>
|
||||||
</extra_vars>
|
</extra_vars>
|
||||||
</plugin>
|
</widget>
|
||||||
|
|
|
||||||
|
|
@ -2,20 +2,20 @@
|
||||||
/**
|
/**
|
||||||
* @class newest_trackback
|
* @class newest_trackback
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief 최근 엮인글을 출력하는 플러그인
|
* @brief 최근 엮인글을 출력하는 위젯
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class newest_trackback extends PluginHandler {
|
class newest_trackback extends WidgetHandler {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인의 실행 부분
|
* @brief 위젯의 실행 부분
|
||||||
*
|
*
|
||||||
* ./plugins/플러그인/conf/info.xml 에 선언한 extra_vars를 args로 받는다
|
* ./widgets/위젯/conf/info.xml 에 선언한 extra_vars를 args로 받는다
|
||||||
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
||||||
**/
|
**/
|
||||||
function proc($args) {
|
function proc($args) {
|
||||||
// 플러그인 자체적으로 설정한 변수들을 체크
|
// 위젯 자체적으로 설정한 변수들을 체크
|
||||||
$title = $args->title;
|
$title = $args->title;
|
||||||
$order_target = $args->order_target;
|
$order_target = $args->order_target;
|
||||||
$order_type = $args->order_type;
|
$order_type = $args->order_type;
|
||||||
|
|
@ -33,17 +33,17 @@
|
||||||
$output = $oTrackbackModel->getNewestTrackbackList($obj);
|
$output = $oTrackbackModel->getNewestTrackbackList($obj);
|
||||||
|
|
||||||
// 템플릿 파일에서 사용할 변수들을 세팅
|
// 템플릿 파일에서 사용할 변수들을 세팅
|
||||||
if(count($mid_list)==1) $plugin_info->module_name = $mid_list[0];
|
if(count($mid_list)==1) $widget_info->module_name = $mid_list[0];
|
||||||
|
|
||||||
$plugin_info->title = $title;
|
$widget_info->title = $title;
|
||||||
$plugin_info->trackback_list = $output->data;
|
$widget_info->trackback_list = $output->data;
|
||||||
|
|
||||||
preg_match_all('/(width|height)([^[:digit:]]+)([0-9]+)/i',$args->style,$matches);
|
preg_match_all('/(width|height)([^[:digit:]]+)([0-9]+)/i',$args->style,$matches);
|
||||||
$plugin_info->width = trim($matches[3][0]);
|
$widget_info->width = trim($matches[3][0]);
|
||||||
Context::set('plugin_info', $plugin_info);
|
Context::set('widget_info', $widget_info);
|
||||||
|
|
||||||
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
||||||
$tpl_path = sprintf('%sskins/%s', $this->plugin_path, $args->skin);
|
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
|
||||||
Context::set('colorset', $args->colorset);
|
Context::set('colorset', $args->colorset);
|
||||||
|
|
||||||
// 템플릿 파일을 지정
|
// 템플릿 파일을 지정
|
||||||
|
|
|
||||||
|
|
@ -6,14 +6,14 @@
|
||||||
<div class="newest_trackback_{$colorset}" style="width:100%">
|
<div class="newest_trackback_{$colorset}" style="width:100%">
|
||||||
<div class="newest_trackback_box">
|
<div class="newest_trackback_box">
|
||||||
|
|
||||||
<!--@if($plugin_info->title)-->
|
<!--@if($widget_info->title)-->
|
||||||
<div class="title_box">
|
<div class="title_box">
|
||||||
<div class="title">{$plugin_info->title}</div>
|
<div class="title">{$widget_info->title}</div>
|
||||||
</div>
|
</div>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
||||||
<div class="trackback_box">
|
<div class="trackback_box">
|
||||||
<!--@foreach($plugin_info->trackback_list as $val)-->
|
<!--@foreach($widget_info->trackback_list as $val)-->
|
||||||
<div class="trackback">
|
<div class="trackback">
|
||||||
<a href="{getUrl('','document_srl',$val->document_srl)}#trackback_{$val->trackback_srl}">{cut_str($val->title,15,'...')}</a>
|
<a href="{getUrl('','document_srl',$val->document_srl)}#trackback_{$val->trackback_srl}">{cut_str($val->title,15,'...')}</a>
|
||||||
- <a href="#" onclick="winopen('{$val->url}');return false;">{cut_str($val->blog_name,10,'...')}</a>
|
- <a href="#" onclick="winopen('{$val->url}');return false;">{cut_str($val->blog_name,10,'...')}</a>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<plugin version="0.1">
|
<widget version="0.1">
|
||||||
<title xml:lang="ko">플래시 시계</title>
|
<title xml:lang="ko">플래시 시계</title>
|
||||||
<author email_address="styx@bystyx.com" link="http://www.bystyx.com" date="2007. 2. 28">
|
<author email_address="styx@bystyx.com" link="http://www.bystyx.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">스틱스 </name>
|
<name xml:lang="ko">스틱스 </name>
|
||||||
|
|
@ -38,4 +38,4 @@
|
||||||
</options>
|
</options>
|
||||||
</var>
|
</var>
|
||||||
</extra_vars>
|
</extra_vars>
|
||||||
</plugin>
|
</widget>
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
displayMultimedia("{$plugin_info->src}", {$plugin_info->width}, {$plugin_info->width});
|
displayMultimedia("{$widget_info->src}", {$widget_info->width}, {$widget_info->width});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -6,17 +6,17 @@
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class styx_clock extends PluginHandler {
|
class styx_clock extends WidgetHandler {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인의 실행 부분
|
* @brief 위젯의 실행 부분
|
||||||
*
|
*
|
||||||
* ./plugins/플러그인/conf/info.xml 에 선언한 extra_vars를 args로 받는다
|
* ./widgets/위젯/conf/info.xml 에 선언한 extra_vars를 args로 받는다
|
||||||
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
||||||
**/
|
**/
|
||||||
function proc($args) {
|
function proc($args) {
|
||||||
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
||||||
$tpl_path = sprintf('%sskins/%s', $this->plugin_path, $args->skin);
|
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
|
||||||
$colorset = $args->colorset;
|
$colorset = $args->colorset;
|
||||||
|
|
||||||
// 템플릿 파일을 지정
|
// 템플릿 파일을 지정
|
||||||
|
|
@ -30,11 +30,11 @@
|
||||||
|
|
||||||
$width = $args->width;
|
$width = $args->width;
|
||||||
if(!$width) $width = 200;
|
if(!$width) $width = 200;
|
||||||
$plugin_info->width = $width;
|
$widget_info->width = $width;
|
||||||
|
|
||||||
$plugin_info->src = sprintf("%s%s/%s/clock.swf?theme=%s&day=%s", Context::getRequestUri(), $tpl_path, $colorset, $theme, $day);
|
$widget_info->src = sprintf("%s%s/%s/clock.swf?theme=%s&day=%s", Context::getRequestUri(), $tpl_path, $colorset, $theme, $day);
|
||||||
|
|
||||||
Context::set('plugin_info', $plugin_info);
|
Context::set('widget_info', $widget_info);
|
||||||
|
|
||||||
// 템플릿 컴파일
|
// 템플릿 컴파일
|
||||||
$oTemplate = &TemplateHandler::getInstance();
|
$oTemplate = &TemplateHandler::getInstance();
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<plugin version="0.1">
|
<widget version="0.1">
|
||||||
<title xml:lang="ko">꼬리표 목록 출력</title>
|
<title xml:lang="ko">꼬리표 목록 출력</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
|
|
@ -22,4 +22,4 @@
|
||||||
<description xml:lang="ko">선택하신 모듈에 등록된 꼬리표를 대상으로 합니다.</description>
|
<description xml:lang="ko">선택하신 모듈에 등록된 꼬리표를 대상으로 합니다.</description>
|
||||||
</var>
|
</var>
|
||||||
</extra_vars>
|
</extra_vars>
|
||||||
</plugin>
|
</widget>
|
||||||
|
|
|
||||||
|
|
@ -7,14 +7,14 @@
|
||||||
<div class="tag_list_{$colorset}" style="width:100%">
|
<div class="tag_list_{$colorset}" style="width:100%">
|
||||||
<div class="tag_list_box">
|
<div class="tag_list_box">
|
||||||
|
|
||||||
<!--@if($plugin_info->title)-->
|
<!--@if($widget_info->title)-->
|
||||||
<div class="title_box">
|
<div class="title_box">
|
||||||
<div class="title">{$plugin_info->title}</div>
|
<div class="title">{$widget_info->title}</div>
|
||||||
</div>
|
</div>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
||||||
<div class="tag_box">
|
<div class="tag_box">
|
||||||
<!--@foreach($plugin_info->tag_list as $val)-->
|
<!--@foreach($widget_info->tag_list as $val)-->
|
||||||
<div class="tag">
|
<div class="tag">
|
||||||
<!--@if(!$layout_info->mid)-->
|
<!--@if(!$layout_info->mid)-->
|
||||||
<a href="{getUrl('','mid',$mid,'search_target','tag','search_keyword',urlencode($val->tag))}">{cut_str($val->tag,15,'...')}</a>
|
<a href="{getUrl('','mid',$mid,'search_target','tag','search_keyword',urlencode($val->tag))}">{cut_str($val->tag,15,'...')}</a>
|
||||||
|
|
|
||||||
|
|
@ -6,16 +6,16 @@
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class tag_list extends PluginHandler {
|
class tag_list extends WidgetHandler {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 플러그인의 실행 부분
|
* @brief 위젯의 실행 부분
|
||||||
*
|
*
|
||||||
* ./plugins/플러그인/conf/info.xml 에 선언한 extra_vars를 args로 받는다
|
* ./widgets/위젯/conf/info.xml 에 선언한 extra_vars를 args로 받는다
|
||||||
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
||||||
**/
|
**/
|
||||||
function proc($args) {
|
function proc($args) {
|
||||||
// 플러그인 자체적으로 설정한 변수들을 체크
|
// 위젯 자체적으로 설정한 변수들을 체크
|
||||||
$title = $args->title;
|
$title = $args->title;
|
||||||
$list_count = (int)$args->list_count;
|
$list_count = (int)$args->list_count;
|
||||||
if(!$list_count) $list_count = 20;
|
if(!$list_count) $list_count = 20;
|
||||||
|
|
@ -30,17 +30,17 @@
|
||||||
$output = $oTagModel->getTagList($obj);
|
$output = $oTagModel->getTagList($obj);
|
||||||
|
|
||||||
// 템플릿 파일에서 사용할 변수들을 세팅
|
// 템플릿 파일에서 사용할 변수들을 세팅
|
||||||
if(count($mid_list)==1) $plugin_info->module_name = $mid_list[0];
|
if(count($mid_list)==1) $widget_info->module_name = $mid_list[0];
|
||||||
|
|
||||||
$plugin_info->title = $title;
|
$widget_info->title = $title;
|
||||||
$plugin_info->tag_list = $output->data;
|
$widget_info->tag_list = $output->data;
|
||||||
|
|
||||||
preg_match_all('/(width|height)([^[:digit:]]+)([0-9]+)/i',$args->style,$matches);
|
preg_match_all('/(width|height)([^[:digit:]]+)([0-9]+)/i',$args->style,$matches);
|
||||||
$plugin_info->width = trim($matches[3][0]);
|
$widget_info->width = trim($matches[3][0]);
|
||||||
Context::set('plugin_info', $plugin_info);
|
Context::set('widget_info', $widget_info);
|
||||||
|
|
||||||
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
||||||
$tpl_path = sprintf('%sskins/%s', $this->plugin_path, $args->skin);
|
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
|
||||||
Context::set('colorset', $args->colorset);
|
Context::set('colorset', $args->colorset);
|
||||||
|
|
||||||
// 템플릿 파일을 지정
|
// 템플릿 파일을 지정
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue