From 6473115ed333d21bbfc6768dc1fb2bff720fe6e9 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Tue, 8 Dec 2015 14:07:42 +0900 Subject: [PATCH 1/5] Fix incompatible signatures of inherited methods --- classes/db/DB.class.php | 4 ++-- classes/db/DBCubrid.class.php | 4 ++-- classes/db/DBMssql.class.php | 4 ++-- classes/db/DBMysql.class.php | 4 ++-- classes/db/DBMysql_innodb.class.php | 4 ++-- classes/db/DBMysqli_innodb.class.php | 4 ++-- classes/module/ModuleObject.class.php | 4 ++-- classes/object/Object.class.php | 2 +- modules/layout/layout.model.php | 2 +- 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/classes/db/DB.class.php b/classes/db/DB.class.php index 02dcd1be4..b54099b82 100644 --- a/classes/db/DB.class.php +++ b/classes/db/DB.class.php @@ -1094,7 +1094,7 @@ class DB * this method is protected * @return boolean */ - function _begin() + function _begin($transactionLevel = 0) { return TRUE; } @@ -1122,7 +1122,7 @@ class DB * this method is protected * @return boolean */ - function _rollback() + function _rollback($transactionLevel = 0) { return TRUE; } diff --git a/classes/db/DBCubrid.class.php b/classes/db/DBCubrid.class.php index fc977d81a..546495d53 100644 --- a/classes/db/DBCubrid.class.php +++ b/classes/db/DBCubrid.class.php @@ -144,7 +144,7 @@ class DBCubrid extends DB * this method is private * @return boolean */ - function _begin($transactionLevel) + function _begin($transactionLevel = 0) { if(__CUBRID_VERSION__ >= '8.4.0') { @@ -167,7 +167,7 @@ class DBCubrid extends DB * this method is private * @return boolean */ - function _rollback($transactionLevel) + function _rollback($transactionLevel = 0) { $connection = $this->_getConnection('master'); diff --git a/classes/db/DBMssql.class.php b/classes/db/DBMssql.class.php index 32adb251c..10a59b985 100644 --- a/classes/db/DBMssql.class.php +++ b/classes/db/DBMssql.class.php @@ -113,7 +113,7 @@ class DBMssql extends DB * this method is private * @return boolean */ - function _begin($transactionLevel) + function _begin($transactionLevel = 0) { $connection = $this->_getConnection('master'); @@ -136,7 +136,7 @@ class DBMssql extends DB * this method is private * @return boolean */ - function _rollback($transactionLevel) + function _rollback($transactionLevel = 0) { $connection = $this->_getConnection('master'); diff --git a/classes/db/DBMysql.class.php b/classes/db/DBMysql.class.php index 2e9bf606c..545b1310a 100644 --- a/classes/db/DBMysql.class.php +++ b/classes/db/DBMysql.class.php @@ -147,7 +147,7 @@ class DBMysql extends DB * this method is private * @return boolean */ - function _begin() + function _begin($transactionLevel = 0) { return true; } @@ -157,7 +157,7 @@ class DBMysql extends DB * this method is private * @return boolean */ - function _rollback() + function _rollback($transactionLevel = 0) { return true; } diff --git a/classes/db/DBMysql_innodb.class.php b/classes/db/DBMysql_innodb.class.php index affa59aab..e19bcffe5 100644 --- a/classes/db/DBMysql_innodb.class.php +++ b/classes/db/DBMysql_innodb.class.php @@ -51,7 +51,7 @@ class DBMysql_innodb extends DBMysql * this method is private * @return boolean */ - function _begin($transactionLevel) + function _begin($transactionLevel = 0) { $connection = $this->_getConnection('master'); @@ -71,7 +71,7 @@ class DBMysql_innodb extends DBMysql * this method is private * @return boolean */ - function _rollback($transactionLevel) + function _rollback($transactionLevel = 0) { $connection = $this->_getConnection('master'); diff --git a/classes/db/DBMysqli_innodb.class.php b/classes/db/DBMysqli_innodb.class.php index 55422b61f..cfc9d23c1 100644 --- a/classes/db/DBMysqli_innodb.class.php +++ b/classes/db/DBMysqli_innodb.class.php @@ -85,7 +85,7 @@ class DBMysqli_innodb extends DBMysql * this method is private * @return boolean */ - function _begin($transactionLevel) + function _begin($transactionLevel = 0) { $connection = $this->_getConnection('master'); @@ -105,7 +105,7 @@ class DBMysqli_innodb extends DBMysql * this method is private * @return boolean */ - function _rollback($transactionLevel) + function _rollback($transactionLevel = 0) { $connection = $this->_getConnection('master'); diff --git a/classes/module/ModuleObject.class.php b/classes/module/ModuleObject.class.php index 9485a74c4..37fffc7c6 100644 --- a/classes/module/ModuleObject.class.php +++ b/classes/module/ModuleObject.class.php @@ -86,7 +86,7 @@ class ModuleObject extends Object * @param string $type type of message (error, info, update) * @return void * */ - function setMessage($message, $type = NULL) + function setMessage($message = 'success', $type = NULL) { parent::setMessage($message); $this->setMessageType($type); @@ -370,7 +370,7 @@ class ModuleObject extends Object * set the directory path of the layout directory * @return string * */ - function getLayoutPath() + function getLayoutPath($layout_name = "", $layout_type = "P") { return $this->layout_path; } diff --git a/classes/object/Object.class.php b/classes/object/Object.class.php index ed5a76bcf..9dfea8f4f 100644 --- a/classes/object/Object.class.php +++ b/classes/object/Object.class.php @@ -94,7 +94,7 @@ class Object * @param string $message Error message * @return bool Alaways returns true. */ - function setMessage($message = 'success') + function setMessage($message = 'success', $type = NULL) { if($str = Context::getLang($message)) { diff --git a/modules/layout/layout.model.php b/modules/layout/layout.model.php index 858d37400..7797edf4d 100644 --- a/modules/layout/layout.model.php +++ b/modules/layout/layout.model.php @@ -289,7 +289,7 @@ class layoutModel extends layout * @param string $layout_type (P : PC, M : Mobile) * @return string path of layout */ - function getLayoutPath($layout_name, $layout_type = "P") + function getLayoutPath($layout_name = "", $layout_type = "P") { $layout_parse = explode('|@|', $layout_name); if(count($layout_parse) > 1) From 41809cfb69dada42da9ef1ab7d80c2318e68ee83 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Tue, 8 Dec 2015 14:10:28 +0900 Subject: [PATCH 2/5] Fix unsupported /e modifier in preg_replace function call --- config/func.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/func.inc.php b/config/func.inc.php index 06434d2c5..47e6678ce 100644 --- a/config/func.inc.php +++ b/config/func.inc.php @@ -1200,7 +1200,7 @@ function removeSrcHack($match) continue; } - $val = preg_replace('/&#(?:x([a-fA-F0-9]+)|0*(\d+));/e', 'chr("\\1"?0x00\\1:\\2+0)', $m[3][$idx] . $m[4][$idx]); + $val = preg_replace_callback('/&#(?:x([a-fA-F0-9]+)|0*(\d+));/', function($n) {return chr($n[1] ? ('0x00' . $n[1]) : ($n[2] + 0)); }, $m[3][$idx] . $m[4][$idx]); $val = preg_replace('/^\s+|[\t\n\r]+/', '', $val); if(preg_match('/^[a-z]+script:/i', $val)) From da0b1bad47deeb4dbd8fb43e21535dd93d5f80b6 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Tue, 8 Dec 2015 14:24:38 +0900 Subject: [PATCH 3/5] Unconditionally set HTTP_RAW_POST_DATA to avoid SimpleXML warnings --- classes/context/Context.class.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 6ae1889aa..7f04726cb 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -201,8 +201,7 @@ class Context function init() { if(!isset($GLOBALS['HTTP_RAW_POST_DATA']) && version_compare(PHP_VERSION, '5.6.0', '>=') === true) { - if(simplexml_load_string(file_get_contents("php://input")) !== false) $GLOBALS['HTTP_RAW_POST_DATA'] = file_get_contents("php://input"); - if(strpos($_SERVER['CONTENT_TYPE'], 'json') || strpos($_SERVER['HTTP_CONTENT_TYPE'], 'json')) $GLOBALS['HTTP_RAW_POST_DATA'] = file_get_contents("php://input"); + $GLOBALS['HTTP_RAW_POST_DATA'] = file_get_contents("php://input"); } // set context variables in $GLOBALS (to use in display handler) From d117147d7623f63a8713d9876d52f3a6ce8f06c3 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Tue, 8 Dec 2015 15:50:52 +0900 Subject: [PATCH 4/5] Fix regression with HTTP_RAW_POST_DATA --- classes/context/Context.class.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 7f04726cb..01e46b7db 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -200,8 +200,13 @@ class Context */ function init() { + // fix missing HTTP_RAW_POST_DATA in PHP 5.6 and above if(!isset($GLOBALS['HTTP_RAW_POST_DATA']) && version_compare(PHP_VERSION, '5.6.0', '>=') === true) { $GLOBALS['HTTP_RAW_POST_DATA'] = file_get_contents("php://input"); + if(!preg_match('/^[<\{\[]/', $GLOBALS['HTTP_RAW_POST_DATA'])) + { + unset($GLOBALS['HTTP_RAW_POST_DATA']); + } } // set context variables in $GLOBALS (to use in display handler) From 69cce1e4a0b1bad0e6d99f87d9d1538e4d2c8709 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Tue, 8 Dec 2015 15:53:06 +0900 Subject: [PATCH 5/5] Fix uninitialized stdClass warning --- modules/module/module.model.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/module/module.model.php b/modules/module/module.model.php index fec281b95..ca6e9cc8a 100644 --- a/modules/module/module.model.php +++ b/modules/module/module.model.php @@ -1381,7 +1381,7 @@ class moduleModel extends module $args->site_srl = $site_srl; $output = executeQuery('module.getModuleConfig', $args); if($output->data->config) $config = unserialize($output->data->config); - else $config = null; + else $config = new stdClass(); //insert in cache if($oCacheHandler->isSupport())