From e8bd3e145bcc1e71c3dfaa098f9c5bf5467d7ea3 Mon Sep 17 00:00:00 2001 From: clench Date: Fri, 29 Jan 2010 04:20:10 +0000 Subject: [PATCH 01/19] #18655582 git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7261 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/db/DBFirebird.class.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/classes/db/DBFirebird.class.php b/classes/db/DBFirebird.class.php index 7f8a475b7..0876b6c6b 100644 --- a/classes/db/DBFirebird.class.php +++ b/classes/db/DBFirebird.class.php @@ -434,9 +434,13 @@ * $is_unique? unique : none **/ function addIndex($table_name, $index_name, $target_columns, $is_unique = false) { + // index name 크기가 31byte로 제한으로 index name을 넣지 않음 + // Firebird에서는 index name을 넣지 않으면 "RDB$10"처럼 자동으로 이름을 부여함 + // table을 삭제 할 경우 인덱스도 자동으로 삭제 됨 + if(!is_array($target_columns)) $target_columns = array($target_columns); - $query = sprintf('CREATE %s INDEX "%s" ON "%s%s" ("%s");', $is_unique?'UNIQUE':'', $index_name, $this->prefix, $table_name, implode('", "',$target_columns)); + $query = sprintf('CREATE %s INDEX "" ON "%s%s" ("%s");', $is_unique?'UNIQUE':'', $this->prefix, $table_name, implode('", "',$target_columns)); $this->_query($query); if(!$this->transaction_started) @ibase_commit($this->fd); @@ -575,15 +579,12 @@ if(count($index_list)) { foreach($index_list as $key => $val) { - // index_name = prefix + 'idx_' + no - // index name 크기가 31byte로 제한되어 있어 일련번호로 대체 - $this->idx_no++; - $index_name = $this->prefix; - $index_name .= "idx_"; - $index_name .= sprintf("%04d", $this->idx_no); + // index name 크기가 31byte로 제한으로 index name을 넣지 않음 + // Firebird에서는 index name을 넣지 않으면 "RDB$10"처럼 자동으로 이름을 부여함 + // table을 삭제 할 경우 인덱스도 자동으로 삭제 됨 - $schema = sprintf("CREATE INDEX \"%s\" ON \"%s\" (\"%s\");", - $index_name, $table_name, implode($val, "\",\"")); + $schema = sprintf("CREATE INDEX \"\" ON \"%s\" (\"%s\");", + $table_name, implode($val, "\",\"")); $output = $this->_query($schema); if(!$this->transaction_started) @ibase_commit($this->fd); if(!$output) return false; From c0b356ae4a61ee0a1a6a0adc652bb321eec5da53 Mon Sep 17 00:00:00 2001 From: clench Date: Fri, 29 Jan 2010 07:27:25 +0000 Subject: [PATCH 02/19] #18656129 git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7262 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/db/DBFirebird.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/db/DBFirebird.class.php b/classes/db/DBFirebird.class.php index 0876b6c6b..7b872e522 100644 --- a/classes/db/DBFirebird.class.php +++ b/classes/db/DBFirebird.class.php @@ -729,7 +729,7 @@ } else if($output->column_type[$name]=='number') { // 연산식이 들어갔을 경우 컬럼명이 있는 지 체크해 더블쿼터를 넣어줌 - preg_match("/(?i)[a-z][a-z0-9_-]+/", $value, $matches); + preg_match("/(?i)[a-z][a-z0-9_]+/", $value, $matches); foreach($matches as $key => $val) { $value = str_replace($val, "\"".$val."\"", $value); From 3b56ef59d0ca401268380ab24bc4aaf5b1346240 Mon Sep 17 00:00:00 2001 From: clench Date: Fri, 29 Jan 2010 07:33:05 +0000 Subject: [PATCH 03/19] #18656129 git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7263 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/db/DBFirebird.class.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/classes/db/DBFirebird.class.php b/classes/db/DBFirebird.class.php index 7b872e522..b3bbcf947 100644 --- a/classes/db/DBFirebird.class.php +++ b/classes/db/DBFirebird.class.php @@ -727,7 +727,9 @@ ibase_blob_add($blh, $value); $value = ibase_blob_close($blh); } - else if($output->column_type[$name]=='number') { + else if($output->column_type[$name]=='number' || + $output->column_type[$name]=='bignumber' || + $output->column_type[$name]=='float') { // 연산식이 들어갔을 경우 컬럼명이 있는 지 체크해 더블쿼터를 넣어줌 preg_match("/(?i)[a-z][a-z0-9_]+/", $value, $matches); From 81f7bf8f30ca2ffbd8d0f2e3ac7a3df634d5c913 Mon Sep 17 00:00:00 2001 From: clench Date: Mon, 1 Feb 2010 04:55:54 +0000 Subject: [PATCH 04/19] #18662817 git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7264 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/db/DBFirebird.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/classes/db/DBFirebird.class.php b/classes/db/DBFirebird.class.php index b3bbcf947..e483a624c 100644 --- a/classes/db/DBFirebird.class.php +++ b/classes/db/DBFirebird.class.php @@ -387,7 +387,7 @@ $query = sprintf("ALTER TABLE \"%s%s\" ADD \"%s\" ", $this->prefix, $table_name, $column_name); if($size) $query .= sprintf(" %s(%s) ", $type, $size); else $query .= sprintf(" %s ", $type); - if($default) $query .= sprintf(" DEFAULT '%s' ", $default); + if(!is_null($default)) $query .= sprintf(" DEFAULT '%s' ", $default); if($notnull) $query .= " NOT NULL "; $this->_query($query); @@ -551,7 +551,7 @@ $name, $this->column_type[$type], $size?'('.$size.')':'', - $default?"DEFAULT '".$default."'":"", + is_null($default)?"":"DEFAULT '".$default."'", $notnull?'NOT NULL':''); if($auto_increment) $auto_increment_list[] = $name; From 7ca7d1a73229485f36fed529de8656d9ee298682 Mon Sep 17 00:00:00 2001 From: royallin Date: Mon, 1 Feb 2010 05:56:34 +0000 Subject: [PATCH 05/19] Update TW (Traditional Chinese) language git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7265 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/autoinstall/lang/zh-TW.lang.php | 12 ++++++------ modules/importer/conf/info.xml | 2 +- modules/importer/lang/zh-TW.lang.php | 22 +++++++++++----------- modules/install/lang/zh-TW.lang.php | 2 +- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/modules/autoinstall/lang/zh-TW.lang.php b/modules/autoinstall/lang/zh-TW.lang.php index fc07ce535..d2f902967 100644 --- a/modules/autoinstall/lang/zh-TW.lang.php +++ b/modules/autoinstall/lang/zh-TW.lang.php @@ -2,11 +2,11 @@ /** * @file zh-TW.lang.php * @author sol (sol@ngleader.com) 翻譯:royallin - * @brief 自動安裝(autoinstall)模組正體中文語言 + * @brief 自動安裝(autoinstall)模組正體中文語言 **/ $lang->autoinstall = '自動安裝'; - $lang->about_autoinstall = '可幫助您安裝/更新XE程式及面板。'; + $lang->about_autoinstall = '可幫助您安裝及更新 XE 程式和面板。'; $lang->package_update = '最近更新'; $lang->package_downloaded_count = '下載次數'; $lang->need_update = "需要更新。"; @@ -16,7 +16,7 @@ $lang->order_download = "下載"; $lang->success_installed = "安裝成功"; $lang->view_all_package = "全部檢視"; - $lang->description_ftp_note = "請先將FTP設定好,否則無法執行自動安裝功能。"; + $lang->description_ftp_note = "請先將 FTP 設定好,否則無法執行自動安裝功能。"; $lang->description_update = "如果您最近不是用自動安裝模組更新或安裝,請點擊更新按鈕更新。"; $lang->install = "安裝"; $lang->update = "更新"; @@ -24,10 +24,10 @@ $lang->depending_programs = "此程式需要安裝"; $lang->require_update = "需要更新"; $lang->require_installation = "需要安裝"; - $lang->description_install = "One Click Installer will also install/update all other programs which this program is depending on"; - $lang->description_download = "如果FTP無法使用的話,必須要手動下載並解壓縮到目標路徑。(假設目標路徑為 ./modules/board的話,將檔案解壓縮到 ./modules就可以了)"; + $lang->description_install = "自動安裝也能夠同時安裝與更新其他相關程式"; + $lang->description_download = "如果 FTP 無法使用的話,必須要手動下載並解壓縮到目標路徑。(假設目標路徑為 ./modules/board的話,將檔案解壓縮到 ./modules就可以了)"; $lang->path = "路徑"; $lang->cmd_download = "下載"; $lang->view_installed_packages = "已安裝套裝軟體"; - $lang->msg_ftp_password_input = "Please input FTP password."; + $lang->msg_ftp_password_input = "請輸入 FTP 密碼"; ?> diff --git a/modules/importer/conf/info.xml b/modules/importer/conf/info.xml index 97b56abbb..2264fbeea 100644 --- a/modules/importer/conf/info.xml +++ b/modules/importer/conf/info.xml @@ -15,7 +15,7 @@ XMLファイルを用いて会員情報または掲示板などの情報を入力します。 Ingresa la información del usuario o los datos del tablero utilizando el archivo XML. Запись информации пользователей или форума, используя XML-файл. - 利用XML檔案匯入會員或討論板資料。 + 利用 XML 檔案匯入會員或討論板資料。 0.2 2007-12-13 migration diff --git a/modules/importer/lang/zh-TW.lang.php b/modules/importer/lang/zh-TW.lang.php index 82a9372b2..787f6ccb8 100644 --- a/modules/importer/lang/zh-TW.lang.php +++ b/modules/importer/lang/zh-TW.lang.php @@ -14,7 +14,7 @@ $lang->importer = '匯入'; $lang->source_type = '匯入目標'; $lang->type_member = '會員資料'; - $lang->type_message = '短訊息(MemoBox)'; + $lang->type_message = '短訊息'; $lang->type_ttxml = 'TTXML'; $lang->type_module = '討論板資料'; $lang->type_syncmember = '同步會員資料'; @@ -31,31 +31,31 @@ ); $lang->import_step_desc = array( - 1 => '請選擇要匯入的XML檔案類型。', + 1 => '請選擇要匯入的 XML 檔案類型。', 12 => '請選擇要匯入的目標模組。', 121 => '文章:', 122 => '討論板:', 13 => '請選擇要匯入的目標分類。', - 2 => "請輸入要匯入的XML檔案位置。\n可輸入相對或絕對路徑。", + 2 => "請輸入要匯入的 XML 檔案位置。\n可輸入相對或絕對路徑。", 3 => '資料匯入後,可能會導致會員資料和文章內容產生誤差。請以『user_id』進行同步即可解決。', 99 => '資料匯入中...', ); // 訊息/提示 $lang->msg_sync_member = '按同步按鈕,即可開始進行會員資料和文章的同步。'; - $lang->msg_no_xml_file = '找不到XML檔案,請重新確認路徑。'; + $lang->msg_no_xml_file = '找不到 XML 檔案,請重新確認路徑。'; $lang->msg_invalid_xml_file = 'XML檔案格式錯誤!'; - $lang->msg_importing = '%d個的資料中正在輸入 %d個。(長時間沒有回應時,請按「繼續進行」按鈕)'; - $lang->msg_import_finished = '已完成輸入%d/%d個資料。根據情況的不同,可能會出現沒有被匯入的資料。'; + $lang->msg_importing = '%d個的資料中正在輸入 %d 個。(長時間沒有回應時,請按「繼續進行」按鈕)'; + $lang->msg_import_finished = '已完成輸入 %d/%d 個資料。根據情況的不同,可能會出現沒有被匯入的資料。'; $lang->msg_sync_completed = '已完成會員和文章,評論的同步。'; // 其他 $lang->about_type_member = '資料匯入目標為會員資料時,請選擇此項。'; - $lang->about_type_message = '資料匯入目標為短訊息(MemoBox)時,請選擇此項。'; - $lang->about_type_ttxml = '資料匯入目標為TTXML(textcube系列)時,請選擇此項。'; - $lang->about_ttxml_user_id = '請輸入匯入TTXML資料時,指定為主題發表者的ID(必須是已註冊會員)。'; + $lang->about_type_message = '資料匯入目標為短訊息時,請選擇此項。'; + $lang->about_type_ttxml = '資料匯入目標為 TTXML (textcube系列)時,請選擇此項。'; + $lang->about_ttxml_user_id = '請輸入匯入 TTXML 資料時,指定為主題發表者的 ID (必須是已註冊會員)。'; $lang->about_type_module = '資料匯入目標為討論板主題時,請選擇此項。'; $lang->about_type_syncmember = '匯入會員和文章資料後,需要同步會員資料時,請選擇此項。'; - $lang->about_importer = "不僅可以匯入Zeroboard 4,Zb5beta的資料,也能夠把其他程式資料匯入到XE當中。\n匯入資料時,請利用XML Exporter建立XML檔案後再上傳。"; - $lang->about_target_path = "為了下載附檔請輸入Zeroboard 4的安裝位置。\n位置在同一個主機時,請輸入如『/home/id/public_html/bbs』的路徑,在不同主機時,請輸入如『http://域名/bbs』的URL網址。"; + $lang->about_importer = "不僅可以匯入 Zeroboard 4,Zb5beta 的資料,也能夠把其他程式資料匯入到 XE 當中。\n匯入資料時,請利用 XML Exporter 建立 XML 檔案後再上傳。"; + $lang->about_target_path = "為了下載附檔請輸入 Zeroboard 4 的安裝位置。\n位置在同一個主機時,請輸入如『/home/id/public_html/bbs』的路徑,在不同主機時,請輸入如『http://域名/bbs』的 URL 網址。"; ?> diff --git a/modules/install/lang/zh-TW.lang.php b/modules/install/lang/zh-TW.lang.php index deaa10bde..33e882346 100644 --- a/modules/install/lang/zh-TW.lang.php +++ b/modules/install/lang/zh-TW.lang.php @@ -469,7 +469,7 @@ DAMAGES. EndOfLicense; - $lang->install_condition_title = "確認安裝時必須要具備的條件"; + $lang->install_condition_title = '確認安裝時必須要具備的條件'; $lang->install_checklist_title = array( 'php_version' => 'PHP版本', From 737858ef5577a4f95fb965ec3a7be84e5a7c4dd2 Mon Sep 17 00:00:00 2001 From: taggon Date: Tue, 2 Feb 2010 04:12:04 +0000 Subject: [PATCH 06/19] =?UTF-8?q?#18665855=20-=20ie=EC=97=90=20=EA=B8=80?= =?UTF-8?q?=20=EC=9E=91=EC=84=B1=EC=8B=9C=20jQueryxxxxx=20=EC=99=80=20?= =?UTF-8?q?=EA=B0=99=EC=9D=80=20=EC=86=8D=EC=84=B1=EC=9D=B4=20=EB=B6=99?= =?UTF-8?q?=EB=8A=94=20=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7267 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/editor/skins/xpresseditor/js/Xpress_Editor.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/editor/skins/xpresseditor/js/Xpress_Editor.js b/modules/editor/skins/xpresseditor/js/Xpress_Editor.js index 2896b4dbd..21bb2f456 100644 --- a/modules/editor/skins/xpresseditor/js/Xpress_Editor.js +++ b/modules/editor/skins/xpresseditor/js/Xpress_Editor.js @@ -5442,7 +5442,7 @@ var regex_font_weight = /font-weight\s*:\s*([a-z]+);?/i, regex_font_style = /font-style\s*:\s*italic;?/i, regex_font_decoration = /text-decoration\s*:\s*([a-z -]+);?/i, - regex_$ = /$\d+\s*=(\s*"\d+"|\d+)/ig, + regex_jquery = /jQuery\d+\s*=(\s*"\d+"|\d+)/ig, regex_quote_attr = /([\w-]+\s*=(?:\s*"[^"]+"|\s*'[^']+'))|([\w-]+)=([^\s]+)/g; //" var @@ -5505,7 +5505,7 @@ xe.XE_XHTMLFormatter = $.Class({ if ($.browser.msie) { // remove $ attributes - sContent = sContent.replace(regex_$, ''); + sContent = sContent.replace(regex_jquery, ''); // quote all attrs sContent = sContent.replace(/<(\w+) ([^>]+)>/g, function(m0,m1,m2){ From 58258f76db900b372613f53f20b731bdcfff7947 Mon Sep 17 00:00:00 2001 From: ngleader Date: Wed, 3 Feb 2010 01:43:46 +0000 Subject: [PATCH 07/19] =?UTF-8?q?#18667132=20=EC=97=90=EB=94=94=ED=84=B0?= =?UTF-8?q?=20=EC=9E=90=EB=8F=99=EC=9E=90=EC=9E=A5=EC=8B=9C=20=EC=9E=90?= =?UTF-8?q?=EB=B0=94=EC=8A=A4=ED=81=AC=EB=A6=BD=ED=8A=B8=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=EB=A1=9C=20=EC=9D=B8=ED=95=9C=20=EB=AF=B8=EB=8F=99?= =?UTF-8?q?=EC=9E=91=20=EC=B5=9C=EC=86=8C=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7268 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/editor/tpl/js/editor_common.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/editor/tpl/js/editor_common.js b/modules/editor/tpl/js/editor_common.js index cf70c1ee8..bff3e6290 100644 --- a/modules/editor/tpl/js/editor_common.js +++ b/modules/editor/tpl/js/editor_common.js @@ -46,6 +46,9 @@ function _editorAutoSave(exe) { var fo_obj = editorAutoSaveObj.fo_obj; var editor_sequence = editorAutoSaveObj.editor_sequence; + // 50초마다 동기화를 시킴 강제 실행은 제외 + if(!exe) setTimeout('_editorAutoSave()', 50000); + // 현재 자동저장중이면 중지 if(editorAutoSaveObj.locked == true) return; @@ -54,7 +57,11 @@ function _editorAutoSave(exe) { // 자동저장을 위한 준비 var title = fo_obj.title.value; - var content = editorGetContent(editor_sequence); + var content = ''; + try{ + content = editorGetContent(editor_sequence); + }catch(e){ + } // 내용이 이전에 저장하였던 것과 다르면 자동 저장을 함 또는 강제 저장 설정시 자동 저장 if(title != editorAutoSaveObj.title || content != editorAutoSaveObj.content || exe) { @@ -82,9 +89,6 @@ function _editorAutoSave(exe) { exec_xml("editor","procEditorSaveDoc", params, function() { editorAutoSaveObj.locked = false; } ); show_waiting_message = true; } - - // 50초마다 동기화를 시킴 강제 실행은 제외 - if(!exe) setTimeout('_editorAutoSave()', 50000); } // 자동저장된 모든 메세지를 삭제하는 루틴 From 8c03ae8cca65f021b89f6eb3efbec0cfe0b2e5d0 Mon Sep 17 00:00:00 2001 From: clench Date: Wed, 3 Feb 2010 07:04:42 +0000 Subject: [PATCH 08/19] #18669452 git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7269 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/db/DBFirebird.class.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/classes/db/DBFirebird.class.php b/classes/db/DBFirebird.class.php index e483a624c..f69728979 100644 --- a/classes/db/DBFirebird.class.php +++ b/classes/db/DBFirebird.class.php @@ -324,10 +324,18 @@ foreach($tmp as $key => $val) { $type = $output->column_type[$key]; + // type 값이 null 일때는 $key값이 alias인 경우라 실제 column 이름을 찾아 type을 구함 if($type == null) { foreach($output->columns as $cols) { if($cols['alias'] == $key) { - $type = $output->column_type[$cols['name']]; + // table.column 형식인지 정규식으로 검사 함 + preg_match("/\w+[.](\w+)/", $cols['name'], $matches); + if($matches) { + $type = $output->column_type[$matches[1]]; + } + else { + $type = $output->column_type[$cols['name']]; + } } } } From 8f5a97a150001a1771ec42c7fc18fb7910826fb8 Mon Sep 17 00:00:00 2001 From: haneul Date: Wed, 3 Feb 2010 07:33:13 +0000 Subject: [PATCH 09/19] #18669567 : fixed an error occurred when login with openID git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7270 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/member/php-openid-1.2.3/Auth/OpenID/XEStore.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/member/php-openid-1.2.3/Auth/OpenID/XEStore.php b/modules/member/php-openid-1.2.3/Auth/OpenID/XEStore.php index 4d51642fc..7ca9e7615 100644 --- a/modules/member/php-openid-1.2.3/Auth/OpenID/XEStore.php +++ b/modules/member/php-openid-1.2.3/Auth/OpenID/XEStore.php @@ -149,7 +149,8 @@ class Auth_OpenID_XEStore extends Auth_OpenID_OpenIDStore { function getAssociation($server_url, $handle = null) { $assoc = $this->_get_assoc($server_url, $handle); - return $assoc; + $assoc_o = new Auth_OpenID_Association($assoc->handle, $assoc->secret, $assoc->issued, $assoc->lifetime, $assoc->assoc_type); + return $assoc_o; } From 516866c6a81d8e6493877c7f595b5a871e8835b6 Mon Sep 17 00:00:00 2001 From: haneul Date: Wed, 3 Feb 2010 07:51:17 +0000 Subject: [PATCH 10/19] #18656218 : fixed a bug that tag cannot be updated as empty git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7271 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/document/queries/updateDocument.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/document/queries/updateDocument.xml b/modules/document/queries/updateDocument.xml index 3c51dc935..b19d13aed 100644 --- a/modules/document/queries/updateDocument.xml +++ b/modules/document/queries/updateDocument.xml @@ -19,7 +19,7 @@ - + From a6efcbc4028f5e002ff230f4e2e83b7193b34d2b Mon Sep 17 00:00:00 2001 From: haneul Date: Wed, 3 Feb 2010 09:06:32 +0000 Subject: [PATCH 11/19] #18655596 : fixed a bug that homepage, blog information cannot be set empty git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7272 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/member/queries/updateMember.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/member/queries/updateMember.xml b/modules/member/queries/updateMember.xml index cdd12e5b6..231d60a91 100644 --- a/modules/member/queries/updateMember.xml +++ b/modules/member/queries/updateMember.xml @@ -9,8 +9,8 @@ - - + + From 1899ac471294d5ff84f5ff9bec7a9dda99fb70d0 Mon Sep 17 00:00:00 2001 From: clench Date: Thu, 4 Feb 2010 04:58:14 +0000 Subject: [PATCH 12/19] #18669452 git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7273 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/db/DBFirebird.class.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/classes/db/DBFirebird.class.php b/classes/db/DBFirebird.class.php index f69728979..e0cb72d75 100644 --- a/classes/db/DBFirebird.class.php +++ b/classes/db/DBFirebird.class.php @@ -991,10 +991,18 @@ foreach($tmp as $key => $val){ $type = $output->column_type[$key]; + // type 값이 null 일때는 $key값이 alias인 경우라 실제 column 이름을 찾아 type을 구함 if($type == null) { foreach($output->columns as $cols) { if($cols['alias'] == $key) { - $type = $output->column_type[$cols['name']]; + // table.column 형식인지 정규식으로 검사 함 + preg_match("/\w+[.](\w+)/", $cols['name'], $matches); + if($matches) { + $type = $output->column_type[$matches[1]]; + } + else { + $type = $output->column_type[$cols['name']]; + } } } } From a39de4464084ff8d9bae4d5789d521c4f27d42d6 Mon Sep 17 00:00:00 2001 From: haneul Date: Thu, 4 Feb 2010 12:36:13 +0000 Subject: [PATCH 13/19] #18674718 : remove redundant domain name for adding unique index git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7274 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/module/module.class.php | 42 +++++++++++++++---- .../module/queries/getNonuniqueDomains.xml | 12 ++++++ modules/module/queries/getSiteByDomain.xml | 14 +++++++ 3 files changed, 61 insertions(+), 7 deletions(-) create mode 100644 modules/module/queries/getNonuniqueDomains.xml create mode 100644 modules/module/queries/getSiteByDomain.xml diff --git a/modules/module/module.class.php b/modules/module/module.class.php index be6974939..dbfa17c25 100644 --- a/modules/module/module.class.php +++ b/modules/module/module.class.php @@ -290,17 +290,45 @@ if(!$output->toBool()) return $output; } - - if($oDB->isIndexExists('sites','idx_domain')){ - $oDB->dropIndex('sites','idx_domain'); - } - if(!$oDB->isIndexExists('sites','unique_domain')){ - $oDB->addIndex('sites','unique_domain',array('domain'),true); - } + if($oDB->isIndexExists('sites','idx_domain')){ + $oDB->dropIndex('sites','idx_domain'); + } + if(!$oDB->isIndexExists('sites','unique_domain')){ + $this->updateForUniqueSiteDomain(); + $oDB->addIndex('sites','unique_domain',array('domain'),true); + } return new Object(0, 'success_updated'); } + function updateForUniqueSiteDomain() + { + $output = executeQueryArray("module.getNonuniqueDomains"); + if(!$output->data) return; + foreach($output->data as $data) + { + if($data->count == 1) continue; + $domain = $data->domain; + $args = null; + $args->domain = $domain; + $output2 = executeQueryArray("module.getSiteByDomain", $args); + $bFirst = true; + foreach($output2->data as $site) + { + if($bFirst) + { + $bFirst = false; + continue; + } + $domain .= "_"; + $args = null; + $args->domain = $domain; + $args->site_srl = $site->site_srl; + $output3 = executeQuery("module.updateSite", $args); + } + } + } + /** * @brief 캐시 파일 재생성 **/ diff --git a/modules/module/queries/getNonuniqueDomains.xml b/modules/module/queries/getNonuniqueDomains.xml new file mode 100644 index 000000000..dd768d5fb --- /dev/null +++ b/modules/module/queries/getNonuniqueDomains.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/modules/module/queries/getSiteByDomain.xml b/modules/module/queries/getSiteByDomain.xml new file mode 100644 index 000000000..865b6d66c --- /dev/null +++ b/modules/module/queries/getSiteByDomain.xml @@ -0,0 +1,14 @@ + + +
+ + + + + + + + + + + From 15684c0f6c4e28e78a6fbf216e344d5b4eba93e9 Mon Sep 17 00:00:00 2001 From: haneul Date: Thu, 4 Feb 2010 12:42:55 +0000 Subject: [PATCH 14/19] #18673695 : allow _ in user_id git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7275 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- common/js/xml_js_filter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/js/xml_js_filter.js b/common/js/xml_js_filter.js index a90803135..808fb536d 100644 --- a/common/js/xml_js_filter.js +++ b/common/js/xml_js_filter.js @@ -23,7 +23,7 @@ var Validator = xe.createApp('Validator', { this.cast('ADD_RULE', ['email_address', regEmail]); // userid - var regUserid = /^[a-z]+[\w-]*[a-z0-9]+$/i; + var regUserid = /^[a-z]+[\w-]*[a-z0-9_]+$/i; this.cast('ADD_RULE', ['userid', regUserid]); this.cast('ADD_RULE', ['user_id', regUserid]); From 9725f376bef0c8db232fbf419abe2ff9b15381c5 Mon Sep 17 00:00:00 2001 From: haneul Date: Thu, 4 Feb 2010 13:30:17 +0000 Subject: [PATCH 15/19] #18669124 : fixed a bug that description and default value of extra variable keys git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7276 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/document/queries/updateDocumentExtraKey.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/document/queries/updateDocumentExtraKey.xml b/modules/document/queries/updateDocumentExtraKey.xml index 07966b4fd..3c25dba8e 100644 --- a/modules/document/queries/updateDocumentExtraKey.xml +++ b/modules/document/queries/updateDocumentExtraKey.xml @@ -7,8 +7,8 @@ - - + + From 68f3ea072546874fe63bee48208b8bae04b558be Mon Sep 17 00:00:00 2001 From: haneul Date: Thu, 4 Feb 2010 13:44:46 +0000 Subject: [PATCH 16/19] #18667915 : fixed a bug that menu image cannot be removed git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7277 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/menu/queries/updateMenuItem.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/menu/queries/updateMenuItem.xml b/modules/menu/queries/updateMenuItem.xml index 986300365..cc6502ac4 100644 --- a/modules/menu/queries/updateMenuItem.xml +++ b/modules/menu/queries/updateMenuItem.xml @@ -7,9 +7,9 @@ - - - + + + From 06da98e3ed3fb517c338d8d4f7d7d55a5afcaa56 Mon Sep 17 00:00:00 2001 From: clench Date: Fri, 5 Feb 2010 05:00:04 +0000 Subject: [PATCH 17/19] #18676030 git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7278 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/db/DBFirebird.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/classes/db/DBFirebird.class.php b/classes/db/DBFirebird.class.php index e0cb72d75..8b8d24f5c 100644 --- a/classes/db/DBFirebird.class.php +++ b/classes/db/DBFirebird.class.php @@ -317,7 +317,7 @@ /** * @brief 결과를 fetch **/ - function _fetch($result, $output) { + function _fetch($result, $output = null) { if(!$this->isConnected() || $this->isError() || !$result) return; while($tmp = ibase_fetch_object($result)) { @@ -340,7 +340,7 @@ } } - if($type == "text" || $type == "bigtext") { + if(($type == "text" || $type == "bigtext") && $tmp->{$key}) { $blob_data = ibase_blob_info($tmp->{$key}); $blob_hndl = ibase_blob_open($tmp->{$key}); $tmp->{$key} = ibase_blob_get($blob_hndl, $blob_data[0]); @@ -1007,7 +1007,7 @@ } } - if($type == "text" || $type == "bigtext") { + if(($type == "text" || $type == "bigtext") && $tmp->{$key}) { $blob_data = ibase_blob_info($tmp->{$key}); $blob_hndl = ibase_blob_open($tmp->{$key}); $tmp->{$key} = ibase_blob_get($blob_hndl, $blob_data[0]); From caad12e07c55157a8f266efc1797e4e8b692c09e Mon Sep 17 00:00:00 2001 From: haneul Date: Fri, 5 Feb 2010 08:47:03 +0000 Subject: [PATCH 18/19] #18677449 : make autoinstall use ftp functions provided by php if possible. git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7279 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- .../autoinstall.admin.controller.php | 8 +- modules/autoinstall/autoinstall.lib.php | 83 ++++++++++++++++++- 2 files changed, 88 insertions(+), 3 deletions(-) diff --git a/modules/autoinstall/autoinstall.admin.controller.php b/modules/autoinstall/autoinstall.admin.controller.php index 96079da55..33ca2e3c4 100644 --- a/modules/autoinstall/autoinstall.admin.controller.php +++ b/modules/autoinstall/autoinstall.admin.controller.php @@ -135,13 +135,17 @@ if($ftp_info->sftp && $ftp_info->sftp == 'Y') { $oModuleInstaller = new SFTPModuleInstaller($package); - $oModuleInstaller->setPassword($ftp_password); + } + else if(function_exists(ftp_connect)) + { + $oModuleInstaller = new PHPFTPModuleInstaller($package); } else { $oModuleInstaller = new FTPModuleInstaller($package); - $oModuleInstaller->setPassword($ftp_password); } + + $oModuleInstaller->setPassword($ftp_password); $output = $oModuleInstaller->install(); if(!$output->toBool()) return $output; } diff --git a/modules/autoinstall/autoinstall.lib.php b/modules/autoinstall/autoinstall.lib.php index 06da5889c..1eddbe050 100644 --- a/modules/autoinstall/autoinstall.lib.php +++ b/modules/autoinstall/autoinstall.lib.php @@ -150,6 +150,87 @@ } } + + class PHPFTPModuleInstaller extends ModuleInstaller { + function PHPFTPModuleInstaller(&$package) + { + $this->package =& $package; + } + + function _copyDir(&$file_list) { + if(!$this->ftp_password) return new Object(-1,'msg_ftp_password_input'); + + $ftp_info = Context::getFTPInfo(); + if($ftp_info->ftp_host) + { + $ftp_host = $ftp_info->ftp_host; + } + else + { + $ftp_host = "127.0.0.1"; + } + + $connection = ftp_connect($ftp_host, $ftp_info->ftp_port); + if(!$connection) return new Object(-1, 'msg_ftp_not_connected'); + + $login_result = ftp_login($connection, $ftp_info->ftp_user, $this->ftp_password); + if(!$login_result) + { + return new Object(-1,'msg_ftp_invalid_auth_info'); + } + $_SESSION['ftp_password'] = $this->ftp_password; + + $target_dir = $ftp_info->ftp_root_path.$this->target_path; + + foreach($file_list as $k => $file){ + $org_file = $file; + if($this->package->path == ".") + { + $file = substr($file,3); + } + $path = FileHandler::getRealPath("./".$this->target_path."/".$file); + $path_list = explode('/', dirname($this->target_path."/".$file)); + + $real_path = "./"; + $ftp_path = $ftp_info->ftp_root_path; + + for($i=0;$idownload_path."/".$org_file), FTP_BINARY)) + { + return new Object(-1, "msg_ftp_upload_failed"); + } + } + + ftp_close($connection); + return new Object(); + } + } + class FTPModuleInstaller extends ModuleInstaller { function FTPModuleInstaller(&$package) { @@ -203,7 +284,7 @@ if(!file_exists(FileHandler::getRealPath($real_path))) { $oFtp->ftp_mkdir($ftp_path); - $oFtp->ftp_site("CHMOD 755 ".$path); + $oFtp->ftp_site("CHMOD 755 ".$ftp_path); } } $oFtp->ftp_put($target_dir .'/'. $file, FileHandler::getRealPath($this->download_path."/".$org_file)); From 7ce8708c9f21f9d12a4291e7c14b648837ceb113 Mon Sep 17 00:00:00 2001 From: haneul Date: Fri, 5 Feb 2010 09:41:06 +0000 Subject: [PATCH 19/19] version up to 1.4.0.4 git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7280 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- config/config.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/config.inc.php b/config/config.inc.php index afef6e6f1..1db365229 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -13,7 +13,7 @@ * @brief XE의 전체 버전 표기 * 이 파일의 수정이 없더라도 공식 릴리즈시에 수정되어 함께 배포되어야 함 **/ - define('__ZBXE_VERSION__', '1.4.0.3'); + define('__ZBXE_VERSION__', '1.4.0.4'); /** * @brief zbXE가 설치된 장소의 base path를 구함