Skip to content

Commit 3a5b79a

Browse files
author
bnu
committed
Merge branch 'release/1.8.30'
2 parents dafa196 + ade29c3 commit 3a5b79a

38 files changed

+228
-104
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ config.user.inc.php
77

88
codeception.yml
99
/tests/_output/
10+
/tests/_support/*Tester.php
11+
/tests/_support/_generated/
1012
/tests/*.suite.yml
1113

1214
/node_modules/

.htaccess

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
RewriteEngine On
22

33
# reserve XE Layout Template Source File (*.html)
4-
RewriteRule ^(layouts|m.layouts)/(.+)\.html$ - [L,F]
4+
RewriteRule ^(layouts|m.layouts|files/faceOff)/(.+)\.html$ - [L,F]
55
# reserve XE Template Source Files (*.html)
66
RewriteCond %{REQUEST_URI} !/modules/editor/
77
RewriteRule /(skins|m.skins)/(.+)\.html$ - [L,F]

.travis.yml

+5-4
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,26 @@ php:
44
- 5.4
55
- 5.5
66
- 5.6
7-
- 7
7+
- 7.0
8+
- 7.1
89
- hhvm
910
matrix:
1011
allow_failures:
11-
- php: 7
12+
- php: 7.0
13+
- php: 7.1
1214
- php: hhvm
1315
sudo: false
1416
before_script:
1517
- travis_retry composer self-update
1618
- npm install -g grunt-cli
1719
- npm install
18-
- phpenv config-rm xdebug.ini
1920
- if [ $(phpenv version-name) != "5.3" ]; then composer install; fi
2021
- if [ $(phpenv version-name) != "5.3" ]; then mysql -e 'create database xe_test;'; fi
2122
- if [ $(phpenv version-name) != "5.3" ]; then echo "USE mysql;\nUPDATE user SET password=PASSWORD('root')
2223
WHERE user='root';\nFLUSH PRIVILEGES;\n" | mysql -u root; fi
2324
- if [ $(phpenv version-name) != "5.3" ]; then php -S localhost:8000 & fi
2425
script:
25-
- grunt lint
26+
- grunt lint --force
2627
- grunt minify
2728
- if [ $(phpenv version-name) != "5.3" ]; then ./vendor/bin/codecept build; fi
2829
- if [ $(phpenv version-name) != "5.3" ]; then ./vendor/bin/codecept run -d --fail-fast --env travis; fi

.travis/travis.php.ini

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
date.timezone = Asia/Seoul
2+
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_WARNING & ~E_STRICT

classes/context/Context.class.php

+17-2
Original file line numberDiff line numberDiff line change
@@ -1403,6 +1403,10 @@ function _filterRequestVar($key, $val, $do_stripslashes = 1)
14031403
{
14041404
$result[$k] = urlencode($v);
14051405
}
1406+
elseif($key === 'xe_validator_id')
1407+
{
1408+
$result[$k] = htmlspecialchars($v, ENT_COMPAT | ENT_HTML401, 'UTF-8', FALSE);
1409+
}
14061410
elseif(stripos($key, 'XE_VALIDATOR', 0) === 0)
14071411
{
14081412
unset($result[$k]);
@@ -1413,10 +1417,21 @@ function _filterRequestVar($key, $val, $do_stripslashes = 1)
14131417

14141418
if($do_stripslashes && version_compare(PHP_VERSION, '5.4.0', '<') && get_magic_quotes_gpc())
14151419
{
1416-
$result[$k] = stripslashes($result[$k]);
1420+
if (is_array($result[$k]))
1421+
{
1422+
array_walk_recursive($result[$k], function(&$val) { $val = stripslashes($val); });
1423+
}
1424+
else
1425+
{
1426+
$result[$k] = stripslashes($result[$k]);
1427+
}
14171428
}
14181429

1419-
if(!is_array($result[$k]))
1430+
if(is_array($result[$k]))
1431+
{
1432+
array_walk_recursive($result[$k], function(&$val) { $val = trim($val); });
1433+
}
1434+
else
14201435
{
14211436
$result[$k] = trim($result[$k]);
14221437
}

classes/db/DB.class.php

+18-22
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ class DB
108108
* will be written by classes/DB/DB***.class.php
109109
* @var array
110110
*/
111-
var $supported_list = array();
111+
static $supported_list = array();
112112

113113
/**
114114
* location of query cache
@@ -139,7 +139,7 @@ class DB
139139
* @param string $db_type type of db
140140
* @return DB return DB object instance
141141
*/
142-
function &getInstance($db_type = NULL)
142+
function getInstance($db_type = NULL)
143143
{
144144
if(!$db_type)
145145
{
@@ -208,20 +208,18 @@ function getSupportedList()
208208
* this list return by child class
209209
* @return array return enable DBMS list in supported dbms list
210210
*/
211-
function getEnableList()
211+
public static function getEnableList()
212212
{
213-
is_a($this, 'DB') ? $self = $this : $self = self::getInstance();
214-
215-
if(!$self->supported_list)
213+
if(!self::$supported_list)
216214
{
217215
$oDB = new DB();
218-
$self->supported_list = $oDB->_getSupportedList();
216+
self::$supported_list = $oDB->_getSupportedList();
219217
}
220218

221219
$enableList = array();
222-
if(is_array($self->supported_list))
220+
if(is_array(self::$supported_list))
223221
{
224-
foreach($self->supported_list AS $key => $value)
222+
foreach(self::$supported_list AS $key => $value)
225223
{
226224
if($value->enable)
227225
{
@@ -237,20 +235,18 @@ function getEnableList()
237235
* this list return by child class
238236
* @return array return disable DBMS list in supported dbms list
239237
*/
240-
function getDisableList()
238+
public static function getDisableList()
241239
{
242-
is_a($this, 'DB') ? $self = $this : $self = self::getInstance();
243-
244-
if(!$self->supported_list)
240+
if(!self::$supported_list)
245241
{
246242
$oDB = new DB();
247-
$self->supported_list = $oDB->_getSupportedList();
243+
self::$supported_list = $oDB->_getSupportedList();
248244
}
249245

250246
$disableList = array();
251-
if(is_array($self->supported_list))
247+
if(is_array(self::$supported_list))
252248
{
253-
foreach($self->supported_list AS $key => $value)
249+
foreach(self::$supported_list AS $key => $value)
254250
{
255251
if(!$value->enable)
256252
{
@@ -271,8 +267,8 @@ function _getSupportedList()
271267
static $get_supported_list = '';
272268
if(is_array($get_supported_list))
273269
{
274-
$this->supported_list = $get_supported_list;
275-
return $this->supported_list;
270+
self::$supported_list = $get_supported_list;
271+
return self::$supported_list;
276272
}
277273
$get_supported_list = array();
278274
$db_classes_path = _XE_PATH_ . "classes/db/";
@@ -293,7 +289,7 @@ function _getSupportedList()
293289

294290
unset($oDB);
295291
require_once($class_file);
296-
$oDB = new $class_name();
292+
$oDB = new $class_name(FALSE);
297293

298294
if(!$oDB)
299295
{
@@ -310,8 +306,8 @@ function _getSupportedList()
310306
// sort
311307
@usort($get_supported_list, array($this, '_sortDBMS'));
312308

313-
$this->supported_list = $get_supported_list;
314-
return $this->supported_list;
309+
self::$supported_list = $get_supported_list;
310+
return self::$supported_list;
315311
}
316312

317313
/**
@@ -1346,7 +1342,7 @@ function actDBClassFinish()
13461342
* @param boolean $force force load DBParser instance
13471343
* @return DBParser
13481344
*/
1349-
function &getParser($force = FALSE)
1345+
function getParser($force = FALSE)
13501346
{
13511347
static $dbParser = NULL;
13521348
if(!$dbParser || $force)

classes/db/DBCubrid.class.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ class DBCubrid extends DB
4949
* constructor
5050
* @return void
5151
*/
52-
function DBCubrid()
52+
function DBCubrid($auto_connect = TRUE)
5353
{
5454
$this->_setDBInfo();
55-
$this->_connect();
55+
if($auto_connect) $this->_connect();
5656
}
5757

5858
/**

classes/db/DBMssql.class.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ class DBMssql extends DB
4242
* Constructor
4343
* @return void
4444
*/
45-
function DBMssql()
45+
function DBMssql($auto_connect = TRUE)
4646
{
4747
$this->_setDBInfo();
48-
$this->_connect();
48+
if($auto_connect) $this->_connect();
4949
}
5050

5151
/**

classes/db/DBMysql.class.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,10 @@ class DBMysql extends DB
4343
* Constructor
4444
* @return void
4545
*/
46-
function DBMysql()
46+
function DBMysql($auto_connect = TRUE)
4747
{
4848
$this->_setDBInfo();
49-
$this->_connect();
49+
if($auto_connect) $this->_connect();
5050
}
5151

5252
/**

classes/db/DBMysql_innodb.class.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ class DBMysql_innodb extends DBMysql
2020
* Constructor
2121
* @return void
2222
*/
23-
function DBMysql_innodb()
23+
function DBMysql_innodb($auto_connect = TRUE)
2424
{
2525
$this->_setDBInfo();
26-
$this->_connect();
26+
if($auto_connect) $this->_connect();
2727
}
2828

2929
/**

classes/db/DBMysqli.class.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ class DBMysqli extends DBMysql
2020
* Constructor
2121
* @return void
2222
*/
23-
function DBMysqli()
23+
function DBMysqli($auto_connect = TRUE)
2424
{
2525
$this->_setDBInfo();
26-
$this->_connect();
26+
if($auto_connect) $this->_connect();
2727
}
2828

2929
/**

classes/db/DBMysqli_innodb.class.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ class DBMysqli_innodb extends DBMysql
2020
* Constructor
2121
* @return void
2222
*/
23-
function DBMysqli_innodb()
23+
function DBMysqli_innodb($auto_connect = TRUE)
2424
{
2525
$this->_setDBInfo();
26-
$this->_connect();
26+
if($auto_connect) $this->_connect();
2727
}
2828

2929
/**

common/js/plugins/jquery.fileupload/js/main.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,12 @@
237237
if(!fileinfo) return;
238238

239239
if(/\.(jpe?g|png|gif)$/i.test(fileinfo.download_url)) {
240-
temp_code += '<img src="' + window.request_uri + fileinfo.download_url + '" alt="' + fileinfo.source_filename + '" editor_component="image_link" data-file-srl="' + fileinfo.file_srl + '" />';
240+
if(fileinfo.download_url.indexOf('http://')!=-1 || fileinfo.download_url.indexOf('https://')!=-1) {
241+
temp_code += '<img src="' + fileinfo.download_url + '" alt="' + fileinfo.source_filename + '" editor_component="image_link" data-file-srl="' + fileinfo.file_srl + '" />';
242+
}
243+
else {
244+
temp_code += '<img src="' + window.request_uri + fileinfo.download_url + '" alt="' + fileinfo.source_filename + '" editor_component="image_link" data-file-srl="' + fileinfo.file_srl + '" />';
245+
}
241246
temp_code += "\r\n<p><br></p>\r\n";
242247
} else {
243248
temp_code += '<a href="' + window.request_uri + fileinfo.download_url + '" data-file-srl="' + fileinfo.file_srl + '">' + fileinfo.source_filename + "</a>\n";

0 commit comments

Comments
 (0)