From 202e2367d4181e9e204281d1cdf0dd50a79c4853 Mon Sep 17 00:00:00 2001 From: bnu Date: Mon, 20 Jul 2015 13:41:44 +0900 Subject: [PATCH 1/8] =?UTF-8?q?travis-ci=20=EB=B3=80=EA=B2=BD=EC=97=90=20?= =?UTF-8?q?=EB=94=B0=EB=A5=B8=20=EC=98=B5=EC=85=98=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 03e76fdb9..72a55f5ad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,7 @@ matrix: allow_failures: - php: 7 - php: hhvm +sudo: false before_script: - travis_retry composer self-update - npm install -g grunt-cli From 9741e2dd2463f77932ceb36b17a4b349ffe2aaaa Mon Sep 17 00:00:00 2001 From: MinSoo Kim Date: Tue, 21 Jul 2015 14:05:29 +0900 Subject: [PATCH 2/8] =?UTF-8?q?=EC=A0=9C=EB=AA=A9=20=EC=97=86=EC=9D=B4?= =?UTF-8?q?=EB=8F=84=20RSS=EB=A5=BC=20=EB=B9=84=ED=99=9C=EC=84=B1=ED=99=94?= =?UTF-8?q?=20=ED=95=A0=20=EC=88=98=20=EC=9E=88=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=ED=95=98=EB=8A=94=20=EC=88=98=EC=A0=95=20=EB=93=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * RSS 모듈의 관리자 페이지 개선 ( 리라이트 모드가 아닐 때 RSS 피드 주소를 잘못 표시하던 문제 개선 ) * 제목이 없이도 RSS 미사용 할 수 있게 개선 ( RSS 통합 피드 비활성화 #1573 ) --- modules/rss/rss.admin.view.php | 1 + modules/rss/rss.view.php | 2 +- modules/rss/ruleset/insertRssConfig.xml | 10 +++++----- modules/rss/tpl/rss_admin_index.html | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/modules/rss/rss.admin.view.php b/modules/rss/rss.admin.view.php index 5dffb4888..6993774b8 100644 --- a/modules/rss/rss.admin.view.php +++ b/modules/rss/rss.admin.view.php @@ -55,6 +55,7 @@ class rssAdminView extends rss } } if(!$total_config->feed_document_count) $total_config->feed_document_count = 15; + $total_config->url = $oRssModel->getModuleFeedUrl(NULL, '', 'rss'); Context::set('feed_config', $feed_config); Context::set('total_config', $total_config); diff --git a/modules/rss/rss.view.php b/modules/rss/rss.view.php index 33577cf3a..86b99b5f5 100644 --- a/modules/rss/rss.view.php +++ b/modules/rss/rss.view.php @@ -172,7 +172,7 @@ class rssView extends rss $info->id = $proctcl.$_SERVER['HTTP_HOST'].$info->id; } - $info->language = Context::getLangType(); + $info->language = str_replace('jp','ja',Context::getLangType()); // Set the variables used in the RSS output Context::set('info', $info); Context::set('feed_config', $config); diff --git a/modules/rss/ruleset/insertRssConfig.xml b/modules/rss/ruleset/insertRssConfig.xml index 86304d836..9a8680fcf 100644 --- a/modules/rss/ruleset/insertRssConfig.xml +++ b/modules/rss/ruleset/insertRssConfig.xml @@ -1,13 +1,13 @@ - + - + - - + + - + 피드(Feed) 제목 Feed Title diff --git a/modules/rss/tpl/rss_admin_index.html b/modules/rss/tpl/rss_admin_index.html index aa0ae58d9..9055e894e 100644 --- a/modules/rss/tpl/rss_admin_index.html +++ b/modules/rss/tpl/rss_admin_index.html @@ -12,7 +12,7 @@
From cc216498e8854b8627bc71e9b8f929a2c2337398 Mon Sep 17 00:00:00 2001 From: Beom Jinhyeok Date: Wed, 22 Jul 2015 02:56:47 +0900 Subject: [PATCH 3/8] =?UTF-8?q?=EC=84=A4=EC=B9=98=20=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?=EB=B2=88=EC=97=AD=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/install/lang/lang.xml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/modules/install/lang/lang.xml b/modules/install/lang/lang.xml index 26cb55e44..830611f17 100644 --- a/modules/install/lang/lang.xml +++ b/modules/install/lang/lang.xml @@ -5,7 +5,7 @@ - + @@ -34,36 +34,51 @@ + + + + + + + + + + + + + + + From 94d43c2b7694d6fc5d004f900ba4f2c4e4dfdf84 Mon Sep 17 00:00:00 2001 From: bnu Date: Fri, 7 Aug 2015 14:15:18 +0900 Subject: [PATCH 4/8] codecept --- tests/Install/InstallTester.php | 20 ++++++++++---------- tests/unit/UnitTester.php | 10 +++++----- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/tests/Install/InstallTester.php b/tests/Install/InstallTester.php index 1e1aef6fa..c40651039 100644 --- a/tests/Install/InstallTester.php +++ b/tests/Install/InstallTester.php @@ -1,4 +1,4 @@ -scenario->runStep(new \Codeception\Step\Action('grabCookie', func_get_args())); } @@ -1662,7 +1662,7 @@ class InstallTester extends \Codeception\Actor * Conditional Assertion: Test won't be stopped on fail * @see \Codeception\Lib\InnerBrowser::seeCookie() */ - public function canSeeCookie($name, $params = null) { + public function canSeeCookie($cookie, $params = null) { return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeCookie', func_get_args())); } /** @@ -1682,7 +1682,7 @@ class InstallTester extends \Codeception\Actor * @return mixed * @see \Codeception\Lib\InnerBrowser::seeCookie() */ - public function seeCookie($name, $params = null) { + public function seeCookie($cookie, $params = null) { return $this->scenario->runStep(new \Codeception\Step\Assertion('seeCookie', func_get_args())); } @@ -1700,7 +1700,7 @@ class InstallTester extends \Codeception\Actor * Conditional Assertion: Test won't be stopped on fail * @see \Codeception\Lib\InnerBrowser::dontSeeCookie() */ - public function cantSeeCookie($name, $params = null) { + public function cantSeeCookie($cookie, $params = null) { return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCookie', func_get_args())); } /** @@ -1715,7 +1715,7 @@ class InstallTester extends \Codeception\Actor * @return mixed * @see \Codeception\Lib\InnerBrowser::dontSeeCookie() */ - public function dontSeeCookie($name, $params = null) { + public function dontSeeCookie($cookie, $params = null) { return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeCookie', func_get_args())); } @@ -1900,7 +1900,7 @@ class InstallTester extends \Codeception\Actor * Conditional Assertion: Test won't be stopped on fail * @see \Codeception\Lib\InnerBrowser::seeOptionIsSelected() */ - public function canSeeOptionIsSelected($select, $optionText) { + public function canSeeOptionIsSelected($selector, $optionText) { return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeOptionIsSelected', func_get_args())); } /** @@ -1920,7 +1920,7 @@ class InstallTester extends \Codeception\Actor * @return mixed * @see \Codeception\Lib\InnerBrowser::seeOptionIsSelected() */ - public function seeOptionIsSelected($select, $optionText) { + public function seeOptionIsSelected($selector, $optionText) { return $this->scenario->runStep(new \Codeception\Step\Assertion('seeOptionIsSelected', func_get_args())); } @@ -1943,7 +1943,7 @@ class InstallTester extends \Codeception\Actor * Conditional Assertion: Test won't be stopped on fail * @see \Codeception\Lib\InnerBrowser::dontSeeOptionIsSelected() */ - public function cantSeeOptionIsSelected($select, $optionText) { + public function cantSeeOptionIsSelected($selector, $optionText) { return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeOptionIsSelected', func_get_args())); } /** @@ -1963,7 +1963,7 @@ class InstallTester extends \Codeception\Actor * @return mixed * @see \Codeception\Lib\InnerBrowser::dontSeeOptionIsSelected() */ - public function dontSeeOptionIsSelected($select, $optionText) { + public function dontSeeOptionIsSelected($selector, $optionText) { return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeOptionIsSelected', func_get_args())); } diff --git a/tests/unit/UnitTester.php b/tests/unit/UnitTester.php index 3618c9542..65d410d75 100644 --- a/tests/unit/UnitTester.php +++ b/tests/unit/UnitTester.php @@ -1,4 +1,4 @@ - Date: Mon, 17 Aug 2015 18:08:16 +0900 Subject: [PATCH 5/8] =?UTF-8?q?act=EB=A7=8C=20=EC=A7=80=EC=A0=95=EB=90=98?= =?UTF-8?q?=EC=97=88=EC=9D=84=20=EB=95=8C=EC=97=90=EB=8F=84=20=EC=A7=A7?= =?UTF-8?q?=EC=9D=80=20=EC=A3=BC=EC=86=8C=EB=A1=9C=20=EB=B0=98=ED=99=98?= =?UTF-8?q?=ED=95=98=EB=8F=84=EB=A1=9D=20=EA=B0=9C=EC=84=A0=20-=20`rss`=20?= =?UTF-8?q?=EB=B0=8F=20`atom`=20act=EC=97=90=20=EB=8C=80=EC=9D=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/context/Context.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 09f7d09a1..cd4265b1f 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -1658,6 +1658,7 @@ class Context 'document_srl.mid' => "$mid/$srl", 'document_srl.vid' => "$vid/$srl", 'document_srl.mid.vid' => "$vid/$mid/$srl", + 'act' => ($is_feed && $act !== 'api') ? $act : '', 'act.mid' => $is_feed ? "$mid/$act" : '', 'act.mid.vid' => $is_feed ? "$vid/$mid/$act" : '', 'act.document_srl.key' => ($act == 'trackback') ? "$srl/$key/$act" : '', From 47220f3b930dbeb4b70c43d211b22f176a7ed350 Mon Sep 17 00:00:00 2001 From: bnu Date: Mon, 17 Aug 2015 18:09:43 +0900 Subject: [PATCH 6/8] =?UTF-8?q?#1660=20=EC=B6=94=EA=B0=80=20=EA=B0=9C?= =?UTF-8?q?=EC=84=A0=20-=20Feed=20URL=EC=9D=84=20=ED=91=9C=EC=8B=9C?= =?UTF-8?q?=ED=95=A0=20=EB=95=8C=20=EC=A0=88=EB=8C=80=20=EA=B2=BD=EB=A1=9C?= =?UTF-8?q?=EB=A1=9C=20=ED=91=9C=ED=98=84=20-=20rssModel::getModuleFeedUrl?= =?UTF-8?q?()=20URL=20=EB=B0=98=ED=99=98=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/rss/rss.admin.view.php | 2 +- modules/rss/rss.model.php | 20 ++++++-------------- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/modules/rss/rss.admin.view.php b/modules/rss/rss.admin.view.php index 6993774b8..9addb6b83 100644 --- a/modules/rss/rss.admin.view.php +++ b/modules/rss/rss.admin.view.php @@ -55,7 +55,7 @@ class rssAdminView extends rss } } if(!$total_config->feed_document_count) $total_config->feed_document_count = 15; - $total_config->url = $oRssModel->getModuleFeedUrl(NULL, '', 'rss'); + $total_config->url = $oRssModel->getModuleFeedUrl(NULL, '', 'rss', true); Context::set('feed_config', $feed_config); Context::set('total_config', $total_config); diff --git a/modules/rss/rss.model.php b/modules/rss/rss.model.php index d74f03bdc..472e0250e 100644 --- a/modules/rss/rss.model.php +++ b/modules/rss/rss.model.php @@ -12,27 +12,19 @@ class rssModel extends rss * * @param string $vid Vid * @param string $mid mid - * @param string $format Feed format. ef)xe, atom, rss1.0 + * @param string $format Feed format. rss | atom + * @param bool $absolute_url * @return string */ - function getModuleFeedUrl($vid = null, $mid, $format) + function getModuleFeedUrl($vid, $mid, $format = 'rss', $absolute_url = false) { - if(Context::isAllowRewrite()) + if($absolute_url) { - $request_uri = Context::getRequestUri(); - // If the virtual site variable exists and it is different from mid (vid and mid should not be the same) - if($vid && $vid != $mid) - { - return $request_uri.$vid.'/'.$mid.'/'.$format; - } - else - { - return $request_uri.$mid.'/'.$format; - } + return getFullUrl('','vid',$vid, 'mid',$mid, 'act',$format); } else { - return getUrl('','mid',$mid,'act',$format); + return getUrl('','vid',$vid, 'mid',$mid, 'act',$format); } } From 633da1b13c2b69d34984edf389fa5892f8a091e2 Mon Sep 17 00:00:00 2001 From: bnu Date: Tue, 18 Aug 2015 14:07:33 +0900 Subject: [PATCH 7/8] =?UTF-8?q?#1713=20=EC=B2=A8=EB=B6=80=ED=95=9C=20?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=EB=AA=85=EC=9D=84=20=EC=9D=B4=EC=9A=A9?= =?UTF-8?q?=ED=95=B4=20=EC=9E=84=EC=9D=98=20=EC=BD=94=EB=93=9C=EB=A5=BC=20?= =?UTF-8?q?=EC=8B=A4=ED=96=89=ED=95=A0=20=EC=88=98=20=EC=9E=88=EB=8A=94=20?= =?UTF-8?q?=EB=AC=B8=EC=A0=9C=20=EA=B3=A0=EC=B9=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/file/file.controller.php | 11 ++++++----- modules/file/file.model.php | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/modules/file/file.controller.php b/modules/file/file.controller.php index 8ded3a292..aa5c61e95 100644 --- a/modules/file/file.controller.php +++ b/modules/file/file.controller.php @@ -662,16 +662,17 @@ class fileController extends file } } + // https://github.com/xpressengine/xe-core/issues/1713 + $file_info['name'] = preg_replace('/\.(php|phtm|phar|html?|cgi|pl|exe|jsp|asp|inc)/i', '$0-x',$file_info['name']); + $file_info['name'] = removeHackTag($file_info['name']); + $file_info['name'] = str_replace(array('<','>'),array('%3C','%3E'),$file_info['name']); + // Get random number generator $random = new Password(); - + // Set upload path by checking if the attachement is an image or other kinds of file if(preg_match("/\.(jpe?g|gif|png|wm[va]|mpe?g|avi|swf|flv|mp[1-4]|as[fx]|wav|midi?|moo?v|qt|r[am]{1,2}|m4v)$/i", $file_info['name'])) { - // Immediately remove the direct file if it has any kind of extensions for hacking - $file_info['name'] = preg_replace('/\.(php|phtm|phar|html?|cgi|pl|exe|jsp|asp|inc)/i', '$0-x',$file_info['name']); - $file_info['name'] = str_replace(array('<','>'),array('%3C','%3E'),$file_info['name']); - $path = sprintf("./files/attach/images/%s/%s", $module_srl,getNumberingPath($upload_target_srl,3)); // special character to '_' diff --git a/modules/file/file.model.php b/modules/file/file.model.php index dcfddc907..83507bbc9 100644 --- a/modules/file/file.model.php +++ b/modules/file/file.model.php @@ -220,6 +220,7 @@ class fileModel extends file { $file = $file_list[$i]; $file->source_filename = stripslashes($file->source_filename); + $file->source_filename = htmlspecialchars($file->source_filename); $file->download_url = $this->getDownloadUrl($file->file_srl, $file->sid, $file->module_srl); $file_list[$i] = $file; } From 5c6501c32a470b5e4d64c1c7c5908eb0f9baa1b1 Mon Sep 17 00:00:00 2001 From: bnu Date: Tue, 18 Aug 2015 14:09:10 +0900 Subject: [PATCH 8/8] version 1.8.8 --- 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 95c9a96e7..3eb89230b 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -29,7 +29,7 @@ define('__ZBXE__', __XE__); /** * Display XE's full version. */ -define('__XE_VERSION__', '1.8.7'); +define('__XE_VERSION__', '1.8.8'); define('__XE_VERSION_ALPHA__', (stripos(__XE_VERSION__, 'alpha') !== false)); define('__XE_VERSION_BETA__', (stripos(__XE_VERSION__, 'beta') !== false)); define('__XE_VERSION_RC__', (stripos(__XE_VERSION__, 'rc') !== false));