mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-24 13:49:56 +09:00
2007. 10. 9. 17:19분의 sandbox를 beta 0.1.9로 배포하기 위해 trunk로 copy
git-svn-id: http://xe-core.googlecode.com/svn/trunk@2707 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
commit
29ca68f18e
28 changed files with 326 additions and 86 deletions
|
|
@ -191,11 +191,12 @@
|
|||
/**
|
||||
* @brief mysql old password를 가져오는 함수 (mysql에서만 사용)
|
||||
**/
|
||||
function getOldPassword($password) {
|
||||
$query = sprintf("select old_password('%s') as password", $password);
|
||||
function isValidOldPassword($password, $saved_password) {
|
||||
$query = sprintf("select password('%s') as password, old_password('%s') as old_password", $this->addQuotes($password), $this->addQuotes($password));
|
||||
$result = $this->_query($query);
|
||||
$tmp = $this->_fetch($result);
|
||||
return $tmp->password;
|
||||
if($tmp->password == $saved_password || $tmp->old_password == $saved_password) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -200,11 +200,12 @@
|
|||
/**
|
||||
* @brief mysql old password를 가져오는 함수 (mysql에서만 사용)
|
||||
**/
|
||||
function getOldPassword($password) {
|
||||
$query = sprintf("select old_password('%s') as password", $password);
|
||||
function isValidOldPassword($password, $saved_password) {
|
||||
$query = sprintf("select password('%s') as password, old_password('%s') as old_password", $this->addQuotes($password), $this->addQuotes($password));
|
||||
$result = $this->_query($query);
|
||||
$tmp = $this->_fetch($result);
|
||||
return $tmp->password;
|
||||
if($tmp->password == $saved_password || $tmp->old_password == $saved_password) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -26,6 +26,11 @@
|
|||
* @brief optimize 대상 파일을 받아서 처리 후 optimize 된 파일이름을 return
|
||||
**/
|
||||
function getOptimizedFiles($source_files, $type = "js") {
|
||||
// 관리자 설정시 설정이 되어 있지 않으면 패스
|
||||
$db_info = Context::getDBInfo();
|
||||
if($db_info->use_optimizer == 'N') return $source_files;
|
||||
|
||||
// 캐시 디렉토리가 없으면 실행하지 않음
|
||||
if(!is_dir($this->cache_path)) return $source_files;
|
||||
|
||||
$file_count = count($source_files);
|
||||
|
|
|
|||
|
|
@ -630,3 +630,25 @@ function doDocumentPreview(obj) {
|
|||
function viewSkinInfo(module, skin) {
|
||||
popopen("./?module=module&act=dispModuleSkinInfo&selected_module="+module+"&skin="+skin, 'SkinInfo');
|
||||
}
|
||||
|
||||
/* 체크박스 선택 */
|
||||
function checkboxSelectAll(form, name, option){
|
||||
var value;
|
||||
var fo_obj = xGetElementById(form);
|
||||
for ( var i = 0 ; i < fo_obj.length ; i++ ){
|
||||
if(typeof(option) == "undefined") {
|
||||
var select_mode = fo_obj[i].checked;
|
||||
if ( select_mode == 0 ){
|
||||
value = true;
|
||||
select_mode = 1;
|
||||
}else{
|
||||
value = false;
|
||||
select_mode = 0;
|
||||
}
|
||||
}
|
||||
else if(option == true) value = true
|
||||
else if(option == false) value = false
|
||||
|
||||
if(fo_obj[i].name == name) fo_obj[i].checked = value;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@
|
|||
$lang->cmd_select = '선택';
|
||||
$lang->cmd_select_all = '모두선택';
|
||||
$lang->cmd_unselect_all = '모두해제';
|
||||
$lang->cmd_reverse_all = "선택반전";
|
||||
$lang->cmd_close_all = '모두닫기';
|
||||
$lang->cmd_open_all = '모두열기';
|
||||
$lang->cmd_reload = '다시읽기';
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
* 이 내용은 제로보드XE의 버전을 관리자 페이지에 표시하기 위한 용도이며
|
||||
* config.inc.php의 수정이 없더라도 공식 릴리즈시에 수정되어 함께 배포되어야 함
|
||||
**/
|
||||
define('__ZBXE_VERSION__', '0.1.8');
|
||||
define('__ZBXE_VERSION__', '0.1.9');
|
||||
|
||||
/**
|
||||
* @brief 디버깅 메세지 출력
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
Context::set('time_zone_list', $GLOBALS['time_zone']);
|
||||
Context::set('time_zone', $GLOBALS['_time_zone']);
|
||||
Context::set('use_rewrite', $db_info->use_rewrite=='Y'?'Y':'N');
|
||||
Context::set('use_optimizer', $db_info->use_optimizer==''?'Y':'N');
|
||||
|
||||
Context::setBrowserTitle("ZeroboardXE Admin Page");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,6 +34,20 @@
|
|||
<col width="200" />
|
||||
<col />
|
||||
<caption>{$lang->env_setup}</caption>
|
||||
<tr>
|
||||
<th scope="row">{$lang->use_rewrite}</th>
|
||||
<td>
|
||||
<input type="checkbox" name="use_rewrite" value="Y" <!--@if($use_rewrite=='Y')-->checked="checked"<!--@end--> />
|
||||
<p>{$lang->about_rewrite}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->use_optimizer}</th>
|
||||
<td>
|
||||
<input type="checkbox" name="use_optimizer" value="Y" <!--@if($use_optimizer!='N')-->checked="checked"<!--@end--> />
|
||||
<p>{$lang->about_optimizer}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Lang</th>
|
||||
<td>
|
||||
|
|
@ -48,13 +62,6 @@
|
|||
<p>{$lang->about_lang_env}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->use_rewrite}</th>
|
||||
<td>
|
||||
<input type="checkbox" name="use_rewrite" value="Y" <!--@if($use_rewrite=='Y')-->checked="checked"<!--@end--> />
|
||||
<p>{$lang->about_rewrite}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->time_zone}</th>
|
||||
<td>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<table cellspacing="0" class="tableType4">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"><input type="checkbox" onclick="doCheckAll(); return false;" /></th>
|
||||
<th scope="col"><input type="checkbox" onclick="checkboxSelectAll(this.form, 'cart'); return false;" /></th>
|
||||
<th scope="col">
|
||||
<div class="nowrap">
|
||||
<select name="module_srl" class="mid_list" id="module_srl">
|
||||
|
|
@ -58,9 +58,9 @@
|
|||
|
||||
<!-- 버튼 -->
|
||||
<div class="fr gap1">
|
||||
<a href="javascript:doCheckAll()" class="button"><span>{$lang->cmd_select_all}</span></a>
|
||||
<a href="javascript:doCheckAll(true)" class="button"><span>{$lang->cmd_toggle_checked_comment}</span></a>
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_delete_checked_comment}" /></span>
|
||||
<a href="javascript:checkboxSelectAll('fo_list', 'cart', true)" class="button"><span>{$lang->cmd_select_all}</span></a>
|
||||
<a href="javascript:checkboxSelectAll('fo_list', 'cart')" class="button"><span>{$lang->cmd_reverse_all}</span></a>
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_delete_checked_comment}" /></span>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -12,11 +12,11 @@
|
|||
<input type="hidden" name="page" value="{$page}" />
|
||||
|
||||
<!-- 목록 -->
|
||||
<table cellspacing="0" class="tableType4">
|
||||
<table cellspacing="0" class="tableType1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->no}</th>
|
||||
<th scope="col"><input type="checkbox" onclick="doCheckAll(); return false;" /></th>
|
||||
<th scope="col"><input type="checkbox" onclick="checkboxSelectAll(this.form, 'cart'); return false;" /></th>
|
||||
<th scope="col">
|
||||
<div class="nowrap">
|
||||
<select name="module_srl" class="mid_list" id="module_srl">
|
||||
|
|
@ -62,8 +62,8 @@
|
|||
|
||||
<!-- 버튼 -->
|
||||
<div class="fr gap1">
|
||||
<a href="javascript:doCheckAll()" class="button"><span>{$lang->cmd_select_all}</span></a>
|
||||
<a href="javascript:doCheckAll(true)" class="button"><span>{$lang->cmd_toggle_checked_document}</span></a>
|
||||
<a href="javascript:checkboxSelectAll('fo_list', 'cart', true)" class="button"><span>{$lang->cmd_select_all}</span></a>
|
||||
<a href="javascript:checkboxSelectAll('fo_list', 'cart')" class="button"><span>{$lang->cmd_reverse_all}</span></a>
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_delete_checked_document}" /></span>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -176,14 +176,23 @@ function editorStart(editor_sequence, primary_key, content_key, resizable, edito
|
|||
|
||||
// editor_mode를 기본으로 설정
|
||||
editor_mode[editor_sequence] = null;
|
||||
editor_is_started[editor_sequence] = false;
|
||||
|
||||
// 에디터를 시작 시킴 (오류 발생시 에디터에 focus에 올때 에디터 시작하도록 변경)
|
||||
|
||||
try {
|
||||
editorSetDesignMode(iframe_obj, contentDocument, content, fo_obj, editor_sequence);
|
||||
editor_is_started[editor_sequence] = true;
|
||||
} catch(e) {
|
||||
editor_start_func[editor_sequence] = function() { editorSetDesignMode(iframe_obj, contentDocument, content, fo_obj, editor_sequence); }
|
||||
editor_is_started[editor_sequence] = false;
|
||||
|
||||
// iframe에 focus가 될때 에디터 모드로 전환하도록 이벤트 지정
|
||||
if(xIE4Up) xAddEventListener(iframe_obj, "focus", editor_start_func[editor_sequence] );
|
||||
else xAddEventListener(iframe_obj.contentWindow, "focus", editor_start_func[editor_sequence] );
|
||||
alert('실패');
|
||||
}
|
||||
|
||||
xAddEventListener(document,'mouseup',editorEventCheck);
|
||||
|
||||
// iframe에 focus가 될때 에디터 모드로 전환하도록 이벤트 지정
|
||||
editor_start_func[editor_sequence] = function() { editorSetDesignMode(iframe_obj, contentDocument, content, fo_obj, editor_sequence); }
|
||||
if(xIE4Up) xAddEventListener(iframe_obj, "focus", editor_start_func[editor_sequence] );
|
||||
else xAddEventListener(iframe_obj.contentWindow, "focus", editor_start_func[editor_sequence] );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->no}</th>
|
||||
<th scope="col"><input type="checkbox" onclick="doCheckAll(); return false;" /></th>
|
||||
<th scope="col"><input type="checkbox" onclick="checkboxSelectAll(this.form, 'cart'); return false;" /></th>
|
||||
<th scope="col">
|
||||
<div class="nowrap">
|
||||
<select name="module_srl" class="mid_list" id="module_srl">
|
||||
|
|
@ -60,6 +60,8 @@
|
|||
|
||||
<!-- 버튼 -->
|
||||
<div class="fr gap1">
|
||||
<a href="javascript:checkboxSelectAll('fo_list', 'cart', true)" class="button"><span>{$lang->cmd_select_all}</span></a>
|
||||
<a href="javascript:checkboxSelectAll('fo_list', 'cart')" class="button"><span>{$lang->cmd_reverse_all}</span></a>
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_delete_checked_file}" /></span>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -47,11 +47,16 @@
|
|||
function procInstallAdminSaveTimeZone() {
|
||||
$use_rewrite = Context::get('use_rewrite');
|
||||
if($use_rewrite!='Y') $use_rewrite = 'N';
|
||||
|
||||
$use_optimizer = Context::get('use_optimizer');
|
||||
if($use_optimizer!='Y') $use_optimizer = 'N';
|
||||
|
||||
$time_zone = Context::get('time_zone');
|
||||
|
||||
$db_info = Context::getDBInfo();
|
||||
$db_info->time_zone = $time_zone;
|
||||
$db_info->use_rewrite = $use_rewrite;
|
||||
$db_info->use_optimizer = $use_optimizer;
|
||||
$db_info->lang_type = Context::getLangType();
|
||||
Context::setDBInfo($db_info);
|
||||
|
||||
|
|
|
|||
|
|
@ -162,6 +162,8 @@ EndOfLicense;
|
|||
$lang->admin_title = 'Administrator Info';
|
||||
|
||||
$lang->env_title = 'Configuration';
|
||||
$lang->use_optimizer = 'Optimizer 사용';
|
||||
$lang->about_optimizer = 'Optimizer를 사용하면 다수의 CSS/ JS파일을 통합/압축 전송하여 매우 빠르게 사이트 접속이 가능하게 합니다.<br />다만 CSS나 JS에 따라서 문제가 생길 수 있습니다. 이때는 Optimizer 비활성화 하시면 정상적인 동작은 가능합니다';
|
||||
$lang->use_rewrite = 'Use rewrite mod';
|
||||
$lang->about_rewrite = "If web server provides rewrite mod, long URL such as http://blah/?document_srl=123 can be shortened like http://blah/123";
|
||||
$lang->time_zone = 'Time zone';
|
||||
|
|
|
|||
|
|
@ -258,6 +258,8 @@ EndOfLicense;
|
|||
$lang->admin_title = 'Información del Administrator';
|
||||
|
||||
$lang->env_title = 'Configuración';
|
||||
$lang->use_optimizer = 'Optimizer 사용';
|
||||
$lang->about_optimizer = 'Optimizer를 사용하면 다수의 CSS/ JS파일을 통합/압축 전송하여 매우 빠르게 사이트 접속이 가능하게 합니다.<br />다만 CSS나 JS에 따라서 문제가 생길 수 있습니다. 이때는 Optimizer 비활성화 하시면 정상적인 동작은 가능합니다';
|
||||
$lang->use_rewrite = 'Usar rewrite mod';
|
||||
$lang->about_rewrite = "Si el servidor de la web soporte rewrite mod, URL largas como http://bla/?documento_srl=123 puede abreviarse como http://bla/123";
|
||||
$lang->time_zone = 'La Hora por Zona';
|
||||
|
|
|
|||
|
|
@ -255,6 +255,8 @@ EndOfLicense;
|
|||
$lang->admin_title = '管理者情報';
|
||||
|
||||
$lang->env_title = '環境設定';
|
||||
$lang->use_optimizer = 'Optimizer 사용';
|
||||
$lang->about_optimizer = 'Optimizer를 사용하면 다수의 CSS/ JS파일을 통합/압축 전송하여 매우 빠르게 사이트 접속이 가능하게 합니다.<br />다만 CSS나 JS에 따라서 문제가 생길 수 있습니다. 이때는 Optimizer 비활성화 하시면 정상적인 동작은 가능합니다';
|
||||
$lang->use_rewrite = 'リライトモジュール使用';
|
||||
$lang->about_rewrite = 'Webサーバで「リライトモジュール(mod_rewrite)」をサポートしている場合は、「http://アドレス/?document_srl=123」のようなアドレスを「http://アドレス/123」のように簡単にすることができます。';
|
||||
$lang->time_zone = 'タイムゾーン';
|
||||
|
|
|
|||
|
|
@ -254,6 +254,8 @@ EndOfLicense;
|
|||
$lang->admin_title = '관리자정보';
|
||||
|
||||
$lang->env_title = '환경 설정';
|
||||
$lang->use_optimizer = 'Optimizer 사용';
|
||||
$lang->about_optimizer = 'Optimizer를 사용하면 다수의 CSS/ JS파일을 통합/압축 전송하여 매우 빠르게 사이트 접속이 가능하게 합니다.<br />다만 CSS나 JS에 따라서 문제가 생길 수 있습니다. 이때는 Optimizer 비활성화 하시면 정상적인 동작은 가능합니다';
|
||||
$lang->use_rewrite = 'rewrite mod 사용';
|
||||
$lang->about_rewrite = '웹서버에서 rewrite mod를 지원하면 http://주소/?document_srl=123 같이 복잡한 주소를 http://주소/123과 같이 간단하게 줄일 수 있습니다.';
|
||||
$lang->time_zone = 'time zone';
|
||||
|
|
|
|||
|
|
@ -247,6 +247,8 @@ EndOfLicense;
|
|||
$lang->admin_title = '管理员信息';
|
||||
|
||||
$lang->env_title = '环境设置';
|
||||
$lang->use_optimizer = 'Optimizer 사용';
|
||||
$lang->about_optimizer = 'Optimizer를 사용하면 다수의 CSS/ JS파일을 통합/압축 전송하여 매우 빠르게 사이트 접속이 가능하게 합니다.<br />다만 CSS나 JS에 따라서 문제가 생길 수 있습니다. 이때는 Optimizer 비활성화 하시면 정상적인 동작은 가능합니다';
|
||||
$lang->use_rewrite = '使用rewrite模块';
|
||||
$lang->about_rewrite = '如服务器支持rewrite模块且选择此项,可以简化复杂的网址。<br />例如,http://域名/?document_srl=123简化为http://域名/123。';
|
||||
$lang->time_zone = '时区';
|
||||
|
|
|
|||
|
|
@ -27,9 +27,19 @@
|
|||
<th scope="row">{$lang->module}</th>
|
||||
<td>
|
||||
<p>{$lang->about_target_module}</p>
|
||||
<div class="clear">
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, 'target_mid', true);return false;" value="{$lang->cmd_select_all}"></span>
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, 'target_mid', false);return false;" value="{$lang->cmd_unselect_all}"></span>
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, 'target_mid');return false;" value="{$lang->cmd_reverse_all}"></span>
|
||||
</div>
|
||||
<!--@foreach($mid_list as $key => $val)-->
|
||||
<p><input type="checkbox" name="target_mid" value="{$key}" id="target_mid_{$key}" <!--@if(in_array($key,$config->target_mid))-->checked="checked"<!--@end--> /> <label for="target_mid_{$key}">{$val->browser_title} ({$val->mid})</label></p>
|
||||
<!--@end-->
|
||||
<div class="clear">
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, 'target_mid', true);return false;" value="{$lang->cmd_select_all}"></span>
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, 'target_mid', false);return false;" value="{$lang->cmd_unselect_all}"></span>
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, 'target_mid');return false;" value="{$lang->cmd_reverse_all}"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -939,7 +939,7 @@
|
|||
// return 값이 없으면 존재하지 않는 사용자로 지정
|
||||
if(!$user_id || $member_info->user_id != $user_id) return new Object(-1, 'invalid_user_id');
|
||||
|
||||
// 비밀번호 검사 : 우선 md5() hash값으로 비굥
|
||||
// 비밀번호 검사하여 md5 hash값과 다르면 비밀번호의 재확인 작업 시행
|
||||
if($password && $member_info->password != md5($password)) {
|
||||
|
||||
// 혹시나 하여.. -_-;; mysql old_password로 검사하여 맞으면 db의 비밀번호 교체
|
||||
|
|
@ -951,17 +951,19 @@
|
|||
$output = executeQuery('member.updateMemberPassword', $password_args);
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
// mysql_pre4_hash_password() 함수의 값과도 다를 경우
|
||||
} else {
|
||||
|
||||
// mysql_pre4_hash_password()함수의 결과와도 다를 경우 현재 mysql DB이용시 직접 쿼리 날림
|
||||
if(substr(Context::getDBType(),0,5)=='mysql') {
|
||||
$oDB = &DB::getInstance();
|
||||
if($oDB->getOldPassword($password) == $member_info->password) {
|
||||
if($oDB->isValidOldPassword($password, $member_info->password)) {
|
||||
$password_args->member_srl = $member_info->member_srl;
|
||||
$password_args->password = md5($password);
|
||||
$output = executeQuery('member.updateMemberPassword', $password_args);
|
||||
if(!$output->toBool()) return $output;
|
||||
} else return new Object(-1, 'invalid_password');
|
||||
|
||||
// md5(), mysql old_password와도 다르면 잘못된 비빌번호 오류 메세지 리턴
|
||||
} else {
|
||||
return new Object(-1, 'invalid_password');
|
||||
|
|
|
|||
|
|
@ -57,17 +57,59 @@
|
|||
* @brief 포인트 순 회원목록 가져오기
|
||||
**/
|
||||
function getMemberList($args = null) {
|
||||
// member model 객체 생성후 목록을 구해옴
|
||||
$oMemberModel = &getAdminModel('member');
|
||||
$output = $oMemberModel->getMemberList();
|
||||
|
||||
// 검색 옵션 정리
|
||||
$args->is_admin = Context::get('is_admin')=='Y'?'Y':'';
|
||||
$args->is_denied = Context::get('is_denied')=='Y'?'Y':'';
|
||||
$args->selected_group_srl = Context::get('selected_group_srl');
|
||||
|
||||
$search_target = trim(Context::get('search_target'));
|
||||
$search_keyword = trim(Context::get('search_keyword'));
|
||||
|
||||
if($search_target && $search_keyword) {
|
||||
switch($search_target) {
|
||||
case 'user_id' :
|
||||
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
|
||||
$args->s_user_id = $search_keyword;
|
||||
break;
|
||||
case 'user_name' :
|
||||
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
|
||||
$args->s_user_name = $search_keyword;
|
||||
break;
|
||||
case 'nick_name' :
|
||||
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
|
||||
$args->s_nick_name = $search_keyword;
|
||||
break;
|
||||
case 'email_address' :
|
||||
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
|
||||
$args->s_email_address = $search_keyword;
|
||||
break;
|
||||
case 'regdate' :
|
||||
$args->s_regdate = $search_keyword;
|
||||
break;
|
||||
case 'last_login' :
|
||||
$args->s_last_login = $search_keyword;
|
||||
break;
|
||||
case 'extra_vars' :
|
||||
$args->s_extra_vars = $search_keyword;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// selected_group_srl이 있으면 query id를 변경 (table join때문에)
|
||||
if($args->selected_group_srl) {
|
||||
$query_id = 'point.getMemberListWithinGroup';
|
||||
} else {
|
||||
$query_id = 'point.getMemberList';
|
||||
}
|
||||
|
||||
$output = executeQuery($query_id, $args);
|
||||
|
||||
if($output->total_count) {
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('point');
|
||||
|
||||
foreach($output->data as $key => $val) {
|
||||
$point = $this->getPoint($val->member_srl);
|
||||
$output->data[$key]->point = $point;
|
||||
$output->data[$key]->level = $this->getLevel($point, $config->level_step);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,28 @@
|
|||
<query id="getMemberListWithinGroup" action="select">
|
||||
<query id="getMemberList" action="select">
|
||||
<tables>
|
||||
<table name="member" alias="member"/>
|
||||
<table name="point" alias="point"/>
|
||||
</tables>
|
||||
<columns />
|
||||
<columns>
|
||||
<column name="member.*" />
|
||||
<column name="point.point" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="member.member_srl" var="point.member_srl" pipe="and" notnull="notnull" />
|
||||
<condition operation="equal" column="member.member_srl" var="point.member_srl" />
|
||||
<condition operation="equal" column="is_admin" var="is_admin" pipe="and" />
|
||||
<condition operation="equal" column="denied" var="is_denied" pipe="and" />
|
||||
<group pipe="and">
|
||||
<condition operation="like" column="user_id" var="s_user_id" />
|
||||
<condition operation="like" column="user_name" var="s_user_name" pipe="or" />
|
||||
<condition operation="like" column="nick_name" var="s_nick_name" pipe="or" />
|
||||
<condition operation="like" column="email_address" var="s_email_address" pipe="or" />
|
||||
<condition operation="like" column="extra_vars" var="s_extra_vars" pipe="or" />
|
||||
<condition operation="like_prefix" column="regdate" var="s_regdate" pipe="or" />
|
||||
<condition operation="like_prefix" column="last_login" var="s_last_login" pipe="or" />
|
||||
</group>
|
||||
</conditions>
|
||||
<navigation>
|
||||
<index var="sort_index" default="point.point" order="desc" />
|
||||
<index var="sort_index" default="point" order="desc" />
|
||||
<list_count var="list_count" default="20" />
|
||||
<page_count var="page_count" default="10" />
|
||||
<page var="page" default="1" />
|
||||
|
|
|
|||
35
modules/point/queries/getMemberListWithinGroup.xml
Normal file
35
modules/point/queries/getMemberListWithinGroup.xml
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<query id="getMemberListWithinGroup" action="select">
|
||||
<tables>
|
||||
<table name="member" alias="member"/>
|
||||
<table name="point" alias="point"/>
|
||||
<table name="member_group_member" alias="member_group"/>
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="member.*" />
|
||||
<column name="point.point" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="member_group.group_srl" var="selected_group_srl" notnull="notnull" />
|
||||
<condition operation="equal" column="member.member_srl" var="member_group.member_srl" pipe="and" notnull="notnull" />
|
||||
<condition operation="equal" column="member.member_srl" var="point.member_srl" pipe="and" />
|
||||
<group pipe="and">
|
||||
<condition operation="equal" column="member.is_admin" var="is_admin" />
|
||||
<condition operation="equal" column="member.denied" var="is_denied" pipe="and" />
|
||||
</group>
|
||||
<group pipe="and">
|
||||
<condition operation="like" column="member.user_id" var="s_user_id" />
|
||||
<condition operation="like" column="member.user_name" var="s_user_name" pipe="or" />
|
||||
<condition operation="like" column="member.nick_name" var="s_nick_name" pipe="or" />
|
||||
<condition operation="like" column="member.email_address" var="s_email_address" pipe="or" />
|
||||
<condition operation="like" column="extra_vars" var="s_extra_vars" pipe="or" />
|
||||
<condition operation="like_prefix" column="member.regdate" var="s_regdate" pipe="or" />
|
||||
<condition operation="like_prefix" column="member.last_login" var="s_last_login" pipe="or" />
|
||||
</group>
|
||||
</conditions>
|
||||
<navigation>
|
||||
<index var="sort_index" default="point" order="desc" />
|
||||
<list_count var="list_count" default="20" />
|
||||
<page_count var="page_count" default="10" />
|
||||
<page var="page" default="1" />
|
||||
</navigation>
|
||||
</query>
|
||||
|
|
@ -22,6 +22,7 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th scope="col" colspan="2">{$lang->no}</th>
|
||||
<th scope="col"><input type="checkbox" onclick="checkboxSelectAll(this.form, 'cart'); return false;" /></th>
|
||||
<th scope="col" >{$lang->title}</th>
|
||||
<th scope="col" >{$lang->poll_checkcount}</th>
|
||||
<th scope="col" >{$lang->poll_join_count}</th>
|
||||
|
|
@ -46,10 +47,11 @@
|
|||
|
||||
<!-- 버튼 -->
|
||||
<div class="fr gap1">
|
||||
<a href="javascript:checkboxSelectAll('fo_list', 'cart', true)" class="button"><span>{$lang->cmd_select_all}</span></a>
|
||||
<a href="javascript:checkboxSelectAll('fo_list', 'cart')" class="button"><span>{$lang->cmd_reverse_all}</span></a>
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_delete_checked_poll}" /></span>
|
||||
</div>
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
<!-- 페이지 네비게이션 -->
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
<th scope="col">{$lang->no}</th>
|
||||
<th scope="col">
|
||||
<div class="nowrap">
|
||||
<input type="checkbox" onclick="doCheckAll(); return false;" />
|
||||
<input type="checkbox" onclick="checkboxSelectAll(this.form, 'cart'); return false;" />
|
||||
<select name="module_srl" class="mid_list" id="module_srl">
|
||||
<option value="">{$lang->module}</option>
|
||||
<!--@foreach($mid_list as $key => $val)-->
|
||||
|
|
@ -79,9 +79,9 @@
|
|||
|
||||
<!-- 버튼 -->
|
||||
<div class="fr gap1">
|
||||
<a href="javascript:doCheckAll()" class="button"><span>{$lang->cmd_select_all}</span></a>
|
||||
<a href="javascript:doCheckAll(true)" class="button"><span>{$lang->cmd_toggle_checked_trackback}</span></a>
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_delete_checked_trackback}" /></span>
|
||||
<a href="javascript:checkboxSelectAll('fo_list', 'cart', true)" class="button"><span>{$lang->cmd_select_all}</span></a>
|
||||
<a href="javascript:checkboxSelectAll('fo_list', 'cart')" class="button"><span>{$lang->cmd_reverse_all}</span></a>
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_delete_checked_trackback}" /></span>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -67,12 +67,22 @@
|
|||
</select>
|
||||
|
||||
<!--@elseif($var->type == "mid_list")-->
|
||||
<div class="clear">
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, '{$id}', true);return false;" value="{$lang->cmd_select_all}"></span>
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, '{$id}', false);return false;" value="{$lang->cmd_unselect_all}"></span>
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, '{$id}');return false;" value="{$lang->cmd_reverse_all}"></span>
|
||||
</div>
|
||||
<!--@foreach($mid_list as $key => $val)-->
|
||||
<div class="widget_mid_list">
|
||||
<input type="checkbox" value="{$key}" name="{$id}" id="chk_mid_list_{$key}" />
|
||||
<label for="chk_mid_list_{$key}">{$key} ({$val->browser_title})</label>
|
||||
</div>
|
||||
<!--@end-->
|
||||
<div class="clear">
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, '{$id}', true);return false;" value="{$lang->cmd_select_all}"></span>
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, '{$id}', false);return false;" value="{$lang->cmd_unselect_all}"></span>
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, '{$id}');return false;" value="{$lang->cmd_reverse_all}"></span>
|
||||
</div>
|
||||
<!--@end-->
|
||||
<p class="clear">{nl2br($var->description)}</p>
|
||||
</td>
|
||||
|
|
|
|||
|
|
@ -69,12 +69,22 @@
|
|||
</select>
|
||||
|
||||
<!--@elseif($var->type == "mid_list")-->
|
||||
<div class="clear">
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, '{$id}', true);return false;" value="{$lang->cmd_select_all}"></span>
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, '{$id}', false);return false;" value="{$lang->cmd_unselect_all}"></span>
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, '{$id}');return false;" value="{$lang->cmd_reverse_all}"></span>
|
||||
</div>
|
||||
<!--@foreach($mid_list as $key => $val)-->
|
||||
<div class="widget_mid_list">
|
||||
<input type="checkbox" value="{$key}" name="{$id}" id="chk_mid_list_{$key}" />
|
||||
<label for="chk_mid_list_{$key}">{$key} ({$val->browser_title})</label>
|
||||
</div>
|
||||
<!--@end-->
|
||||
<div class="clear">
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, '{$id}', true);return false;" value="{$lang->cmd_select_all}"></span>
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, '{$id}', false);return false;" value="{$lang->cmd_unselect_all}"></span>
|
||||
<span class="button"><input type="button" onclick="checkboxSelectAll(this.form, '{$id}');return false;" value="{$lang->cmd_reverse_all}"></span>
|
||||
</div>
|
||||
<!--@end-->
|
||||
<p class="clear">{nl2br($var->description)}</p>
|
||||
</td>
|
||||
|
|
|
|||
|
|
@ -1,124 +1,175 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<widget version="0.1">
|
||||
<title xml:lang="ko">이미지 카운터 위젯</title>
|
||||
<title xml:lang="es">Widget Contador de imagen</title>
|
||||
<title xml:lang="ko">이미지 카운터 위젯</title>
|
||||
<title xml:lang="es">Widget Contador de imagen</title>
|
||||
<title xml:lang="en">Image Counter Widget</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 8. 27">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<name xml:lang="en">zero</name>
|
||||
<description xml:lang="ko">
|
||||
제로보드XE의 기본 카운터를 블로그나 사이트에 달 수 있는 작은 그래프로 표시를 합니다.
|
||||
크기, 배경색등의 조건을 설정하지 않으시면 기본 설정으로 사용됩니다.
|
||||
그래프를 그리기 위해서 GD 라이브러리가 설치되어 있어야 합니다.
|
||||
</description>
|
||||
<description xml:lang="es">
|
||||
</description>
|
||||
<description xml:lang="es">
|
||||
Este widget contador de image muestra un pequeño gráfico para ser añadidos en el blog o sitios.
|
||||
Si no configura el tamaño, color de fondo, etc., se utiliza la configuración predefinida.
|
||||
Para dibujar el gráfico debe estar instalada la librería GD.
|
||||
</description>
|
||||
<description xml:lang="en">
|
||||
Image counter widget presents a small graph showing the number of visitors, which you can attach to your blogs or sites.
|
||||
Unless you configure settings, such as size, and background color, it uses predefined configuration.
|
||||
To show the graph, GD library should be installed.
|
||||
</description>
|
||||
</author>
|
||||
<extra_vars>
|
||||
<var id="graph_width">
|
||||
<name xml:lang="ko">가로 크기</name>
|
||||
<name xml:lang="es">Tamaño del ancho</name>
|
||||
<name xml:lang="ko">가로 크기</name>
|
||||
<name xml:lang="es">Tamaño del ancho</name>
|
||||
<name xml:lang="en">Width</name>
|
||||
<type>text</type>
|
||||
<description xml:lang="ko">
|
||||
그래프 이미지의 가로크기를 지정하실 수 있습니다.
|
||||
지정하지 않으시면 150px로 지정되며 숫자로 입력을 해주세요.
|
||||
코드 생성 페이지의 하단에 있는 가로크기와 다르게 적용됩니다.
|
||||
</description>
|
||||
<description xml:lang="es">
|
||||
</description>
|
||||
<description xml:lang="es">
|
||||
Uste puede asignar el tamaño del ancho para el imágen del gráfico.
|
||||
Debe ingresar en números. Si no lo asigna, será de 150px.
|
||||
Se aplica de manera diferente con el tamaño de la altura que se encuentra en la parte inferior de la página de generar códigos
|
||||
</description>
|
||||
<description xml:lang="en">
|
||||
You can set the width of the graph image.
|
||||
If you don't input any value, it will be defined as 150px.
|
||||
This value is applied differently from widget's width you can find at the bottom of this page.
|
||||
</description>
|
||||
</var>
|
||||
<var id="graph_height">
|
||||
<name xml:lang="ko">세로 크기</name>
|
||||
<name xml:lang="es">Tamaño de la Altura</name>
|
||||
<name xml:lang="ko">세로 크기</name>
|
||||
<name xml:lang="es">Tamaño de la Altura</name>
|
||||
<name xml:lang="en">Height</name>
|
||||
<type>text</type>
|
||||
<description xml:lang="ko">
|
||||
그래프 이미지의 세로 크기를 지정하실 수 있습니다.
|
||||
지정하지 않으시면 100px로 지정되며 숫자로 입력을 해주세요.
|
||||
</description>
|
||||
<description xml:lang="es">
|
||||
</description>
|
||||
<description xml:lang="es">
|
||||
Uste puede asignar el tamaño de la altura para el imágen del gráfico.
|
||||
Debe ingresar en números. Si no lo asigna, será de 100px.
|
||||
</description>
|
||||
<description xml:lang="en">
|
||||
You can set the height of the graph image.
|
||||
If you don't input any value, it will be defined as 100px.
|
||||
</description>
|
||||
</var>
|
||||
<var id="day_range">
|
||||
<name xml:lang="ko">출력 기간</name>
|
||||
<name xml:lang="es">Tiempo a mostrar</name>
|
||||
<name xml:lang="ko">출력 기간</name>
|
||||
<name xml:lang="es">Tiempo a mostrar</name>
|
||||
<name xml:lang="en">Duration</name>
|
||||
<type>text</type>
|
||||
<description xml:lang="ko">
|
||||
오늘부터 지정하신 출력기간 만큼의 데이터를 그래프로 출력합니다.
|
||||
숫자를 입력해주세요. (기본 지난 7일)
|
||||
</description>
|
||||
<description xml:lang="es">
|
||||
</description>
|
||||
<description xml:lang="es">
|
||||
Desde el día de hoy hasta el tiempo asignado, se mostrará el gráfico.
|
||||
Ingrese números. (Predefinido: transcurridos los 7 días)
|
||||
</description>
|
||||
<description xml:lang="en">
|
||||
The graph would contain the data of the assigned duration from today.
|
||||
Input numerical value (unit:day, default: past 7 days).
|
||||
</description>
|
||||
</var>
|
||||
<var id="bg_color">
|
||||
<name xml:lang="ko">배경색</name>
|
||||
<name xml:lang="es">Color de Fondo</name>
|
||||
<name xml:lang="ko">배경색</name>
|
||||
<name xml:lang="es">Color de Fondo</name>
|
||||
<name xml:lang="en">Background Color</name>
|
||||
<type>text</type>
|
||||
<description xml:lang="ko"><![CDATA[지정하신 색상 코드로 배경을 그립니다.
|
||||
기본 : #FFFFFF
|
||||
#과 6자리의 색상코드 입력해주세요]]></description>
|
||||
<description xml:lang="es"><![CDATA[Con el código del color asignado dibujará el color de fondo.
|
||||
#과 6자리의 색상코드 입력해주세요]]></description>
|
||||
<description xml:lang="es"><![CDATA[Con el código del color asignado dibujará el color de fondo.
|
||||
Predefinido : #FFFFFF
|
||||
Ingrese # + 6 espacios del código del color]]></description>
|
||||
<description xml:lang="en"><![CDATA[Set background color as the assigned color code.
|
||||
Default : #FFFFFF.
|
||||
Input as # + 6 digit color code.]]> </description>
|
||||
</var>
|
||||
<var id="check_bg_color">
|
||||
<name xml:lang="ko">체크 무늬 배경색</name>
|
||||
<name xml:lang="es">Textura escocés de fondo</name>
|
||||
<name xml:lang="ko">체크 무늬 배경색</name>
|
||||
<name xml:lang="es">Textura escocés de fondo</name>
|
||||
<name xml:lang="en">Background Color for the Darker part</name>
|
||||
<type>text</type>
|
||||
<description xml:lang="ko"><![CDATA[지정하신 색상 코드로 체크 무늬 배경을 그립니다.
|
||||
기본 : <span style="color:#F9F9F9">#F9F9F9</span>
|
||||
#과 6자리의 색상코드 입력해주세요]]></description>
|
||||
<description xml:lang="es"><![CDATA[Con el código del color asignado dibujará la textura escocés de fondo.
|
||||
#과 6자리의 색상코드 입력해주세요]]></description>
|
||||
<description xml:lang="es"><![CDATA[Con el código del color asignado dibujará la textura escocés de fondo.
|
||||
Predefinido : <span style="color:#F9F9F9">#F9F9F9</span>
|
||||
Ingrese # + 6 espacios del código del color]]></description>
|
||||
<description xml:lang="en"><![CDATA[Set background color of the darker part as the assigned color code.
|
||||
Default : #F9F9F9
|
||||
Input as # + 6 digit color code.]]> </description>
|
||||
|
||||
</var>
|
||||
<var id="grid_color">
|
||||
<name xml:lang="ko">격자 선 색</name>
|
||||
<name xml:lang="es">Color Línea de la grilla</name>
|
||||
<name xml:lang="ko">격자 선 색</name>
|
||||
<name xml:lang="es">Color Línea de la grilla</name>
|
||||
<name xml:lang="en">Color of Grid</name>
|
||||
<type>text</type>
|
||||
<description xml:lang="ko"><![CDATA[지정하신 색상 코드로 xy 격자를 그립니다.
|
||||
기본 : <span style="color:#9d9d9d">#9d9d9d</span>
|
||||
#과 6자리의 색상코드 입력해주세요]]></description>
|
||||
<description xml:lang="es"><![CDATA[Con el código del color asignado dibujará la grille xy.
|
||||
#과 6자리의 색상코드 입력해주세요]]></description>
|
||||
<description xml:lang="es"><![CDATA[Con el código del color asignado dibujará la grille xy.
|
||||
Predefinido : <span style="color:#9d9d9d">#9d9d9d</span>
|
||||
Ingrese # + 6 espacios del código del color]]></description>
|
||||
<description xml:lang="en"><![CDATA[Set the color of grid as the assigned color code.
|
||||
Default : <span style="color:#9d9d9d">#9d9d9d</span>
|
||||
Input as # + 6 digit color code.]]> </description>
|
||||
</var>
|
||||
<var id="unique_line_color">
|
||||
<name xml:lang="ko">그래프 선색</name>
|
||||
<name xml:lang="es">Color Línea del Gráfico</name>
|
||||
<name xml:lang="ko">그래프 선색</name>
|
||||
<name xml:lang="es">Color Línea del Gráfico</name>
|
||||
<name xml:lang="en">Color of the Lines</name>
|
||||
<type>text</type>
|
||||
<description xml:lang="ko"><![CDATA[Con el código del color asignado dibujará la línea del gráfico.
|
||||
<description xml:lang="ko"> <![CDATA[지정하신 색상 코드로 그래프 선색을 그립니다.
|
||||
기본 : <span style="color:#BBBBBB">#BBBBBB</span>
|
||||
#과 6자리의 색상코드 입력해주세요]]></description>
|
||||
<description xml:lang="es"> <![CDATA[Con el código del color asignado dibujará la línea del gráfico.
|
||||
Predefinido : <span style="color:#BBBBBB">#BBBBBB</span>
|
||||
Ingrese # + 6 espacios del código del color]]></description>
|
||||
<description xml:lang="en"> <![CDATA[Set the color of the lines in the graph as the assigned color code.
|
||||
Default : <span style="color:#BBBBBB">#BBBBBB</span>
|
||||
Input as # + 6 digit color code.]]> </description>
|
||||
</var>
|
||||
<var id="unique_text_color">
|
||||
<name xml:lang="ko">방문자 수 글자색</name>
|
||||
<name xml:lang="es">Color del número de los visitados</name>
|
||||
<name xml:lang="ko">방문자 수 글자색</name>
|
||||
<name xml:lang="es">Color del número de los visitados</name>
|
||||
<name xml:lang="en">Character Color of the number of visitors</name>
|
||||
<type>text</type>
|
||||
<description xml:lang="ko"><![CDATA[지정하신 색상 코드로 방문자 수 글자를 표시합니다.
|
||||
Predefinido : <span style="color:#666666">#666666</span>
|
||||
Ingrese # + 6 espacios del código del color]]></description>
|
||||
<description xml:lang="es"><![CDATA[Con el código del color asignado mostrará el número de los visitados.
|
||||
Ingrese # + 6 espacios del código del color]]></description>
|
||||
<description xml:lang="es"><![CDATA[Con el código del color asignado mostrará el número de los visitados.
|
||||
Predefinido : <span style="color:#666666">#666666</span>
|
||||
Ingrese # + 6 espacios del código del color]]></description>
|
||||
</var>
|
||||
Ingrese # + 6 espacios del código del color]]></description>
|
||||
<description xml:lang="en"> <![CDATA[Set the color of the number of visitors as the assigned color code.
|
||||
Default : <span style="color:#666666">#666666</span>
|
||||
Input as # + 6 digit color code.]]> </description>
|
||||
</var>
|
||||
<var id="point_color">
|
||||
<name xml:lang="ko">포인트 점 색</name>
|
||||
<name xml:lang="es">Color del Punto</name>
|
||||
<name xml:lang="ko">포인트 점 색</name>
|
||||
<name xml:lang="es">Color del Punto</name>
|
||||
<name xml:lang="en">Color of Points</name>
|
||||
<type>text</type>
|
||||
<description xml:lang="ko"><![CDATA[그래프의 꺽인 포인트 부분의 점 색을 지정할 수 있습니다.
|
||||
기본 : <span style="color:#ed3027">#ed3027</span>
|
||||
#과 6자리의 색상코드 입력해주세요]]></description>
|
||||
<description xml:lang="es"><![CDATA[Con el código del color asignado mostrará el color del punto en donde la línea del gráfico esté doblado.
|
||||
#과 6자리의 색상코드 입력해주세요]]></description>
|
||||
<description xml:lang="es"><![CDATA[Con el código del color asignado mostrará el color del punto en donde la línea del gráfico esté doblado.
|
||||
Predefinido : <span style="color:#ed3027">#ed3027</span>
|
||||
Ingrese # + 6 espacios del código del color]]></description>
|
||||
<description xml:lang="en"> <![CDATA[Set the color of the points as the assigned color code.
|
||||
Default : <span style="color:#ed3027">#ed3027</span>
|
||||
Input as # + 6 digit color code.]]> </description>
|
||||
</var>
|
||||
</extra_vars>
|
||||
</widget>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue