diff --git a/.htaccess b/.htaccess index fe203659a..792ea9532 100644 --- a/.htaccess +++ b/.htaccess @@ -28,9 +28,11 @@ RewriteRule ^([a-zA-Z0-9_]+)/category/([0-9]+)$ ./index.php?mid=$1&category=$2 [ # document permanent link RewriteRule ^([0-9]+)$ ./index.php?document_srl=$1 [L,QSA] +# admin module link +RewriteRule ^admin/?$ ./index.php?module=admin [L,QSA] + # mid link RewriteCond %{SCRIPT_FILENAME} !-d -RewriteRule ^admin/?$ ./index.php?module=admin [L,QSA] RewriteRule ^([a-zA-Z0-9_]+)/?$ ./index.php?mid=$1 [L,QSA] # mid + document link diff --git a/.travis.yml b/.travis.yml index 268d3322b..4866c03b7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,10 @@ php: - 5.6 - 7.0 - 7.1 + - 7.2 +matrix: + allow_failures: + - php: 7.2 services: - mysql before_script: diff --git a/addons/recaptcha/recaptcha.class.php b/addons/recaptcha/recaptcha.class.php index bf1992ea1..dbf2bf86c 100644 --- a/addons/recaptcha/recaptcha.class.php +++ b/addons/recaptcha/recaptcha.class.php @@ -18,7 +18,7 @@ class reCAPTCHA $response = Context::get('g-recaptcha-response'); if (!$response) { - return new Object(-1, lang('recaptcha.msg_recaptcha_invalid_response')); + return new BaseObject(-1, 'recaptcha.msg_recaptcha_invalid_response'); } try @@ -31,17 +31,17 @@ class reCAPTCHA } catch (\Requests_Exception $e) { - return new Object(-1, lang('recaptcha.msg_recaptcha_connection_error')); + return new BaseObject(-1, 'recaptcha.msg_recaptcha_connection_error'); } $verify = @json_decode($verify_request->body, true); if ($verify && isset($verify['error-codes']) && in_array('invalid-input-response', $verify['error-codes'])) { - return new Object(-1, lang('recaptcha.msg_recaptcha_invalid_response')); + return new BaseObject(-1, 'recaptcha.msg_recaptcha_invalid_response'); } elseif (!$verify || !$verify['success'] || (isset($verify['error-codes']) && $verify['error-codes'])) { - return new Object(-1, lang('recaptcha.msg_recaptcha_server_error')); + return new BaseObject(-1, 'recaptcha.msg_recaptcha_server_error'); } else { diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 6b860e8c8..e73625dc4 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -16,7 +16,7 @@ class Context /** * Request method - * @var string GET|POST|XMLRPC + * @var string GET|POST|XMLRPC|JSON */ public $request_method = 'GET'; @@ -28,7 +28,7 @@ class Context /** * Response method.If it's not set, it follows request method. - * @var string HTML|XMLRPC + * @var string HTML|XMLRPC|JSON|JS_CALLBACK */ public $response_method = ''; @@ -1904,7 +1904,7 @@ class Context /** * Return values from the GET/POST/XMLRPC * - * @return Object Request variables. + * @return object Request variables. */ public static function getRequestVars() { diff --git a/classes/db/DB.class.php b/classes/db/DB.class.php index 8da0fb07b..374a9f359 100644 --- a/classes/db/DB.class.php +++ b/classes/db/DB.class.php @@ -143,7 +143,7 @@ class DB } if(!$db_type && Context::isInstalled()) { - return new Object(-1, 'msg_db_not_setted'); + return new BaseObject(-1, 'msg_db_not_setted'); } if(!isset($GLOBALS['__DB__'])) @@ -156,7 +156,7 @@ class DB $class_file = RX_BASEDIR . "classes/db/$class_name.class.php"; if(!file_exists($class_file)) { - return new Object(-1, 'msg_db_not_setted'); + return new BaseObject(-1, 'msg_db_not_setted'); } // get a singletone instance of the database driver class @@ -449,7 +449,7 @@ class DB public function getError() { $this->errstr = Context::convertEncodingStr($this->errstr); - return new Object($this->errno, $this->errstr); + return new BaseObject($this->errno, $this->errstr); } /** @@ -466,11 +466,11 @@ class DB if(!$query_id) { - return new Object(-1, 'msg_invalid_queryid'); + return new BaseObject(-1, 'msg_invalid_queryid'); } if(!$this->db_type) { - return; + return new BaseObject(-1, 'msg_db_not_setted'); } $this->actDBClassStart(); @@ -493,7 +493,7 @@ class DB if(!isset($typeList[$target])) { $this->actDBClassFinish(); - return; + return new BaseObject(-1, 'msg_invalid_queryid'); } $module = $id_args[1]; $id = $id_args[2]; @@ -501,14 +501,14 @@ class DB if(!$target || !$module || !$id) { $this->actDBClassFinish(); - return new Object(-1, 'msg_invalid_queryid'); + return new BaseObject(-1, 'msg_invalid_queryid'); } $xml_file = sprintf('%s%s/%s/queries/%s.xml', _XE_PATH_, $target, $module, $id); if(!file_exists($xml_file)) { $this->actDBClassFinish(); - return new Object(-1, 'msg_invalid_queryid'); + return new BaseObject(-1, 'msg_invalid_queryid'); } // look for cache file @@ -564,7 +564,7 @@ class DB if(!file_exists($cache_file)) { - return new Object(-1, 'msg_invalid_queryid'); + return new BaseObject(-1, 'msg_invalid_queryid'); } if (is_object($source_args)) @@ -582,13 +582,13 @@ class DB $output = include($cache_file); - if($output instanceof Object && !$output->toBool()) + if($output instanceof BaseObject && !$output->toBool()) { return $output; } if(!is_object($output) || !method_exists($output, 'getAction')) { - return new Object(-1, sprintf(lang('msg_failed_to_load_query'), $query_id)); + return new BaseObject(-1, sprintf(lang('msg_failed_to_load_query'), $query_id)); } // execute appropriate query @@ -619,9 +619,9 @@ class DB { $output = $this->getError(); } - elseif(!($output instanceof Object)) + elseif(!($output instanceof BaseObject)) { - $output = new Object(); + $output = new BaseObject(); } $output->add('_query', $this->query); $output->add('_elapsed_time', sprintf("%0.5f", $this->elapsed_time)); @@ -688,14 +688,14 @@ class DB $select = $query->getSelectString($with_values); if($select == '') { - return new Object(-1, "Invalid query"); + return new BaseObject(-1, "Invalid query"); } $select = 'SELECT ' . $select; $from = $query->getFromString($with_values); if($from == '') { - return new Object(-1, "Invalid query"); + return new BaseObject(-1, "Invalid query"); } $from = ' FROM ' . $from; @@ -790,7 +790,7 @@ class DB $from = $query->getFromString($with_values); if($from == '') { - return new Object(-1, "Invalid query"); + return new BaseObject(-1, "Invalid query"); } $sql .= ' FROM ' . $from; @@ -815,13 +815,13 @@ class DB $columnsList = $query->getUpdateString($with_values); if($columnsList == '') { - return new Object(-1, "Invalid query"); + return new BaseObject(-1, "Invalid query"); } $tables = $query->getFromString($with_values); if($tables == '') { - return new Object(-1, "Invalid query"); + return new BaseObject(-1, "Invalid query"); } $where = $query->getWhereString($with_values); diff --git a/classes/db/DBCubrid.class.php b/classes/db/DBCubrid.class.php index 7aa6714ec..5a5c2b7e8 100644 --- a/classes/db/DBCubrid.class.php +++ b/classes/db/DBCubrid.class.php @@ -39,8 +39,8 @@ class DBCubrid extends DB 'varchar' => 'character varying', 'char' => 'character', 'tinytext' => 'character varying(256)', - 'text' => 'character varying(1073741823)', 'bigtext' => 'character varying(1073741823)', + 'text' => 'character varying(1073741823)', 'date' => 'character varying(14)', 'float' => 'float', ); @@ -629,7 +629,7 @@ class DBCubrid extends DB * Get information about a column * @param string $table_name table name * @param string $column_name column name - * @return object + * @return BaseObject */ function getColumnInfo($table_name, $column_name) { @@ -987,7 +987,7 @@ class DBCubrid extends DB /** * Handles insertAct - * @param Object $queryObject + * @param BaseObject $queryObject * @param boolean $with_values * @return resource */ @@ -999,7 +999,7 @@ class DBCubrid extends DB $with_values = FALSE; } $query = $this->getInsertSql($queryObject, $with_values); - if(is_a($query, 'Object')) + if($query instanceof BaseObject) { unset($this->param); return; @@ -1016,7 +1016,7 @@ class DBCubrid extends DB /** * Handles updateAct - * @param Object $queryObject + * @param BaseObject $queryObject * @param boolean $with_values * @return resource */ @@ -1028,7 +1028,7 @@ class DBCubrid extends DB $with_values = FALSE; } $query = $this->getUpdateSql($queryObject, $with_values); - if(is_a($query, 'Object')) + if($query instanceof BaseObject) { unset($this->param); return; @@ -1046,7 +1046,7 @@ class DBCubrid extends DB /** * Handles deleteAct - * @param Object $queryObject + * @param BaseObject $queryObject * @param boolean $with_values * @return resource */ @@ -1058,7 +1058,7 @@ class DBCubrid extends DB $with_values = FALSE; } $query = $this->getDeleteSql($queryObject, $with_values); - if(is_a($query, 'Object')) + if($query instanceof BaseObject) { unset($this->param); return; @@ -1079,10 +1079,10 @@ class DBCubrid extends DB * Handle selectAct * To get a specific page list easily in select statement, * a method, navigation, is used - * @param Object $queryObject + * @param BaseObject $queryObject * @param resource $connection * @param boolean $with_values - * @return Object + * @return BaseObject */ function _executeSelectAct($queryObject, $connection = NULL, $with_values = TRUE) { @@ -1099,7 +1099,7 @@ class DBCubrid extends DB else { $query = $this->getSelectSql($queryObject, $with_values); - if(is_a($query, 'Object')) + if($query instanceof BaseObject) { unset($this->param); return; @@ -1114,7 +1114,7 @@ class DBCubrid extends DB } $data = $this->_fetch($result); - $buff = new Object (); + $buff = new BaseObject; $buff->data = $data; unset($this->param); @@ -1124,15 +1124,15 @@ class DBCubrid extends DB /** * If have a error, return error object - * @param Object $queryObject - * @return Object + * @param BaseObject $queryObject + * @return BaseObject */ function queryError($queryObject) { $limit = $queryObject->getLimit(); if($limit && $limit->isPageHandler()) { - $buff = new Object (); + $buff = new BaseObject; $buff->total_count = 0; $buff->total_page = 0; $buff->page = 1; @@ -1145,10 +1145,10 @@ class DBCubrid extends DB /** * If select query execute, return page info - * @param Object $queryObject + * @param BaseObject $queryObject * @param resource $connection * @param boolean $with_values - * @return Object Object with page info containing + * @return BaseObject Object with page info containing */ function queryPageLimit($queryObject, $connection, $with_values) { @@ -1209,7 +1209,7 @@ class DBCubrid extends DB { // If requested page is bigger than total number of pages, return empty list - $buff = new Object (); + $buff = new BaseObject; $buff->total_count = $total_count; $buff->total_page = $total_page; $buff->page = $page; @@ -1231,7 +1231,7 @@ class DBCubrid extends DB $virtual_no = $total_count - ($page - 1) * $list_count; $data = $this->_fetch($result, $virtual_no); - $buff = new Object (); + $buff = new BaseObject; $buff->total_count = $total_count; $buff->total_page = $total_page; $buff->page = $page; @@ -1265,14 +1265,14 @@ class DBCubrid extends DB $select = $query->getSelectString($with_values); if($select == '') { - return new Object(-1, "Invalid query"); + return new BaseObject(-1, "Invalid query"); } $select = 'SELECT ' . $select; $from = $query->getFromString($with_values); if($from == '') { - return new Object(-1, "Invalid query"); + return new BaseObject(-1, "Invalid query"); } $from = ' FROM ' . $from; diff --git a/classes/db/DBMssql.class.php b/classes/db/DBMssql.class.php index b9822844d..857e8e1b3 100644 --- a/classes/db/DBMssql.class.php +++ b/classes/db/DBMssql.class.php @@ -32,8 +32,8 @@ class DBMssql extends DB 'number' => 'int', 'varchar' => 'nvarchar', 'char' => 'nchar', - 'text' => 'ntext', 'bigtext' => 'ntext', + 'text' => 'ntext', 'date' => 'nvarchar(14)', 'float' => 'float', ); @@ -494,7 +494,7 @@ class DBMssql extends DB * Get information about a column * @param string $table_name table name * @param string $column_name column name - * @return object + * @return BaseObject */ function getColumnInfo($table_name, $column_name) { @@ -774,7 +774,7 @@ class DBMssql extends DB /** * Handles insertAct * @todo Lookup _filterNumber against sql injection - see if it is still needed and how to integrate - * @param Object $queryObject + * @param BaseObject $queryObject * @return resource */ function _executeInsertAct($queryObject) @@ -786,7 +786,7 @@ class DBMssql extends DB /** * Handles updateAct - * @param Object $queryObject + * @param BaseObject $queryObject * @return resource */ function _executeUpdateAct($queryObject) @@ -808,13 +808,13 @@ class DBMssql extends DB $columnsList = $query->getUpdateString($with_values); if($columnsList == '') { - return new Object(-1, "Invalid query"); + return new BaseObject(-1, "Invalid query"); } $from = $query->getFromString($with_values); if($from == '') { - return new Object(-1, "Invalid query"); + return new BaseObject(-1, "Invalid query"); } $tables = $query->getTables(); @@ -838,7 +838,7 @@ class DBMssql extends DB /** * Handles deleteAct - * @param Object $queryObject + * @param BaseObject $queryObject * @return resource */ function _executeDeleteAct($queryObject) @@ -876,7 +876,7 @@ class DBMssql extends DB $select = $query->getSelectString($with_values); if($select == '') { - return new Object(-1, "Invalid query"); + return new BaseObject(-1, "Invalid query"); } if($limit != '') { @@ -890,7 +890,7 @@ class DBMssql extends DB $from = $query->getFromString($with_values); if($from == '') { - return new Object(-1, "Invalid query"); + return new BaseObject(-1, "Invalid query"); } $from = ' FROM ' . $from; @@ -961,9 +961,9 @@ class DBMssql extends DB * Handle selectAct * In order to get a list of pages easily when selecting \n * it supports a method as navigation - * @param Object $queryObject + * @param BaseObject $queryObject * @param resource $connection - * @return Object + * @return BaseObject */ function _executeSelectAct($queryObject, $connection = null) { @@ -1000,15 +1000,15 @@ class DBMssql extends DB /** * If have a error, return error object - * @param Object $queryObject - * @return Object + * @param BaseObject $queryObject + * @return BaseObject */ function queryError($queryObject) { $limit = $queryObject->getLimit(); if($limit && $limit->isPageHandler()) { - $buff = new Object (); + $buff = new BaseObject; $buff->total_count = 0; $buff->total_page = 0; $buff->page = 1; @@ -1024,10 +1024,10 @@ class DBMssql extends DB /** * If select query execute, return page info - * @param Object $queryObject + * @param BaseObject $queryObject * @param resource $result * @param resource $connection - * @return Object Object with page info containing + * @return BaseObject Object with page info containing */ function queryPageLimit($queryObject, $result, $connection) { @@ -1090,7 +1090,7 @@ class DBMssql extends DB { // If requested page is bigger than total number of pages, return empty list - $buff = new Object (); + $buff = new BaseObject; $buff->total_count = $total_count; $buff->total_page = $total_page; $buff->page = $page; @@ -1110,7 +1110,7 @@ class DBMssql extends DB $virtual_no = $total_count - $start_count; $data = $this->_fetch($result, $virtual_no); - $buff = new Object (); + $buff = new BaseObject; $buff->total_count = $total_count; $buff->total_page = $total_page; $buff->page = $page; @@ -1120,7 +1120,7 @@ class DBMssql extends DB else { $data = $this->_fetch($result); - $buff = new Object (); + $buff = new BaseObject; $buff->data = $data; } return $buff; diff --git a/classes/db/DBMysql.class.php b/classes/db/DBMysql.class.php index 4dbe384aa..361f8ac99 100644 --- a/classes/db/DBMysql.class.php +++ b/classes/db/DBMysql.class.php @@ -402,7 +402,7 @@ class DBMysql extends DB * Get information about a column * @param string $table_name table name * @param string $column_name column name - * @return object + * @return BaseObject */ function getColumnInfo($table_name, $column_name) { @@ -713,14 +713,14 @@ class DBMysql extends DB /** * Handles insertAct - * @param Object $queryObject + * @param BaseObject $queryObject * @param boolean $with_values * @return resource */ function _executeInsertAct($queryObject, $with_values = true) { $query = $this->getInsertSql($queryObject, $with_values, true); - if(is_a($query, 'Object')) + if($query instanceof BaseObject) { return; } @@ -729,14 +729,14 @@ class DBMysql extends DB /** * Handles updateAct - * @param Object $queryObject + * @param BaseObject $queryObject * @param boolean $with_values * @return resource */ function _executeUpdateAct($queryObject, $with_values = true) { $query = $this->getUpdateSql($queryObject, $with_values, true); - if(is_a($query, 'Object')) + if($query instanceof BaseObject) { if(!$query->toBool()) return $query; else return; @@ -746,14 +746,14 @@ class DBMysql extends DB /** * Handles deleteAct - * @param Object $queryObject + * @param BaseObject $queryObject * @param boolean $with_values * @return resource */ function _executeDeleteAct($queryObject, $with_values = true) { $query = $this->getDeleteSql($queryObject, $with_values, true); - if(is_a($query, 'Object')) + if($query instanceof BaseObject) { return; } @@ -764,10 +764,10 @@ class DBMysql extends DB * Handle selectAct * In order to get a list of pages easily when selecting \n * it supports a method as navigation - * @param Object $queryObject + * @param BaseObject $queryObject * @param resource $connection * @param boolean $with_values - * @return Object + * @return BaseObject */ function _executeSelectAct($queryObject, $connection = null, $with_values = true) { @@ -780,7 +780,7 @@ class DBMysql extends DB else { $query = $this->getSelectSql($queryObject, $with_values); - if(is_a($query, 'Object')) + if($query instanceof BaseObject) { return; } @@ -792,7 +792,7 @@ class DBMysql extends DB } $data = $this->_fetch($result); - $buff = new Object (); + $buff = new BaseObject; $buff->data = $data; if($queryObject->usesClickCount()) @@ -820,7 +820,7 @@ class DBMysql extends DB /** * Fetch a result row as an object * @param resource $result - * @return object + * @return BaseObject */ function db_fetch_object(&$result) { @@ -850,15 +850,15 @@ class DBMysql extends DB /** * If have a error, return error object - * @param Object $queryObject - * @return Object + * @param BaseObject $queryObject + * @return BaseObject */ function queryError($queryObject) { $limit = $queryObject->getLimit(); if($limit && $limit->isPageHandler()) { - $buff = new Object (); + $buff = new BaseObject; $buff->total_count = 0; $buff->total_page = 0; $buff->page = 1; @@ -874,11 +874,11 @@ class DBMysql extends DB /** * If select query execute, return page info - * @param Object $queryObject + * @param BaseObject $queryObject * @param resource $result * @param resource $connection * @param boolean $with_values - * @return Object Object with page info containing + * @return BaseObject Object with page info containing */ function queryPageLimit($queryObject, $result, $connection, $with_values = true) { @@ -938,7 +938,7 @@ class DBMysql extends DB if($page > $total_page) { // If requested page is bigger than total number of pages, return empty list - $buff = new Object (); + $buff = new BaseObject; $buff->total_count = $total_count; $buff->total_page = $total_page; $buff->page = $page; @@ -959,7 +959,7 @@ class DBMysql extends DB $virtual_no = $total_count - ($page - 1) * $list_count; $data = $this->_fetch($result, $virtual_no); - $buff = new Object (); + $buff = new BaseObject; $buff->total_count = $total_count; $buff->total_page = $total_page; $buff->page = $page; @@ -981,14 +981,14 @@ class DBMysql extends DB $select = $query->getSelectString($with_values); if($select == '') { - return new Object(-1, "Invalid query"); + return new BaseObject(-1, "Invalid query"); } $select = 'SELECT ' . $select; $from = $query->getFromString($with_values); if($from == '') { - return new Object(-1, "Invalid query"); + return new BaseObject(-1, "Invalid query"); } $from = ' FROM ' . $from; diff --git a/classes/db/DBMysqli.class.php b/classes/db/DBMysqli.class.php index 102f004e5..b14ceac08 100644 --- a/classes/db/DBMysqli.class.php +++ b/classes/db/DBMysqli.class.php @@ -299,7 +299,7 @@ class DBMysqli extends DBMysql /** * Handles insertAct - * @param Object $queryObject + * @param BaseObject $queryObject * @param boolean $with_values * @return resource */ @@ -317,7 +317,7 @@ class DBMysqli extends DBMysql /** * Handles updateAct - * @param Object $queryObject + * @param BaseObject $queryObject * @param boolean $with_values * @return resource */ @@ -335,7 +335,7 @@ class DBMysqli extends DBMysql /** * Handles deleteAct - * @param Object $queryObject + * @param BaseObject $queryObject * @param boolean $with_values * @return resource */ @@ -355,10 +355,10 @@ class DBMysqli extends DBMysql * Handle selectAct * In order to get a list of pages easily when selecting \n * it supports a method as navigation - * @param Object $queryObject + * @param BaseObject $queryObject * @param resource $connection * @param boolean $with_values - * @return Object + * @return BaseObject */ function _executeSelectAct($queryObject, $connection = null, $with_values = false) { @@ -387,7 +387,7 @@ class DBMysqli extends DBMysql /** * Fetch a result row as an object * @param resource $result - * @return object + * @return BaseObject */ function db_fetch_object(&$result) { diff --git a/classes/db/queryparts/Query.class.php b/classes/db/queryparts/Query.class.php index 85c499a14..46190f32a 100644 --- a/classes/db/queryparts/Query.class.php +++ b/classes/db/queryparts/Query.class.php @@ -6,7 +6,7 @@ * @package /classes/db/queryparts * @version 0.1 */ -class Query extends Object +class Query extends BaseObject { /** @@ -560,7 +560,7 @@ class Query extends Object { if(!$this->_orderByString) { - if(count($this->orderby) === 0) + if(countobj($this->orderby) === 0) { return ''; } @@ -587,7 +587,7 @@ class Query extends Object function getLimitString() { $limit = ''; - if(count($this->limit) > 0) + if(countobj($this->limit) > 0) { $limit = ''; $limit .= $this->limit->toString(); @@ -611,7 +611,7 @@ class Query extends Object $this->arguments = array(); // Join table arguments - if(count($this->tables) > 0) + if(countobj($this->tables) > 0) { foreach($this->tables as $table) { @@ -628,7 +628,7 @@ class Query extends Object // Column arguments // The if is for delete statements, all others must have columns - if(count($this->columns) > 0) + if(countobj($this->columns) > 0) { foreach($this->columns as $column) { @@ -644,12 +644,12 @@ class Query extends Object } // Condition arguments - if(count($this->conditions) > 0) + if(countobj($this->conditions) > 0) { foreach($this->conditions as $conditionGroup) { $args = $conditionGroup->getArguments(); - if(count($args) > 0) + if(countobj($args) > 0) { $this->arguments = array_merge($this->arguments, $args); } @@ -657,12 +657,12 @@ class Query extends Object } // Navigation arguments - if(count($this->orderby) > 0) + if(countobj($this->orderby) > 0) { foreach($this->orderby as $order) { $args = $order->getArguments(); - if(count($args) > 0) + if(countobj($args) > 0) { $this->arguments = array_merge($this->arguments, $args); } diff --git a/classes/display/DisplayHandler.class.php b/classes/display/DisplayHandler.class.php index 0da729298..005dfe8db 100644 --- a/classes/display/DisplayHandler.class.php +++ b/classes/display/DisplayHandler.class.php @@ -68,7 +68,7 @@ class DisplayHandler extends Handler $oAddonController = getController('addon'); $addon_file = $oAddonController->getCacheFilePath(Mobile::isFromMobilePhone() ? "mobile" : "pc"); if(file_exists($addon_file)) include($addon_file); - if($output === false || $output === null || $output instanceof Object) + if($output === false || $output === null || $output instanceof BaseObject) { $output = $original_output; } diff --git a/classes/display/HTMLDisplayHandler.php b/classes/display/HTMLDisplayHandler.php index e169567eb..b89e38962 100644 --- a/classes/display/HTMLDisplayHandler.php +++ b/classes/display/HTMLDisplayHandler.php @@ -27,6 +27,7 @@ class HTMLDisplayHandler */ public static $replacements = array( '@\bcommon/xeicon/@' => 'common/css/xeicon/', + '@\beditor/skins/xpresseditor/js/xe_textarea\.(?:min\.)?js@' => 'editor/skins/ckeditor/js/xe_textarea.js', ); /** diff --git a/classes/editor/EditorHandler.class.php b/classes/editor/EditorHandler.class.php index aaf867456..825c3a24c 100644 --- a/classes/editor/EditorHandler.class.php +++ b/classes/editor/EditorHandler.class.php @@ -8,7 +8,7 @@ * @class EditorHandler * @author NAVER (developers@xpressengine.com) */ -class EditorHandler extends Object +class EditorHandler extends BaseObject { /** diff --git a/classes/file/FileObject.class.php b/classes/file/FileObject.class.php index 6cee35bb4..519939559 100644 --- a/classes/file/FileObject.class.php +++ b/classes/file/FileObject.class.php @@ -6,7 +6,7 @@ * * @author NAVER (developers@xpressengine.com) */ -class FileObject extends Object +class FileObject extends BaseObject { /** @@ -50,7 +50,7 @@ class FileObject extends Object */ function append($file_name) { - $target = new FileObject($file_name, "r"); + $target = new self($file_name, "r"); while(!$target->feof()) { $readstr = $target->read(); diff --git a/classes/httprequest/XEHttpRequest.class.php b/classes/httprequest/XEHttpRequest.class.php index 78242e2f6..3c16c8156 100644 --- a/classes/httprequest/XEHttpRequest.class.php +++ b/classes/httprequest/XEHttpRequest.class.php @@ -125,7 +125,7 @@ class XEHttpRequest $sock = @fsockopen($scheme . $this->m_host, $this->m_port, $errno, $errstr, $timeout); if(!$sock) { - return new Object(-1, 'socket_connect_failed'); + return new BaseObject(-1, 'socket_connect_failed'); } $headers = $this->m_headers + array(); @@ -242,7 +242,7 @@ class XEHttpRequest $body = curl_exec($ch); if(curl_errno($ch)) { - return new Object(-1, 'socket_connect_failed'); + return new BaseObject(-1, 'socket_connect_failed'); } $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index fcd1df08d..473f5e4e7 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -18,7 +18,7 @@ class ModuleHandler extends Handler var $mid = NULL; ///< Module ID var $document_srl = NULL; ///< Document Number var $module_srl = NULL; ///< Module Number - var $module_info = NULL; ///< Module Info. Object + var $module_info = NULL; ///< Module Info var $error = NULL; ///< an error code. var $httpStatusCode = NULL; ///< http status code. @@ -858,7 +858,7 @@ class ModuleHandler extends Handler { Context::set('XE_VALIDATOR_ID', $_SESSION['XE_VALIDATOR_ID']); } - if(count($_SESSION['INPUT_ERROR'])) + if(countobj($_SESSION['INPUT_ERROR'])) { Context::set('INPUT_ERROR', $_SESSION['INPUT_ERROR']); } @@ -1237,14 +1237,14 @@ class ModuleHandler extends Handler * @param string $trigger_name trigger's name to call * @param string $called_position called position * @param object $obj an object as a parameter to trigger - * @return Object + * @return BaseObject * */ public static function triggerCall($trigger_name, $called_position, &$obj) { // skip if not installed if(!Context::isInstalled()) { - return new Object(); + return new BaseObject(); } $oModuleModel = getModel('module'); @@ -1292,7 +1292,7 @@ class ModuleHandler extends Handler )); } - if(is_object($output) && method_exists($output, 'toBool') && !$output->toBool()) + if($output instanceof BaseObject && !$output->toBool()) { return $output; } @@ -1342,7 +1342,7 @@ class ModuleHandler extends Handler } } - return new Object(); + return new BaseObject(); } /** diff --git a/classes/module/ModuleObject.class.php b/classes/module/ModuleObject.class.php index c0358a319..27c1dbef7 100644 --- a/classes/module/ModuleObject.class.php +++ b/classes/module/ModuleObject.class.php @@ -6,7 +6,7 @@ * @author NAVER (developers@xpressengine.com) * base class of ModuleHandler * */ -class ModuleObject extends Object +class ModuleObject extends BaseObject { var $mid = NULL; ///< string to represent run-time instance of Module (XE Module) @@ -90,43 +90,6 @@ class ModuleObject extends Object return $this->get('redirect_url'); } - /** - * set message - * @param string $message a message string - * @param string $type type of message (error, info, update) - * @return void - * */ - function setMessage($message = 'success', $type = NULL) - { - parent::setMessage($message); - $this->setMessageType($type); - } - - /** - * set type of message - * @param string $type type of message (error, info, update) - * @return void - * */ - function setMessageType($type) - { - $this->add('message_type', $type); - } - - /** - * get type of message - * @return string $type - * */ - function getMessageType() - { - $type = $this->get('message_type'); - $typeList = array('error' => 1, 'info' => 1, 'update' => 1); - if(!isset($typeList[$type])) - { - $type = $this->getError() ? 'error' : 'info'; - } - return $type; - } - /** * Set the template path for refresh.html * refresh.html is executed as a result of method execution @@ -598,7 +561,7 @@ class ModuleObject extends Object } // check return value of action - if($output instanceof Object) + if($output instanceof BaseObject) { $this->setError($output->getError()); $this->setMessage($output->getMessage()); @@ -624,11 +587,11 @@ class ModuleObject extends Object $addon_file = $oAddonController->getCacheFilePath($is_mobile ? "mobile" : "pc"); if(FileHandler::exists($addon_file)) include($addon_file); - if($original_output instanceof Object && !$original_output->toBool()) + if($original_output instanceof BaseObject && !$original_output->toBool()) { return FALSE; } - elseif($output instanceof Object && $output->getError()) + elseif($output instanceof BaseObject && $output->getError()) { $this->setError($output->getError()); $this->setMessage($output->getMessage()); diff --git a/classes/object/Object.class.php b/classes/object/Object.class.php index 2715a579a..bf3763cde 100644 --- a/classes/object/Object.class.php +++ b/classes/object/Object.class.php @@ -2,11 +2,11 @@ /* Copyright (C) NAVER */ /** - * Every modules inherits from Object class. It includes error, message, and other variables for communicatin purpose. + * Every module inherits from BaseObject class. * * @author NAVER (developers@xpressengine.com) */ -class Object +class BaseObject { /** @@ -47,14 +47,36 @@ class Object } /** - * Setter to set error code + * Setter to set error code or message * - * @param int $error error code - * @return void + * @param int|strong $error error code or message + * @return $this */ function setError($error = 0) { - $this->error = $error; + // If the first argument is an integer, treat it as an error code. Otherwise, treat it as an error message. + $args = func_get_args(); + if(strval(intval($error)) === strval($error)) + { + $this->error = intval($error); + array_shift($args); + } + else + { + $this->error = -1; + } + + // Convert the error message into the correct language and interpolate any other variables into it. + if(count($args)) + { + $this->message = lang(array_shift($args)); + if(count($args)) + { + $this->message = vsprintf($this->message, $args); + } + } + + return $this; } /** @@ -71,11 +93,12 @@ class Object * Setter to set HTTP status code * * @param int $code HTTP status code. Default value is `200` that means successful - * @return void + * @return $this */ function setHttpStatusCode($code = 200) { $this->httpStatusCode = (int) $code; + return $this; } /** @@ -92,21 +115,17 @@ class Object * Setter to set set the error message * * @param string $message Error message - * @return bool Alaways returns true. + * @param string $type type of message (error, info, update) + * @return $this */ - function setMessage($message = 'success', $type = NULL) + function setMessage($message = 'success', $type = null) { - if($str = lang($message)) + $this->message = lang($message); + if($type !== null) { - $this->message = $str; + $this->setMessageType($type); } - else - { - $this->message = $message; - } - - // TODO This method always returns True. We'd better remove it - return TRUE; + return $this; } /** @@ -119,38 +138,65 @@ class Object return $this->message; } + /** + * set type of message + * @param string $type type of message (error, info, update) + * @return $this + * */ + function setMessageType($type) + { + $this->add('message_type', $type); + return $this; + } + + /** + * get type of message + * @return string $type + * */ + function getMessageType() + { + $type = $this->get('message_type'); + $typeList = array('error' => 1, 'info' => 1, 'update' => 1); + if(!isset($typeList[$type])) + { + $type = $this->getError() ? 'error' : 'info'; + } + return $type; + } + /** * Setter to set a key/value pair as an additional variable * * @param string $key A variable name * @param mixed $val A value for the variable - * @return void + * @return $this */ function add($key, $val) { $this->variables[$key] = $val; + return $this; } /** * Method to set multiple key/value pairs as an additional variables * - * @param Object|array $object Either object or array containg key/value pairs to be added - * @return void + * @param object|array $vars Either object or array containg key/value pairs to be added + * @return $this */ - function adds($object) + function adds($vars) { - if(is_object($object)) + if(is_object($vars)) { - $object = get_object_vars($object); + $vars = get_object_vars($vars); } - - if(is_array($object)) + if(is_array($vars)) { - foreach($object as $key => $val) + foreach($vars as $key => $val) { $this->variables[$key] = $val; } } + return $this; } /** @@ -167,7 +213,7 @@ class Object /** * Method to retrieve an object containing a key/value pairs * - * @return Object Returns an object containing key/value pairs + * @return object Returns an object containing key/value pairs */ function gets() { @@ -193,7 +239,7 @@ class Object /** * Method to retrieve an object of key/value pairs * - * @return Object + * @return object */ function getObjectVars() { @@ -225,7 +271,15 @@ class Object { return $this->toBool(); } - } + +/** + * Alias to Object for backward compatibility. + */ +if (version_compare(PHP_VERSION, '7.2', '<')) +{ + class_alias('BaseObject', 'Object'); +} + /* End of file Object.class.php */ -/* Location: ./classes/object/Object.class.php */ +/* Location: ./classes/object/Object.class.php */ \ No newline at end of file diff --git a/classes/xml/xmlquery/argument/Argument.class.php b/classes/xml/xmlquery/argument/Argument.class.php index de3acc28c..b37aa91da 100644 --- a/classes/xml/xmlquery/argument/Argument.class.php +++ b/classes/xml/xmlquery/argument/Argument.class.php @@ -36,7 +36,7 @@ class Argument /** * error message - * @var Object + * @var BaseObject */ var $errorMessage; @@ -310,14 +310,14 @@ class Argument if(!preg_match('/^[\w-]+((?:\.|\+|\~)[\w-]+)*@[\w-]+(\.[\w-]+)+$/is', $val)) { $this->isValid = FALSE; - $this->errorMessage = new Object(-1, sprintf($lang->filter->invalid_email, $lang->{$key} ? $lang->{$key} : $key)); + $this->errorMessage = new BaseObject(-1, sprintf($lang->filter->invalid_email, $lang->{$key} ? $lang->{$key} : $key)); } break; case 'homepage' : if(!preg_match('/^(http|https)+(:\/\/)+[0-9a-z_-]+\.[^ ]+$/is', $val)) { $this->isValid = FALSE; - $this->errorMessage = new Object(-1, sprintf($lang->filter->invalid_homepage, $lang->{$key} ? $lang->{$key} : $key)); + $this->errorMessage = new BaseObject(-1, sprintf($lang->filter->invalid_homepage, $lang->{$key} ? $lang->{$key} : $key)); } break; case 'userid' : @@ -325,7 +325,7 @@ class Argument if(!preg_match('/^[a-zA-Z]+([_0-9a-zA-Z]+)*$/is', $val)) { $this->isValid = FALSE; - $this->errorMessage = new Object(-1, sprintf($lang->filter->invalid_userid, $lang->{$key} ? $lang->{$key} : $key)); + $this->errorMessage = new BaseObject(-1, sprintf($lang->filter->invalid_userid, $lang->{$key} ? $lang->{$key} : $key)); } break; case 'number' : @@ -337,21 +337,21 @@ class Argument if(!preg_match('/^(-?)[0-9]+(,\-?[0-9]+)*$/is', $val)) { $this->isValid = FALSE; - $this->errorMessage = new Object(-1, sprintf($lang->filter->invalid_number, $lang->{$key} ? $lang->{$key} : $key)); + $this->errorMessage = new BaseObject(-1, sprintf($lang->filter->invalid_number, $lang->{$key} ? $lang->{$key} : $key)); } break; case 'alpha' : if(!preg_match('/^[a-z]+$/is', $val)) { $this->isValid = FALSE; - $this->errorMessage = new Object(-1, sprintf($lang->filter->invalid_alpha, $lang->{$key} ? $lang->{$key} : $key)); + $this->errorMessage = new BaseObject(-1, sprintf($lang->filter->invalid_alpha, $lang->{$key} ? $lang->{$key} : $key)); } break; case 'alpha_number' : if(!preg_match('/^[0-9a-z]+$/is', $val)) { $this->isValid = FALSE; - $this->errorMessage = new Object(-1, sprintf($lang->filter->invalid_alpha_number, $lang->{$key} ? $lang->{$key} : $key)); + $this->errorMessage = new BaseObject(-1, sprintf($lang->filter->invalid_alpha_number, $lang->{$key} ? $lang->{$key} : $key)); } break; } @@ -365,7 +365,7 @@ class Argument global $lang; $this->isValid = FALSE; $key = $this->name; - $this->errorMessage = new Object(-1, sprintf($lang->filter->outofrange, $lang->{$key} ? $lang->{$key} : $key)); + $this->errorMessage = new BaseObject(-1, sprintf($lang->filter->outofrange, $lang->{$key} ? $lang->{$key} : $key)); } } @@ -376,7 +376,7 @@ class Argument global $lang; $this->isValid = FALSE; $key = $this->name; - $this->errorMessage = new Object(-1, sprintf($lang->filter->outofrange, $lang->{$key} ? $lang->{$key} : $key)); + $this->errorMessage = new BaseObject(-1, sprintf($lang->filter->outofrange, $lang->{$key} ? $lang->{$key} : $key)); } } @@ -387,7 +387,7 @@ class Argument global $lang; $this->isValid = FALSE; $key = $this->name; - $this->errorMessage = new Object(-1, sprintf($lang->filter->isnull, $lang->{$key} ? $lang->{$key} : $key)); + $this->errorMessage = new BaseObject(-1, sprintf($lang->filter->isnull, $lang->{$key} ? $lang->{$key} : $key)); } } diff --git a/common/autoload.php b/common/autoload.php index 21834cc99..02b04292c 100644 --- a/common/autoload.php +++ b/common/autoload.php @@ -41,6 +41,7 @@ if (function_exists('mb_regex_encoding')) require_once __DIR__ . '/constants.php'; require_once __DIR__ . '/functions.php'; require_once __DIR__ . '/legacy.php'; +require_once RX_BASEDIR . 'classes/object/Object.class.php'; /** * Load user configuration. @@ -98,7 +99,6 @@ $GLOBALS['RX_AUTOLOAD_FILE_MAP'] = array_change_key_case(array( 'Mobile' => 'classes/mobile/Mobile.class.php', 'ModuleHandler' => 'classes/module/ModuleHandler.class.php', 'ModuleObject' => 'classes/module/ModuleObject.class.php', - 'Object' => 'classes/object/Object.class.php', 'PageHandler' => 'classes/page/PageHandler.class.php', 'EmbedFilter' => 'classes/security/EmbedFilter.class.php', 'IpFilter' => 'classes/security/IpFilter.class.php', @@ -192,7 +192,7 @@ spl_autoload_register(function($class_name) /** * Also include the Composer autoloader. */ -require_once RX_BASEDIR . 'vendor/autoload.php'; +require_once RX_BASEDIR . 'vendor/autoload.php'; /** * Load system configuration. diff --git a/common/constants.php b/common/constants.php index cb087984b..c7aa8efe6 100644 --- a/common/constants.php +++ b/common/constants.php @@ -3,7 +3,7 @@ /** * RX_VERSION is the version number of the Rhymix CMS. */ -define('RX_VERSION', '1.8.45'); +define('RX_VERSION', '1.8.46'); /** * RX_MICROTIME is the startup time of the current script, in microseconds since the Unix epoch. diff --git a/common/defaults/config.php b/common/defaults/config.php index 8a9f620ef..34341ce20 100644 --- a/common/defaults/config.php +++ b/common/defaults/config.php @@ -111,6 +111,7 @@ return array( 'mobile' => array( 'enabled' => true, 'tablets' => false, + 'viewport' => 'width=device-width, initial-scale=1.0, user-scalable=yes', ), 'use_prepared_statements' => true, 'use_rewrite' => true, diff --git a/common/framework/config.php b/common/framework/config.php index 757f4c7ab..0d1ab7ef3 100644 --- a/common/framework/config.php +++ b/common/framework/config.php @@ -30,7 +30,9 @@ class Config { if (file_exists(\RX_BASEDIR . self::$config_filename)) { + ob_start(); self::$_config = (include \RX_BASEDIR . self::$config_filename); + ob_end_clean(); } else { diff --git a/common/framework/debug.php b/common/framework/debug.php index 90932a160..6d2dc0cb3 100644 --- a/common/framework/debug.php +++ b/common/framework/debug.php @@ -506,7 +506,7 @@ class Debug } // Localize the error message. - $display_error_message = ini_get('display_errors') || (\Context::get('logged_info') && toBool(\Context::get('logged_info')->is_admin)); + $display_error_message = ini_get('display_errors') || Session::isAdmin(); $message = $display_error_message ? $message : lang('msg_server_error_see_log'); if ($message === 'msg_server_error_see_log') { diff --git a/common/framework/parsers/configparser.php b/common/framework/parsers/configparser.php index cfa60dbac..2ae644e7e 100644 --- a/common/framework/parsers/configparser.php +++ b/common/framework/parsers/configparser.php @@ -22,7 +22,9 @@ class ConfigParser // Load DB info file. if (file_exists(\RX_BASEDIR . Config::$old_db_config_filename)) { + ob_start(); include \RX_BASEDIR . Config::$old_db_config_filename; + ob_end_clean(); } else { @@ -32,7 +34,9 @@ class ConfigParser // Load FTP info file. if (file_exists(\RX_BASEDIR . Config::$old_ftp_config_filename)) { + ob_start(); include \RX_BASEDIR . Config::$old_ftp_config_filename; + ob_end_clean(); } // Load selected language file. diff --git a/common/functions.php b/common/functions.php index 148c6b25f..078c280e5 100644 --- a/common/functions.php +++ b/common/functions.php @@ -517,6 +517,28 @@ function tobool($input) return (bool)$input; } +/** + * Counts members of an array or an object. + * + * @param mixed $array_or_object + * @return int + */ +function countobj($array_or_object) +{ + if (is_array($array_or_object)) + { + return count($array_or_object); + } + elseif (is_object($array_or_object)) + { + return count(get_object_vars($array_or_object)); + } + else + { + return @count($array_or_object); + } +} + /** * Checks if the given string contains valid UTF-8. * diff --git a/common/js/common.js b/common/js/common.js index d518cde43..4f2ad63ca 100644 --- a/common/js/common.js +++ b/common/js/common.js @@ -86,6 +86,7 @@ URITemplate : window.URITemplate, SecondLevelDomains : window.SecondLevelDomains, IPv6 : window.IPv6, + baseurl : null, /** * @brief 특정 name을 가진 체크박스들의 checked 속성 변경 @@ -198,20 +199,35 @@ /* 동일 사이트 내 주소인지 판단 (프로토콜 제외) */ isSameHost: function(url) { - var site_baseurl = window.XE.URI(window.request_uri).normalizePort().normalizePathname(); - site_baseurl = site_baseurl.hostname() + site_baseurl.directory(); + if (typeof url !== "string") { + return false; + } + if (url.match(/^\/[^\/]/)) { + return true; + } + if (url.match(/^\w+:[^\/]*$/)) { + return false; + } + + if (!window.XE.baseurl) { + window.XE.baseurl = window.XE.URI(window.request_uri).normalizePort().normalizePathname(); + window.XE.baseurl = window.XE.baseurl.hostname() + window.XE.baseurl.directory(); + } var target_url = window.XE.URI(url).normalizePort().normalizePathname(); + if (target_url.is("urn")) { + return false; + } if (!target_url.hostname()) { target_url = target_url.absoluteTo(window.request_uri); } target_url = target_url.hostname() + target_url.directory(); - return target_url.indexOf(site_baseurl) === 0; + return target_url.indexOf(window.XE.baseurl) === 0; } }; -}) (jQuery); +})(jQuery); /* jQuery(document).ready() */ jQuery(function($) { @@ -226,8 +242,8 @@ jQuery(function($) { /* Tabnapping protection, step 1 */ $('a[target]').each(function() { var $this = $(this); - var href = $this.attr('href'); - var target = $this.attr('target'); + var href = $this.attr('href').trim(); + var target = $this.attr('target').trim(); if (!href || !target || target === '_top' || target === '_self' || target === '_parent') { return; } @@ -243,8 +259,8 @@ jQuery(function($) { /* Tabnapping protection, step 2 */ $('body').on('click', 'a[target]', function(event) { var $this = $(this); - var href = $this.attr('href'); - var target = $this.attr('target'); + var href = $this.attr('href').trim(); + var target = $this.attr('target').trim(); if (!href || !target || target === '_top' || target === '_self' || target === '_parent') { return; } @@ -314,7 +330,7 @@ jQuery(function($) { }); }); -(function(){ // String extension methods +(function($) { // String extension methods /** * @brief location.href에서 특정 key의 값을 return @@ -405,7 +421,7 @@ jQuery(function($) { return uri.protocol(protocol).port(port || null).normalizePort().filename(filename); } -})(); +})(jQuery); /** * @brief xSleep(micro time) diff --git a/common/js/debug.js b/common/js/debug.js index 6798b9c71..99951ed16 100644 --- a/common/js/debug.js +++ b/common/js/debug.js @@ -8,6 +8,11 @@ $(function() { "use strict"; + // Disable debug panel? + if ($('body').hasClass("disable_debug_panel")) { + return; + } + // Find debug panel elements. var panel = $("#rhymix_debug_panel"); var button = $("#rhymix_debug_button").show(); diff --git a/common/legacy.php b/common/legacy.php index f41ef8d9d..1dfa456f7 100644 --- a/common/legacy.php +++ b/common/legacy.php @@ -158,7 +158,7 @@ function executeQueryArray($query_id, $args = NULL, $arg_columns = NULL) { $oDB = DB::getInstance(); $output = $oDB->executeQuery($query_id, $args, $arg_columns); - if(isset($output->data) && !is_array($output->data) && count($output->data) > 0) + if(isset($output->data) && !is_array($output->data) && countobj($output->data) > 0) { $output->data = array($output->data); } diff --git a/common/tpl/common_layout.html b/common/tpl/common_layout.html index b59512931..6d4ed4454 100644 --- a/common/tpl/common_layout.html +++ b/common/tpl/common_layout.html @@ -5,7 +5,7 @@ - + diff --git a/m.layouts/colorCode/layout.html b/m.layouts/colorCode/layout.html index 687dec7e5..856348271 100644 --- a/m.layouts/colorCode/layout.html +++ b/m.layouts/colorCode/layout.html @@ -4,7 +4,6 @@ -
diff --git a/modules/addon/addon.admin.model.php b/modules/addon/addon.admin.model.php index 1769b445c..4e6e3acaa 100644 --- a/modules/addon/addon.admin.model.php +++ b/modules/addon/addon.admin.model.php @@ -305,7 +305,7 @@ class addonAdminModel extends addon $val->options = array($val->options); } - for($i = 0, $c = count($val->options); $i < $c; $i++) + for($i = 0, $c = countobj($val->options); $i < $c; $i++) { $obj->options[$i] = new stdClass(); $obj->options[$i]->title = $val->options[$i]->title->body; diff --git a/modules/addon/addon.class.php b/modules/addon/addon.class.php index 0f249a2d1..64b81e319 100644 --- a/modules/addon/addon.class.php +++ b/modules/addon/addon.class.php @@ -11,7 +11,7 @@ class addon extends ModuleObject /** * Implement if additional tasks are necessary when installing * - * @return Object + * @return void */ function moduleInstall() { @@ -21,7 +21,6 @@ class addon extends ModuleObject $oAddonController->doInsert('member_extra_info', 0, 'site', 'Y'); $oAddonController->doInsert('resize_image', 0, 'site', 'Y'); $oAddonController->makeCacheFile(0); - return new Object(); } /** @@ -53,7 +52,7 @@ class addon extends ModuleObject /** * Execute update * - * @return Object + * @return void */ function moduleUpdate() { @@ -88,8 +87,6 @@ class addon extends ModuleObject } } } - - return new Object(0, 'success_updated'); } /** diff --git a/modules/admin/admin.admin.controller.php b/modules/admin/admin.admin.controller.php index 2e366b864..40748efce 100644 --- a/modules/admin/admin.admin.controller.php +++ b/modules/admin/admin.admin.controller.php @@ -45,6 +45,7 @@ class adminAdminController extends admin return $output; } + Rhymix\Framework\Cache::delete('admin_menu_langs:' . Context::getLangType()); Rhymix\Framework\Storage::deleteDirectory(\RX_BASEDIR . 'files/cache/menu/admin_lang/'); $this->setRedirectUrl(Context::get('error_return_url')); @@ -157,8 +158,8 @@ class adminAdminController extends admin } // create a DesignInfo file - $output = $this->updateDefaultDesignInfo($vars); - return $this->setRedirectUrl(Context::get('error_return_url'), $output); + $this->updateDefaultDesignInfo($vars); + $this->setRedirectUrl(Context::get('error_return_url')); } public function updateDefaultDesignInfo($vars) @@ -208,8 +209,6 @@ class adminAdminController extends admin } $this->makeDefaultDesignFile($designInfo, $vars->site_srl); - - return new Object(); } function makeDefaultDesignFile($designInfo, $site_srl = 0) @@ -286,7 +285,7 @@ class adminAdminController extends admin /** * Cleanning favorite - * @return Object + * @return object|void */ function cleanFavorite() { @@ -300,7 +299,7 @@ class adminAdminController extends admin $favoriteList = $output->get('favoriteList'); if(!$favoriteList) { - return new Object(); + return; } $deleteTargets = array(); @@ -318,7 +317,7 @@ class adminAdminController extends admin if(!count($deleteTargets)) { - return new Object(); + return; } $args = new stdClass(); @@ -328,8 +327,6 @@ class adminAdminController extends admin { return $output; } - - return new Object(); } /** @@ -495,7 +492,7 @@ class adminAdminController extends admin } else { - return new Object(-1, 'fail_to_delete'); + return $this->setError('fail_to_delete'); } $this->setMessage('success_deleted'); } @@ -519,7 +516,7 @@ class adminAdminController extends admin Rhymix\Framework\Config::set('use_sso', $vars->use_sso === 'Y'); if (!Rhymix\Framework\Config::save()) { - return new Object(-1, 'msg_failed_to_save_config'); + return $this->setError('msg_failed_to_save_config'); } $this->setMessage('success_updated'); @@ -539,19 +536,19 @@ class adminAdminController extends admin // Validate the mail sender's information. if (!$vars->mail_default_name) { - return new Object(-1, 'msg_advanced_mailer_sender_name_is_empty'); + return $this->setError('msg_advanced_mailer_sender_name_is_empty'); } if (!$vars->mail_default_from) { - return new Object(-1, 'msg_advanced_mailer_sender_email_is_empty'); + return $this->setError('msg_advanced_mailer_sender_email_is_empty'); } if (!Mail::isVaildMailAddress($vars->mail_default_from)) { - return new Object(-1, 'msg_advanced_mailer_sender_email_is_invalid'); + return $this->setError('msg_advanced_mailer_sender_email_is_invalid'); } if ($vars->mail_default_reply_to && !Mail::isVaildMailAddress($vars->mail_default_reply_to)) { - return new Object(-1, 'msg_advanced_mailer_reply_to_is_invalid'); + return $this->setError('msg_advanced_mailer_reply_to_is_invalid'); } // Validate the mail driver. @@ -559,7 +556,7 @@ class adminAdminController extends admin $mail_driver = $vars->mail_driver; if (!array_key_exists($mail_driver, $mail_drivers)) { - return new Object(-1, 'msg_advanced_mailer_sending_method_is_invalid'); + return $this->setError('msg_advanced_mailer_sending_method_is_invalid'); } // Validate the mail driver settings. @@ -569,7 +566,7 @@ class adminAdminController extends admin $conf_value = $vars->{'mail_' . $mail_driver . '_' . $conf_name} ?: null; if (!$conf_value) { - return new Object(-1, 'msg_advanced_mailer_smtp_host_is_invalid'); + return $this->setError('msg_advanced_mailer_smtp_host_is_invalid'); } $mail_driver_config[$conf_name] = $conf_value; } @@ -579,7 +576,7 @@ class adminAdminController extends admin $sms_driver = $vars->sms_driver; if (!array_key_exists($sms_driver, $sms_drivers)) { - return new Object(-1, 'msg_advanced_mailer_sending_method_is_invalid'); + return $this->setError('msg_advanced_mailer_sending_method_is_invalid'); } // Validate the SMS driver settings. @@ -589,7 +586,7 @@ class adminAdminController extends admin $conf_value = $vars->{'sms_' . $sms_driver . '_' . $conf_name} ?: null; if (!$conf_value) { - return new Object(-1, 'msg_advanced_mailer_smtp_host_is_invalid'); + return $this->setError('msg_advanced_mailer_smtp_host_is_invalid'); } $sms_driver_config[$conf_name] = $conf_value; } @@ -628,7 +625,7 @@ class adminAdminController extends admin Rhymix\Framework\Config::set("sms.allow_split.lms", toBool($vars->allow_split_lms)); if (!Rhymix\Framework\Config::save()) { - return new Object(-1, 'msg_failed_to_save_config'); + return $this->setError('msg_failed_to_save_config'); } $this->setMessage('success_updated'); @@ -683,7 +680,7 @@ class adminAdminController extends admin return $item !== ''; })); if (!Rhymix\Framework\Filters\IpFilter::validateRanges($allowed_ip)) { - return new Object(-1, 'msg_invalid_ip'); + return $this->setError('msg_invalid_ip'); } $denied_ip = array_map('trim', preg_split('/[\r\n]/', $vars->admin_denied_ip)); @@ -691,13 +688,13 @@ class adminAdminController extends admin return $item !== ''; })); if (!Rhymix\Framework\Filters\IpFilter::validateRanges($denied_ip)) { - return new Object(-1, 'msg_invalid_ip'); + return $this->setError('msg_invalid_ip'); } $oMemberAdminModel = getAdminModel('member'); if (!$oMemberAdminModel->getMemberAdminIPCheck($allowed_ip, $denied_ip)) { - return new Object(-1, 'msg_current_ip_will_be_denied'); + return $this->setError('msg_current_ip_will_be_denied'); } Rhymix\Framework\Config::set('admin.allow', array_values($allowed_ip)); @@ -706,7 +703,7 @@ class adminAdminController extends admin // Save if (!Rhymix\Framework\Config::save()) { - return new Object(-1, 'msg_failed_to_save_config'); + return $this->setError('msg_failed_to_save_config'); } $this->setMessage('success_updated'); @@ -745,7 +742,7 @@ class adminAdminController extends admin } if (!Rhymix\Framework\Cache::getDriverInstance($vars->object_cache_type, $cache_servers)) { - return new Object(-1, 'msg_cache_handler_not_supported'); + return $this->setError('msg_cache_handler_not_supported'); } Rhymix\Framework\Config::set('cache', array( 'type' => $vars->object_cache_type, @@ -769,6 +766,7 @@ class adminAdminController extends admin // Mobile view Rhymix\Framework\Config::set('mobile.enabled', $vars->use_mobile_view === 'Y'); Rhymix\Framework\Config::set('mobile.tablets', $vars->tablets_as_mobile === 'Y'); + Rhymix\Framework\Config::set('mobile.viewport', utf8_trim($vars->mobile_viewport)); if (Rhymix\Framework\Config::get('use_mobile_view') !== null) { Rhymix\Framework\Config::set('use_mobile_view', $vars->use_mobile_view === 'Y'); @@ -799,7 +797,7 @@ class adminAdminController extends admin // Save if (!Rhymix\Framework\Config::save()) { - return new Object(-1, 'msg_failed_to_save_config'); + return $this->setError('msg_failed_to_save_config'); } $this->setMessage('success_updated'); @@ -837,15 +835,15 @@ class adminAdminController extends admin ), $log_filename); if (file_exists(RX_BASEDIR . $log_filename_today) && !is_writable(RX_BASEDIR . $log_filename_today)) { - return new Object(-1, 'msg_debug_log_filename_not_writable'); + return $this->setError('msg_debug_log_filename_not_writable'); } if (!file_exists(dirname(RX_BASEDIR . $log_filename)) && !FileHandler::makeDir(dirname(RX_BASEDIR . $log_filename))) { - return new Object(-1, 'msg_debug_log_filename_not_writable'); + return $this->setError('msg_debug_log_filename_not_writable'); } if (!is_writable(dirname(RX_BASEDIR . $log_filename))) { - return new Object(-1, 'msg_debug_log_filename_not_writable'); + return $this->setError('msg_debug_log_filename_not_writable'); } Rhymix\Framework\Config::set('debug.log_filename', $log_filename); @@ -855,14 +853,14 @@ class adminAdminController extends admin return $item !== ''; })); if (!Rhymix\Framework\Filters\IpFilter::validateRanges($allowed_ip)) { - return new Object(-1, 'msg_invalid_ip'); + return $this->setError('msg_invalid_ip'); } Rhymix\Framework\Config::set('debug.allow', array_values($allowed_ip)); // Save if (!Rhymix\Framework\Config::save()) { - return new Object(-1, 'msg_failed_to_save_config'); + return $this->setError('msg_failed_to_save_config'); } $this->setMessage('success_updated'); @@ -894,7 +892,7 @@ class adminAdminController extends admin // Save if (!Rhymix\Framework\Config::save()) { - return new Object(-1, 'msg_failed_to_save_config'); + return $this->setError('msg_failed_to_save_config'); } $this->setMessage('success_updated'); @@ -915,7 +913,7 @@ class adminAdminController extends admin if (!Rhymix\Framework\Filters\IpFilter::validateRanges($allowed_ip)) { - return new Object(-1, 'msg_invalid_ip'); + return $this->setError('msg_invalid_ip'); } Rhymix\Framework\Config::set('lock.locked', $vars->sitelock_locked === 'Y'); @@ -924,7 +922,7 @@ class adminAdminController extends admin Rhymix\Framework\Config::set('lock.allow', array_values($allowed_ip)); if (!Rhymix\Framework\Config::save()) { - return new Object(-1, 'msg_failed_to_save_config'); + return $this->setError('msg_failed_to_save_config'); } $this->setMessage('success_updated'); @@ -945,7 +943,7 @@ class adminAdminController extends admin $domain_info = getModel('module')->getSiteInfo($domain_srl); if ($domain_info->domain_srl != $domain_srl) { - return new Object(-1, 'msg_domain_not_found'); + return $this->setError('msg_domain_not_found'); } } @@ -954,7 +952,7 @@ class adminAdminController extends admin $vars->subtitle = utf8_trim($vars->subtitle); if ($vars->title === '') { - return new Object(-1, 'msg_site_title_is_empty'); + return $this->setError('msg_site_title_is_empty'); } // Validate the domain. @@ -972,12 +970,12 @@ class adminAdminController extends admin } if (!$vars->domain) { - return new Object(-1, 'msg_invalid_domain'); + return $this->setError('msg_invalid_domain'); } $existing_domain = getModel('module')->getSiteInfoByDomain($vars->domain); if ($existing_domain && $existing_domain->domain == $vars->domain && (!$domain_info || $existing_domain->domain_srl != $domain_info->domain_srl)) { - return new Object(-1, 'msg_domain_already_exists'); + return $this->setError('msg_domain_already_exists'); } // Validate the ports. @@ -991,11 +989,11 @@ class adminAdminController extends admin } if ($vars->http_port !== 0 && ($vars->http_port < 1 || $vars->http_port > 65535 || $vars->http_port == 443)) { - return new Object(-1, 'msg_invalid_http_port'); + return $this->setError('msg_invalid_http_port'); } if ($vars->https_port !== 0 && ($vars->https_port < 1 || $vars->https_port > 65535 || $vars->https_port == 80)) { - return new Object(-1, 'msg_invalid_https_port'); + return $this->setError('msg_invalid_https_port'); } // Validate the security setting. @@ -1009,7 +1007,7 @@ class adminAdminController extends admin $module_info = getModel('module')->getModuleInfoByModuleSrl(intval($vars->index_module_srl)); if (!$module_info || $module_info->module_srl != $vars->index_module_srl) { - return new Object(-1, 'msg_invalid_index_module_srl'); + return $this->setError('msg_invalid_index_module_srl'); } // Validate the index document setting. @@ -1018,11 +1016,11 @@ class adminAdminController extends admin $oDocument = getModel('document')->getDocument($vars->index_document_srl); if (!$oDocument || !$oDocument->isExists()) { - return new Object(-1, 'msg_invalid_index_document_srl'); + return $this->setError('msg_invalid_index_document_srl'); } if (intval($oDocument->get('module_srl')) !== intval($vars->index_module_srl)) { - return new Object(-1, 'msg_invalid_index_document_srl_module_srl'); + return $this->setError('msg_invalid_index_document_srl_module_srl'); } } else @@ -1034,14 +1032,14 @@ class adminAdminController extends admin $enabled_lang = Rhymix\Framework\Config::get('locale.enabled_lang'); if (!in_array($vars->default_lang, $enabled_lang)) { - return new Object(-1, 'msg_lang_is_not_enabled'); + return $this->setError('msg_lang_is_not_enabled'); } // Validate the default time zone. $timezone_list = Rhymix\Framework\DateTime::getTimezoneList(); if (!isset($timezone_list[$vars->default_timezone])) { - return new Object(-1, 'msg_invalid_timezone'); + return $this->setError('msg_invalid_timezone'); } // Clean up the header and footer scripts. @@ -1164,16 +1162,16 @@ class adminAdminController extends admin $domain_srl = strval(Context::get('domain_srl')); if ($domain_srl === '') { - return new Object(-1, 'msg_domain_not_found'); + return $this->setError('msg_domain_not_found'); } $domain_info = getModel('module')->getSiteInfo($domain_srl); if ($domain_info->domain_srl != $domain_srl) { - return new Object(-1, 'msg_domain_not_found'); + return $this->setError('msg_domain_not_found'); } if ($domain_info->is_default_domain === 'Y') { - return new Object(-1, 'msg_cannot_delete_default_domain'); + return $this->setError('msg_cannot_delete_default_domain'); } // Delete the domain. @@ -1206,19 +1204,19 @@ class adminAdminController extends admin { if (!($conn = @ftp_connect($vars->ftp_host, $vars->ftp_port, 3))) { - return new Object(-1, 'msg_ftp_not_connected'); + return $this->setError('msg_ftp_not_connected'); } if (!@ftp_login($conn, $vars->ftp_user, $vars->ftp_pass)) { - return new Object(-1, 'msg_ftp_invalid_auth_info'); + return $this->setError('msg_ftp_invalid_auth_info'); } if (!@ftp_pasv($conn, $vars->ftp_pasv === 'Y')) { - return new Object(-1, 'msg_ftp_cannot_set_passive_mode'); + return $this->setError('msg_ftp_cannot_set_passive_mode'); } if (!@ftp_chdir($conn, $vars->ftp_path)) { - return new Object(-1, 'msg_ftp_invalid_path'); + return $this->setError('msg_ftp_invalid_path'); } ftp_close($conn); } @@ -1226,23 +1224,23 @@ class adminAdminController extends admin { if (!function_exists('ssh2_connect')) { - return new Object(-1, 'disable_sftp_support'); + return $this->setError('disable_sftp_support'); } if (!($conn = ssh2_connect($vars->ftp_host, $vars->ftp_port))) { - return new Object(-1, 'msg_ftp_not_connected'); + return $this->setError('msg_ftp_not_connected'); } if (!@ssh2_auth_password($conn, $vars->ftp_user, $vars->ftp_pass)) { - return new Object(-1, 'msg_ftp_invalid_auth_info'); + return $this->setError('msg_ftp_invalid_auth_info'); } if (!@($sftp = ssh2_sftp($conn))) { - return new Object(-1, 'msg_ftp_sftp_error'); + return $this->setError('msg_ftp_sftp_error'); } if (!@ssh2_sftp_stat($sftp, $vars->ftp_path . 'common/defaults/config.php')) { - return new Object(-1, 'msg_ftp_invalid_path'); + return $this->setError('msg_ftp_invalid_path'); } unset($sftp, $conn); } @@ -1257,7 +1255,7 @@ class adminAdminController extends admin Rhymix\Framework\Config::set('ftp.sftp', $vars->ftp_sftp === 'Y'); if (!Rhymix\Framework\Config::save()) { - return new Object(-1, 'msg_failed_to_save_config'); + return $this->setError('msg_failed_to_save_config'); } $this->setMessage('success_updated'); @@ -1278,7 +1276,7 @@ class adminAdminController extends admin Rhymix\Framework\Config::set('ftp.sftp', false); if (!Rhymix\Framework\Config::save()) { - return new Object(-1, 'msg_failed_to_save_config'); + return $this->setError('msg_failed_to_save_config'); } $this->setMessage('success_deleted'); diff --git a/modules/admin/admin.admin.model.php b/modules/admin/admin.admin.model.php index 952773514..65395c5c6 100644 --- a/modules/admin/admin.admin.model.php +++ b/modules/admin/admin.admin.model.php @@ -43,7 +43,7 @@ class adminAdminModel extends admin $connection = ssh2_connect($ftp_info->ftp_host, $ftp_info->ftp_port); if(!ssh2_auth_password($connection, $ftp_info->ftp_user, $ftp_info->ftp_password)) { - return new Object(-1, 'msg_ftp_invalid_auth_info'); + return $this->setError('msg_ftp_invalid_auth_info'); } $sftp = ssh2_sftp($connection); @@ -112,14 +112,14 @@ class adminAdminModel extends admin $connection = ftp_connect($ftp_info->ftp_host, $ftp_info->ftp_port); if(!$connection) { - return new Object(-1, sprintf(lang('msg_ftp_not_connected'), 'host')); + return $this->setError('msg_ftp_not_connected', 'host'); } $login_result = @ftp_login($connection, $ftp_info->ftp_user, $ftp_info->ftp_password); if(!$login_result) { ftp_close($connection); - return new Object(-1, 'msg_ftp_invalid_auth_info'); + return $this->setError('msg_ftp_invalid_auth_info'); } // create temp file @@ -182,7 +182,7 @@ class adminAdminModel extends admin if(!$ftp_info->ftp_user || !$ftp_info->ftp_password) { - return new Object(1, 'msg_ftp_invalid_auth_info'); + return new BaseObject(1, 'msg_ftp_invalid_auth_info'); } if(!$ftp_info->ftp_host) @@ -199,7 +199,7 @@ class adminAdminModel extends admin { if(!function_exists('ssh2_sftp')) { - return new Object(-1, 'disable_sftp_support'); + return $this->setError('disable_sftp_support'); } return $this->getSFTPPath(); } @@ -216,12 +216,12 @@ class adminAdminModel extends admin $oFTP = new ftp(); if(!$oFTP->ftp_connect($ftp_info->ftp_host, $ftp_info->ftp_port)) { - return new Object(1, sprintf(lang('msg_ftp_not_connected'), 'host')); + return new BaseObject(1, sprintf(lang('msg_ftp_not_connected'), 'host')); } if(!$oFTP->ftp_login($ftp_info->ftp_user, $ftp_info->ftp_password)) { - return new Object(1, 'msg_ftp_invalid_auth_info'); + return new BaseObject(1, 'msg_ftp_invalid_auth_info'); } // create temp file @@ -286,7 +286,7 @@ class adminAdminModel extends admin $connection = ssh2_connect($ftp_info->ftp_host, $ftp_info->ftp_port); if(!ssh2_auth_password($connection, $ftp_info->ftp_user, $ftp_info->ftp_password)) { - return new Object(-1, 'msg_ftp_invalid_auth_info'); + return $this->setError('msg_ftp_invalid_auth_info'); } $sftp = ssh2_sftp($connection); @@ -294,7 +294,7 @@ class adminAdminModel extends admin $dh = @opendir($curpwd); if(!$dh) { - return new Object(-1, 'msg_ftp_invalid_path'); + return $this->setError('msg_ftp_invalid_path'); } $list = array(); while(($file = readdir($dh)) !== FALSE) @@ -325,7 +325,7 @@ class adminAdminModel extends admin $ftp_info = Context::getRequestVars(); if(!$ftp_info->ftp_user || !$ftp_info->ftp_password) { - return new Object(-1, 'msg_ftp_invalid_auth_info'); + return $this->setError('msg_ftp_invalid_auth_info'); } $this->pwd = $ftp_info->ftp_root_path; @@ -344,7 +344,7 @@ class adminAdminModel extends admin { if(!function_exists('ssh2_sftp')) { - return new Object(-1, 'disable_sftp_support'); + return $this->setError('disable_sftp_support'); } return $this->getSFTPList(); } @@ -359,7 +359,7 @@ class adminAdminModel extends admin } else { - return new Object(-1, 'msg_ftp_invalid_auth_info'); + return $this->setError('msg_ftp_invalid_auth_info'); } } $list = array(); @@ -380,7 +380,7 @@ class adminAdminModel extends admin } else { - return new Object(-1, 'msg_ftp_no_directory'); + return $this->setError('msg_ftp_no_directory'); } $this->add('list', $list); } @@ -624,38 +624,33 @@ class adminAdminModel extends admin */ function getAdminMenuLang() { - $currentLang = Context::getLangType(); - $cacheFile = sprintf('./files/cache/menu/admin_lang/adminMenu.%s.lang.php', $currentLang); - - // Update if no cache file exists or it is older than xml file - if(!is_readable($cacheFile)) + static $lang = null; + + if ($lang === null) { - $lang = new stdClass(); + $lang = Rhymix\Framework\Cache::get('admin_menu_langs:' . Context::getLangType()); + } + if ($lang === null) + { + $lang = array(); $oModuleModel = getModel('module'); $installed_module_list = $oModuleModel->getModulesXmlInfo(); - - $this->gnbLangBuffer = ' $value) + foreach($installed_module_list as $key => $value) { $moduleActionInfo = $oModuleModel->getModuleActionXml($value->module); if(is_object($moduleActionInfo->menu)) { - foreach($moduleActionInfo->menu AS $key2 => $value2) + foreach($moduleActionInfo->menu as $key2 => $value2) { - $lang->menu_gnb_sub[$key2] = $value2->title; - $this->gnbLangBuffer .=sprintf('$lang->menu_gnb_sub[\'%s\'] = \'%s\';', $key2, $value2->title); + $lang[$key2] = $value2->title; } } } - $this->gnbLangBuffer .= ' ?>'; - FileHandler::writeFile($cacheFile, $this->gnbLangBuffer); - } - else - { - include $cacheFile; + + Rhymix\Framework\Cache::set('admin_menu_langs:' . Context::getLangType(), $lang, 0, true); } - return $lang->menu_gnb_sub; + return $lang; } /** @@ -675,7 +670,7 @@ class adminAdminModel extends admin } if(!$output->data) { - return new Object(); + return new BaseObject(); } if($isGetModuleInfo && is_array($output->data)) @@ -689,7 +684,7 @@ class adminAdminModel extends admin } } - $returnObject = new Object(); + $returnObject = new BaseObject(); $returnObject->add('favoriteList', $output->data); return $returnObject; } @@ -711,7 +706,7 @@ class adminAdminModel extends admin return $output; } - $returnObject = new Object(); + $returnObject = new BaseObject(); if($output->data) { $returnObject->add('result', TRUE); diff --git a/modules/admin/admin.admin.view.php b/modules/admin/admin.admin.view.php index 13017eb3e..f726b6d17 100644 --- a/modules/admin/admin.admin.view.php +++ b/modules/admin/admin.admin.view.php @@ -565,6 +565,7 @@ class adminAdminView extends admin Context::set('use_rewrite', Rhymix\Framework\Config::get('use_rewrite')); Context::set('use_mobile_view', (config('mobile.enabled') !== null ? config('mobile.enabled') : config('use_mobile_view')) ? true : false); Context::set('tablets_as_mobile', config('mobile.tablets') ? true : false); + Context::set('mobile_viewport', config('mobile.viewport') ?: 'width=device-width, initial-scale=1.0, user-scalable=yes'); Context::set('use_ssl', Rhymix\Framework\Config::get('url.ssl')); Context::set('delay_session', Rhymix\Framework\Config::get('session.delay')); Context::set('use_session_keys', Rhymix\Framework\Config::get('session.use_keys')); @@ -661,7 +662,7 @@ class adminAdminView extends admin $domain_info = getModel('module')->getSiteInfo($domain_srl); if ($domain_info->domain_srl != $domain_srl) { - return new Object(-1, 'msg_domain_not_found'); + return $this->setError('msg_domain_not_found'); } } Context::set('domain_info', $domain_info); diff --git a/modules/admin/admin.class.php b/modules/admin/admin.class.php index 43e208f73..84f83242e 100644 --- a/modules/admin/admin.class.php +++ b/modules/admin/admin.class.php @@ -20,11 +20,11 @@ class admin extends ModuleObject /** * Install admin module - * @return Object + * @return void */ function moduleInstall() { - return new Object(); + } /** @@ -44,7 +44,7 @@ class admin extends ModuleObject /** * Update module - * @return Object + * @return void */ function moduleUpdate() { @@ -68,7 +68,6 @@ class admin extends ModuleObject } } } - return new Object(); } /** diff --git a/modules/admin/lang/en.php b/modules/admin/lang/en.php index 793c6578a..6e64a385b 100644 --- a/modules/admin/lang/en.php +++ b/modules/admin/lang/en.php @@ -248,6 +248,8 @@ $lang->timezone = 'Time Zone'; $lang->use_mobile_view = 'Enable Mobile View'; $lang->about_use_mobile_view = 'Show mobile page when visitors access with mobile devices.'; $lang->tablets_as_mobile = 'Treat Tablets as Mobile'; +$lang->mobile_viewport = 'Mobile viewport Setting'; +$lang->about_mobile_viewport = 'The settings entered above will be output in a <meta name="viewport"> tag for mobile visitors.'; $lang->thumbnail_target = 'Extract Thumbnail From'; $lang->thumbnail_target_all = 'All images'; $lang->thumbnail_target_attachment = 'Attached images only'; diff --git a/modules/admin/lang/ko.php b/modules/admin/lang/ko.php index f5d3fbcab..65b0a52af 100644 --- a/modules/admin/lang/ko.php +++ b/modules/admin/lang/ko.php @@ -244,6 +244,8 @@ $lang->timezone = '표준 시간대'; $lang->use_mobile_view = '모바일 뷰 사용'; $lang->about_use_mobile_view = '모바일 기기로 접속시 모바일 페이지를 보여줍니다.'; $lang->tablets_as_mobile = '태블릿도 모바일 취급'; +$lang->mobile_viewport = '모바일 viewport 설정'; +$lang->about_mobile_viewport = '모바일 접속시 여기 입력한 내용이 <meta name="viewport"> 태그로 출력됩니다.'; $lang->thumbnail_target = '썸네일 생성 대상'; $lang->thumbnail_target_all = '모든 이미지 (외부 이미지 포함)'; $lang->thumbnail_target_attachment = '첨부된 이미지'; diff --git a/modules/admin/tpl/config_advanced.html b/modules/admin/tpl/config_advanced.html index 60aa8fc9f..3aaf506da 100644 --- a/modules/admin/tpl/config_advanced.html +++ b/modules/admin/tpl/config_advanced.html @@ -80,6 +80,13 @@ +
+ +
+ +

{$lang->about_mobile_viewport}

+
+
diff --git a/modules/adminlogging/adminlogging.class.php b/modules/adminlogging/adminlogging.class.php index f8dc29185..21cd2bc3a 100644 --- a/modules/adminlogging/adminlogging.class.php +++ b/modules/adminlogging/adminlogging.class.php @@ -14,11 +14,11 @@ class adminlogging extends ModuleObject /** * Install adminlogging module - * @return Object + * @return void */ function moduleInstall() { - return new Object(); + } /** @@ -32,11 +32,11 @@ class adminlogging extends ModuleObject /** * Update module - * @return Object + * @return void */ function moduleUpdate() { - return new Object(); + } /** diff --git a/modules/advanced_mailer/advanced_mailer.admin.controller.php b/modules/advanced_mailer/advanced_mailer.admin.controller.php index 5019ba688..66de18923 100644 --- a/modules/advanced_mailer/advanced_mailer.admin.controller.php +++ b/modules/advanced_mailer/advanced_mailer.admin.controller.php @@ -61,7 +61,7 @@ class Advanced_MailerAdminController extends Advanced_Mailer { if ($method !== 'default' && !isset($sending_methods[$method])) { - return new Object(-1, 'msg_advanced_mailer_sending_method_is_invalid'); + return $this->setError('msg_advanced_mailer_sending_method_is_invalid'); } if ($method !== 'default') { @@ -69,9 +69,7 @@ class Advanced_MailerAdminController extends Advanced_Mailer { if (!Rhymix\Framework\Config::get("mail.$method.$conf_name")) { - return new Object(-1, sprintf( - Context::getLang('msg_advanced_mailer_sending_method_is_not_configured'), - Context::getLang('cmd_advanced_mailer_sending_method_' . $method))); + return $this->setError('msg_advanced_mailer_sending_method_is_not_configured', lang('cmd_advanced_mailer_sending_method_' . $method)); } } } @@ -157,11 +155,11 @@ class Advanced_MailerAdminController extends Advanced_Mailer $clear_before_days = intval(Context::get('clear_before_days')); if (!in_array($status, array('success', 'error'))) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } if ($clear_before_days < 0) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $obj = new stdClass(); @@ -188,11 +186,11 @@ class Advanced_MailerAdminController extends Advanced_Mailer $clear_before_days = intval(Context::get('clear_before_days')); if (!in_array($status, array('success', 'error'))) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } if ($clear_before_days < 0) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $obj = new stdClass(); diff --git a/modules/advanced_mailer/advanced_mailer.admin.view.php b/modules/advanced_mailer/advanced_mailer.admin.view.php index 385c1a508..2d96386be 100644 --- a/modules/advanced_mailer/advanced_mailer.admin.view.php +++ b/modules/advanced_mailer/advanced_mailer.admin.view.php @@ -302,7 +302,7 @@ class Advanced_MailerAdminView extends Advanced_Mailer $total_count = $count->data->count; $total_page = max(1, ceil($total_count / 20)); - $output = new Object(); + $output = new stdClass; $output->total_count = $total_count; $output->total_page = $total_page; $output->page = $page; diff --git a/modules/advanced_mailer/advanced_mailer.class.php b/modules/advanced_mailer/advanced_mailer.class.php index 2e4796433..b63f0f45a 100644 --- a/modules/advanced_mailer/advanced_mailer.class.php +++ b/modules/advanced_mailer/advanced_mailer.class.php @@ -208,7 +208,6 @@ class Advanced_Mailer extends ModuleObject public function moduleInstall() { $this->registerTriggers(); - return new Object(); } /** @@ -242,7 +241,6 @@ class Advanced_Mailer extends ModuleObject public function moduleUpdate() { $this->registerTriggers(); - return new Object(0, 'success_updated'); } public function recompileCache() diff --git a/modules/autoinstall/autoinstall.admin.controller.php b/modules/autoinstall/autoinstall.admin.controller.php index 888d95d47..f6f195f79 100644 --- a/modules/autoinstall/autoinstall.admin.controller.php +++ b/modules/autoinstall/autoinstall.admin.controller.php @@ -83,7 +83,7 @@ class autoinstallAdminController extends autoinstall $this->checkInstalled(); $oAdminController = getAdminController('admin'); - $output = $oAdminController->cleanFavorite(); + $oAdminController->cleanFavorite(); } /** @@ -404,7 +404,7 @@ class autoinstallAdminController extends autoinstall $this->setMessage('success_deleted', 'update'); - return new Object(); + return new BaseObject(); } } diff --git a/modules/autoinstall/autoinstall.admin.model.php b/modules/autoinstall/autoinstall.admin.model.php index 7351053ad..fad936108 100644 --- a/modules/autoinstall/autoinstall.admin.model.php +++ b/modules/autoinstall/autoinstall.admin.model.php @@ -354,7 +354,7 @@ class autoinstallAdminModel extends autoinstall $packageSrl = Context::get('package_srl'); if(!$packageSrl) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $package = $this->getInstallInfo($packageSrl); @@ -389,12 +389,12 @@ class autoinstallAdminModel extends autoinstall if($directModuleInstall==FALSE) { - $output = new Object(-1, 'msg_direct_inall_invalid'); + $output = new BaseObject(-1, 'msg_direct_inall_invalid'); $output->add('path', $arrUnwritableDir); return $output; } - return new Object(); + return new BaseObject(); } public function isWritableDir($path) @@ -414,11 +414,11 @@ class autoinstallAdminModel extends autoinstall if(FileHandler::isWritableDir($check_path)==FALSE) { - $output = new Object(-1, 'msg_unwritable_directory'); + $output = new BaseObject(-1, 'msg_unwritable_directory'); $output->add('path', FileHandler::getRealPath($check_path)); return $output; } - return new Object(); + return new BaseObject(); } } diff --git a/modules/autoinstall/autoinstall.class.php b/modules/autoinstall/autoinstall.class.php index 6a3e9eb5d..bb821e125 100644 --- a/modules/autoinstall/autoinstall.class.php +++ b/modules/autoinstall/autoinstall.class.php @@ -156,8 +156,6 @@ class autoinstall extends ModuleObject { $oDB->addColumn('autoinstall_packages', 'have_instance', 'char', '1', 'N', TRUE); } - - return new Object(0, 'success_updated'); } /** diff --git a/modules/autoinstall/autoinstall.lib.php b/modules/autoinstall/autoinstall.lib.php index d2c992192..3e1f6b7be 100644 --- a/modules/autoinstall/autoinstall.lib.php +++ b/modules/autoinstall/autoinstall.lib.php @@ -156,15 +156,15 @@ class ModuleInstaller $oModule = getModule($target_name, "class"); if(!$oModule) { - return new Object(-1, 'msg_invalid_request'); + return new BaseObject(-1, 'msg_invalid_request'); } if(!method_exists($oModule, "moduleUninstall")) { - return new Object(-1, 'msg_invalid_request'); + return new BaseObject(-1, 'msg_invalid_request'); } $output = $oModule->moduleUninstall(); - if($output instanceof Object && !$output->toBool()) + if($output instanceof BaseObject && !$output->toBool()) { return $output; } @@ -181,7 +181,7 @@ class ModuleInstaller $oDB->dropTable($filename); } } - return new Object(); + return new BaseObject(); } /** @@ -241,7 +241,7 @@ class ModuleInstaller $this->installModule(); FileHandler::removeDir($this->temp_dir); - return new Object(); + return new BaseObject(); } /** @@ -359,12 +359,12 @@ class SFTPModuleInstaller extends ModuleInstaller { if(!function_exists('ssh2_connect')) { - return new Object(-1, 'msg_sftp_not_supported'); + return new BaseObject(-1, 'msg_sftp_not_supported'); } if(!$this->ftp_info->ftp_user || !$this->ftp_info->sftp || $this->ftp_info->sftp != 'Y') { - return new Object(-1, 'msg_ftp_invalid_auth_info'); + return new BaseObject(-1, 'msg_ftp_invalid_auth_info'); } if($this->ftp_info->ftp_host) @@ -378,11 +378,11 @@ class SFTPModuleInstaller extends ModuleInstaller $this->connection = ssh2_connect($ftp_host, $this->ftp_info->ftp_port); if(!@ssh2_auth_password($this->connection, $this->ftp_info->ftp_user, $this->ftp_password)) { - return new Object(-1, 'msg_ftp_invalid_auth_info'); + return new BaseObject(-1, 'msg_ftp_invalid_auth_info'); } $_SESSION['ftp_password'] = $this->ftp_password; $this->sftp = ssh2_sftp($this->connection); - return new Object(); + return new BaseObject(); } /** @@ -411,9 +411,9 @@ class SFTPModuleInstaller extends ModuleInstaller if(!@ssh2_sftp_unlink($this->sftp, $target_path)) { - return new Object(-1, sprintf(lang('msg_delete_file_failed'), $path)); + return new BaseObject(-1, sprintf(lang('msg_delete_file_failed'), $path)); } - return new Object(); + return new BaseObject(); } /** @@ -432,9 +432,9 @@ class SFTPModuleInstaller extends ModuleInstaller if(!@ssh2_sftp_rmdir($this->sftp, $target_path)) { - return new Object(-1, sprintf(lang('msg_delete_dir_failed'), $path)); + return new BaseObject(-1, sprintf(lang('msg_delete_dir_failed'), $path)); } - return new Object(); + return new BaseObject(); } /** @@ -447,7 +447,7 @@ class SFTPModuleInstaller extends ModuleInstaller { if(!$this->ftp_password) { - return new Object(-1, 'msg_ftp_password_input'); + return new BaseObject(-1, 'msg_ftp_password_input'); } $output = $this->_connect(); @@ -477,7 +477,7 @@ class SFTPModuleInstaller extends ModuleInstaller ssh2_scp_send($this->connection, FileHandler::getRealPath($this->download_path . "/" . $org_file), $target_dir . "/" . $file); } } - return new Object(); + return new BaseObject(); } } @@ -532,14 +532,14 @@ class PHPFTPModuleInstaller extends ModuleInstaller $this->connection = ftp_connect($ftp_host, $this->ftp_info->ftp_port); if(!$this->connection) { - return new Object(-1, sprintf(lang('msg_ftp_not_connected'), 'host')); + return new BaseObject(-1, sprintf(lang('msg_ftp_not_connected'), 'host')); } $login_result = @ftp_login($this->connection, $this->ftp_info->ftp_user, $this->ftp_password); if(!$login_result) { $this->_close(); - return new Object(-1, 'msg_ftp_invalid_auth_info'); + return new BaseObject(-1, 'msg_ftp_invalid_auth_info'); } $_SESSION['ftp_password'] = $this->ftp_password; @@ -547,7 +547,7 @@ class PHPFTPModuleInstaller extends ModuleInstaller { ftp_pasv($this->connection, TRUE); } - return new Object(); + return new BaseObject(); } /** @@ -566,9 +566,9 @@ class PHPFTPModuleInstaller extends ModuleInstaller if(!@ftp_delete($this->connection, $target_path)) { - return new Object(-1, "failed to delete file " . $path); + return new BaseObject(-1, "failed to delete file " . $path); } - return new Object(); + return new BaseObject(); } /** @@ -587,9 +587,9 @@ class PHPFTPModuleInstaller extends ModuleInstaller if(!@ftp_rmdir($this->connection, $target_path)) { - return new Object(-1, "failed to delete directory " . $path); + return new BaseObject(-1, "failed to delete directory " . $path); } - return new Object(); + return new BaseObject(); } /** @@ -612,7 +612,7 @@ class PHPFTPModuleInstaller extends ModuleInstaller { if(!$this->ftp_password) { - return new Object(-1, 'msg_ftp_password_input'); + return new BaseObject(-1, 'msg_ftp_password_input'); } $output = $this->_connect(); @@ -662,7 +662,7 @@ class PHPFTPModuleInstaller extends ModuleInstaller { if(!@ftp_mkdir($this->connection, $ftp_path)) { - return new Object(-1, "msg_make_directory_failed"); + return new BaseObject(-1, "msg_make_directory_failed"); } if(strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') @@ -671,14 +671,14 @@ class PHPFTPModuleInstaller extends ModuleInstaller { if(!ftp_chmod($this->connection, 0755, $ftp_path)) { - return new Object(-1, "msg_permission_adjust_failed"); + return new BaseObject(-1, "msg_permission_adjust_failed"); } } else { if(!ftp_site($this->connection, "CHMOD 755 " . $ftp_path)) { - return new Object(-1, "msg_permission_adjust_failed"); + return new BaseObject(-1, "msg_permission_adjust_failed"); } } } @@ -686,12 +686,12 @@ class PHPFTPModuleInstaller extends ModuleInstaller } if(!ftp_put($this->connection, $target_dir . '/' . $file, FileHandler::getRealPath($this->download_path . "/" . $org_file), FTP_BINARY)) { - return new Object(-1, "msg_ftp_upload_failed"); + return new BaseObject(-1, "msg_ftp_upload_failed"); } } } $this->_close(); - return new Object(); + return new BaseObject(); } } @@ -745,15 +745,15 @@ class FTPModuleInstaller extends ModuleInstaller $this->oFtp = new ftp(); if(!$this->oFtp->ftp_connect($ftp_host, $this->ftp_info->ftp_port)) { - return new Object(-1, sprintf(lang('msg_ftp_not_connected'), 'host')); + return new BaseObject(-1, sprintf(lang('msg_ftp_not_connected'), 'host')); } if(!$this->oFtp->ftp_login($this->ftp_info->ftp_user, $this->ftp_password)) { $this->_close(); - return new Object(-1, 'msg_ftp_invalid_auth_info'); + return new BaseObject(-1, 'msg_ftp_invalid_auth_info'); } $_SESSION['ftp_password'] = $this->ftp_password; - return new Object(); + return new BaseObject(); } /** @@ -772,9 +772,9 @@ class FTPModuleInstaller extends ModuleInstaller if(!$this->oFtp->ftp_delete($target_path)) { - return new Object(-1, sprintf(lang('msg_delete_file_failed'), $path)); + return new BaseObject(-1, sprintf(lang('msg_delete_file_failed'), $path)); } - return new Object(); + return new BaseObject(); } /** @@ -792,9 +792,9 @@ class FTPModuleInstaller extends ModuleInstaller if(!$this->oFtp->ftp_rmdir($target_path)) { - return new Object(-1, sprintf(lang('msg_delete_dir_failed'), $path)); + return new BaseObject(-1, sprintf(lang('msg_delete_dir_failed'), $path)); } - return new Object(); + return new BaseObject(); } /** @@ -817,7 +817,7 @@ class FTPModuleInstaller extends ModuleInstaller { if(!$this->ftp_password) { - return new Object(-1, 'msg_ftp_password_input'); + return new BaseObject(-1, 'msg_ftp_password_input'); } $output = $this->_connect(); @@ -864,7 +864,7 @@ class FTPModuleInstaller extends ModuleInstaller $this->_close(); - return new Object(); + return new BaseObject(); } } @@ -892,7 +892,7 @@ class DirectModuleInstaller extends ModuleInstaller */ function _connect() { - return new Object(); + return new BaseObject(); } /** @@ -911,9 +911,9 @@ class DirectModuleInstaller extends ModuleInstaller if(!FileHandler::removeFile($target_path)) { - return new Object(-1, sprintf(lang('msg_delete_file_failed'), $path)); + return new BaseObject(-1, sprintf(lang('msg_delete_file_failed'), $path)); } - return new Object(); + return new BaseObject(); } /** @@ -931,7 +931,7 @@ class DirectModuleInstaller extends ModuleInstaller FileHandler::removeDir($target_path); - return new Object(); + return new BaseObject(); } /** @@ -989,7 +989,7 @@ class DirectModuleInstaller extends ModuleInstaller $this->_close(); - return new Object(); + return new BaseObject(); } } diff --git a/modules/board/board.admin.controller.php b/modules/board/board.admin.controller.php index dfe68ab91..571e972ce 100644 --- a/modules/board/board.admin.controller.php +++ b/modules/board/board.admin.controller.php @@ -166,7 +166,7 @@ class boardAdminController extends board { $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl); if($module_info->mid != $mid) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $module_info->hide_category = Context::get('hide_category') == 'Y' ? 'Y' : 'N'; diff --git a/modules/board/board.class.php b/modules/board/board.class.php index 3ff4b0232..e5fe03f7d 100644 --- a/modules/board/board.class.php +++ b/modules/board/board.class.php @@ -75,8 +75,6 @@ class board extends ModuleObject $oModuleController->updateSite($site_args); } } - - return new Object(); } /** @@ -113,14 +111,12 @@ class board extends ModuleObject { $oModuleController->insertTrigger('menu.getModuleListInSitemap', 'board', 'model', 'triggerModuleListInSitemap', 'after'); } - - return new Object(0, 'success_updated'); } function moduleUninstall() { $output = executeQueryArray("board.getAllBoard"); - if(!$output->data) return new Object(); + if(!$output->data) return new BaseObject(); @set_time_limit(0); $oModuleController = getController('module'); @@ -130,6 +126,6 @@ class board extends ModuleObject $oModuleController->deleteModule($board->module_srl); } - return new Object(); + return new BaseObject(); } } diff --git a/modules/board/board.controller.php b/modules/board/board.controller.php index 642d83d6a..d5f1fcae9 100644 --- a/modules/board/board.controller.php +++ b/modules/board/board.controller.php @@ -24,7 +24,7 @@ class boardController extends board // check grant if(!$this->grant->write_document) { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } // setup variables @@ -35,7 +35,7 @@ class boardController extends board // Return error if content is empty. if (is_empty_html_content($obj->content)) { - return new Object(-1, 'msg_empty_content'); + return $this->setError('msg_empty_content'); } // unset document style if not manager @@ -100,14 +100,14 @@ class boardController extends board { if(!$oDocument->isGranted()) { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } // Protect admin document $member_info = getModel('member')->getMemberInfoByMemberSrl($oDocument->get('member_srl')); if($member_info->is_admin == 'Y' && $logged_info->is_admin != 'Y') { - return new Object(-1, 'msg_admin_document_no_modify'); + return $this->setError('msg_admin_document_no_modify'); } // if document status is temp @@ -131,7 +131,7 @@ class boardController extends board { if($oDocument->get('comment_count') > 0 && !$this->grant->manager) { - return new Object(-1, 'msg_protect_update_content'); + return $this->setError('msg_protect_update_content'); } } @@ -140,7 +140,7 @@ class boardController extends board { if($oDocument->get('regdate') < date('YmdHis', strtotime('-' . $this->module_info->protect_document_regdate . ' day'))) { - return new Object(-1, sprintf(lang('msg_protect_regdate_document'), $this->module_info->protect_document_regdate)); + return $this->setError(sprintf(lang('msg_protect_regdate_document'), $this->module_info->protect_document_regdate)); } } @@ -228,7 +228,7 @@ class boardController extends board $logged_info = Context::get('logged_info'); if(!$update_id) { - return new Object(-1, 'msg_no_update_id'); + return $this->setError('msg_no_update_id'); } $oDocumentModel = getModel('document'); @@ -240,13 +240,13 @@ class boardController extends board $Exists_log = $oDocumentModel->getUpdateLogAdminisExists($update_log->document_srl); if($Exists_log === true) { - return new Object(-1, 'msg_admin_update_log'); + return $this->setError('msg_admin_update_log'); } } if(!$update_log) { - return new Object(-1, 'msg_no_update_log'); + return $this->setError('msg_no_update_log'); } $oDocument = $oDocumentModel->getDocument($update_log->document_srl); @@ -275,7 +275,7 @@ class boardController extends board // if the document is not existed if(!$document_srl) { - return new Object(-1, 'msg_invalid_document'); + return $this->setError('msg_invalid_document'); } $oDocumentModel = &getModel('document'); @@ -285,7 +285,7 @@ class boardController extends board { if($oDocument->get('comment_count') > 0 && $this->grant->manager == false) { - return new Object(-1, 'msg_protect_delete_content'); + return $this->setError('msg_protect_delete_content'); } } @@ -295,7 +295,7 @@ class boardController extends board { $format = lang('msg_protect_regdate_document'); $massage = sprintf($format, $this->module_info->protect_document_regdate); - return new Object(-1, $massage); + return $this->setError($massage); } } // generate document module controller object @@ -349,7 +349,7 @@ class boardController extends board // check grant if(!$this->grant->write_comment) { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } $logged_info = Context::get('logged_info'); @@ -378,7 +378,7 @@ class boardController extends board $oDocument = $oDocumentModel->getDocument($obj->document_srl); if(!$oDocument->isExists()) { - return new Object(-1,'msg_not_founded'); + return $this->setError('msg_not_founded'); } // For anonymous use, remove writer's information and notifying information @@ -416,7 +416,7 @@ class boardController extends board $childs = $oCommentModel->getChildComments($obj->comment_srl); if(count($childs) > 0) { - return new Object(-1, 'msg_board_update_protect_comment'); + return $this->setError('msg_board_update_protect_comment'); } } } @@ -426,7 +426,7 @@ class boardController extends board if($member_info->is_admin == 'Y' && $logged_info->is_admin != 'Y') { - return new Object(-1, 'msg_admin_comment_no_modify'); + return $this->setError('msg_admin_comment_no_modify'); } // INSERT if comment_srl does not exist. @@ -441,7 +441,7 @@ class boardController extends board $parent_comment = $oCommentModel->getComment($obj->parent_srl); if(!$parent_comment->comment_srl) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } if($parent_comment->isSecret() && $this->module_info->secret === 'Y') { @@ -470,13 +470,13 @@ class boardController extends board { $format = lang('msg_protect_regdate_comment'); $massage = sprintf($format, $this->module_info->protect_document_regdate); - return new Object(-1, $massage); + return $this->setError($massage); } } // check the grant if(!$comment->isGranted()) { - return new Object(-1,'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } $obj->parent_srl = $comment->parent_srl; $output = $oCommentController->updateComment($obj, $this->grant->manager); @@ -510,7 +510,7 @@ class boardController extends board if(!$comment_srl) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $oCommentModel = getModel('comment'); @@ -520,7 +520,7 @@ class boardController extends board $childs = $oCommentModel->getChildComments($comment_srl); if(count($childs) > 0) { - return new Object(-1, 'msg_board_delete_protect_comment'); + return $this->setError('msg_board_delete_protect_comment'); } } $comment = $oCommentModel->getComment($comment_srl, $this->grant->manager); @@ -530,7 +530,7 @@ class boardController extends board { $format = lang('msg_protect_regdate_comment'); $massage = sprintf($format, $this->module_info->protect_document_regdate); - return new Object(-1, $massage); + return $this->setError($massage); } } // generate comment controller object @@ -642,13 +642,13 @@ class boardController extends board $oComment = $oCommentModel->getComment($comment_srl); if(!$oComment->isExists()) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } // compare the comment password and the user input password if(!$oMemberModel->isValidPassword($oComment->get('password'),$password)) { - return new Object(-1, 'msg_invalid_password'); + return $this->setError('msg_invalid_password'); } $oComment->setGrantForSession(); @@ -658,13 +658,13 @@ class boardController extends board $oDocument = $oDocumentModel->getDocument($document_srl); if(!$oDocument->isExists()) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } // compare the document password and the user input password if(!$oMemberModel->isValidPassword($oDocument->get('password'),$password)) { - return new Object(-1, 'msg_invalid_password'); + return $this->setError('msg_invalid_password'); } $oDocument->setGrantForSession(); @@ -681,7 +681,7 @@ class boardController extends board if(!$member_srl || !$mid) { - return new Object(); + return; } $logged_info = Context::get('logged_info'); @@ -693,7 +693,7 @@ class boardController extends board if($cur_module_info->module != 'board') { - return new Object(); + return; } // get the member information @@ -707,15 +707,13 @@ class boardController extends board if(!$member_info->user_id) { - return new Object(); + return; } //search $url = getUrl('','mid',$mid,'search_target','nick_name','search_keyword',$member_info->nick_name); $oMemberController = getController('member'); $oMemberController->addMemberPopupMenu($url, 'cmd_view_own_document', ''); - - return new Object(); } /** diff --git a/modules/board/board.mobile.php b/modules/board/board.mobile.php index 67ed1108d..cc768f70f 100644 --- a/modules/board/board.mobile.php +++ b/modules/board/board.mobile.php @@ -1,8 +1,6 @@ */ -require_once(_XE_PATH_.'modules/board/board.view.php'); - class boardMobile extends boardView { function init() @@ -87,36 +85,12 @@ class boardMobile extends boardView Context::addJsFilter($this->module_path.'tpl/filter', 'input_password.xml'); } - function dispBoardCategory() - { - $this->dispBoardCategoryList(); - $category_list = Context::get('category_list'); - $this->setTemplateFile('category.html'); - } - function getBoardCommentPage() - { - $document_srl = Context::get('document_srl'); - $oDocumentModel =& getModel('document'); - if(!$document_srl) - { - return new Object(-1, "msg_invalid_request"); - } - - if($this->grant->view == false || ($this->module_info->consultation == 'Y' && !$this->grant->manager && !$this->grant->consultation_read)) - { - return new Object(-1, "msg_not_permitted"); - } - - $oDocument = $oDocumentModel->getDocument($document_srl); - if(!$oDocument->isExists()) - { - return new Object(-1, "msg_invalid_request"); - } - Context::set('oDocument', $oDocument); - $oTemplate = TemplateHandler::getInstance(); - $html = $oTemplate->compile($this->getTemplatePath(), "comment.html"); - $this->add("html", $html); + { + $this->dispBoardCommentPage(); + $oTemplate = TemplateHandler::getInstance(); + $html = $oTemplate->compile($this->getTemplatePath(), 'comment.html'); + $this->add('html', $html); } function dispBoardMessage($msg_code) diff --git a/modules/board/board.view.php b/modules/board/board.view.php index 25f9b14a8..9156ff2e7 100644 --- a/modules/board/board.view.php +++ b/modules/board/board.view.php @@ -351,8 +351,6 @@ class boardView extends board * add javascript filters **/ Context::addJsFilter($this->module_path.'tpl/filter', 'insert_comment.xml'); - -// return new Object(); } /** @@ -642,6 +640,43 @@ class boardView extends board $this->setTemplateFile('tag_list'); } + /** + * @brief display category list + */ + function dispBoardCategory() + { + $this->dispBoardCategoryList(); + $this->setTemplateFile('category.html'); + } + + /** + * @brief display comment page + */ + function dispBoardCommentPage() + { + $document_srl = Context::get('document_srl'); + if(!$document_srl) + { + return $this->setError("msg_invalid_request"); + } + + if($this->grant->view == false || ($this->module_info->consultation == 'Y' && !$this->grant->manager && !$this->grant->consultation_read)) + { + return $this->setError("msg_not_permitted"); + } + + $oDocument = getModel('document')->getDocument($document_srl); + if(!$oDocument->isExists()) + { + return $this->setError("msg_invalid_request"); + } + Context::set('oDocument', $oDocument); + + $this->setLayoutPath('./common/tpl'); + $this->setLayoutFile('default_layout'); + $this->setTemplateFile('comment.html'); + } + /** * @brief display document write form **/ @@ -730,20 +765,20 @@ class boardView extends board { $format = lang('msg_protect_regdate_document'); $massage = sprintf($format, $this->module_info->protect_document_regdate); - return new Object(-1, $massage); + return $this->setError($massage); } } if($this->module_info->protect_content == "Y" || $this->module_info->protect_update_content == 'Y') { if($oDocument->get('comment_count') > 0 && $this->grant->manager == false) { - return new Object(-1, 'msg_protect_update_content'); + return $this->setError('msg_protect_update_content'); } } } if($member_info->is_admin == 'Y' && $logged_info->is_admin != 'Y') { - return new Object(-1, 'msg_admin_document_no_modify'); + return $this->setError('msg_admin_document_no_modify'); } // if the document is not granted, then back to the password input form @@ -857,7 +892,7 @@ class boardView extends board { $format = lang('msg_protect_regdate_document'); $massage = sprintf($format, $this->module_info->protect_document_regdate); - return new Object(-1, $massage); + return $this->setError($massage); } } @@ -865,7 +900,7 @@ class boardView extends board { if($oDocument->get('comment_count')>0 && $this->grant->manager == false) { - return new Object(-1,'msg_protect_delete_content'); + return $this->setError('msg_protect_delete_content'); } } @@ -942,7 +977,7 @@ class boardView extends board // if the parent comment is not existed if(!$parent_srl) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } // get the comment @@ -1004,7 +1039,7 @@ class boardView extends board // if the comment is not existed if(!$comment_srl) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } // get comment information @@ -1019,7 +1054,7 @@ class boardView extends board { $format = lang('msg_protect_regdate_comment'); $massage = sprintf($format, $this->module_info->protect_document_regdate); - return new Object(-1, $massage); + return $this->setError($massage); } } if($this->module_info->protect_update_comment === 'Y' && $this->grant->manager == false) @@ -1027,13 +1062,13 @@ class boardView extends board $childs = $oCommentModel->getChildComments($comment_srl); if(count($childs) > 0) { - return new Object(-1, 'msg_board_update_protect_comment'); + return $this->setError('msg_board_update_protect_comment'); } } if($member_info->is_admin == 'Y' && $logged_info->is_admin != 'Y') { - return new Object(-1, 'msg_admin_comment_no_modify'); + return $this->setError('msg_admin_comment_no_modify'); } // if the comment is not exited, alert an error message @@ -1087,7 +1122,7 @@ class boardView extends board { $format = lang('msg_protect_regdate_comment'); $massage = sprintf($format, $this->module_info->protect_document_regdate); - return new Object(-1, $massage); + return $this->setError($massage); } } @@ -1097,7 +1132,7 @@ class boardView extends board $childs = $oCommentModel->getChildComments($comment_srl); if(count($childs) > 0) { - return new Object(-1, 'msg_board_delete_protect_comment'); + return $this->setError('msg_board_delete_protect_comment'); } } @@ -1177,7 +1212,7 @@ class boardView extends board if($this->grant->update_view !== true) { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } $updatelog = $oDocumentModel->getDocumentUpdateLog($document_srl); @@ -1197,7 +1232,7 @@ class boardView extends board if($this->grant->update_view !== true) { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } $update_log = $oDocumentModel->getUpdateLog($update_id); @@ -1233,7 +1268,7 @@ class boardView extends board { iF($this->grant->vote_log_view !== true) { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } $oMemberModel = getModel('member'); @@ -1254,7 +1289,7 @@ class boardView extends board } else { - return new Object(-1, 'msg_not_target'); + return $this->setError('msg_not_target'); } $output = executeQueryArray($queryId, $args); diff --git a/modules/board/conf/module.xml b/modules/board/conf/module.xml index a35626d44..e8850f127 100644 --- a/modules/board/conf/module.xml +++ b/modules/board/conf/module.xml @@ -75,7 +75,8 @@ - + + diff --git a/modules/board/skins/default/comment.html b/modules/board/skins/default/comment.html new file mode 100644 index 000000000..e4d9a0621 --- /dev/null +++ b/modules/board/skins/default/comment.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/modules/board/skins/xedition/_read.html b/modules/board/skins/xedition/_read.html index 0bf162b84..239d18661 100644 --- a/modules/board/skins/xedition/_read.html +++ b/modules/board/skins/xedition/_read.html @@ -101,10 +101,9 @@
{@ $tag_list = $oDocument->get('tag_list') } - + - - {@ $tag = $tag_list[$i]; } + , diff --git a/modules/board/skins/xedition/comment.html b/modules/board/skins/xedition/comment.html new file mode 100644 index 000000000..e4d9a0621 --- /dev/null +++ b/modules/board/skins/xedition/comment.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/modules/board/skins/xedition/list.html b/modules/board/skins/xedition/list.html index 4834d795c..1c22b4b16 100644 --- a/modules/board/skins/xedition/list.html +++ b/modules/board/skins/xedition/list.html @@ -2,9 +2,9 @@ diff --git a/modules/board/tpl/index.html b/modules/board/tpl/index.html index 4fc93e14d..dada5eb7d 100644 --- a/modules/board/tpl/index.html +++ b/modules/board/tpl/index.html @@ -47,11 +47,7 @@
- {@ - $urlInfo = parse_url(getRequestUriByServerEnviroment()); - parse_str($urlInfo['query'], $param); - } - +
- + diff --git a/modules/communication/m.skins/rx_prn/css/css.less b/modules/communication/m.skins/rx_prn/css/css.less index e1f04d4a4..d84d29207 100644 --- a/modules/communication/m.skins/rx_prn/css/css.less +++ b/modules/communication/m.skins/rx_prn/css/css.less @@ -465,3 +465,21 @@ script, style } } +/** + * warning label from modules\admin\tpl\css\admin.bootstrap.css + */ +.warning_label{ + display:inline-block; + margin:5px 15px !important; + padding:2px 4px; + font-size:11.844px; + font-weight:bold; + line-height:14px; + color:#ffffff; + text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25); + -webkit-border-radius:3px; + -moz-border-radius:3px; + border-radius:3px; + box-sizing:border-box; +} +.warning_label-important{background-color:#b94a48} diff --git a/modules/communication/m.skins/rx_prn/send_message.html b/modules/communication/m.skins/rx_prn/send_message.html index da016361b..378c35b22 100644 --- a/modules/communication/m.skins/rx_prn/send_message.html +++ b/modules/communication/m.skins/rx_prn/send_message.html @@ -6,6 +6,16 @@

{$XE_VALIDATOR_MESSAGE}

+
+ {$lang->warning} +
+ + {$lang->msg_allow_message_friend} + + {$lang->msg_allow_meesage_Block} + +
{$lang->msg_allow_message_please} +
diff --git a/modules/communication/skins/default/send_message.html b/modules/communication/skins/default/send_message.html index a48887953..2a9ffe14b 100644 --- a/modules/communication/skins/default/send_message.html +++ b/modules/communication/skins/default/send_message.html @@ -5,6 +5,16 @@

{$XE_VALIDATOR_MESSAGE}

+
+ {$lang->warning} +
+ + {$lang->msg_allow_message_friend} + + {$lang->msg_allow_meesage_Block} + +
{$lang->msg_allow_message_please} +
diff --git a/modules/communication/skins/simple_world/send_message.html b/modules/communication/skins/simple_world/send_message.html index 832e28b34..79f1a8a22 100644 --- a/modules/communication/skins/simple_world/send_message.html +++ b/modules/communication/skins/simple_world/send_message.html @@ -18,6 +18,16 @@
{$lang->msg_send_mail_privacy}
+
+ {$lang->warning} +
+ + {$lang->msg_allow_message_friend} + + {$lang->msg_allow_meesage_Block} + +
{$lang->msg_allow_message_please} +
{$editor}
@@ -25,4 +35,4 @@
- \ No newline at end of file + diff --git a/modules/counter/counter.class.php b/modules/counter/counter.class.php index 43afca409..cb2f9b3d9 100644 --- a/modules/counter/counter.class.php +++ b/modules/counter/counter.class.php @@ -22,8 +22,6 @@ class counter extends ModuleObject // add a row for today's status //$oCounterController->insertTodayStatus(); - - return new Object(); } /** @@ -67,8 +65,6 @@ class counter extends ModuleObject { $oDB->addIndex('counter_log', 'idx_site_counter_log', array('site_srl', 'ipaddress'), FALSE); } - - return new Object(0, 'success_updated'); } /** diff --git a/modules/document/document.admin.controller.php b/modules/document/document.admin.controller.php index ab7944110..70ca56fc8 100644 --- a/modules/document/document.admin.controller.php +++ b/modules/document/document.admin.controller.php @@ -213,7 +213,7 @@ class documentAdminController extends document { Rhymix\Framework\Cache::delete('document_item:'. getNumberingPath($document_srl) . $document_srl); } - return new Object(); + return new BaseObject(); } /** @@ -426,7 +426,7 @@ class documentAdminController extends document $oDB->commit(); - $output = new Object(); + $output = new BaseObject(); $output->add('copied_srls', $copied_srls); return $output; } @@ -471,13 +471,21 @@ class documentAdminController extends document $oDocumentModel = getModel('document'); $config = $oDocumentModel->getDocumentConfig(); $config->view_count_option = Context::get('view_count_option'); + $config->icons = Context::get('icons'); + $config->micons = Context::get('micons'); // Insert by creating the module Controller object $oModuleController = getController('module'); $output = $oModuleController->insertModuleConfig('document',$config); + if(!$output->toBool()) + { + return $output; + } + + $this->setMessage('success_updated'); $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispDocumentAdminConfig'); - return $this->setRedirectUrl($returnUrl, $output); + $this->setRedirectUrl($returnUrl, $output); } /** @@ -503,10 +511,11 @@ class documentAdminController extends document */ function procDocumentAdminDeleteAllThumbnail() { - // delete all of thumbnail_ *. jpg files from files/attaches/images/ directory (prior versions to 1.0.4) - $this->deleteThumbnailFile('./files/attach/images'); - // delete a directory itself, files/thumbnails (thumbnail policies have changed since version 1.0.5) - FileHandler::removeFilesInDir('./files/thumbnails'); + $temp_cache_dir = './files/thumbnails_' . $_SERVER['REQUEST_TIME']; + FileHandler::rename('./files/thumbnails', $temp_cache_dir); + FileHandler::makeDir('./files/thumbnails'); + + FileHandler::removeDir($temp_cache_dir); $this->setMessage('success_deleted'); } @@ -548,7 +557,7 @@ class documentAdminController extends document $eid = Context::get('eid'); $obj = new stdClass(); - if(!$module_srl || !$name || !$eid) return new Object(-1,'msg_invalid_request'); + if(!$module_srl || !$name || !$eid) return $this->setError('msg_invalid_request'); // set the max value if idx is not specified if(!$var_idx) { @@ -564,7 +573,7 @@ class documentAdminController extends document $output = executeQuery('document.isExistsExtraKey', $obj); if(!$output->toBool() || $output->data->count) { - return new Object(-1, 'msg_extra_name_exists'); + return $this->setError('msg_extra_name_exists'); } // insert or update @@ -586,7 +595,7 @@ class documentAdminController extends document { $module_srl = Context::get('module_srl'); $var_idx = Context::get('var_idx'); - if(!$module_srl || !$var_idx) return new Object(-1,'msg_invalid_request'); + if(!$module_srl || !$var_idx) return $this->setError('msg_invalid_request'); $oDocumentController = getController('document'); $output = $oDocumentController->deleteDocumentExtraKeys($module_srl, $var_idx); @@ -605,26 +614,26 @@ class documentAdminController extends document $module_srl = Context::get('module_srl'); $var_idx = Context::get('var_idx'); - if(!$type || !$module_srl || !$var_idx) return new Object(-1,'msg_invalid_request'); + if(!$type || !$module_srl || !$var_idx) return $this->setError('msg_invalid_request'); $oModuleModel = getModel('module'); $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl); - if(!$module_info->module_srl) return new Object(-1,'msg_invalid_request'); + if(!$module_info->module_srl) return $this->setError('msg_invalid_request'); $oDocumentModel = getModel('document'); $extra_keys = $oDocumentModel->getExtraKeys($module_srl); - if(!$extra_keys[$var_idx]) return new Object(-1,'msg_invalid_request'); + if(!$extra_keys[$var_idx]) return $this->setError('msg_invalid_request'); if($type == 'up') $new_idx = $var_idx-1; else $new_idx = $var_idx+1; - if($new_idx<1) return new Object(-1,'msg_invalid_request'); + if($new_idx<1) return $this->setError('msg_invalid_request'); $args = new stdClass(); $args->module_srl = $module_srl; $args->var_idx = $new_idx; $output = executeQuery('document.getDocumentExtraKeys', $args); if (!$output->toBool()) return $output; - if (!$output->data) return new Object(-1, 'msg_invalid_request'); + if (!$output->data) return $this->setError('msg_invalid_request'); unset($args); // update immediately if there is no idx to change @@ -728,7 +737,7 @@ class documentAdminController extends document $member_info = $oMemberModel->getMemberInfoByMemberSrl($oDocument->get('member_srl')); if($member_info->is_admin == 'Y' && $logged_info->is_admin != 'Y') { - return new Object(-1, 'msg_admin_document_no_move_to_trash'); + return $this->setError('msg_admin_document_no_move_to_trash'); } $oModuleModel = getModel('module'); @@ -873,7 +882,7 @@ class documentAdminController extends document //DB restore $output = $oDocumentController->insertDocument($originObject, false, true, false); - if(!$output->toBool()) return new Object(-1, $output->getMessage()); + if(!$output->toBool()) return $this->setError($output->getMessage()); //FILE restore $oDocument = $oDocumentModel->getDocument($originObject->document_srl); @@ -891,7 +900,7 @@ class documentAdminController extends document // commit $oDB->commit(); - return new Object(0, 'success'); + return new BaseObject(0, 'success'); } /** diff --git a/modules/document/document.admin.view.php b/modules/document/document.admin.view.php index 76a827b7d..36bac493d 100644 --- a/modules/document/document.admin.view.php +++ b/modules/document/document.admin.view.php @@ -148,6 +148,13 @@ class documentAdminView extends document $config = $oDocumentModel->getDocumentConfig(); Context::set('config',$config); + $oModuleModel = getModel('module'); + $pcIconSkinList = $oModuleModel->getSkins($this->module_path . 'tpl', 'icons'); + $mobileIconSkinList = $oModuleModel->getSkins($this->module_path . 'tpl', 'micons'); + + Context::set('pcIconSkinList', $pcIconSkinList); + Context::set('mobileIconSkinList', $mobileIconSkinList); + // Set the template file $this->setTemplatePath($this->module_path.'tpl'); $this->setTemplateFile('document_config'); diff --git a/modules/document/document.class.php b/modules/document/document.class.php index c0c691b57..2d6f17693 100644 --- a/modules/document/document.class.php +++ b/modules/document/document.class.php @@ -47,8 +47,6 @@ class document extends ModuleObject // 2009. 01. 29 Added a trigger for additional setup $oModuleController->insertTrigger('module.dispAdditionSetup', 'document', 'view', 'triggerDispDocumentAdditionSetup', 'before'); - - return new Object(); } /** @@ -341,8 +339,6 @@ class document extends ModuleObject $oDB->addColumn('document_update_log', 'is_admin', 'varchar', 1); $oDB->addIndex('document_update_log', 'idx_is_admin', array('is_admin')); } - - return new Object(0,'success_updated'); } /** diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index 8374c4844..1129d9db9 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -28,21 +28,21 @@ class documentController extends document { if(!Context::get('is_logged')) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } } $document_srl = Context::get('target_srl'); - if(!$document_srl) return new Object(-1, 'msg_invalid_request'); + if(!$document_srl) return $this->setError('msg_invalid_request'); $oDocumentModel = getModel('document'); $oDocument = $oDocumentModel->getDocument($document_srl, false, false); $module_srl = $oDocument->get('module_srl'); - if(!$module_srl) return new Object(-1, 'msg_invalid_request'); + if(!$module_srl) return $this->setError('msg_invalid_request'); $oModuleModel = getModel('module'); $document_config = $oModuleModel->getModulePartConfig('document',$module_srl); - if($document_config->use_vote_up=='N') return new Object(-1, 'msg_invalid_request'); + if($document_config->use_vote_up=='N') return $this->setError('msg_invalid_request'); $point = 1; $output = $this->updateVotedCount($document_srl, $point); @@ -60,18 +60,18 @@ class documentController extends document { if(!Context::get('is_logged')) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } } $document_srl = Context::get('target_srl'); - if(!$document_srl) return new Object(-1, 'msg_invalid_request'); + if(!$document_srl) return $this->setError('msg_invalid_request'); $oDocumentModel = getModel('document'); $oDocument = $oDocumentModel->getDocument($document_srl, false, false); if($oDocument->get('voted_count') <= 0) { - return new Object(-1, 'msg_document_voted_cancel_not'); + return $this->setError('msg_document_voted_cancel_not'); } $point = 1; $output = $this->updateVotedCountCancel($document_srl, $oDocument, $point); @@ -80,7 +80,7 @@ class documentController extends document return $output; } - $output = new Object(); + $output = new BaseObject(); $output->setMessage('success_voted_canceled'); return $output; } @@ -114,21 +114,21 @@ class documentController extends document { if(!Context::get('is_logged')) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } } $document_srl = Context::get('target_srl'); - if(!$document_srl) return new Object(-1, 'msg_invalid_request'); + if(!$document_srl) return $this->setError('msg_invalid_request'); $oDocumentModel = getModel('document'); $oDocument = $oDocumentModel->getDocument($document_srl, false, false); $module_srl = $oDocument->get('module_srl'); - if(!$module_srl) return new Object(-1, 'msg_invalid_request'); + if(!$module_srl) return $this->setError('msg_invalid_request'); $oModuleModel = getModel('module'); $document_config = $oModuleModel->getModulePartConfig('document',$module_srl); - if($document_config->use_vote_down=='N') return new Object(-1, 'msg_invalid_request'); + if($document_config->use_vote_down=='N') return $this->setError('msg_invalid_request'); $point = -1; $output = $this->updateVotedCount($document_srl, $point); @@ -146,18 +146,18 @@ class documentController extends document { if(!Context::get('is_logged')) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } } $document_srl = Context::get('target_srl'); - if(!$document_srl) return new Object(-1, 'msg_invalid_request'); + if(!$document_srl) return $this->setError('msg_invalid_request'); $oDocumentModel = getModel('document'); $oDocument = $oDocumentModel->getDocument($document_srl, false, false); if($oDocument->get('blamed_count') >= 0) { - return new Object(-1, 'msg_document_voted_cancel_not'); + return $this->setError('msg_document_voted_cancel_not'); } $point = -1; $output = $this->updateVotedCountCancel($document_srl, $oDocument, $point); @@ -166,7 +166,7 @@ class documentController extends document return $output; } - $output = new Object(); + $output = new BaseObject(); $output->setMessage('success_blamed_canceled'); return $output; } @@ -229,13 +229,13 @@ class documentController extends document { if(!Context::get('is_logged')) { - return new Object(-1, 'msg_not_logged'); + return $this->setError('msg_not_logged'); } $document_srl = intval(Context::get('target_srl')); if(!$document_srl) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } // if an user select message from options, message would be the option. @@ -302,7 +302,7 @@ class documentController extends document function triggerDeleteModuleDocuments(&$obj) { $module_srl = $obj->module_srl; - if(!$module_srl) return new Object(); + if(!$module_srl) return; // Delete the document $oDocumentAdminController = getAdminController('document'); $output = $oDocumentAdminController->deleteModuleDocument($module_srl); @@ -319,8 +319,6 @@ class documentController extends document // remove histories $this->deleteDocumentHistory(null, null, $module_srl); - - return new Object(); } /** @@ -349,7 +347,7 @@ class documentController extends document { if(!$manual_inserted && !checkCSRF()) { - return new Object(-1, 'msg_invalid_request'); + return new BaseObject(-1, 'msg_invalid_request'); } // begin transaction @@ -396,41 +394,59 @@ class documentController extends document // Serialize the $extra_vars, check the extra_vars type, because duplicate serialized avoid if(!is_string($obj->extra_vars)) $obj->extra_vars = serialize($obj->extra_vars); + // Remove the columns for automatic saving unset($obj->_saved_doc_srl); unset($obj->_saved_doc_title); unset($obj->_saved_doc_content); unset($obj->_saved_doc_message); + + // Remove manual member info to prevent forgery. This variable can be set by triggers only. + unset($obj->manual_member_info); + // Call a trigger (before) $output = ModuleHandler::triggerCall('document.insertDocument', 'before', $obj); - if(!$output->toBool()) return $output; - // Register it if no given document_srl exists - if(!$obj->document_srl) $obj->document_srl = getNextSequence(); - elseif(!$manual_inserted && !$isRestore && !checkUserSequence($obj->document_srl)) return new Object(-1, 'msg_not_permitted'); + if(!$output->toBool()) + { + return $output; + } + + // Register it if no given document_srl exists + if(!$obj->document_srl) + { + $obj->document_srl = getNextSequence(); + } + elseif(!$manual_inserted && !$isRestore && !checkUserSequence($obj->document_srl)) + { + return new BaseObject(-1, 'msg_not_permitted'); + } - $oDocumentModel = getModel('document'); // Set to 0 if the category_srl doesn't exist + $oDocumentModel = getModel('document'); if($obj->category_srl) { $category_list = $oDocumentModel->getCategoryList($obj->module_srl); if(count($category_list) > 0 && !$category_list[$obj->category_srl]->grant) { - return new Object(-1, 'msg_not_permitted'); + return new BaseObject(-1, 'msg_not_permitted'); } if(count($category_list) > 0 && !$category_list[$obj->category_srl]) $obj->category_srl = 0; } + // Set the read counts and update order. if(!$obj->readed_count) $obj->readed_count = 0; if($isLatest) $obj->update_order = $obj->list_order = $obj->document_srl * -1; else $obj->update_order = $obj->list_order; + // Check the status of password hash for manually inserting. Apply hashing for otherwise. if($obj->password && !$obj->password_is_hashed) { $obj->password = getModel('member')->hashPassword($obj->password); } + // Insert member's information only if the member is logged-in and not manually registered. $logged_info = Context::get('logged_info'); - if(Context::get('is_logged') && !$manual_inserted && !$isRestore) + if(Context::get('is_logged') && !$manual_inserted && !$isRestore && !$obj->manual_member_info) { $obj->member_srl = $logged_info->member_srl; @@ -441,19 +457,27 @@ class documentController extends document $obj->email_address = $logged_info->email_address; $obj->homepage = $logged_info->homepage; } + // If the tile is empty, extract string from the contents. - $obj->title = htmlspecialchars($obj->title, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); - settype($obj->title, "string"); - if($obj->title == '') $obj->title = cut_str(trim(strip_tags(nl2br($obj->content))),20,'...'); - // If no tile extracted from the contents, leave it untitled. - if($obj->title == '') $obj->title = 'Untitled'; + $obj->title = escape($obj->title, false); + if($obj->title == '') + { + $obj->title = cut_str(trim(strip_tags(nl2br($obj->content))),20,'...'); + } + if($obj->title == '') + { + $obj->title = 'Untitled'; + } + // Remove XE's own tags from the contents. $obj->content = preg_replace('!<\!--(Before|After)(Document|Comment)\(([0-9]+),([0-9]+)\)-->!is', '', $obj->content); + // Return error if content is empty. if (!$manual_inserted && is_empty_html_content($obj->content)) { - return new Object(-1, 'msg_empty_content'); + return new BaseObject(-1, 'msg_empty_content'); } + // if use editor of nohtml, Remove HTML tags from the contents. if(!$manual_inserted) { @@ -462,8 +486,9 @@ class documentController extends document // Remove iframe and script if not a top adminisrator in the session. if($logged_info->is_admin != 'Y') $obj->content = removeHackTag($obj->content); + // An error appears if both log-in info and user name don't exist. - if(!$logged_info->member_srl && !$obj->nick_name) return new Object(-1,'msg_invalid_request'); + if(!$logged_info->member_srl && !$obj->nick_name) return new BaseObject(-1, 'msg_invalid_request'); // Fix encoding of non-BMP UTF-8 characters. $obj->title = utf8_mbencode($obj->title); @@ -478,6 +503,7 @@ class documentController extends document $oDB->rollback(); return $output; } + // Insert extra variables if the document successfully inserted. $extra_vars = array(); $extra_keys = $oDocumentModel->getExtraKeys($obj->module_srl); @@ -550,10 +576,10 @@ class documentController extends document { if(!$manual_updated && !checkCSRF()) { - return new Object(-1, 'msg_invalid_request'); + return new BaseObject(-1, 'msg_invalid_request'); } - if(!$source_obj->document_srl || !$obj->document_srl) return new Object(-1,'msg_invalied_request'); + if(!$source_obj->document_srl || !$obj->document_srl) return new BaseObject(-1, 'msg_invalied_request'); // Default Status if($obj->status) @@ -574,9 +600,15 @@ class documentController extends document $this->_checkDocumentStatusForOldVersion($obj); } + // Remove manual member info to prevent forgery. This variable can be set by triggers only. + unset($obj->manual_member_info); + // Call a trigger (before) $output = ModuleHandler::triggerCall('document.updateDocument', 'before', $obj); - if(!$output->toBool()) return $output; + if(!$output->toBool()) + { + return $output; + } // begin transaction $oDB = &DB::getInstance(); @@ -610,6 +642,7 @@ class documentController extends document { $obj->ipaddress = $source_obj->get('ipaddress'); } + // List variables if($obj->comment_status) $obj->commentStatus = $obj->comment_status; if(!$obj->commentStatus) $obj->commentStatus = 'DENY'; @@ -635,21 +668,24 @@ class documentController extends document // Serialize the $extra_vars if(!is_string($obj->extra_vars)) $obj->extra_vars = serialize($obj->extra_vars); + // Remove the columns for automatic saving unset($obj->_saved_doc_srl); unset($obj->_saved_doc_title); unset($obj->_saved_doc_content); unset($obj->_saved_doc_message); - $oDocumentModel = getModel('document'); // Set the category_srl to 0 if the changed category is not exsiting. + $oDocumentModel = getModel('document'); if($source_obj->get('category_srl')!=$obj->category_srl) { $category_list = $oDocumentModel->getCategoryList($obj->module_srl); if(!$category_list[$obj->category_srl]) $obj->category_srl = 0; } + // Change the update order $obj->update_order = getNextSequence() * -1; + // Hash the password if it exists if($obj->password) { @@ -658,7 +694,7 @@ class documentController extends document // If an author is identical to the modifier or history is used, use the logged-in user's information. $logged_info = Context::get('logged_info'); - if(Context::get('is_logged') && !$manual_updated) + if(Context::get('is_logged') && !$manual_updated && !$obj->manual_member_info) { if($source_obj->get('member_srl')==$logged_info->member_srl) { @@ -671,7 +707,7 @@ class documentController extends document } // For the document written by logged-in user however no nick_name exists - if($source_obj->get('member_srl')&& !$obj->nick_name) + if($source_obj->get('member_srl')&& !$obj->nick_name && !$obj->manual_member_info) { $obj->member_srl = $source_obj->get('member_srl'); $obj->user_name = $source_obj->get('user_name'); @@ -679,19 +715,27 @@ class documentController extends document $obj->email_address = $source_obj->get('email_address'); $obj->homepage = $source_obj->get('homepage'); } + // If the tile is empty, extract string from the contents. - $obj->title = htmlspecialchars($obj->title, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); - settype($obj->title, "string"); - if($obj->title == '') $obj->title = cut_str(strip_tags($obj->content),20,'...'); - // If no tile extracted from the contents, leave it untitled. - if($obj->title == '') $obj->title = 'Untitled'; + $obj->title = escape($obj->title, false); + if($obj->title == '') + { + $obj->title = cut_str(strip_tags($obj->content),20,'...'); + } + if($obj->title == '') + { + $obj->title = 'Untitled'; + } + // Remove XE's own tags from the contents. $obj->content = preg_replace('!<\!--(Before|After)(Document|Comment)\(([0-9]+),([0-9]+)\)-->!is', '', $obj->content); + // Return error if content is empty. if (!$manual_inserted && is_empty_html_content($obj->content)) { - return new Object(-1, 'msg_empty_content'); + return new BaseObject(-1, 'msg_empty_content'); } + // if use editor of nohtml, Remove HTML tags from the contents. if(!$manual_updated) { @@ -722,11 +766,13 @@ class documentController extends document $obj->content = $document_output->data->content; } } + // Remove iframe and script if not a top adminisrator in the session. if($logged_info->is_admin != 'Y') { $obj->content = removeHackTag($obj->content); } + // if temporary document, regdate is now setting if($source_obj->get('status') == $this->getConfigStatus('temp')) $obj->regdate = date('YmdHis'); @@ -768,6 +814,7 @@ class documentController extends document $this->insertDocumentExtraVar($obj->module_srl, $obj->document_srl, $idx, $value, $extra_item->eid); } } + // Inert extra vars for multi-language support of title and contents. if($extra_content->title) $this->insertDocumentExtraVar($obj->module_srl, $obj->document_srl, -1, $extra_content->title, 'title_'.Context::getLangType()); if($extra_content->content) $this->insertDocumentExtraVar($obj->module_srl, $obj->document_srl, -2, $extra_content->content, 'content_'.Context::getLangType()); @@ -799,6 +846,7 @@ class documentController extends document // commit $oDB->commit(); + // Remove the thumbnail file FileHandler::removeDir(sprintf('files/thumbnails/%s',getNumberingPath($obj->document_srl, 3))); @@ -876,7 +924,7 @@ class documentController extends document // Check if the documnet exists $oDocument = $oDocumentModel->getDocument($document_srl, $is_admin); } - else if($isEmptyTrash && $oDocument == null) return new Object(-1, 'document is not exists'); + else if($isEmptyTrash && $oDocument == null) return new BaseObject(-1, 'document is not exists'); $oMemberModel = getModel('member'); $member_info = $oMemberModel->getMemberInfoByMemberSrl($oDocument->get('member_srl')); @@ -884,13 +932,13 @@ class documentController extends document if($member_info->is_admin == 'Y' && $logged_info->is_admin != 'Y') { - return new Object(-1, 'msg_document_is_admin_not_permitted'); + return new BaseObject(-1, 'msg_document_is_admin_not_permitted'); } - if(!$oDocument->isExists() || $oDocument->document_srl != $document_srl) return new Object(-1, 'msg_invalid_document'); + if(!$oDocument->isExists() || $oDocument->document_srl != $document_srl) return new BaseObject(-1, 'msg_invalid_document'); // Check if a permossion is granted - if(!$oDocument->isGranted()) return new Object(-1, 'msg_not_permitted'); + if(!$oDocument->isGranted()) return new BaseObject(-1, 'msg_not_permitted'); //if empty trash, document already deleted, therefore document not delete $args = new stdClass(); @@ -995,7 +1043,7 @@ class documentController extends document $member_info = $oMemberModel->getMemberInfoByMemberSrl($oDocument->get('member_srl')); if($member_info->is_admin == 'Y' && $logged_info->is_admin != 'Y') { - return new Object(-1, 'msg_admin_document_no_move_to_trash'); + return new BaseObject(-1, 'msg_admin_document_no_move_to_trash'); } $trash_args->module_srl = $oDocument->get('module_srl'); @@ -1195,7 +1243,7 @@ class documentController extends document */ function insertDocumentExtraKey($module_srl, $var_idx, $var_name, $var_type, $var_is_required = 'N', $var_search = 'N', $var_default = '', $var_desc = '', $eid) { - if(!$module_srl || !$var_idx || !$var_name || !$var_type || !$eid) return new Object(-1,'msg_invalid_request'); + if(!$module_srl || !$var_idx || !$var_name || !$var_type || !$eid) return new BaseObject(-1, 'msg_invalid_request'); $obj = new stdClass(); $obj->module_srl = $module_srl; @@ -1232,7 +1280,7 @@ class documentController extends document */ function deleteDocumentExtraKeys($module_srl, $var_idx = null) { - if(!$module_srl) return new Object(-1,'msg_invalid_request'); + if(!$module_srl) return new BaseObject(-1, 'msg_invalid_request'); $obj = new stdClass(); $obj->module_srl = $module_srl; if(!is_null($var_idx)) $obj->var_idx = $var_idx; @@ -1277,7 +1325,7 @@ class documentController extends document $oDB->commit(); Rhymix\Framework\Cache::delete("site_and_module:module_document_extra_keys:$module_srl"); - return new Object(); + return new BaseObject(); } /** @@ -1292,7 +1340,7 @@ class documentController extends document */ function insertDocumentExtraVar($module_srl, $document_srl, $var_idx, $value, $eid = null, $lang_code = '') { - if(!$module_srl || !$document_srl || !$var_idx || !isset($value)) return new Object(-1,'msg_invalid_request'); + if(!$module_srl || !$document_srl || !$var_idx || !isset($value)) return new BaseObject(-1, 'msg_invalid_request'); if(!$lang_code) $lang_code = Context::getLangType(); $obj = new stdClass; @@ -1347,7 +1395,7 @@ class documentController extends document // Return fail if session already has information about votes if($_SESSION['voted_document'][$document_srl]) { - return new Object(-1, $failed_voted); + return new BaseObject(-1, $failed_voted); } // Get the original document $oDocumentModel = getModel('document'); @@ -1356,7 +1404,7 @@ class documentController extends document if($oDocument->get('ipaddress') == $_SERVER['REMOTE_ADDR']) { $_SESSION['voted_document'][$document_srl] = false; - return new Object(-1, $failed_voted); + return new BaseObject(-1, $failed_voted); } // Create a member model object $oMemberModel = getModel('member'); @@ -1369,7 +1417,7 @@ class documentController extends document if($member_srl && $member_srl == abs($oDocument->get('member_srl'))) { $_SESSION['voted_document'][$document_srl] = false; - return new Object(-1, $failed_voted); + return new BaseObject(-1, $failed_voted); } } // Use member_srl for logged-in members and IP address for non-members. @@ -1388,7 +1436,7 @@ class documentController extends document if($output->data->count) { $_SESSION['voted_document'][$document_srl] = false; - return new Object(-1, $failed_voted); + return new BaseObject(-1, $failed_voted); } // begin transaction $oDB = DB::getInstance(); @@ -1432,7 +1480,7 @@ class documentController extends document Rhymix\Framework\Cache::delete('document_item:' . getNumberingPath($document_srl) . $document_srl); // Return result - $output = new Object(); + $output = new BaseObject(); if($point > 0) { $output->setMessage('success_voted'); @@ -1458,7 +1506,7 @@ class documentController extends document // Fail if session information already has a reported document if($_SESSION['declared_document'][$document_srl]) { - return new Object(-1, 'failed_declared'); + return new BaseObject(-1, 'failed_declared'); } // Check if previously reported @@ -1493,7 +1541,7 @@ class documentController extends document if($oDocument->get('ipaddress') == $_SERVER['REMOTE_ADDR']) { $_SESSION['declared_document'][$document_srl] = true; - return new Object(-1, 'failed_declared'); + return new BaseObject(-1, 'failed_declared'); } // Check if document's author is a member. @@ -1506,7 +1554,7 @@ class documentController extends document if($member_srl && $member_srl == abs($oDocument->get('member_srl'))) { $_SESSION['declared_document'][$document_srl] = true; - return new Object(-1, 'failed_declared'); + return new BaseObject(-1, 'failed_declared'); } } @@ -1529,7 +1577,7 @@ class documentController extends document if($output->data->count) { $_SESSION['declared_document'][$document_srl] = true; - return new Object(-1, 'failed_declared'); + return new BaseObject(-1, 'failed_declared'); } // begin transaction @@ -1715,7 +1763,7 @@ class documentController extends document // Display an error that the category cannot be deleted if it has a child $output = executeQuery('document.getChildCategoryCount', $args); if(!$output->toBool()) return $output; - if($output->data->count>0) return new Object(-1, 'msg_cannot_delete_for_child'); + if($output->data->count>0) return new BaseObject(-1, 'msg_cannot_delete_for_child'); // Delete a category information $output = executeQuery('document.deleteCategory', $args); if(!$output->toBool()) return $output; @@ -1784,7 +1832,7 @@ class documentController extends document // Seek a full list of categories $category_list = $oDocumentModel->getCategoryList($module_srl); $category_srl_list = array_keys($category_list); - if(count($category_srl_list)<2) return new Object(); + if(count($category_srl_list)<2) return new BaseObject(); $prev_category = NULL; foreach($category_list as $key => $val) @@ -1793,9 +1841,9 @@ class documentController extends document $prev_category = $val; } // Return if the previous category doesn't exist - if(!$prev_category) return new Object(-1,lang('msg_category_not_moved')); + if(!$prev_category) return new BaseObject(-1, 'msg_category_not_moved'); // Return if the selected category is the top level - if($category_srl_list[0]==$category_srl) return new Object(-1,lang('msg_category_not_moved')); + if($category_srl_list[0]==$category_srl) return new BaseObject(-1, 'msg_category_not_moved'); // Information of the selected category $cur_args = new stdClass; $cur_args->category_srl = $category_srl; @@ -1809,7 +1857,7 @@ class documentController extends document $prev_args->title = $prev_category->title; $this->updateCategory($prev_args); - return new Object(); + return new BaseObject(); } /** @@ -1831,7 +1879,7 @@ class documentController extends document // Seek a full list of categories $category_list = $oDocumentModel->getCategoryList($module_srl); $category_srl_list = array_keys($category_list); - if(count($category_srl_list)<2) return new Object(); + if(count($category_srl_list)<2) return new BaseObject(); for($i=0;$ititle = $next_category->title; $this->updateCategory($next_args); - return new Object(); + return new BaseObject(); } /** @@ -1919,7 +1967,7 @@ class documentController extends document $columnList = array('module_srl', 'module'); $module_info = $oModuleModel->getModuleInfoByModuleSrl($args->module_srl, $columnList); $grant = $oModuleModel->getGrant($module_info, Context::get('logged_info')); - if(!$grant->manager) return new Object(-1,'msg_not_permitted'); + if(!$grant->manager) return new BaseObject(-1, 'msg_not_permitted'); if($args->expand !="Y") $args->expand = "N"; if(!is_array($args->group_srls)) $args->group_srls = str_replace('|@|',',',$args->group_srls); @@ -1989,7 +2037,7 @@ class documentController extends document $columnList = array('module_srl', 'module'); $module_info = $oModuleModel->getModuleInfoByModuleSrl($source_category->module_srl, $columnList); $grant = $oModuleModel->getGrant($module_info, Context::get('logged_info')); - if(!$grant->manager) return new Object(-1,'msg_not_permitted'); + if(!$grant->manager) return new BaseObject(-1, 'msg_not_permitted'); // First child of the parent_category_srl $source_args = new stdClass; @@ -2050,14 +2098,14 @@ class documentController extends document $columnList = array('module_srl', 'module'); $module_info = $oModuleModel->getModuleInfoByModuleSrl($args->module_srl, $columnList); $grant = $oModuleModel->getGrant($module_info, Context::get('logged_info')); - if(!$grant->manager) return new Object(-1,'msg_not_permitted'); + if(!$grant->manager) return new BaseObject(-1, 'msg_not_permitted'); $oDocumentModel = getModel('document'); // Get original information $category_info = $oDocumentModel->getCategory($args->category_srl); if($category_info->parent_srl) $parent_srl = $category_info->parent_srl; // Display an error that the category cannot be deleted if it has a child node - if($oDocumentModel->getCategoryChlidCount($args->category_srl)) return new Object(-1, 'msg_cannot_delete_for_child'); + if($oDocumentModel->getCategoryChlidCount($args->category_srl)) return new BaseObject(-1, 'msg_cannot_delete_for_child'); // Remove from the DB $output = $this->deleteCategory($args->category_srl); if(!$output->toBool()) @@ -2091,7 +2139,7 @@ class documentController extends document $columnList = array('module_srl', 'module'); $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl, $columnList); $grant = $oModuleModel->getGrant($module_info, Context::get('logged_info')); - if(!$grant->manager) return new Object(-1,'msg_not_permitted'); + if(!$grant->manager) return new BaseObject(-1, 'msg_not_permitted'); $xml_file = $this->makeCategoryFile($module_srl); // Set return value @@ -2249,7 +2297,7 @@ class documentController extends document { foreach($langs as $key => $val) { - $xml_header_buff .= sprintf('$_titles[%d]["%s"] = "%s"; ', $category_srl, $key, str_replace('"','\\"',htmlspecialchars($val, ENT_COMPAT | ENT_HTML401, 'UTF-8', false))); + $xml_header_buff .= sprintf('$_titles[%d][%s] = %s; ', $category_srl, var_export($key, true), var_export(escape($val, false), true)); } } @@ -2258,12 +2306,12 @@ class documentController extends document { foreach($langx as $key => $val) { - $xml_header_buff .= sprintf('$_descriptions[%d]["%s"] = "%s"; ', $category_srl, $key, str_replace('"','\\"',htmlspecialchars($val, ENT_COMPAT | ENT_HTML401, 'UTF-8', false))); + $xml_header_buff .= sprintf('$_descriptions[%d][%s] = %s; ', $category_srl, var_export($key, true), var_export(escape($val, false), true)); } } $attribute = sprintf( - 'mid="%s" module_srl="%d" node_srl="%d" parent_srl="%d" category_srl="%d" text="" url="%s" expand="%s" color="%s" description="" document_count="%d" ', + 'mid="%s" module_srl="%d" node_srl="%d" parent_srl="%d" category_srl="%d" text="" url=%s expand=%s color=%s description="" document_count="%d" ', $mid, $module_srl, $category_srl, @@ -2271,9 +2319,9 @@ class documentController extends document $category_srl, $group_check_code, $category_srl, - getUrl('','mid',$node->mid,'category',$category_srl), - $expand, - htmlspecialchars($color, ENT_COMPAT | ENT_HTML401, 'UTF-8', false), + str_replace("'", '"', var_export(getUrl('','mid',$node->mid,'category',$category_srl), true)), + str_replace("'", '"', var_export($expand, true)), + str_replace("'", '"', var_export(escape($color, false), true)), $group_check_code, $category_srl, $node->document_count @@ -2338,10 +2386,10 @@ class documentController extends document { $val = htmlspecialchars($val, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); $php_header_buff .= sprintf( - '$_titles[%d]["%s"] = "%s"; ', + '$_titles[%d][%s] = %s; ', $category_srl, - $key, - str_replace('"','\\"', $val) + var_export($key, true), + var_export($val, true) ); } } @@ -2354,17 +2402,17 @@ class documentController extends document { $val = htmlspecialchars($val, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); $php_header_buff .= sprintf( - '$_descriptions[%d]["%s"] = "%s"; ', + '$_descriptions[%d][%s] = %s; ', $category_srl, - $key, - str_replace('"','\\"', $val) + var_export($key, true), + var_export($val, true) ); } } // Create attributes(Use the category_srl_list to check whether to belong to the menu's node. It seems to be tricky but fast fast and powerful;) $attribute = sprintf( - '"mid" => "%s", "module_srl" => "%d","node_srl"=>"%s","category_srl"=>"%s","parent_srl"=>"%s","text"=>$_titles[%d][$lang_type],"selected"=>(in_array(Context::get("category"),array(%s))?1:0),"expand"=>"%s","color"=>"%s","description"=>$_descriptions[%d][$lang_type],"list"=>array(%s),"document_count"=>"%d","grant"=>%s?true:false', + '"mid" => "%s", "module_srl" => "%d","node_srl"=>"%d","category_srl"=>"%d","parent_srl"=>"%d","text"=>$_titles[%d][$lang_type],"selected"=>(in_array(Context::get("category"),array(%s))?1:0),"expand"=>%s,"color"=>%s,"description"=>$_descriptions[%d][$lang_type],"list"=>array(%s),"document_count"=>"%d","grant"=>%s?true:false', $node->mid, $node->module_srl, $node->category_srl, @@ -2372,8 +2420,8 @@ class documentController extends document $node->parent_srl, $node->category_srl, $selected, - $expand, - $node->color, + var_export($expand, true), + var_export($node->color, true), $node->category_srl, $child_buff, $node->document_count, @@ -2416,7 +2464,7 @@ class documentController extends document */ function procDocumentAddCart() { - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_permitted'); + if(!Context::get('is_logged')) return $this->setError('msg_not_permitted'); // Get document_srl $srls = explode(',',Context::get('srls')); @@ -2436,14 +2484,14 @@ class documentController extends document $args->document_srls = implode(',',$document_srls); $args->order_type = 'asc'; $output = executeQueryArray('document.getDocuments', $args); - if(!$output->data) return new Object(); + if(!$output->data) return new BaseObject(); unset($document_srls); foreach($output->data as $key => $val) { $document_srls[$val->module_srl][] = $val->document_srl; } - if(!$document_srls || !count($document_srls)) return new Object(); + if(!$document_srls || !count($document_srls)) return new BaseObject(); // Check if each of module administrators exists. Top-level administator will have a permission to modify every document of all modules.(Even to modify temporarily saved or trashed documents) $oModuleModel = getModel('module'); @@ -2468,7 +2516,7 @@ class documentController extends document } } } - if(!count($document_srls)) return new Object(); + if(!count($document_srls)) return new BaseObject(); foreach($document_srls as $module_srl => $documents) { @@ -2490,7 +2538,7 @@ class documentController extends document function procDocumentManageCheckedDocument() { @set_time_limit(0); - if(!Context::get('is_logged')) return new Object(-1,'msg_not_permitted'); + if(!Context::get('is_logged')) return $this->setError('msg_not_permitted'); $logged_info = Context::get('logged_info'); // Get request parameters. @@ -2546,13 +2594,13 @@ class documentController extends document $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl); if (!$module_info->module_srl) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $module_grant = $oModuleModel->getGrant($module_info, $logged_info); if (!$module_grant->manager) { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } } @@ -2562,22 +2610,22 @@ class documentController extends document if($type == 'move') { - if(!$target_module_srl) return new Object(-1, 'fail_to_move'); + if(!$target_module_srl) return $this->setError('fail_to_move'); $oDocumentAdminController = getAdminController('document'); $output = $oDocumentAdminController->moveDocumentModule($document_srl_list, $target_module_srl, $target_category_srl); - if(!$output->toBool()) return new Object(-1, 'fail_to_move'); + if(!$output->toBool()) return $this->setError('fail_to_move'); $msg_code = 'success_moved'; } else if($type == 'copy') { - if(!$target_module_srl) return new Object(-1, 'fail_to_move'); + if(!$target_module_srl) return $this->setError('fail_to_move'); $oDocumentAdminController = getAdminController('document'); $output = $oDocumentAdminController->copyDocumentModule($document_srl_list, $target_module_srl, $target_category_srl); - if(!$output->toBool()) return new Object(-1, 'fail_to_move'); + if(!$output->toBool()) return $this->setError('fail_to_move'); $msg_code = 'success_copied'; } @@ -2588,7 +2636,7 @@ class documentController extends document foreach ($document_srl_list as $document_srl) { $output = $this->deleteDocument($document_srl, true); - if(!$output->toBool()) return new Object(-1, 'fail_to_delete'); + if(!$output->toBool()) return $this->setError('fail_to_delete'); } $oDB->commit(); $msg_code = 'success_deleted'; @@ -2604,7 +2652,7 @@ class documentController extends document { $args->document_srl = $document_srl; $output = $this->moveDocumentToTrash($args); - if(!$output || !$output->toBool()) return new Object(-1, 'fail_to_trash'); + if(!$output || !$output->toBool()) return $this->setError('fail_to_trash'); } $oDB->commit(); $msg_code = 'success_trashed'; @@ -2662,13 +2710,13 @@ class documentController extends document $module_info = $oModuleModel->getModuleInfoByModuleSrl($srl); if (!$module_info->module_srl) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $module_grant = $oModuleModel->getGrant($module_info, $logged_info); if (!$module_grant->manager) { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } $module_srl[] = $srl; @@ -2707,7 +2755,7 @@ class documentController extends document { if(!$this->module_srl) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $obj = Context::getRequestVars(); @@ -2730,12 +2778,12 @@ class documentController extends document { if(!$oDocument->isGranted()) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } if($oDocument->get('status') != $this->getConfigStatus('temp')) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $output = $this->updateDocument($oDocument, $obj); @@ -2767,7 +2815,7 @@ class documentController extends document */ function procDocumentGetList() { - if(!Context::get('is_logged')) return new Object(-1,'msg_not_permitted'); + if(!Context::get('is_logged')) return $this->setError('msg_not_permitted'); $documentSrls = Context::get('document_srls'); if($documentSrls) $documentSrlList = explode(',', $documentSrls); diff --git a/modules/document/document.item.php b/modules/document/document.item.php index ac5a79cc6..4cc2bff88 100644 --- a/modules/document/document.item.php +++ b/modules/document/document.item.php @@ -8,7 +8,7 @@ * @package /modules/document * @version 0.1 */ -class documentItem extends Object +class documentItem extends BaseObject { /** * Document number @@ -917,6 +917,9 @@ class documentItem extends Object Context::set($cpageStr, $output->page_navigation->cur_page); Context::set('cpage', $output->page_navigation->cur_page); if($output->total_page>1) $this->comment_page_navigation = $output->page_navigation; + + // Call trigger (after) + $output = ModuleHandler::triggerCall('document.getComments', 'after', $comment_list); return $comment_list; } @@ -1185,9 +1188,27 @@ class documentItem extends Object */ function printExtraImages($time_check = 43200) { - if(!$this->document_srl) return; - // Get the icon directory - $path = sprintf('%s%s',getUrl(), 'modules/document/tpl/icons/'); + if (!$this->document_srl) + { + return; + } + + $oDocumentModel = getModel('document'); + $documentConfig = $oDocumentModel->getDocumentConfig(); + + if(Mobile::isFromMobilePhone()) + { + $iconSkin = $documentConfig->micons; + } + else + { + $iconSkin = $documentConfig->icons; + } + if($iconSkin == null) + { + $iconSkin = 'default'; + } + $path = sprintf('%s%s',getUrl(), "modules/document/tpl/icons/$iconSkin/"); $buffs = $this->getExtraImages($time_check); if(!count($buffs)) return; diff --git a/modules/document/document.model.php b/modules/document/document.model.php index 194e2bdb0..f6c3d0c11 100644 --- a/modules/document/document.model.php +++ b/modules/document/document.model.php @@ -10,6 +10,8 @@ */ class documentModel extends document { + private $documentConfig = NULL; + /** * Initialization * @return void @@ -37,7 +39,7 @@ class documentModel extends document { if(!is_array($documentSrls) || count($documentSrls) == 0) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $args = new stdClass(); @@ -226,13 +228,13 @@ class documentModel extends document // Call trigger (before) // This trigger can be used to set an alternative output using a different search method $output = ModuleHandler::triggerCall('document.getDocumentList', 'before', $obj); - if($output instanceof Object && !$output->toBool()) + if($output instanceof BaseObject && !$output->toBool()) { return $output; } // If an alternate output is set, use it instead of running the default queries - $use_alternate_output = (isset($obj->use_alternate_output) && $obj->use_alternate_output instanceof Object); + $use_alternate_output = (isset($obj->use_alternate_output) && $obj->use_alternate_output instanceof BaseObject); if (!$use_alternate_output) { $this->_setSearchOption($obj, $args, $query_id, $use_division); @@ -506,7 +508,7 @@ class documentModel extends document $oDocument = $oDocumentModel->getDocument($document_srl, false, false, $columnList); $module_srl = $oDocument->get('module_srl'); $member_srl = $oDocument->get('member_srl'); - if(!$module_srl) return new Object(-1, 'msg_invalid_request'); + if(!$module_srl) return $this->setError('msg_invalid_request'); $oModuleModel = getModel('module'); $document_config = $oModuleModel->getModulePartConfig('document',$module_srl); @@ -913,7 +915,7 @@ class documentModel extends document */ function getDocumentCategories() { - if(!Context::get('is_logged')) return new Object(-1,'msg_not_permitted'); + if(!Context::get('is_logged')) return $this->setError('msg_not_permitted'); $module_srl = Context::get('module_srl'); $categories= $this->getCategoryList($module_srl); $lang = Context::get('lang'); @@ -935,15 +937,18 @@ class documentModel extends document */ function getDocumentConfig() { - if(!$GLOBALS['__document_config__']) + if ($this->documentConfig === NULL) { $oModuleModel = getModel('module'); $config = $oModuleModel->getModuleConfig('document'); - if(!$config) $config = new stdClass(); - $GLOBALS['__document_config__'] = $config; + if (!$config) + { + $config = new stdClass(); + } + $this->documentConfig = $config; } - return $GLOBALS['__document_config__']; + return $this->documentConfig; } /** @@ -1005,13 +1010,13 @@ class documentModel extends document $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl); // Check permissions $grant = $oModuleModel->getGrant($module_info, Context::get('logged_info')); - if(!$grant->manager) return new Object(-1,'msg_not_permitted'); + if(!$grant->manager) return $this->setError('msg_not_permitted'); $category_srl = Context::get('category_srl'); $category_info = $this->getCategory($category_srl); if(!$category_info) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $this->add('category_info', $category_info); @@ -1193,7 +1198,7 @@ class documentModel extends document { $args = new stdClass; $document_srl = Context::get('document_srl'); - if(!$document_srl) return new Object(-1,'msg_invalid_request'); + if(!$document_srl) return $this->setError('msg_invalid_request'); $point = Context::get('point'); if($point != -1) $point = 1; @@ -1202,18 +1207,18 @@ class documentModel extends document $columnList = array('document_srl', 'module_srl'); $oDocument = $oDocumentModel->getDocument($document_srl, false, false, $columnList); $module_srl = $oDocument->get('module_srl'); - if(!$module_srl) return new Object(-1, 'msg_invalid_request'); + if(!$module_srl) return $this->setError('msg_invalid_request'); $oModuleModel = getModel('module'); $document_config = $oModuleModel->getModulePartConfig('document',$module_srl); if($point == -1) { - if($document_config->use_vote_down!='S') return new Object(-1, 'msg_invalid_request'); + if($document_config->use_vote_down!='S') return $this->setError('msg_invalid_request'); $args->below_point = 0; } else { - if($document_config->use_vote_up!='S') return new Object(-1, 'msg_invalid_request'); + if($document_config->use_vote_up!='S') return $this->setError('msg_invalid_request'); $args->more_point = 0; } @@ -1610,6 +1615,22 @@ class documentModel extends document return false; } + + function getDocumentExtraImagePath() + { + $documentConfig = getModel('document')->getDocumentConfig(); + if(Mobile::isFromMobilePhone()) + { + $iconSkin = $documentConfig->micons; + } + else + { + $iconSkin = $documentConfig->icons; + } + $path = sprintf('%s%s',getUrl(), "modules/document/tpl/icons/$iconSkin/"); + + return $path; + } } /* End of file document.model.php */ /* Location: ./modules/document/document.model.php */ diff --git a/modules/document/document.view.php b/modules/document/document.view.php index 987445ca2..a7aac9c9d 100644 --- a/modules/document/document.view.php +++ b/modules/document/document.view.php @@ -36,9 +36,9 @@ class documentView extends document $oDocumentModel = getModel('document'); // Creates an object for displaying the selected document $oDocument = $oDocumentModel->getDocument($document_srl, $this->grant->manager); - if(!$oDocument->isExists()) return new Object(-1,'msg_invalid_request'); + if(!$oDocument->isExists()) return $this->setError('msg_invalid_request'); // Check permissions - if(!$oDocument->isAccessible()) return new Object(-1,'msg_not_permitted'); + if(!$oDocument->isAccessible()) return $this->setError('msg_not_permitted'); // Information setting module //Context::set('module_info', $module_info); //module_info not use in UI // Browser title settings @@ -58,7 +58,7 @@ class documentView extends document { if(!checkCSRF()) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $content = Context::get('content'); @@ -87,7 +87,7 @@ class documentView extends document */ function dispDocumentManageDocument() { - if(!Context::get('is_logged')) return new Object(-1,'msg_not_permitted'); + if(!Context::get('is_logged')) return $this->setError('msg_not_permitted'); // Taken from a list of selected sessions $flag_list = $_SESSION['document_management']; if(count($flag_list)) @@ -140,7 +140,7 @@ class documentView extends document // Get information of the current module $current_module_info = Context::get('current_module_info'); $current_module_srl = $current_module_info->module_srl; - if(!$current_module_srl) return new Object(); + if(!$current_module_srl) return new BaseObject(); } $oModuleModel = getModel('module'); @@ -159,7 +159,7 @@ class documentView extends document $tpl = $oTemplate->compile($this->module_path.'tpl', 'document_module_config'); $obj .= $tpl; - return new Object(); + return new BaseObject(); } /** @@ -215,12 +215,12 @@ class documentView extends document $oDocument = $oDocumentModel->getDocument($document_srl, $this->grant->manager, FALSE); if(!$oDocument->isExists()) { - return new Object(-1,'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } // Check permissions if(!$oDocument->isAccessible()) { - return new Object(-1,'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } // Browser title settings diff --git a/modules/document/lang/en.php b/modules/document/lang/en.php index b9f9787f1..6b1058408 100644 --- a/modules/document/lang/en.php +++ b/modules/document/lang/en.php @@ -10,6 +10,8 @@ $lang->category_color = 'Category Font Color'; $lang->expand = 'Expand'; $lang->category_group_srls = 'Accessable Group'; $lang->cmd_make_child = 'Add Child Category'; +$lang->cmd_pc_icon_setting = 'PC icon setting'; +$lang->cmd_mobile_icon_setting = 'Mobile icon setting'; $lang->cmd_enable_move_category = 'Change category position (Select a category and drag it to the position you want.)'; $lang->about_category_title = 'Please enter a category name.'; $lang->about_expand = 'Select this option, and they will stay expanded.'; diff --git a/modules/document/lang/ko.php b/modules/document/lang/ko.php index f1f9b5f49..0f49447a2 100644 --- a/modules/document/lang/ko.php +++ b/modules/document/lang/ko.php @@ -6,6 +6,8 @@ $lang->view_count_option_some = '일부 계산'; $lang->view_count_option_once = '중복 금지'; $lang->view_count_option_none = '계산 안함'; $lang->cmd_delete_all_thumbnail = '섬네일 모두 삭제'; +$lang->cmd_pc_icon_setting = 'PC아이콘 설정'; +$lang->cmd_mobile_icon_setting = '모바일 아이콘 설정'; $lang->title_bold = '제목 굵게'; $lang->title_color = '제목 색깔'; $lang->new_document_count = '새 글'; @@ -21,6 +23,8 @@ $lang->about_view_count_option = '조회수설정에 따라 중복 조회수 카 $lang->about_expand = '선택하면 늘 펼쳐진 상태로 있게 합니다.'; $lang->about_category_group_srls = '선택한 그룹만 현재 카테고리를 지정할 수 있도록 합니다.'; $lang->about_category_color = '분류 폰트색깔을 지정합니다. 예) red 또는 #ff0000'; +$lang->about_cmd_pc_icon_setting = '게시판 새로운 글 혹은 수정되었을 때 출력하는 아이콘입니다. 기본값은 default 입니다. 사용않함을 선택할 경우 default 스킨이 기본값으로 출력됩니다.'; +$lang->about_cmd_mobile_icon_setting = '게시판 새로운 글 혹은 수정되었을 때 출력하는 아이콘입니다. 기본값은 default 입니다. 사용않함을 선택할 경우 default 스킨이 기본값으로 출력됩니다.'; $lang->cmd_search_next = '계속 검색'; $lang->cmd_temp_save = '임시 저장'; $lang->cmd_toggle_checked_document = '선택항목 반전'; diff --git a/modules/document/tpl/document_config.html b/modules/document/tpl/document_config.html index 06c545e6d..0f0781b40 100644 --- a/modules/document/tpl/document_config.html +++ b/modules/document/tpl/document_config.html @@ -19,6 +19,28 @@
+
+ +
+ + {$lang->help} + +
+
+
+ +
+ + {$lang->help} + +
+
diff --git a/modules/document/tpl/icons/default/file.gif b/modules/document/tpl/icons/default/file.gif new file mode 100644 index 000000000..7d0768010 Binary files /dev/null and b/modules/document/tpl/icons/default/file.gif differ diff --git a/modules/document/tpl/icons/default/image.gif b/modules/document/tpl/icons/default/image.gif new file mode 100644 index 000000000..9e16ba620 Binary files /dev/null and b/modules/document/tpl/icons/default/image.gif differ diff --git a/modules/document/tpl/icons/default/movie.gif b/modules/document/tpl/icons/default/movie.gif new file mode 100644 index 000000000..4933e45af Binary files /dev/null and b/modules/document/tpl/icons/default/movie.gif differ diff --git a/modules/document/tpl/icons/default/new.gif b/modules/document/tpl/icons/default/new.gif new file mode 100644 index 000000000..0d2aad44a Binary files /dev/null and b/modules/document/tpl/icons/default/new.gif differ diff --git a/modules/document/tpl/icons/default/secret.gif b/modules/document/tpl/icons/default/secret.gif new file mode 100644 index 000000000..4e752dee8 Binary files /dev/null and b/modules/document/tpl/icons/default/secret.gif differ diff --git a/modules/document/tpl/icons/default/update.gif b/modules/document/tpl/icons/default/update.gif new file mode 100644 index 000000000..7a8d21f36 Binary files /dev/null and b/modules/document/tpl/icons/default/update.gif differ diff --git a/modules/editor/components/emoticon/emoticon.class.php b/modules/editor/components/emoticon/emoticon.class.php index e9392bab0..74ef76a1f 100644 --- a/modules/editor/components/emoticon/emoticon.class.php +++ b/modules/editor/components/emoticon/emoticon.class.php @@ -28,7 +28,7 @@ class emoticon extends EditorHandler function getEmoticonList() { $emoticon = Context::get('emoticon'); - if(!$emoticon || !preg_match("/^([a-z0-9\_]+)$/i",$emoticon)) return new Object(-1,'msg_invalid_request'); + if(!$emoticon || !preg_match("/^([a-z0-9\_]+)$/i",$emoticon)) return new BaseObject(-1,'msg_invalid_request'); $list = $this->getEmoticons($emoticon); diff --git a/modules/editor/editor.admin.controller.php b/modules/editor/editor.admin.controller.php index b3584c268..39def4e0b 100644 --- a/modules/editor/editor.admin.controller.php +++ b/modules/editor/editor.admin.controller.php @@ -39,10 +39,10 @@ class editorAdminController extends editor } $output = $this->editorListOrder($component_names,$site_module_info->site_srl); - if(!$output->toBool()) return new Object(); + if(!$output->toBool()) return new BaseObject(); $output = $this->editorCheckUse($componentList,$site_module_info->site_srl); - if(!$output->toBool()) return new Object(); + if(!$output->toBool()) return new BaseObject(); $oEditorController = getController('editor'); $oEditorController->removeCache($site_module_info->site_srl); @@ -70,7 +70,7 @@ class editorAdminController extends editor $output = executeQuery('editor.updateSiteComponent', $args); } } - if(!$output->toBool()) return new Object(); + if(!$output->toBool()) return new BaseObject(); unset($componentList); return $output; @@ -99,7 +99,7 @@ class editorAdminController extends editor $output = executeQuery('editor.updateSiteComponent', $args); } - if(!$output->toBool()) return new Object(); + if(!$output->toBool()) return new BaseObject(); $list_order_num++; } } @@ -251,7 +251,7 @@ class editorAdminController extends editor // Check if the component exists if(!$site_srl) $output = executeQuery('editor.isComponentInserted', $args); else $output = executeQuery('editor.isSiteComponentInserted', $args); - if($output->data->count) return new Object(-1, 'msg_component_is_not_founded'); + if($output->data->count) return $this->setError('msg_component_is_not_founded'); // Inert a component $args->list_order = getNextSequence(); if(!$site_srl) $output = executeQuery('editor.insertComponent', $args); diff --git a/modules/editor/editor.class.php b/modules/editor/editor.class.php index 2f526f885..4aff3dc22 100644 --- a/modules/editor/editor.class.php +++ b/modules/editor/editor.class.php @@ -47,6 +47,7 @@ class editor extends ModuleObject 'content_word_break' => 'normal', 'enable_autosave' => 'Y', 'allow_html' => 'Y', + 'editor_focus' => 'N', 'autoinsert_image' => 'paragraph', 'additional_css' => array(), 'additional_mobile_css' => array(), @@ -82,8 +83,6 @@ class editor extends ModuleObject $oModuleController->insertTrigger('module.dispAdditionSetup', 'editor', 'view', 'triggerDispEditorAdditionSetup', 'before'); // 2009. 04. 14 Add a trigger from compiled codes of the editor component $oModuleController->insertTrigger('display', 'editor', 'controller', 'triggerEditorComponentCompile', 'before'); - - return new Object(); } /** @@ -150,8 +149,6 @@ class editor extends ModuleObject { $oModuleController->insertTrigger('module.procModuleAdminCopyModule', 'editor', 'controller', 'triggerCopyModule', 'after'); } - - return new Object(0, 'success_updated'); } /** diff --git a/modules/editor/editor.controller.php b/modules/editor/editor.controller.php index 2ceb16845..6110e2695 100644 --- a/modules/editor/editor.controller.php +++ b/modules/editor/editor.controller.php @@ -47,20 +47,20 @@ class editorController extends editor { $component = Context::get('component'); $method = Context::get('method'); - if(!$component) return new Object(-1, sprintf(lang('msg_component_is_not_founded'), $component)); + if(!$component) return $this->setError('msg_component_is_not_founded', $component); $oEditorModel = getModel('editor'); $oComponent = &$oEditorModel->getComponentObject($component); if(!$oComponent->toBool()) return $oComponent; - if(!method_exists($oComponent, $method)) return new Object(-1, sprintf(lang('msg_component_is_not_founded'), $component)); + if(!method_exists($oComponent, $method)) return $this->setError('msg_component_is_not_founded', $component); //$output = call_user_method($method, $oComponent); //$output = call_user_func(array($oComponent, $method)); if(method_exists($oComponent, $method)) $output = $oComponent->{$method}(); - else return new Object(-1,sprintf('%s method is not exists', $method)); + else return $this->setError('%s method is not exists', $method); - if($output instanceof Object && !$output->toBool()) return $output; + if($output instanceof BaseObject && !$output->toBool()) return $output; $this->setError($oComponent->getError()); $this->setMessage($oComponent->getMessage()); @@ -93,13 +93,13 @@ class editorController extends editor $module_info = $oModuleModel->getModuleInfoByModuleSrl($srl); if (!$module_info->module_srl) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $module_grant = $oModuleModel->getGrant($module_info, $logged_info); if (!$module_grant->manager) { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } $module_srl[] = $srl; @@ -171,7 +171,7 @@ class editorController extends editor */ function triggerEditorComponentCompile(&$content) { - if(Context::getResponseMethod()!='HTML') return new Object(); + if(Context::getResponseMethod() !== 'HTML') return; $module_info = Context::get('module_info'); $module_srl = $module_info->module_srl; @@ -253,7 +253,6 @@ class editorController extends editor } $content = $this->transComponent($content); - return new Object(); } /** @@ -350,7 +349,6 @@ class editorController extends editor function triggerDeleteSavedDoc(&$obj) { $this->deleteSavedDoc(false); - return new Object(); } /** diff --git a/modules/editor/editor.model.php b/modules/editor/editor.model.php index c8f972c92..4d7874781 100644 --- a/modules/editor/editor.model.php +++ b/modules/editor/editor.model.php @@ -169,8 +169,9 @@ class editorModel extends editor } Context::set('enable_autosave', $option->enable_autosave); - // Set allow html + // Set allow html and focus Context::set('allow_html', ($option->allow_html === false || $option->allow_html === 'N') ? false : true); + Context::set('editor_focus', toBool($option->editor_focus)); // Load editor components. $site_srl = Context::get('site_module_info')->site_srl ?: 0; @@ -465,11 +466,11 @@ class editorModel extends editor // Create an object of the component and execute $class_path = sprintf('%scomponents/%s/', $this->module_path, $component); $class_file = sprintf('%s%s.class.php', $class_path, $component); - if(!file_exists($class_file)) return new Object(-1, sprintf(lang('msg_component_is_not_founded'), $component)); + if(!file_exists($class_file)) return $this->setError('msg_component_is_not_founded', $component); // Create an object after loading the class file require_once($class_file); $oComponent = new $component($editor_sequence, $class_path); - if(!$oComponent) return new Object(-1, sprintf(lang('msg_component_is_not_founded'), $component)); + if(!$oComponent) return $this->setError('msg_component_is_not_founded', $component); // Add configuration information $component_info = $this->getComponent($component, $site_srl); $oComponent->setInfo($component_info); @@ -526,7 +527,7 @@ class editorModel extends editor $group_list = array(); } - if(count($component_list)) + if(countobj($component_list)) { foreach($component_list as $key => $val) { diff --git a/modules/editor/editor.view.php b/modules/editor/editor.view.php index 1ea2fceb4..9255e17e1 100644 --- a/modules/editor/editor.view.php +++ b/modules/editor/editor.view.php @@ -88,7 +88,7 @@ class editorView extends editor // Get information of the current module $current_module_info = Context::get('current_module_info'); $current_module_srl = $current_module_info->module_srl; - if(!$current_module_srl) return new Object(); + if(!$current_module_srl) return new BaseObject(); } // Get editors settings $oEditorModel = getModel('editor'); @@ -135,7 +135,7 @@ class editorView extends editor $tpl = $oTemplate->compile($this->module_path.'tpl', 'editor_module_config'); $obj .= $tpl; - return new Object(); + return new BaseObject(); } diff --git a/modules/editor/skins/ckeditor/editor.html b/modules/editor/skins/ckeditor/editor.html index d175d156b..6e28dbdd2 100644 --- a/modules/editor/skins/ckeditor/editor.html +++ b/modules/editor/skins/ckeditor/editor.html @@ -104,6 +104,7 @@ var auto_saved_msg = "{$lang->msg_auto_saved}"; fontSize_sizes: font_sizes, toolbarCanCollapse: true, allowedContent: true, + startupFocus: {json_encode($editor_focus)}, language: "{str_replace('jp','ja',$lang_type)}" }, loadXeComponent: true, diff --git a/modules/file/file.admin.controller.php b/modules/file/file.admin.controller.php index f6f690c13..329042ef1 100644 --- a/modules/file/file.admin.controller.php +++ b/modules/file/file.admin.controller.php @@ -105,7 +105,7 @@ class fileAdminController extends file { if ($config->allowed_filesize > 2047 || $config->allowed_attach_size > 2047) { - return new Object(-1, 'msg_32bit_max_2047mb'); + return $this->setError('msg_32bit_max_2047mb'); } } @@ -154,7 +154,7 @@ class fileAdminController extends file { if ($file_config->allowed_filesize > 2047 || $file_config->allowed_attach_size > 2047) { - return new Object(-1, 'msg_32bit_max_2047mb'); + return $this->setError('msg_32bit_max_2047mb'); } } diff --git a/modules/file/file.class.php b/modules/file/file.class.php index 30ce30b2c..2bc3a535a 100644 --- a/modules/file/file.class.php +++ b/modules/file/file.class.php @@ -42,8 +42,6 @@ class file extends ModuleObject $oModuleController->insertTrigger('module.deleteModule', 'file', 'controller', 'triggerDeleteModuleFiles', 'after'); // 2007. 10. 19 Call a trigger to set up the file permissions before displaying $oModuleController->insertTrigger('module.dispAdditionSetup', 'file', 'view', 'triggerDispFileAdditionSetup', 'before'); - - return new Object(); } /** @@ -142,8 +140,6 @@ class file extends ModuleObject } if(!$oDB->isColumnExists('files', 'cover_image')) $oDB->addColumn('files', 'cover_image', 'char', '1', 'N'); - - return new Object(0, 'success_updated'); } /** diff --git a/modules/file/file.controller.php b/modules/file/file.controller.php index b4a8a7df2..994600928 100644 --- a/modules/file/file.controller.php +++ b/modules/file/file.controller.php @@ -39,7 +39,7 @@ class fileController extends file // Exit a session if there is neither upload permission nor information if(!$_SESSION['upload_info'][$editor_sequence]->enabled) { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } // Get upload_target_srl @@ -63,7 +63,7 @@ class fileController extends file $total_size = intval($matches[3]); if ($chunk_start < 0 || $chunk_size < 0 || $total_size < 0 || $chunk_start + $chunk_size > $total_size || $chunk_size != $file_info['size']) { - return new Object(-1, 'msg_upload_invalid_chunk'); + return $this->setError('msg_upload_invalid_chunk'); } $this->add('chunk_current_size', $chunk_size); $this->add('chunk_uploaded_size', $chunk_start); @@ -76,13 +76,13 @@ class fileController extends file { Rhymix\Framework\Storage::delete($temp_filename); $this->add('chunk_status', 11); - return new Object(-1, 'msg_upload_invalid_chunk'); + return $this->setError('msg_upload_invalid_chunk'); } if ($chunk_start != 0 && (!Rhymix\Framework\Storage::isFile($temp_filename) || Rhymix\Framework\Storage::getSize($temp_filename) != $chunk_start)) { Rhymix\Framework\Storage::delete($temp_filename); $this->add('chunk_status', 12); - return new Object(-1, 'msg_upload_invalid_chunk'); + return $this->setError('msg_upload_invalid_chunk'); } // Check size limit @@ -95,13 +95,13 @@ class fileController extends file if ($total_size > $allowed_filesize) { $this->add('chunk_status', 21); - return new Object(-1, 'msg_exceeds_limit_size'); + return $this->setError('msg_exceeds_limit_size'); } $output = executeQuery('file.getAttachedFileSize', (object)array('upload_target_srl' => $upload_target_srl)); if (intval($output->data->attached_size) + $total_size > $allowed_attach_size) { $this->add('chunk_status', 22); - return new Object(-1, 'msg_exceeds_limit_size'); + return $this->setError('msg_exceeds_limit_size'); } } @@ -119,14 +119,14 @@ class fileController extends file } else { - return new Object(); + return; } } else { Rhymix\Framework\Storage::delete($temp_filename); $this->add('chunk_status', 40); - return new Object(-1, 'msg_upload_invalid_chunk'); + return $this->setError('msg_upload_invalid_chunk'); } } else @@ -207,14 +207,14 @@ class fileController extends file if(!$file_srl || !$width) { - return new Object(-1,'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $oFileModel = getModel('file'); $fileInfo = $oFileModel->getFile($file_srl); if(!$fileInfo || $fileInfo->direct_download != 'Y') { - return new Object(-1,'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $source_src = $fileInfo->uploaded_filename; @@ -230,7 +230,7 @@ class fileController extends file } else { - return new Object(-1,'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $this->add('resized_info',$output); @@ -271,7 +271,7 @@ class fileController extends file { $oFileModel = getModel('file'); - if(isset($this->grant->access) && $this->grant->access !== true) return new Object(-1, 'msg_not_permitted'); + if(isset($this->grant->access) && $this->grant->access !== true) return $this->setError('msg_not_permitted'); $file_srl = Context::get('file_srl'); $sid = Context::get('sid'); @@ -554,11 +554,11 @@ class fileController extends file */ function procFileGetList() { - if(!Context::get('is_logged')) return new Object(-1,'msg_not_permitted'); + if(!Context::get('is_logged')) return $this->setError('msg_not_permitted'); $logged_info = Context::get('logged_info'); if($logged_info->is_admin !== 'Y' && !getModel('module')->isSiteAdmin($logged_info)) { - return new Object(-1,'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } $fileSrls = Context::get('file_srls'); @@ -598,12 +598,12 @@ class fileController extends file function triggerCheckAttached(&$obj) { $document_srl = $obj->document_srl; - if(!$document_srl) return new Object(); + if(!$document_srl) return; + // Get numbers of attachments $oFileModel = getModel('file'); $obj->uploaded_count = $oFileModel->getFilesCount($document_srl); - - return new Object(); + // TODO: WTF are we doing with uploaded_count anyway? } /** @@ -615,12 +615,10 @@ class fileController extends file function triggerAttachFiles(&$obj) { $document_srl = $obj->document_srl; - if(!$document_srl) return new Object(); + if(!$document_srl) return; $output = $this->setFilesValid($document_srl); if(!$output->toBool()) return $output; - - return new Object(); } /** @@ -632,7 +630,7 @@ class fileController extends file function triggerDeleteAttached(&$obj) { $document_srl = $obj->document_srl; - if(!$document_srl) return new Object(); + if(!$document_srl) return; $output = $this->deleteFiles($document_srl); return $output; @@ -647,12 +645,10 @@ class fileController extends file function triggerCommentCheckAttached(&$obj) { $comment_srl = $obj->comment_srl; - if(!$comment_srl) return new Object(); + if(!$comment_srl) return; // Get numbers of attachments $oFileModel = getModel('file'); $obj->uploaded_count = $oFileModel->getFilesCount($comment_srl); - - return new Object(); } /** @@ -665,12 +661,10 @@ class fileController extends file { $comment_srl = $obj->comment_srl; $uploaded_count = $obj->uploaded_count; - if(!$comment_srl || !$uploaded_count) return new Object(); + if(!$comment_srl || !$uploaded_count) return; $output = $this->setFilesValid($comment_srl); if(!$output->toBool()) return $output; - - return new Object(); } /** @@ -682,9 +676,9 @@ class fileController extends file function triggerCommentDeleteAttached(&$obj) { $comment_srl = $obj->comment_srl; - if(!$comment_srl) return new Object(); + if(!$comment_srl) return; - if($obj->isMoveToTrash) return new Object(); + if($obj->isMoveToTrash) return; $output = $this->deleteFiles($comment_srl); return $output; @@ -699,7 +693,7 @@ class fileController extends file function triggerDeleteModuleFiles(&$obj) { $module_srl = $obj->module_srl; - if(!$module_srl) return new Object(); + if(!$module_srl) return; $oFileController = getAdminController('file'); return $oFileController->deleteModuleFiles($module_srl); @@ -817,13 +811,13 @@ class fileController extends file $allowed_filesize = $config->allowed_filesize * 1024 * 1024; $allowed_attach_size = $config->allowed_attach_size * 1024 * 1024; // An error appears if file size exceeds a limit - if($allowed_filesize < filesize($file_info['tmp_name'])) return new Object(-1, 'msg_exceeds_limit_size'); + if($allowed_filesize < filesize($file_info['tmp_name'])) return $this->setError('msg_exceeds_limit_size'); // Get total file size of all attachements (from DB) $size_args = new stdClass; $size_args->upload_target_srl = $upload_target_srl; $output = executeQuery('file.getAttachedFileSize', $size_args); $attached_size = (int)$output->data->attached_size + filesize($file_info['tmp_name']); - if($attached_size > $allowed_attach_size) return new Object(-1, 'msg_exceeds_limit_size'); + if($attached_size > $allowed_attach_size) return $this->setError('msg_exceeds_limit_size'); } } @@ -860,7 +854,7 @@ class fileController extends file // Create a directory if(!Rhymix\Framework\Storage::isDirectory($path) && !Rhymix\Framework\Storage::createDirectory($path)) { - return new Object(-1,'msg_not_permitted_create'); + return $this->setError('msg_not_permitted_create'); } // Move the file @@ -872,7 +866,7 @@ class fileController extends file @copy($file_info['tmp_name'], $filename); if(!file_exists($filename)) { - return new Object(-1,'msg_file_upload_error'); + return $this->setError('msg_file_upload_error'); } } } @@ -882,7 +876,7 @@ class fileController extends file { if (!Rhymix\Framework\Storage::move($file_info['tmp_name'], $filename)) { - return new Object(-1,'msg_file_upload_error'); + return $this->setError('msg_file_upload_error'); } } } @@ -892,7 +886,7 @@ class fileController extends file { if(!@move_uploaded_file($file_info['tmp_name'], $filename)) { - return new Object(-1,'msg_file_upload_error'); + return $this->setError('msg_file_upload_error'); } } } @@ -1033,7 +1027,7 @@ class fileController extends file $columnList = array('file_srl', 'uploaded_filename', 'module_srl'); $file_list = $oFileModel->getFiles($upload_target_srl, $columnList); // Success returned if no attachement exists - if(!is_array($file_list)||!count($file_list)) return new Object(); + if(!is_array($file_list)||!count($file_list)) return new BaseObject(); // Delete the file foreach ($file_list as $file) @@ -1107,16 +1101,16 @@ class fileController extends file $vars = Context::getRequestVars(); $logged_info = Context::get('logged_info'); - if(!$vars->editor_sequence) return new Object(-1, 'msg_invalid_request'); + if(!$vars->editor_sequence) return $this->setError('msg_invalid_request'); $upload_target_srl = $_SESSION['upload_info'][$vars->editor_sequence]->upload_target_srl; $oFileModel = getModel('file'); $file_info = $oFileModel->getFile($vars->file_srl); - if(!$file_info) return new Object(-1, 'msg_not_founded'); + if(!$file_info) return $this->setError('msg_not_founded'); - if(!$this->manager && !$file_info->member_srl === $logged_info->member_srl) return new Object(-1, 'msg_not_permitted'); + if(!$this->manager && !$file_info->member_srl === $logged_info->member_srl) return $this->setError('msg_not_permitted'); $args = new stdClass(); $args->file_srl = $vars->file_srl; diff --git a/modules/file/file.model.php b/modules/file/file.model.php index 57dd5632d..9a41b0b66 100644 --- a/modules/file/file.model.php +++ b/modules/file/file.model.php @@ -45,7 +45,7 @@ class fileModel extends file $oComment = $oCommentModel->getComment($upload_target_srl); if($oComment->isExists() && $oComment->isSecret() && !$oComment->isGranted()) { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } $oDocument = $oDocumentModel->getDocument($oComment->get('document_srl')); @@ -54,7 +54,7 @@ class fileModel extends file // document 권한 확인 if($oDocument->isExists() && $oDocument->isSecret() && !$oDocument->isGranted()) { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } // 모듈 권한 확인 @@ -63,12 +63,12 @@ class fileModel extends file $grant = $oModuleModel->getGrant($oModuleModel->getModuleInfoByModuleSrl($oDocument->get('module_srl')), $logged_info); if(!$grant->access) { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } } $tmp_files = $this->getFiles($upload_target_srl); - if($tmp_files instanceof Object && !$tmp_files->toBool()) return $tmp_files; + if($tmp_files instanceof BaseObject && !$tmp_files->toBool()) return $tmp_files; $files = array(); foreach($tmp_files as $file_info) diff --git a/modules/file/file.view.php b/modules/file/file.view.php index 1fbd5c904..abe56274d 100644 --- a/modules/file/file.view.php +++ b/modules/file/file.view.php @@ -19,7 +19,7 @@ class fileView extends file * It only receives file configurations * * @param string $obj The html string of page of addition setup of module - * @return Object + * @return void */ function triggerDispFileAdditionSetup(&$obj) { @@ -31,7 +31,7 @@ class fileView extends file // Get information of the current module $current_module_info = Context::get('current_module_info'); $current_module_srl = $current_module_info->module_srl; - if(!$current_module_srl) return new Object(); + if(!$current_module_srl) return; } // Get file configurations of the module $oFileModel = getModel('file'); @@ -46,8 +46,6 @@ class fileView extends file $oTemplate = &TemplateHandler::getInstance(); $tpl = $oTemplate->compile($this->module_path.'tpl', 'file_module_config'); $obj .= $tpl; - - return new Object(); } } /* End of file file.view.php */ diff --git a/modules/importer/extract.class.php b/modules/importer/extract.class.php index 53d7bffe6..0051e3c32 100644 --- a/modules/importer/extract.class.php +++ b/modules/importer/extract.class.php @@ -124,7 +124,7 @@ class extract // If local file if(strncasecmp('http://', $this->filename, 7) !== 0) { - if(!file_exists($this->filename)) return new Object(-1,'msg_no_xml_file'); + if(!file_exists($this->filename)) return $this->setError('msg_no_xml_file'); $this->fd = fopen($this->filename,"r"); // If remote file } @@ -135,7 +135,7 @@ class extract if(!$url_info['path']) $url_info['path'] = '/'; $this->fd = @fsockopen($url_info['host'], $url_info['port']); - if(!$this->fd) return new Object(-1,'msg_no_xml_file'); + if(!$this->fd) return $this->setError('msg_no_xml_file'); // If the file name contains Korean, do urlencode(iconv required) $path = $url_info['path']; if(preg_match('/[\xEA-\xED][\x80-\xFF]{2}/', $path)&&function_exists('iconv')) @@ -157,7 +157,7 @@ class extract $buff .= $str = fgets($this->fd, 1024); if(!trim($str)) break; } - if(preg_match('/404 Not Found/i',$buff)) return new Object(-1,'msg_no_xml_file'); + if(preg_match('/404 Not Found/i',$buff)) return $this->setError('msg_no_xml_file'); } if($this->startTag) @@ -181,7 +181,7 @@ class extract $this->isFinished = false; } - return new Object(); + return new BaseObject(); } /** diff --git a/modules/importer/importer.admin.controller.php b/modules/importer/importer.admin.controller.php index 1abb5da25..83f5d5318 100644 --- a/modules/importer/importer.admin.controller.php +++ b/modules/importer/importer.admin.controller.php @@ -292,12 +292,12 @@ class importerAdminController extends importer $this->unit_count = Context::get('unit_count'); // Check if an index file exists $index_file = './files/cache/importer/'.$key.'/index'; - if(!file_exists($index_file)) return new Object(-1, 'msg_invalid_xml_file'); + if(!file_exists($index_file)) return $this->setError('msg_invalid_xml_file'); switch($type) { case 'ttxml' : - if(!$target_module) return new Object(-1,'msg_invalid_request'); + if(!$target_module) return $this->setError('msg_invalid_request'); $oModuleModel = getModel('module'); $columnList = array('module_srl', 'module'); @@ -317,7 +317,7 @@ class importerAdminController extends importer break; case 'module' : // Check if the target module exists - if(!$target_module) return new Object(-1,'msg_invalid_request'); + if(!$target_module) return $this->setError('msg_invalid_request'); $cur = $this->importModule($key, $cur, $index_file, $target_module); break; } diff --git a/modules/importer/importer.class.php b/modules/importer/importer.class.php index 13914a71b..a270d6e4d 100644 --- a/modules/importer/importer.class.php +++ b/modules/importer/importer.class.php @@ -12,11 +12,11 @@ class importer extends ModuleObject { /** * Implement if additional tasks are necessary when installing - * @return Object + * @return void */ function moduleInstall() { - return new Object(); + } /** @@ -30,11 +30,11 @@ class importer extends ModuleObject /** * Execute update - * @return Object + * @return void */ function moduleUpdate() { - return new Object(); + } /** @@ -43,6 +43,7 @@ class importer extends ModuleObject */ function recompileCache() { + } } /* End of file importer.class.php */ diff --git a/modules/install/install.admin.controller.php b/modules/install/install.admin.controller.php index 7d039f723..df186fab3 100644 --- a/modules/install/install.admin.controller.php +++ b/modules/install/install.admin.controller.php @@ -20,7 +20,7 @@ class installAdminController extends install function procInstallAdminInstall() { $module_name = Context::get('module_name'); - if(!$module_name) return new object(-1, 'invalid_request'); + if(!$module_name) return $this->setError('invalid_request'); $oInstallController = getController('install'); $oInstallController->installModule($module_name, './modules/'.$module_name); @@ -35,18 +35,21 @@ class installAdminController extends install { @set_time_limit(0); $module_name = Context::get('module_name'); - if(!$module_name) return new object(-1, 'invalid_request'); + if(!$module_name) return $this->setError('invalid_request'); $oModule = getModule($module_name, 'class'); if(!$oModule) { - $output = new Object(-1, 'invalid_request'); + $output = return $this->setError('invalid_request'); } Rhymix\Framework\Session::close(); $output = $oModule->moduleUpdate(); Rhymix\Framework\Session::start(); - return $output; + if($output instanceof BaseObject && !$output->toBool()) + { + return $output; + } } function procInstallAdminRemoveFTPInfo() diff --git a/modules/install/install.class.php b/modules/install/install.class.php index 9435e4a74..613d08a28 100644 --- a/modules/install/install.class.php +++ b/modules/install/install.class.php @@ -12,7 +12,7 @@ class install extends ModuleObject */ function moduleInstall() { - return new Object(); + } /** @@ -28,7 +28,7 @@ class install extends ModuleObject */ function moduleUpdate() { - return new Object(); + } /** diff --git a/modules/install/install.controller.php b/modules/install/install.controller.php index 5b878d265..f14446b6b 100644 --- a/modules/install/install.controller.php +++ b/modules/install/install.controller.php @@ -76,7 +76,7 @@ class installController extends install { if ($oDB->isTableExists($table_name)) { - return new Object(-1, 'msg_table_already_exists'); + return $this->setError('msg_table_already_exists'); } } @@ -99,7 +99,7 @@ class installController extends install // Check if it is already installed if (Context::isInstalled()) { - return new Object(-1, 'msg_already_installed'); + return $this->setError('msg_already_installed'); } // Get install parameters. @@ -227,7 +227,7 @@ class installController extends install catch(Exception $e) { $oDB->rollback(); - return new Object(-1, $e->getMessage()); + return $this->setError($e->getMessage()); } // Execute the install script. @@ -264,7 +264,7 @@ class installController extends install $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : RX_BASEURL; $this->setRedirectUrl($returnUrl); - return new Object(); + return new BaseObject(); } /** @@ -411,7 +411,7 @@ class installController extends install else { FileHandler::removeFile($this->flagLicenseAgreement); - return new Object(-1, 'msg_must_accept_license_agreement'); + return $this->setError('msg_must_accept_license_agreement'); } if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) @@ -505,7 +505,7 @@ class installController extends install } } - return new Object(); + return new BaseObject(); } /** @@ -534,7 +534,7 @@ class installController extends install unset($oModule); $oModule = getClass($module); if(method_exists($oModule, 'moduleInstall')) $oModule->moduleInstall(); - return new Object(); + return new BaseObject(); } /** diff --git a/modules/install/install.model.php b/modules/install/install.model.php index 9c1fac416..9bc7b0562 100644 --- a/modules/install/install.model.php +++ b/modules/install/install.model.php @@ -15,13 +15,13 @@ class installModel extends install $connection = ssh2_connect($ftp_info->ftp_host, $ftp_info->ftp_port); if(!ssh2_auth_password($connection, $ftp_info->ftp_user, $ftp_info->ftp_password)) { - return new Object(-1,'msg_ftp_invalid_auth_info'); + return $this->setError('msg_ftp_invalid_auth_info'); } $sftp = ssh2_sftp($connection); $curpwd = "ssh2.sftp://$sftp".$this->pwd; $dh = @opendir($curpwd); - if(!$dh) return new Object(-1, 'msg_ftp_invalid_path'); + if(!$dh) return $this->setError('msg_ftp_invalid_path'); $list = array(); while(($file = readdir($dh)) !== false) @@ -37,7 +37,7 @@ class installModel extends install { if(!($ftp_info = Context::getRequestVars()) || !$ftp_info->ftp_user || !$ftp_info->ftp_password) { - return new Object(-1, 'msg_ftp_invalid_auth_info'); + return $this->setError('msg_ftp_invalid_auth_info'); } $this->pwd = $ftp_info->ftp_root_path; if(!$ftp_info->ftp_host) @@ -54,11 +54,11 @@ class installModel extends install if(function_exists('ftp_connect')) { $connection = ftp_connect($ftp_info->ftp_host, $ftp_info->ftp_port); - if(!$connection) return new Object(-1, sprintf(lang('msg_ftp_not_connected'), 'host')); + if(!$connection) return $this->setError(sprintf(lang('msg_ftp_not_connected'), 'host')); if(! @ftp_login($connection, $ftp_info->ftp_user, $ftp_info->ftp_password)) { ftp_close($connection); - return new Object(-1,'msg_ftp_invalid_auth_info'); + return $this->setError('msg_ftp_invalid_auth_info'); } if($ftp_info->ftp_pasv != "N") @@ -82,7 +82,7 @@ class installModel extends install else { $oFtp->ftp_quit(); - return new Object(-1,'msg_ftp_invalid_auth_info'); + return $this->setError('msg_ftp_invalid_auth_info'); } } } diff --git a/modules/install/install.view.php b/modules/install/install.view.php index 849fd35a5..a2696ae3a 100644 --- a/modules/install/install.view.php +++ b/modules/install/install.view.php @@ -58,7 +58,6 @@ class installView extends install else { $this->setRedirectUrl(RX_BASEURL); - return new Object(); } } } diff --git a/modules/install/script/ko.install.php b/modules/install/script/ko.install.php index f591ed9a0..3e2484f9f 100644 --- a/modules/install/script/ko.install.php +++ b/modules/install/script/ko.install.php @@ -148,7 +148,7 @@ function __makeMenu(&$list, $parent_srl) } $output = $oMenuAdminController->procMenuAdminInsertItem(); - if($output instanceof Object && !$output->toBool()) + if($output instanceof BaseObject && !$output->toBool()) { return $output; } diff --git a/modules/integration_search/integration_search.class.php b/modules/integration_search/integration_search.class.php index dffa2e014..93adb3d97 100644 --- a/modules/integration_search/integration_search.class.php +++ b/modules/integration_search/integration_search.class.php @@ -17,8 +17,6 @@ class integration_search extends ModuleObject // Registered in action forward $oModuleController = getController('module'); $oModuleController->insertActionForward('integration_search', 'view', 'IS'); - - return new Object(); } /** @@ -67,8 +65,6 @@ class integration_search extends ModuleObject } } } - - return new Object(0, 'success_updated'); } /** diff --git a/modules/integration_search/integration_search.model.php b/modules/integration_search/integration_search.model.php index 92b38722d..d6ef8d796 100644 --- a/modules/integration_search/integration_search.model.php +++ b/modules/integration_search/integration_search.model.php @@ -119,7 +119,7 @@ class integration_searchModel extends module function getTrackbacks($target, $module_srls_list, $search_target = "title", $search_keyword, $page=1, $list_count = 20) { $oTrackbackModel = getAdminModel('trackback'); - if(!$oTrackbackModel) return new Object(); + if(!$oTrackbackModel) return new BaseObject(); $args = new stdClass(); if(is_array($module_srls_list)) $module_srls = implode(',',$module_srls_list); diff --git a/modules/integration_search/integration_search.view.php b/modules/integration_search/integration_search.view.php index 0f1fcd15f..7c9db39c3 100644 --- a/modules/integration_search/integration_search.view.php +++ b/modules/integration_search/integration_search.view.php @@ -49,7 +49,7 @@ class integration_searchView extends integration_search } // Check permissions - if(!$this->grant->access) return new Object(-1,'msg_not_permitted'); + if(!$this->grant->access) return $this->setError('msg_not_permitted'); $config = $oModuleModel->getModuleConfig('integration_search'); if(!$config) $config = new stdClass; diff --git a/modules/krzip/krzip.class.php b/modules/krzip/krzip.class.php index 32ac69f6e..f7cf1be94 100644 --- a/modules/krzip/krzip.class.php +++ b/modules/krzip/krzip.class.php @@ -26,12 +26,7 @@ class krzip extends ModuleObject function moduleInstall() { - return new Object(); - } - - function moduleUninstall() - { - return new Object(); + } function checkUpdate() @@ -41,7 +36,7 @@ class krzip extends ModuleObject function moduleUpdate() { - return new Object(); + } } diff --git a/modules/krzip/krzip.model.php b/modules/krzip/krzip.model.php index 794535b0a..3edbd4cc1 100644 --- a/modules/krzip/krzip.model.php +++ b/modules/krzip/krzip.model.php @@ -94,7 +94,7 @@ class krzipModel extends krzip $module_config = $this->getConfig(); if($module_config->api_handler != 1) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } if(!isset($query)) { @@ -185,11 +185,11 @@ class krzipModel extends krzip } } - return new Object(-1, $err_msg); + return $this->setError($err_msg); } if(!$result->post) { - return new Object(-1, 'msg_krzip_riddling_wrong'); + return $this->setError('msg_krzip_riddling_wrong'); } $item_list = $result->post->itemlist->item; @@ -199,7 +199,7 @@ class krzipModel extends krzip } if(!$item_list) { - return new Object(-1, 'msg_krzip_no_result'); + return $this->setError('msg_krzip_no_result'); } $addr_list = array(); @@ -211,7 +211,7 @@ class krzipModel extends krzip $addr_list[] = $this->getMigratedPostcode('(' . $postcode . ') (' . $jibun_addr . ') ' . $road_addr); } - $output = new Object(); + $output = new BaseObject(); $output->add('address_list', $addr_list); return $output; diff --git a/modules/layout/layout.admin.controller.php b/modules/layout/layout.admin.controller.php index 363936fdd..a20943ffb 100644 --- a/modules/layout/layout.admin.controller.php +++ b/modules/layout/layout.admin.controller.php @@ -130,7 +130,7 @@ class layoutAdminController extends layout $output = executeQuery('menu.getMenuItemByUrl', $tmpArgs); if(!$output->toBool()) { - return new Object(-1, 'fail_to_update'); + return $this->setError('fail_to_update'); } $menu_srl = $output->data->menu_srl; @@ -313,7 +313,7 @@ class layoutAdminController extends layout if(!$output->toBool()) { - return new Object(-1, $output->message); + return $this->setError($output->message); } } } @@ -334,7 +334,7 @@ class layoutAdminController extends layout if(!$output->toBool()) return $output; - return new Object(0,'success_deleted'); + return new BaseObject(0,'success_deleted'); } /** @@ -356,7 +356,7 @@ class layoutAdminController extends layout if(!$layout_srl || !$code || !$is_post) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $oLayoutModel = getModel('layout'); @@ -377,7 +377,7 @@ class layoutAdminController extends layout function procLayoutAdminCodeReset() { $layout_srl = Context::get('layout_srl'); - if(!$layout_srl) return new Object(-1, 'msg_invalid_request'); + if(!$layout_srl) return $this->setError('msg_invalid_request'); // delete user layout file $oLayoutModel = getModel('layout'); @@ -480,13 +480,13 @@ class layoutAdminController extends layout $oModuleModel = getModel('module'); $mid = Context::get('mid'); - if(!$mid) return new Object(-1, 'msg_invalid_request'); + if(!$mid) return $this->setError('msg_invalid_request'); $site_module_info = Context::get('site_module_info'); $columnList = array('layout_srl'); $module_info = $oModuleModel->getModuleInfoByMid($mid, $site_module_info->site_srl, $columnList); $layout_srl = $module_info->layout_srl; - if(!$layout_srl) return new Object(-1, 'msg_invalid_request'); + if(!$layout_srl) return $this->setError('msg_invalid_request'); $oLayoutModel = getModel('layout'); @@ -589,7 +589,7 @@ class layoutAdminController extends layout function procLayoutAdminUserLayoutExport() { $layout_srl = Context::get('layout_srl'); - if(!$layout_srl) return new Object('-1','msg_invalid_request'); + if(!$layout_srl) return new BaseObject('-1','msg_invalid_request'); $oLayoutModel = getModel('layout'); diff --git a/modules/layout/layout.admin.view.php b/modules/layout/layout.admin.view.php index 75a384088..42df0dcf1 100644 --- a/modules/layout/layout.admin.view.php +++ b/modules/layout/layout.admin.view.php @@ -295,11 +295,11 @@ class layoutAdminView extends layout $layout_srl = Context::get('layout_srl'); $code = Context::get('code'); $code_css = Context::get('code_css'); - if(!$layout_srl || !$code) return new Object(-1, 'msg_invalid_request'); + if(!$layout_srl || !$code) return $this->setError('msg_invalid_request'); // Get the layout information $oLayoutModel = getModel('layout'); $layout_info = $oLayoutModel->getLayout($layout_srl); - if(!$layout_info) return new Object(-1, 'msg_invalid_request'); + if(!$layout_info) return $this->setError('msg_invalid_request'); // Separately handle the layout if its type is faceoff if($layout_info && $layout_info->type == 'faceoff') $oLayoutModel->doActivateFaceOff($layout_info); // Apply CSS directly diff --git a/modules/layout/layout.class.php b/modules/layout/layout.class.php index a5b8e41d6..939a683bf 100644 --- a/modules/layout/layout.class.php +++ b/modules/layout/layout.class.php @@ -15,8 +15,6 @@ class layout extends ModuleObject { // Create a directory to be used in the layout FileHandler::makeDir('./files/cache/layout'); - - return new Object(); } /** @@ -104,7 +102,6 @@ class layout extends ModuleObject } } } - return new Object(0, 'success_updated'); } /** diff --git a/modules/layout/layout.view.php b/modules/layout/layout.view.php index 369f69ac5..ec8730e93 100644 --- a/modules/layout/layout.view.php +++ b/modules/layout/layout.view.php @@ -318,8 +318,7 @@ class layoutView extends layout { if(!checkCSRF()) { - $this->stop('msg_invalid_request'); - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } // admin check @@ -331,11 +330,11 @@ class layoutView extends layout $code = Context::get('code'); $code_css = Context::get('code_css'); - if(!$layout_srl || !$code) return new Object(-1, 'msg_invalid_request'); + if(!$layout_srl || !$code) return $this->setError('msg_invalid_request'); // Get the layout information $oLayoutModel = getModel('layout'); $layout_info = $oLayoutModel->getLayout($layout_srl); - if(!$layout_info) return new Object(-1, 'msg_invalid_request'); + if(!$layout_info) return $this->setError('msg_invalid_request'); // Separately handle the layout if its type is faceoff if($layout_info && $layout_info->type == 'faceoff') $oLayoutModel->doActivateFaceOff($layout_info); // Apply CSS directly diff --git a/modules/member/conf/module.xml b/modules/member/conf/module.xml index 134d98ae3..b98506de8 100644 --- a/modules/member/conf/module.xml +++ b/modules/member/conf/module.xml @@ -62,6 +62,8 @@ + + @@ -78,6 +80,7 @@ + diff --git a/modules/member/lang/en.php b/modules/member/lang/en.php index e8bf03415..a5d4cbbbf 100644 --- a/modules/member/lang/en.php +++ b/modules/member/lang/en.php @@ -3,6 +3,7 @@ $lang->member = 'Member'; $lang->site = 'Site'; $lang->member_default_config = 'Basic Settings'; $lang->member_features_config = 'Features'; +$lang->member_agreements_config = 'Terms of Service'; $lang->member_default_info = 'Basic Info'; $lang->member_extend_info = 'Additional Info'; $lang->default_group_1 = 'Associate Member'; @@ -158,7 +159,7 @@ $lang->msg_not_uploaded_profile_image = 'Profile image could not be registered.' $lang->msg_not_uploaded_image_name = 'Image name could not be registered.'; $lang->msg_not_uploaded_image_mark = 'Image mark could not be registered.'; $lang->msg_not_uploaded_group_image_mark = 'Group image mark could not be registered.'; -$lang->msg_accept_agreement = 'You have to accept the agreement.'; +$lang->msg_accept_agreement = 'You must accept all required agreements in order to sign up.'; $lang->msg_user_denied = 'You have entered a prohibited ID.'; $lang->msg_user_not_confirmed = 'Your account is not activated yet. Please check your email.'; $lang->msg_user_limited = 'You have entered an ID that cannot be used before %s'; @@ -216,7 +217,7 @@ $lang->about_image_mark = 'Members will be able to use image mark in front of th $lang->about_group_image_mark = 'You may use group marks shown before their names'; $lang->about_profile_image = 'Members will be able to use profile images'; $lang->about_signature_max_height = 'You can limit the signature max height. Set this as 0 or leave it blank not to limit it.'; -$lang->about_accept_agreement = 'I have read the agreement and agree with it'; +$lang->about_accept_agreement = 'I have read the above and agree with it.'; $lang->about_member_default = 'It will be set as the default group on sign up'; $lang->about_find_member_account = 'Please input the email address you have entered during the registration and we will send your account info to this email address.'; $lang->about_ssl_port = 'Please enter if you are using non-default SSL port'; @@ -257,8 +258,12 @@ $lang->about_change_user_group = 'Resets the selected group of memebers.'; $lang->about_send_message = 'Send a message to the member about this. If you don\'t write a message, it is not sent.'; $lang->cmd_allowed = 'Allowed'; $lang->cmd_prohibited = 'Prohibited'; +$lang->cmd_agreement_title = 'Title'; +$lang->cmd_agreement_content = 'Content'; +$lang->cmd_agreement_type = 'Agreement required'; $lang->cmd_required = 'Required'; $lang->cmd_optional = 'Optional'; +$lang->cmd_disabled = 'Disabled'; $lang->cmd_image_max_width = 'Max Width'; $lang->cmd_image_max_height = 'Max Height'; $lang->cmd_input_extend_form = 'User Defined Input'; diff --git a/modules/member/lang/ko.php b/modules/member/lang/ko.php index 382170b4b..da50d6a5e 100644 --- a/modules/member/lang/ko.php +++ b/modules/member/lang/ko.php @@ -3,6 +3,7 @@ $lang->member = '회원'; $lang->site = '사이트'; $lang->member_default_config = '기본 설정'; $lang->member_features_config = '기능 설정'; +$lang->member_agreements_config = '약관 설정'; $lang->member_default_info = '기본 정보'; $lang->member_extend_info = '추가 정보'; $lang->default_group_1 = '준회원'; @@ -166,7 +167,7 @@ $lang->msg_not_uploaded_profile_image = '프로필 이미지를 등록할 수 $lang->msg_not_uploaded_image_name = '이미지 이름을 등록할 수 없습니다.'; $lang->msg_not_uploaded_image_mark = '이미지 마크를 등록할 수 없습니다.'; $lang->msg_not_uploaded_group_image_mark = '그룹 이미지 마크를 등록할 수 없습니다.'; -$lang->msg_accept_agreement = '약관에 동의해야 합니다.'; +$lang->msg_accept_agreement = '필수 약관에 모두 동의해야 가입하실 수 있습니다.'; $lang->msg_user_denied = '입력한 아이디의 사용이 중지 되었습니다.'; $lang->msg_user_not_confirmed = '아직 메일 인증이 이루어지지 않았습니다. 메일을 확인해 주세요.'; $lang->msg_user_limited = '입력한 아이디는 %s 까지 사용하실 수 없습니다.'; @@ -224,7 +225,7 @@ $lang->about_image_mark = '회원의 이름 앞에 마크를 달 수 있습니 $lang->about_group_image_mark = '회원의 이름 앞에 그룹 마크를 달 수 있습니다.'; $lang->about_profile_image = '회원의 프로필 이미지를 사용할 수 있게 합니다.'; $lang->about_signature_max_height = '서명란의 최대 높이를 제한할 수 있습니다. (0 또는 비워두면 제한하지 않습니다.)'; -$lang->about_accept_agreement = '약관을 모두 읽었으며 동의합니다.'; +$lang->about_accept_agreement = '위의 내용을 모두 읽었으며 동의합니다.'; $lang->about_member_default = '회원 가입을 한 사람이 최초에 속하는 그룹을 말합니다.'; $lang->about_find_member_account = '아이디/비밀번호는 가입시 등록한 메일 주소로 알려드립니다. 가입할 때 등록한 메일 주소를 입력하고 "ID/PW 찾기" 버튼을 클릭해주세요.
'; $lang->about_temp_password = '임시 비밀번호가 정상적으로 발급되었습니다.
로그인 후 반드시 비밀번호를 변경하세요.
'; @@ -271,8 +272,12 @@ $lang->about_change_user_group = '선택한 회원의 그룹을 다시 설정.'; $lang->about_send_message = '회원에게 쪽지를 발송해서 이 사실을 알립니다. 작성하지 않으면 발송하지 않습니다.'; $lang->cmd_allowed = '허가'; $lang->cmd_prohibited = '제한'; +$lang->cmd_agreement_title = '약관 제목'; +$lang->cmd_agreement_content = '약관 내용'; +$lang->cmd_agreement_type = '동의 필수 여부'; $lang->cmd_required = '필수'; $lang->cmd_optional = '선택'; +$lang->cmd_disabled = '사용 안 함'; $lang->cmd_image_max_width = '너비 제한'; $lang->cmd_image_max_height = '높이 제한'; $lang->cmd_input_extend_form = '회원 정의 입력'; diff --git a/modules/member/m.skins/default/modify_info.html b/modules/member/m.skins/default/modify_info.html index f620044f7..e0dafbd1d 100644 --- a/modules/member/m.skins/default/modify_info.html +++ b/modules/member/m.skins/default/modify_info.html @@ -1,9 +1,3 @@ -{@ Context::loadFile(array("./common/js/jquery.js", 'head', '', -100000), true) } -{@ Context::loadFile(array("./common/js/js_app.js", 'head', '', -100000), true) } -{@ Context::loadFile(array("./common/js/common.js", 'head', '', -100000), true) } -{@ Context::loadFile(array("./common/js/xml_handler.js", 'head', '', -100000), true) } -{@ Context::loadFile(array("./common/js/xml_js_filter.js", 'head', '', -100000), true) } - diff --git a/modules/member/m.skins/default/signup_form.html b/modules/member/m.skins/default/signup_form.html index 53db7574b..85d5c7821 100644 --- a/modules/member/m.skins/default/signup_form.html +++ b/modules/member/m.skins/default/signup_form.html @@ -14,17 +14,22 @@ - -
+
+
+ {$agreement->title} + ({$lang->cmd_required}) + ({$lang->cmd_optional}) +
- {$member_config->agreement} + {$agreement->content}
- - +
-
  • diff --git a/modules/member/m.skins/rx_prn/signup_form.html b/modules/member/m.skins/rx_prn/signup_form.html index 085e2845b..2e7206f2a 100644 --- a/modules/member/m.skins/rx_prn/signup_form.html +++ b/modules/member/m.skins/rx_prn/signup_form.html @@ -17,13 +17,18 @@ -
    +
    +
    + {$agreement->title} + ({$lang->cmd_required}) + ({$lang->cmd_optional}) +
    - {$member_config->agreement} + {$agreement->content}
    -
    diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index 09c8ccba1..a7d1e9fb1 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -26,7 +26,7 @@ class memberAdminController extends member $logged_info = Context::get('logged_info'); if($logged_info->is_admin != 'Y' || !checkCSRF()) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $args = Context::gets('member_srl','email_address','find_account_answer', 'allow_mailing','allow_message','denied','is_admin','description','group_srl_list','limit_date'); @@ -244,6 +244,41 @@ class memberAdminController extends member $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMemberAdminFeaturesConfig'); $this->setRedirectUrl($returnUrl); } + + public function procMemberAdminInsertAgreementsConfig() + { + $config = new stdClass; + $config->agreements = array(); + + $args = Context::getRequestVars(); + for ($i = 1; $i < 20; $i++) + { + if (isset($args->{'agreement_' . $i . '_type'})) + { + $agreement = new stdClass; + $agreement->title = escape(utf8_trim($args->{'agreement_' . $i . '_title'})); + $agreement->content = $args->{'agreement_' . $i . '_content'}; + $agreement->type = $args->{'agreement_' . $i . '_type'}; + if (!in_array($agreement->type, array('required', 'optional', 'disabled'))) + { + $agreement->type = 'disabled'; + } + $config->agreements[$i] = $agreement; + } + } + + // for compatibility with older versions + $config->agreement = $config->agreements[1]->content; + + $oModuleController = getController('module'); + $output = $oModuleController->updateModuleConfig('member', $config); + + // default setting end + $this->setMessage('success_updated'); + + $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMemberAdminAgreementsConfig'); + $this->setRedirectUrl($returnUrl); + } public function procMemberAdminInsertSignupConfig() { @@ -254,7 +289,6 @@ class memberAdminController extends member 'limit_day', 'limit_day_description', 'emailhost_check', - 'agreement', 'redirect_url', 'profile_image', 'profile_image_max_width', 'profile_image_max_height', 'image_name', 'image_name_max_width', 'image_name_max_height', @@ -268,12 +302,6 @@ class memberAdminController extends member $args->limit_day = (int)$args->limit_day; if($args->emailhost_check != 'allowed' && $args->emailhost_check != 'prohibited') $args->emailhost_check == 'allowed'; - if(!trim(strip_tags($args->agreement))) - { - $agreement_file = _XE_PATH_.'files/member_extra_info/agreement_' . Context::get('lang_type') . '.txt'; - FileHandler::removeFile($agreement_file); - $args->agreement = NULL; - } if($args->redirect_url) { @@ -282,7 +310,7 @@ class memberAdminController extends member if(!$redirectModuleInfo) { - return new Object('-1', 'msg_exist_selected_module'); + return new BaseObject('-1', 'msg_exist_selected_module'); } $args->redirect_mid = $redirectModuleInfo->mid; @@ -353,18 +381,9 @@ class memberAdminController extends member $args->signupForm = $signupForm; // create Ruleset - $this->_createSignupRuleset($signupForm, $args->agreement); + $this->_createSignupRuleset($signupForm); $this->_createLoginRuleset($args->identifier); - // check agreement value exist - if($args->agreement) - { - $agreement_file = _XE_PATH_.'files/member_extra_info/agreement_' . Context::get('lang_type') . '.txt'; - $output = FileHandler::writeFile($agreement_file, $args->agreement); - - unset($args->agreement); - } - $output = $oModuleController->updateModuleConfig('member', $args); // default setting end @@ -473,7 +492,7 @@ class memberAdminController extends member $signupItem->required = in_array($key, $orgRequireds); $signupItem->isUse = ($config->{$key} == 'Y') || in_array($key, $orgUse); $signupItem->isPublic = ($signupItem->isUse) ? 'Y' : 'N'; - if($key == 'password') + if(in_array($key, array('find_account_question', 'password', 'email_address'))) { $signupItem->isPublic = 'N'; } @@ -517,10 +536,9 @@ class memberAdminController extends member /** * Create ruleset file of signup * @param object $signupForm (user define signup form) - * @param string $agreement * @return void */ - function _createSignupRuleset($signupForm, $agreement = null){ + function _createSignupRuleset($signupForm){ $xml_file = './files/ruleset/insertMember.xml'; $buff = '' . PHP_EOL. '' . PHP_EOL. @@ -531,10 +549,6 @@ class memberAdminController extends member $fields = array(); - if ($agreement) - { - $fields[] = ''; - } foreach($signupForm as $formInfo) { if($formInfo->required || $formInfo->mustRequired) @@ -715,7 +729,7 @@ class memberAdminController extends member // Check ID duplicated if (Context::isReservedWord($args->column_name)) { - return new Object(-1, 'msg_column_id_not_available'); + return $this->setError('msg_column_id_not_available'); } $oMemberModel = getModel('member'); $config = $oMemberModel->getMemberConfig(); @@ -724,7 +738,7 @@ class memberAdminController extends member if($item->name == $args->column_name) { if($args->member_join_form_srl && $args->member_join_form_srl == $item->member_join_form_srl) continue; - return new Object(-1,'msg_column_id_not_available'); + return $this->setError('msg_column_id_not_available'); } } // Fix if member_join_form_srl exists. Add if not exists. @@ -935,7 +949,7 @@ class memberAdminController extends member function procMemberAdminDeleteMembers() { $target_member_srls = Context::get('target_member_srls'); - if(!$target_member_srls) return new Object(-1, 'msg_invalid_request'); + if(!$target_member_srls) return $this->setError('msg_invalid_request'); $member_srls = explode(',', $target_member_srls); $oMemberController = getController('member'); @@ -959,7 +973,7 @@ class memberAdminController extends member function procMemberAdminUpdateMembersGroup() { $member_srl = Context::get('member_srl'); - if(!$member_srl) return new Object(-1,'msg_invalid_request'); + if(!$member_srl) return $this->setError('msg_invalid_request'); $member_srls = explode(',',$member_srl); $group_srl = Context::get('group_srls'); @@ -1232,7 +1246,7 @@ class memberAdminController extends member function updateGroup($args) { if(!$args->site_srl) $args->site_srl = 0; - if(!$args->group_srl) return new Object(-1, 'lang->msg_not_founded'); + if(!$args->group_srl) return $this->setError('lang->msg_not_founded'); // Call trigger (before) $trigger_output = ModuleHandler::triggerCall('member.updateGroup', 'before', $args); @@ -1276,8 +1290,8 @@ class memberAdminController extends member $columnList = array('group_srl', 'is_default'); $group_info = $oMemberModel->getGroup($group_srl, $columnList); - if(!$group_info) return new Object(-1, 'lang->msg_not_founded'); - if($group_info->is_default == 'Y') return new Object(-1, 'msg_not_delete_default'); + if(!$group_info) return $this->setError('lang->msg_not_founded'); + if($group_info->is_default == 'Y') return $this->setError('msg_not_delete_default'); // Call trigger (before) $trigger_output = ModuleHandler::triggerCall('member.deleteGroup', 'before', $group_info); @@ -1510,7 +1524,7 @@ class memberAdminController extends member // Get a list of all join forms $join_form_list = $oMemberModel->getJoinFormList(); $join_form_srl_list = array_keys($join_form_list); - if(count($join_form_srl_list)<2) return new Object(); + if(count($join_form_srl_list)<2) return new BaseObject(); $prev_member_join_form = NULL; foreach($join_form_list as $key => $val) @@ -1519,7 +1533,7 @@ class memberAdminController extends member $prev_member_join_form = $val; } // Return if no previous join form exists - if(!$prev_member_join_form) return new Object(); + if(!$prev_member_join_form) return new BaseObject(); // Information of the join form $cur_args = new stdClass; $cur_args->member_join_form_srl = $member_join_form_srl; @@ -1535,7 +1549,7 @@ class memberAdminController extends member executeQuery('member.updateMemberJoinFormListorder', $prev_args); if(!$output->toBool()) return $output; - return new Object(); + return new BaseObject(); } /** @@ -1557,7 +1571,7 @@ class memberAdminController extends member // Get information of all join forms $join_form_list = $oMemberModel->getJoinFormList(); $join_form_srl_list = array_keys($join_form_list); - if(count($join_form_srl_list)<2) return new Object(); + if(count($join_form_srl_list)<2) return new BaseObject(); for($i=0;$itoBool()) return $output; - return new Object(); + return new BaseObject(); } } /* End of file member.admin.controller.php */ diff --git a/modules/member/member.admin.view.php b/modules/member/member.admin.view.php index 0bc1a8af9..dbe44d0e5 100644 --- a/modules/member/member.admin.view.php +++ b/modules/member/member.admin.view.php @@ -147,6 +147,47 @@ class memberAdminView extends member $this->setTemplateFile('features_config'); } + /** + * Set the agreements config. + * + * @return void + */ + public function dispMemberAdminAgreementsConfig() + { + $this->setTemplateFile('agreements_config'); + } + + /** + * Display the agreements edit form. + * + * @return void + */ + public function dispMemberAdminAgreementsEdit() + { + // Check parent input ID + $parent_input_id = Context::get('parent_input_id'); + Context::addBodyClass('disable_debug_panel'); + + // Load editor + $oEditorModel = getModel('editor'); + $option = $oEditorModel->getEditorConfig(); + $option->primary_key_name = 'primary_key'; + $option->content_key_name = 'content'; + $option->allow_fileupload = FALSE; + $option->enable_autosave = FALSE; + $option->enable_default_component = TRUE; + $option->enable_component = FALSE; + $option->height = 300; + $option->editor_focus = 'Y'; + $editor = $oEditorModel->getEditor(0, $option); + Context::set('editor', $editor); + + // Set template + $this->setLayoutPath('./common/tpl/'); + $this->setLayoutFile("default_layout"); + $this->setTemplateFile('agreements_edit'); + } + public function dispMemberAdminSignUpConfig() { $config = $this->memberConfig; diff --git a/modules/member/member.class.php b/modules/member/member.class.php index 672e00885..e0d94cfd6 100644 --- a/modules/member/member.class.php +++ b/modules/member/member.class.php @@ -164,8 +164,6 @@ class member extends ModuleObject { // 2013. 11. 22 add menu when popup document menu called $oModuleController->insertTrigger('document.getDocumentMenu', 'member', 'controller', 'triggerGetDocumentMenu', 'after'); $oModuleController->insertTrigger('comment.getCommentMenu', 'member', 'controller', 'triggerGetCommentMenu', 'after'); - - return new Object(); } /** @@ -177,6 +175,7 @@ class member extends ModuleObject { { $oDB = &DB::getInstance(); $oModuleModel = getModel('module'); + // check member directory (11/08/2007 added) if(!is_dir("./files/member_extra_info")) return true; // check member directory (22/10/2007 added) @@ -215,10 +214,19 @@ class member extends ModuleObject { $oModuleModel = getModel('module'); $config = $oModuleModel->getModuleConfig('member'); // check signup form ordering info - if(!$config->signupForm) return true; - - // check agreement field exist - if($config->agreement && $config->agreement !== memberModel::_getAgreement()) + if(!$config->signupForm || !is_array($config->signupForm)) return true; + foreach($config->signupForm as $signupItem) + { + if($signupItem->name === 'find_account_question') + { + return true; + } + if($signupItem->name === 'email_address' && $signupItem->isPublic !== 'N') + { + return true; + } + } + if(!$config->agreements) { return true; } @@ -351,22 +359,33 @@ class member extends ModuleObject { $config = $oModuleModel->getModuleConfig('member'); $oModuleController = getController('module'); - // check agreement value exist - if($config->agreement && $config->agreement !== memberModel::_getAgreement()) - { - $agreement_file = _XE_PATH_.'files/member_extra_info/agreement_' . Context::get('lang_type') . '.txt'; - $output = FileHandler::writeFile($agreement_file, $config->agreement); - $config->agreement = NULL; - $output = $oModuleController->updateModuleConfig('member', $config); - } - $oMemberAdminController = getAdminController('member'); // check signup form ordering info if(!$config->signupForm || !is_array($config->signupForm)) { - $identifier = 'user_id'; - $config->signupForm = $oMemberAdminController->createSignupForm($identifier); - $config->identifier = $identifier; + $config->identifier = 'user_id'; + $config->signupForm = $oMemberAdminController->createSignupForm($config->identifier); + $output = $oModuleController->updateModuleConfig('member', $config); + } + foreach($config->signupForm as $signupItem) + { + if($signupItem->name === 'find_account_question') + { + $config->identifier = $config->identifier ?: 'user_id'; + $config->signupForm = $oMemberAdminController->createSignupForm($config->identifier); + $output = $oModuleController->updateModuleConfig('member', $config); + } + if($signupItem->name === 'email_address' && $signupItem->isPublic !== 'N') + { + $signupItem->isPublic = 'N'; + $output = $oModuleController->updateModuleConfig('member', $config); + } + } + if(!$config->agreements) + { + $config = memberModel::getMemberConfig(); + $config->identifier = $config->identifier ?: 'user_id'; + $config->signupForm = $oMemberAdminController->createSignupForm($config->identifier); $output = $oModuleController->updateModuleConfig('member', $config); } @@ -404,8 +423,6 @@ class member extends ModuleObject { $oModuleController->insertTrigger('document.getDocumentMenu', 'member', 'controller', 'triggerGetDocumentMenu', 'after'); if(!$oModuleModel->getTrigger('comment.getCommentMenu', 'member', 'controller', 'triggerGetCommentMenu', 'after')) $oModuleController->insertTrigger('comment.getCommentMenu', 'member', 'controller', 'triggerGetCommentMenu', 'after'); - - return new Object(0, 'success_updated'); } /** @@ -422,7 +439,7 @@ class member extends ModuleObject { */ function recordLoginError($error = 0, $message = 'success') { - if($error == 0) return new Object($error, $message); + if($error == 0) return new BaseObject($error, $message); // Create a member model object $oMemberModel = getModel('member'); @@ -430,7 +447,7 @@ class member extends ModuleObject { // Check if there is recoding table. $oDB = &DB::getInstance(); - if(!$oDB->isTableExists('member_login_count') || $config->enable_login_fail_report == 'N') return new Object($error, $message); + if(!$oDB->isTableExists('member_login_count') || $config->enable_login_fail_report == 'N') return new BaseObject($error, $message); $args = new stdClass(); $args->ipaddress = $_SERVER['REMOTE_ADDR']; @@ -459,7 +476,7 @@ class member extends ModuleObject { $args->count = 1; $output = executeQuery('member.insertLoginCountByIp', $args); } - return new Object($error, $message); + return new BaseObject($error, $message); } /** @@ -467,7 +484,7 @@ class member extends ModuleObject { */ function recordMemberLoginError($error = 0, $message = 'success', $args = NULL) { - if($error == 0 || !$args->member_srl) return new Object($error, $message); + if($error == 0 || !$args->member_srl) return new BaseObject($error, $message); // Create a member model object $oMemberModel = getModel('member'); @@ -475,7 +492,7 @@ class member extends ModuleObject { // Check if there is recoding table. $oDB = &DB::getInstance(); - if(!$oDB->isTableExists('member_count_history') || $config->enable_login_fail_report == 'N') return new Object($error, $message); + if(!$oDB->isTableExists('member_count_history') || $config->enable_login_fail_report == 'N') return new BaseObject($error, $message); $output = executeQuery('member.getLoginCountHistoryByMemberSrl', $args); if($output->data && $output->data->content) diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 08e1db584..ebbd8b989 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -30,7 +30,7 @@ class memberController extends member if(!$user_id && !$password && Context::getRequestMethod() == 'GET') { $this->setRedirectUrl(getNotEncodedUrl('')); - return new Object(-1, 'null_user_id'); + return $this->setError('null_user_id'); } // Variables @@ -42,8 +42,8 @@ class memberController extends member if(!$keep_signed) $keep_signed = Context::get('keep_signed'); // Return an error when id and password doesn't exist - if(!$user_id) return new Object(-1,'null_user_id'); - if(!$password) return new Object(-1,'null_password'); + if(!$user_id) return $this->setError('null_user_id'); + if(!$password) return $this->setError('null_password'); $output = $this->doLogin($user_id, $password, $keep_signed=='Y'?true:false); if (!$output->toBool()) return $output; @@ -62,7 +62,7 @@ class memberController extends member if($member_info->change_password_date < date ('YmdHis', strtotime ('-' . $limit_date . ' day'))) { $msg = sprintf(lang('msg_change_password_date'), $limit_date); - return $this->setRedirectUrl(getNotEncodedUrl('','vid',Context::get('vid'),'mid',Context::get('mid'),'act','dispMemberModifyPassword'), new Object(-1, $msg)); + return $this->setRedirectUrl(getNotEncodedUrl('','vid',Context::get('vid'),'mid',Context::get('mid'),'act','dispMemberModifyPassword'), new BaseObject(-1, $msg)); } } @@ -101,7 +101,7 @@ class memberController extends member // Call a trigger after log-out (after) ModuleHandler::triggerCall('member.doLogout', 'after', $logged_info); - $output = new Object(); + $output = new BaseObject(); $oModuleModel = getModel('module'); $config = $oModuleModel->getModuleConfig('member'); @@ -123,7 +123,7 @@ class memberController extends member $document_srl = (int) (Context::get('document_srl') ?: Context::get('target_srl')); if(!$document_srl) { - return new Object(-1,'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $oDocumentModel = getModel('document'); @@ -132,7 +132,7 @@ class memberController extends member // Check document if($oDocument->isSecret() && !$oDocument->isGranted()) { - return new Object(-1, 'msg_is_secret'); + return $this->setError('msg_is_secret'); } $oModuleModel = getModel('module'); @@ -144,19 +144,19 @@ class memberController extends member // Check access to module of the document if(!$grant->access) { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } // Check grant to module of the document if(isset($grant->list) && isset($grant->view) && (!$grant->list || !$grant->view)) { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } // Check consultation option if(isset($grant->consultation_read) && $module_info->consultation == 'Y' && !$grant->consultation_read && !$oDocument->isGranted()) { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } // Find default scrap folder @@ -188,7 +188,7 @@ class memberController extends member $output = executeQuery('member.getScrapDocument', $args); if($output->data->count) { - return new Object(-1, 'msg_alreay_scrapped'); + return $this->setError('msg_alreay_scrapped'); } // Insert @@ -207,11 +207,11 @@ class memberController extends member function procMemberDeleteScrap() { // Check login information - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + if(!Context::get('is_logged')) return $this->setError('msg_not_logged'); $logged_info = Context::get('logged_info'); $document_srl = (int)Context::get('document_srl'); - if(!$document_srl) return new Object(-1,'msg_invalid_request'); + if(!$document_srl) return $this->setError('msg_invalid_request'); // Variables $args = new stdClass; $args->member_srl = $logged_info->member_srl; @@ -227,14 +227,14 @@ class memberController extends member function procMemberMoveScrapFolder() { // Check login information - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + if(!Context::get('is_logged')) return $this->setError('msg_not_logged'); $logged_info = Context::get('logged_info'); $document_srl = (int)Context::get('document_srl'); $folder_srl = (int)Context::get('folder_srl'); if(!$document_srl || !$folder_srl) { - return new Object(-1,'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } // Check that the target folder exists and belongs to member @@ -244,7 +244,7 @@ class memberController extends member $output = executeQueryArray('member.getScrapFolderList', $args); if(!count($output->data)) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } // Move @@ -263,7 +263,7 @@ class memberController extends member function procMemberInsertScrapFolder() { // Check login information - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + if(!Context::get('is_logged')) return $this->setError('msg_not_logged'); $logged_info = Context::get('logged_info'); // Get new folder name @@ -271,7 +271,7 @@ class memberController extends member $folder_name = escape(trim(utf8_normalize_spaces($folder_name))); if(!$folder_name) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } // Check existing folder with same name @@ -281,7 +281,7 @@ class memberController extends member $output = executeQueryArray('member.getScrapFolderList', $args); if(count($output->data) || $folder_name === lang('default_folder')) { - return new Object(-1, 'msg_folder_alreay_exists'); + return $this->setError('msg_folder_alreay_exists'); } // Create folder @@ -302,7 +302,7 @@ class memberController extends member function procMemberRenameScrapFolder() { // Check login information - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + if(!Context::get('is_logged')) return $this->setError('msg_not_logged'); $logged_info = Context::get('logged_info'); // Get new folder name @@ -311,7 +311,7 @@ class memberController extends member $folder_name = escape(trim(utf8_normalize_spaces($folder_name))); if(!$folder_srl || !$folder_name) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } // Check that the original folder exists and belongs to member @@ -321,11 +321,11 @@ class memberController extends member $output = executeQueryArray('member.getScrapFolderList', $args); if(!count($output->data)) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } if(array_first($output->data)->name === '/DEFAULT/') { - return new Object(-1, 'msg_folder_is_default'); + return $this->setError('msg_folder_is_default'); } // Check existing folder with same name @@ -336,7 +336,7 @@ class memberController extends member $output = executeQueryArray('member.getScrapFolderList', $args); if(count($output->data) || $folder_name === lang('default_folder')) { - return new Object(-1, 'msg_folder_alreay_exists'); + return $this->setError('msg_folder_alreay_exists'); } // Rename folder @@ -354,14 +354,14 @@ class memberController extends member function procMemberDeleteScrapFolder() { // Check login information - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + if(!Context::get('is_logged')) return $this->setError('msg_not_logged'); $logged_info = Context::get('logged_info'); // Get folder_srl to delete $folder_srl = intval(Context::get('folder_srl')); if(!$folder_srl) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } // Check that the folder exists and belongs to member @@ -371,11 +371,11 @@ class memberController extends member $output = executeQueryArray('member.getScrapFolderList', $args); if(!count($output->data)) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } if(array_first($output->data)->name === '/DEFAULT/') { - return new Object(-1, 'msg_folder_is_default'); + return $this->setError('msg_folder_is_default'); } // Check that the folder is empty @@ -385,7 +385,7 @@ class memberController extends member $output = executeQueryArray('member.getScrapDocumentList', $args); if(count($output->data)) { - return new Object(-1, 'msg_folder_not_empty'); + return $this->setError('msg_folder_not_empty'); } // Delete folder @@ -426,7 +426,7 @@ class memberController extends member */ function procMemberSaveDocument() { - return new Object(0, 'Deprecated method'); + return new BaseObject(0, 'Deprecated method'); } /** @@ -437,22 +437,22 @@ class memberController extends member function procMemberDeleteSavedDocument() { // Check login information - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + if(!Context::get('is_logged')) return $this->setError('msg_not_logged'); $logged_info = Context::get('logged_info'); $document_srl = (int)Context::get('document_srl'); - if(!$document_srl) return new Object(-1,'msg_invalid_request'); + if(!$document_srl) return $this->setError('msg_invalid_request'); $oDocumentModel = getModel('document'); $oDocument = $oDocumentModel->getDocument($document_srl); if ($oDocument->get('member_srl') != $logged_info->member_srl) { - return new Object(-1,'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $configStatusList = $oDocumentModel->getStatusList(); if ($oDocument->get('status') != $configStatusList['temp']) { - return new Object(-1,'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } // Variables @@ -466,14 +466,14 @@ class memberController extends member function procMemberDeleteAutologin() { // Check login information - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + if(!Context::get('is_logged')) return $this->setError('msg_not_logged'); $logged_info = Context::get('logged_info'); $autologin_id = intval(Context::get('autologin_id')); $autologin_key = Context::get('autologin_key'); if (!$autologin_id || !$autologin_key) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $args = new stdClass; @@ -526,20 +526,20 @@ class memberController extends member { case 'user_id' : // Check denied ID - if($oMemberModel->isDeniedID($value)) return new Object(0,'denied_user_id'); + if($oMemberModel->isDeniedID($value)) return new BaseObject(0,'denied_user_id'); // Check if duplicated $member_srl = $oMemberModel->getMemberSrlByUserID($value); - if($member_srl && $logged_info->member_srl != $member_srl ) return new Object(0,'msg_exists_user_id'); + if($member_srl && $logged_info->member_srl != $member_srl ) return new BaseObject(0,'msg_exists_user_id'); break; case 'nick_name' : // Check denied ID if($oMemberModel->isDeniedNickName($value)) { - return new Object(0,'denied_nick_name'); + return new BaseObject(0,'denied_nick_name'); } // Check if duplicated $member_srl = $oMemberModel->getMemberSrlByNickName($value); - if($member_srl && $logged_info->member_srl != $member_srl ) return new Object(0,'msg_exists_nick_name'); + if($member_srl && $logged_info->member_srl != $member_srl ) return new BaseObject(0,'msg_exists_nick_name'); break; case 'email_address' : @@ -557,12 +557,12 @@ class memberController extends member $hosts[] = $host->email_host; } $message = sprintf($managed_email_host[$emailhost_check],implode(', ',$hosts),'id@'.implode(', id@',$hosts)); - return new Object(0,$message); + return new BaseObject(0,$message); } // Check if duplicated $member_srl = $oMemberModel->getMemberSrlByEmailAddress($value); - if($member_srl && $logged_info->member_srl != $member_srl ) return new Object(0,'msg_exists_email_address'); + if($member_srl && $logged_info->member_srl != $member_srl ) return new BaseObject(0,'msg_exists_email_address'); break; } } @@ -574,7 +574,7 @@ class memberController extends member */ function procMemberInsert() { - if (Context::getRequestMethod () == "GET") return new Object (-1, "msg_invalid_request"); + if (Context::getRequestMethod () == "GET") return new BaseObject (-1, "msg_invalid_request"); $oMemberModel = &getModel ('member'); $config = $oMemberModel->getMemberConfig(); @@ -583,8 +583,16 @@ class memberController extends member if(!$trigger_output->toBool ()) return $trigger_output; // Check if an administrator allows a membership if($config->enable_join != 'Y') return $this->stop ('msg_signup_disabled'); + // Check if the user accept the license terms (only if terms exist) - if($config->agreement && Context::get('accept_agreement')!='Y') return $this->stop('msg_accept_agreement'); + $accept_agreement = Context::get('accept_agreement'); + foreach($config->agreements as $i => $agreement) + { + if($agreement->type === 'required' && $accept_agreement !== 'Y' && $accept_agreement[$i] !== 'Y') + { + return $this->setError('msg_accept_agreement'); + } + } // Extract the necessary information in advance $getVars = array(); @@ -637,7 +645,7 @@ class memberController extends member if(!$oMemberModel->checkPasswordStrength($args->password, $config->password_strength)) { $message = lang('about_password_strength'); - return new Object(-1, $message[$config->password_strength]); + return $this->setError($message[$config->password_strength]); } // Remove some unnecessary variables from all the vars @@ -737,7 +745,7 @@ class memberController extends member { $msg = sprintf(lang('msg_confirm_mail_sent'), $args->email_address); $this->setMessage($msg); - return $this->setRedirectUrl(getUrl('', 'act', 'dispMemberLoginForm'), new Object(-12, $msg)); + return $this->setRedirectUrl(getUrl('', 'act', 'dispMemberLoginForm'), new BaseObject(-12, $msg)); } else $this->setMessage('success_registed'); @@ -796,7 +804,7 @@ class memberController extends member // Verify the current password if(!$oMemberModel->isValidPassword($member_info->password, $password)) { - return new Object(-1, 'invalid_password'); + return $this->setError('invalid_password'); } $_SESSION['rechecked_password_step'] = 'VALIDATE_PASSWORD'; @@ -974,10 +982,10 @@ class memberController extends member $member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl, 0, $columnList); // Verify the cuttent password - if(!$oMemberModel->isValidPassword($member_info->password, $current_password, $member_srl)) return new Object(-1, 'invalid_password'); + if(!$oMemberModel->isValidPassword($member_info->password, $current_password, $member_srl)) return $this->setError('invalid_password'); // Check if a new password is as same as the previous password - if($current_password == $password) return new Object(-1, 'invalid_new_password'); + if($current_password == $password) return $this->setError('invalid_new_password'); // Execute insert or update depending on the value of member_srl $args = new stdClass; @@ -1020,7 +1028,7 @@ class memberController extends member $columnList = array('member_srl', 'password'); $member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl, 0, $columnList); // Verify the cuttent password - if(!$oMemberModel->isValidPassword($member_info->password, $password)) return new Object(-1, 'invalid_password'); + if(!$oMemberModel->isValidPassword($member_info->password, $password)) return $this->setError('invalid_password'); $output = $this->deleteMember($member_srl); if(!$output->toBool()) return $output; @@ -1177,7 +1185,7 @@ class memberController extends member $member_srl = ($_memberSrl) ? $_memberSrl : Context::get('member_srl'); if(!$member_srl) { - return new Object(0,'success'); + return new BaseObject(0,'success'); } $logged_info = Context::get('logged_info'); @@ -1190,7 +1198,7 @@ class memberController extends member Rhymix\Framework\Storage::deleteEmptyDirectory(dirname(FileHandler::getRealPath($profile_image->file)), true); $this->_clearMemberCache($member_srl); } - return new Object(0,'success'); + return new BaseObject(0,'success'); } /** @@ -1203,7 +1211,7 @@ class memberController extends member $member_srl = ($_memberSrl) ? $_memberSrl : Context::get('member_srl'); if(!$member_srl) { - return new Object(0,'success'); + return new BaseObject(0,'success'); } $logged_info = Context::get('logged_info'); @@ -1215,7 +1223,7 @@ class memberController extends member FileHandler::removeFile($image_name->file); Rhymix\Framework\Storage::deleteEmptyDirectory(dirname(FileHandler::getRealPath($image_name->file)), true); } - return new Object(0,'success'); + return new BaseObject(0,'success'); } /** @@ -1286,7 +1294,7 @@ class memberController extends member $member_srl = ($_memberSrl) ? $_memberSrl : Context::get('member_srl'); if(!$member_srl) { - return new Object(0,'success'); + return new BaseObject(0,'success'); } $logged_info = Context::get('logged_info'); @@ -1298,7 +1306,7 @@ class memberController extends member FileHandler::removeFile($image_mark->file); Rhymix\Framework\Storage::deleteEmptyDirectory(dirname(FileHandler::getRealPath($image_mark->file)), true); } - return new Object(0,'success'); + return new BaseObject(0,'success'); } /** @@ -1309,14 +1317,14 @@ class memberController extends member function procMemberFindAccount() { $email_address = Context::get('email_address'); - if(!$email_address) return new Object(-1, 'msg_invalid_request'); + if(!$email_address) return $this->setError('msg_invalid_request'); $oMemberModel = getModel('member'); $oModuleModel = getModel('module'); // Check if a member having the same email address exists $member_srl = $oMemberModel->getMemberSrlByEmailAddress($email_address); - if(!$member_srl) return new Object(-1, 'msg_email_not_exists'); + if(!$member_srl) return $this->setError('msg_email_not_exists'); // Get information of the member $columnList = array('denied', 'member_srl', 'user_id', 'user_name', 'email_address', 'nick_name'); @@ -1328,7 +1336,7 @@ class memberController extends member $chk_args = new stdClass; $chk_args->member_srl = $member_info->member_srl; $output = executeQuery('member.chkAuthMail', $chk_args); - if($output->toBool() && $output->data->count != '0') return new Object(-1, 'msg_user_not_confirmed'); + if($output->toBool() && $output->data->count != '0') return $this->setError('msg_user_not_confirmed'); } // Insert data into the authentication DB @@ -1399,7 +1407,7 @@ class memberController extends member $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'mid', Context::get('mid'), 'act', 'dispMemberFindAccount'); $this->setRedirectUrl($returnUrl); } - return new Object(0,$msg); + return new BaseObject(0,$msg); } /** @@ -1409,7 +1417,7 @@ class memberController extends member */ function procMemberFindAccountByQuestion() { - return new Object(-1, 'msg_question_not_allowed'); + return $this->setError('msg_question_not_allowed'); } /** @@ -1444,6 +1452,7 @@ class memberController extends member // Test logs for finding password by user_id and authkey $args = new stdClass; $args->member_srl = $member_srl; + $args->auth_key = $auth_key; $output = executeQuery('member.getAuthMail', $args); if(!$output->toBool() || $output->data->auth_key !== $auth_key) @@ -1501,14 +1510,14 @@ class memberController extends member { // Get an email_address $email_address = Context::get('email_address'); - if(!$email_address) return new Object(-1, 'msg_invalid_request'); + if(!$email_address) return $this->setError('msg_invalid_request'); // Log test by using email_address $oMemberModel = getModel('member'); $args = new stdClass; $args->email_address = $email_address; $memberSrl = $oMemberModel->getMemberSrlByEmailAddress($email_address); - if(!$memberSrl) return new Object(-1, 'msg_not_exists_member'); + if(!$memberSrl) return $this->setError('msg_not_exists_member'); $columnList = array('member_srl', 'user_id', 'user_name', 'nick_name', 'email_address'); $member_info = $oMemberModel->getMemberInfoByMemberSrl($memberSrl, 0, $columnList); @@ -1522,12 +1531,12 @@ class memberController extends member $chk_args = new stdClass; $chk_args->member_srl = $member_info->member_srl; $output = executeQuery('member.chkAuthMail', $chk_args); - if($output->toBool() && $output->data->count == '0') return new Object(-1, 'msg_invalid_request'); + if($output->toBool() && $output->data->count == '0') return $this->setError('msg_invalid_request'); $auth_args = new stdClass; $auth_args->member_srl = $member_info->member_srl; $output = executeQueryArray('member.getAuthMailInfo', $auth_args); - if(!$output->data || !$output->data[0]->auth_key) return new Object(-1, 'msg_invalid_request'); + if(!$output->data || !$output->data[0]->auth_key) return $this->setError('msg_invalid_request'); $auth_info = $output->data[0]; // Update the regdate of authmail entry @@ -1605,7 +1614,7 @@ class memberController extends member $member_srl = $oMemberModel->getMemberSrlByEmailAddress($newEmail); if($member_srl) { - return new Object(-1,'msg_exists_email_address'); + return $this->setError('msg_exists_email_address'); } // remove all key by member_srl @@ -1720,7 +1729,7 @@ class memberController extends member { $site_module_info = Context::get('site_module_info'); $logged_info = Context::get('logged_info'); - if(!$site_module_info->site_srl || !Context::get('is_logged') || count($logged_info->group_srl_list) ) return new Object(-1,'msg_invalid_request'); + if(!$site_module_info->site_srl || !Context::get('is_logged') || count($logged_info->group_srl_list) ) return $this->setError('msg_invalid_request'); $oMemberModel = getModel('member'); $columnList = array('site_srl', 'group_srl', 'title'); @@ -1739,7 +1748,7 @@ class memberController extends member { $site_module_info = Context::get('site_module_info'); $logged_info = Context::get('logged_info'); - if(!$site_module_info->site_srl || !Context::get('is_logged') || count($logged_info->group_srl_list) ) return new Object(-1,'msg_invalid_request'); + if(!$site_module_info->site_srl || !Context::get('is_logged') || count($logged_info->group_srl_list) ) return $this->setError('msg_invalid_request'); $args = new stdClass; $args->site_srl= $site_module_info->site_srl; @@ -1782,7 +1791,7 @@ class memberController extends member $agreement_file = _XE_PATH_.'files/member_extra_info/agreement.txt'; FileHandler::writeFile($agreement_file, $agreement); - return new Object(); + return new BaseObject(); } /** @@ -1896,7 +1905,7 @@ class memberController extends member $this->_clearMemberCache($obj->member_srl, $args->site_srl); } - return new Object(); + return new BaseObject(); } @@ -1971,7 +1980,7 @@ class memberController extends member function doLogin($user_id, $password = '', $keep_signed = false) { $user_id = strtolower($user_id); - if(!$user_id) return new Object(-1, 'null_user_id'); + if(!$user_id) return new BaseObject(-1, 'null_user_id'); // Call a trigger before log-in (before) $trigger_obj = new stdClass(); $trigger_obj->user_id = $user_id; @@ -2017,7 +2026,7 @@ class memberController extends member elseif(3600 <= $term && $term < 86400) $term = intval($term/3600).lang('unit_hour'); else $term = intval($term/86400).lang('unit_day'); - return new Object(-1, sprintf(lang('excess_ip_access_count'),$term)); + return new BaseObject(-1, 'excess_ip_access_count', $term); } else { @@ -2041,18 +2050,18 @@ class memberController extends member { $_SESSION['auth_member_srl'] = $member_info->member_srl; $redirectUrl = getUrl('', 'act', 'dispMemberResendAuthMail'); - return $this->setRedirectUrl($redirectUrl, new Object(-1,'msg_user_not_confirmed')); + return $this->setRedirectUrl($redirectUrl, new BaseObject(-1,'msg_user_not_confirmed')); } $refused_reason = $member_info->refused_reason ? ('
    ' . lang('refused_reason') . ': ' . $member_info->refused_reason) : ''; - return new Object(-1, lang('msg_user_denied') . $refused_reason); + return new BaseObject(-1, lang('msg_user_denied') . $refused_reason); } // Notify if user is limited if($member_info->limit_date && substr($member_info->limit_date,0,8) >= date("Ymd")) { $limited_reason = $member_info->limited_reason ? ('
    ' . lang('refused_reason') . ': ' . $member_info->limited_reason) : ''; - return new Object(-9, sprintf(lang('msg_user_limited'), zdate($member_info->limit_date,"Y-m-d")) . $limited_reason); + return new BaseObject(-9, sprintf(lang('msg_user_limited'), zdate($member_info->limit_date,"Y-m-d")) . $limited_reason); } // Do not allow login as admin if not in allowed IP list @@ -2061,7 +2070,7 @@ class memberController extends member $oMemberAdminModel = getAdminModel('member'); if(!$oMemberAdminModel->getMemberAdminIPCheck()) { - return new Object(-1, 'msg_admin_ip_not_allowed'); + return new BaseObject(-1, 'msg_admin_ip_not_allowed'); } } @@ -2281,7 +2290,7 @@ class memberController extends member if($args->blog && !preg_match("/^[a-z]+:\/\//i",$args->blog)) $args->blog = 'http://'.$args->blog; - $extend_form_list = $oMemberModel->getCombineJoinForm($memberInfo); + $extend_form_list = $oMemberModel->getJoinFormlist(); $security = new Security($extend_form_list); $security->encodeHTML('..column_title', '..description', '..default_value.'); if($config->signupForm) { @@ -2332,7 +2341,7 @@ class memberController extends member if(!$oMemberModel->checkPasswordStrength($args->password, $config->password_strength)) { $message = lang('about_password_strength'); - return new Object(-1, $message[$config->password_strength]); + return new BaseObject(-1, $message[$config->password_strength]); } $args->password = $oMemberModel->hashPassword($args->password); } @@ -2340,27 +2349,27 @@ class memberController extends member // Check if ID is prohibited if($logged_info->is_admin !== 'Y' && $oMemberModel->isDeniedID($args->user_id)) { - return new Object(-1,'denied_user_id'); + return new BaseObject(-1, 'denied_user_id'); } // Check if ID is duplicate $member_srl = $oMemberModel->getMemberSrlByUserID($args->user_id); if($member_srl) { - return new Object(-1,'msg_exists_user_id'); + return new BaseObject(-1, 'msg_exists_user_id'); } // Check if nickname is prohibited if($logged_info->is_admin !== 'Y' && $oMemberModel->isDeniedNickName($args->nick_name)) { - return new Object(-1,'denied_nick_name'); + return new BaseObject(-1, 'denied_nick_name'); } // Check if nickname is duplicate $member_srl = $oMemberModel->getMemberSrlByNickName($args->nick_name); if($member_srl) { - return new Object(-1,'msg_exists_nick_name'); + return new BaseObject(-1, 'msg_exists_nick_name'); } // Check managed Email Host @@ -2376,14 +2385,14 @@ class memberController extends member $hosts[] = $host->email_host; } $message = sprintf($managed_email_host[$emailhost_check],implode(', ',$hosts),'id@'.implode(', id@',$hosts)); - return new Object(-1, $message); + return new BaseObject(-1, $message); } // Check if email address is duplicate $member_srl = $oMemberModel->getMemberSrlByEmailAddress($args->email_address); if($member_srl) { - return new Object(-1,'msg_exists_email_address'); + return new BaseObject(-1, 'msg_exists_email_address'); } // Insert data into the DB @@ -2527,7 +2536,7 @@ class memberController extends member } } - $extend_form_list = $oMemberModel->getCombineJoinForm($memberInfo); + $extend_form_list = $oMemberModel->getJoinFormlist(); $security = new Security($extend_form_list); $security->encodeHTML('..column_title', '..description', '..default_value.'); if($config->signupForm){ @@ -2582,7 +2591,7 @@ class memberController extends member $hosts[] = $host->email_host; } $message = sprintf($managed_email_host[$emailhost_check],implode(', ',$hosts),'id@'.implode(', id@',$hosts)); - return new Object(-1, $message); + return new BaseObject(-1, $message); } // Check if email address or user ID is duplicate @@ -2591,7 +2600,7 @@ class memberController extends member $member_srl = $oMemberModel->getMemberSrlByEmailAddress($args->email_address); if($member_srl && $args->member_srl != $member_srl) { - return new Object(-1,'msg_exists_email_address'); + return new BaseObject(-1, 'msg_exists_email_address'); } $args->email_address = $orgMemberInfo->email_address; } @@ -2600,7 +2609,7 @@ class memberController extends member $member_srl = $oMemberModel->getMemberSrlByUserID($args->user_id); if($member_srl && $args->member_srl != $member_srl) { - return new Object(-1,'msg_exists_user_id'); + return new BaseObject(-1, 'msg_exists_user_id'); } $args->user_id = $orgMemberInfo->user_id; @@ -2609,7 +2618,7 @@ class memberController extends member // Check if ID is prohibited if($logged_info->is_admin !== 'Y' && $args->user_id && $oMemberModel->isDeniedID($args->user_id)) { - return new Object(-1,'denied_user_id'); + return new BaseObject(-1, 'denied_user_id'); } // Check if ID is duplicate @@ -2618,21 +2627,21 @@ class memberController extends member $member_srl = $oMemberModel->getMemberSrlByUserID($args->user_id); if($member_srl && $args->member_srl != $member_srl) { - return new Object(-1,'msg_exists_user_id'); + return new BaseObject(-1, 'msg_exists_user_id'); } } // Check if nickname is prohibited if($logged_info->is_admin !== 'Y' && $args->nick_name && $oMemberModel->isDeniedNickName($args->nick_name)) { - return new Object(-1, 'denied_nick_name'); + return new BaseObject(-1, 'denied_nick_name'); } // Check if nickname is duplicate $member_srl = $oMemberModel->getMemberSrlByNickName($args->nick_name); if($member_srl && $args->member_srl != $member_srl) { - return new Object(-1,'msg_exists_nick_name'); + return new BaseObject(-1, 'msg_exists_nick_name'); } list($args->email_id, $args->email_host) = explode('@', $args->email_address); @@ -2646,7 +2655,7 @@ class memberController extends member if(!$oMemberModel->checkPasswordStrength($args->password, $config->password_strength)) { $message = lang('about_password_strength'); - return new Object(-1, $message[$config->password_strength]); + return new BaseObject(-1, $message[$config->password_strength]); } $args->password = $oMemberModel->hashPassword($args->password); } @@ -2738,7 +2747,7 @@ class memberController extends member if(!$oMemberModel->checkPasswordStrength($args->password, $config->password_strength)) { $message = lang('about_password_strength'); - return new Object(-1, $message[$config->password_strength]); + return new BaseObject(-1, $message[$config->password_strength]); } $args->password = $oMemberModel->hashPassword($args->password); @@ -2774,9 +2783,9 @@ class memberController extends member // Bringing the user's information $columnList = array('member_srl', 'is_admin'); $member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl, 0, $columnList); - if(!$member_info) return new Object(-1, 'msg_not_exists_member'); + if(!$member_info) return new BaseObject(-1, 'msg_not_exists_member'); // If managers can not be deleted - if($member_info->is_admin == 'Y') return new Object(-1, 'msg_cannot_delete_admin'); + if($member_info->is_admin == 'Y') return new BaseObject(-1, 'msg_cannot_delete_admin'); $oDB = &DB::getInstance(); $oDB->begin(); @@ -2877,12 +2886,12 @@ class memberController extends member function procMemberModifyEmailAddress() { - if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); + if(!Context::get('is_logged')) return $this->setError('msg_not_logged'); $member_info = Context::get('logged_info'); $newEmail = Context::get('email_address'); - if(!$newEmail) return $this->stop('msg_invalid_request'); + if(!$newEmail) return $this->setError('msg_invalid_request'); $oMemberModel = getModel('member'); // Check managed Email Host @@ -2898,16 +2907,16 @@ class memberController extends member $hosts[] = $host->email_host; } $message = sprintf($managed_email_host[$emailhost_check],implode(', ',$hosts),'id@'.implode(', id@',$hosts)); - return new Object(-1, $message); + return $this->setError($message); } // Check if the e-mail address is already registered $member_srl = $oMemberModel->getMemberSrlByEmailAddress($newEmail); - if($member_srl) return new Object(-1,'msg_exists_email_address'); + if($member_srl) return $this->setError('msg_exists_email_address'); if($_SESSION['rechecked_password_step'] != 'INPUT_DATA') { - return $this->stop('msg_invalid_request'); + return $this->setError('msg_invalid_request'); } unset($_SESSION['rechecked_password_step']); @@ -3009,7 +3018,7 @@ class memberController extends member **/ function triggerGetDocumentMenu(&$menu_list) { - if(!Context::get('is_logged')) return new Object(); + if(!Context::get('is_logged')) return; $logged_info = Context::get('logged_info'); $document_srl = Context::get('target_srl'); @@ -3020,14 +3029,12 @@ class memberController extends member $member_srl = $oDocument->get('member_srl'); $module_srl = $oDocument->get('module_srl'); - if(!$member_srl) return new Object(); - if($oDocumentModel->grant->manager != 1 || $member_srl==$logged_info->member_srl) return new Object(); + if(!$member_srl) return; + if($oDocumentModel->grant->manager != 1 || $member_srl==$logged_info->member_srl) return; $oDocumentController = getController('document'); $url = getUrl('','module','member','act','dispMemberSpammer','member_srl',$member_srl,'module_srl',$module_srl); $oDocumentController->addDocumentPopupMenu($url,'cmd_spammer','','popup'); - - return new Object(); } /** @@ -3039,7 +3046,7 @@ class memberController extends member **/ function triggerGetCommentMenu(&$menu_list) { - if(!Context::get('is_logged')) return new Object(); + if(!Context::get('is_logged')) return; $logged_info = Context::get('logged_info'); $comment_srl = Context::get('target_srl'); @@ -3050,14 +3057,12 @@ class memberController extends member $module_srl = $oComment->get('module_srl'); $member_srl = $oComment->get('member_srl'); - if(!$member_srl) return new Object(); - if($oCommentModel->grant->manager != 1 || $member_srl==$logged_info->member_srl) return new Object(); + if(!$member_srl) return; + if($oCommentModel->grant->manager != 1 || $member_srl==$logged_info->member_srl) return; $oCommentController = getController('comment'); $url = getUrl('','module','member','act','dispMemberSpammer','member_srl',$member_srl,'module_srl',$module_srl); $oCommentController->addCommentPopupMenu($url,'cmd_spammer','','popup'); - - return new Object(); } /** @@ -3067,7 +3072,7 @@ class memberController extends member **/ function procMemberSpammerManage() { - if(!Context::get('is_logged')) return new Object(-1,'msg_not_permitted'); + if(!Context::get('is_logged')) return $this->setError('msg_not_permitted'); $logged_info = Context::get('logged_info'); $member_srl = Context::get('member_srl'); @@ -3084,7 +3089,7 @@ class memberController extends member $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl, $columnList); $grant = $oModuleModel->getGrant($module_info, $logged_info); - if(!$grant->manager) return new Object(-1,'msg_not_permitted'); + if(!$grant->manager) return $this->setError('msg_not_permitted'); $proc_msg = ""; @@ -3121,7 +3126,7 @@ class memberController extends member $this->add('cnt_loop', ++$cnt_loop); $this->add('proc_type', $proc_type); - return new Object(0); + return new BaseObject(0); } /** diff --git a/modules/member/member.mobile.php b/modules/member/member.mobile.php index 41a7e4b89..92867099f 100644 --- a/modules/member/member.mobile.php +++ b/modules/member/member.mobile.php @@ -1,6 +1,6 @@ */ -require_once(_XE_PATH_.'modules/member/member.view.php'); + class memberMobile extends memberView { /** diff --git a/modules/member/member.model.php b/modules/member/member.model.php index 0a3a9070a..69d5531d7 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -50,7 +50,14 @@ class memberModel extends member } // Get terms of user - $config->agreement = memberModel::_getAgreement(); + if(!$config->agreements) + { + $config->agreement = memberModel::_getAgreement(); + $config->agreements[1] = new stdClass; + $config->agreements[1]->title = lang('agreement'); + $config->agreements[1]->content = $config->agreement; + $config->agreements[1]->type = $config->agreement ? 'required' : 'disabled'; + } if(!$config->webmaster_name) $config->webmaster_name = 'webmaster'; if(!$config->image_name_max_width) $config->image_name_max_width = 90; @@ -86,6 +93,9 @@ class memberModel extends member return $config; } + /** + * @deprecated + */ function _getAgreement() { $agreement_file = _XE_PATH_.'files/member_extra_info/agreement_' . Context::get('lang_type') . '.txt'; diff --git a/modules/member/member.view.php b/modules/member/member.view.php index 3ad39ba01..d6057bd33 100644 --- a/modules/member/member.view.php +++ b/modules/member/member.view.php @@ -352,7 +352,7 @@ class memberView extends member // A message appears if the user is not logged-in if(!Context::get('is_logged')) { - return new Object(-1, 'msg_not_logged'); + return $this->setError('msg_not_logged'); } $logged_info = Context::get('logged_info'); @@ -432,7 +432,7 @@ class memberView extends member $folder_srl = (int)Context::get('folder_srl'); if($folder_srl && !array_filter($folders, function($folder) use($folder_srl) { return $folder->folder_srl == $folder_srl; })) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } if(!$folder_srl && count($folders)) { @@ -635,7 +635,7 @@ class memberView extends member */ function dispSavedDocumentList() { - return new Object(0, 'Deplicated method'); + return new BaseObject(0, 'Deplicated method'); } /** @@ -740,7 +740,7 @@ class memberView extends member **/ function dispMemberSpammer() { - if(!Context::get('is_logged')) return new Object(-1,'msg_not_permitted'); + if(!Context::get('is_logged')) return $this->setError('msg_not_permitted'); $member_srl = Context::get('member_srl'); $module_srl = Context::get('module_srl'); @@ -751,7 +751,7 @@ class memberView extends member $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl, $columnList); $grant = $oModuleModel->getGrant($module_info, Context::get('logged_info')); - if(!$grant->manager) return new Object(-1,'msg_not_permitted'); + if(!$grant->manager) return $this->setError('msg_not_permitted'); $oMemberModel = getModel('member'); @@ -783,7 +783,7 @@ class memberView extends member { if($logged_info->is_admin != 'Y') { - return new Object(-1, 'msg_not_permitted'); + return $this->setError('msg_not_permitted'); } } diff --git a/modules/member/queries/updateMemberPassword.xml b/modules/member/queries/updateMemberPassword.xml index 11d069cae..3d79f804d 100644 --- a/modules/member/queries/updateMemberPassword.xml +++ b/modules/member/queries/updateMemberPassword.xml @@ -3,7 +3,7 @@ - + diff --git a/modules/member/skins/default/css/member.css b/modules/member/skins/default/css/member.css index 1746af915..cf7027ab4 100644 --- a/modules/member/skins/default/css/member.css +++ b/modules/member/skins/default/css/member.css @@ -318,6 +318,7 @@ .xm .signin #warning{margin-right:-14px} .xm .signin #warning>p{margin:10px 0} .xm .agreement{border:1px solid #ddd;padding:15px 15px 10px 15px;border-radius:5px;background:#f8f8f8;margin-bottom:15px} +.xm .agreement>.title{padding: 0 0 10px 0;margin:0 0 10px 0;border-bottom:1px dotted #ccc; font-size:16px;font-weight:bold} .xm .agreement>.text{max-height:200px;overflow:auto} .xm .agreement>.confirm{padding:10px 0 0 0;margin:10px 0 0 0;border-top:1px dotted #ccc} @media all and (max-width:480px){.xm .signin{margin:0;width:100%}} diff --git a/modules/member/skins/default/signup_form.html b/modules/member/skins/default/signup_form.html index cc85c95c8..cddccbb3e 100644 --- a/modules/member/skins/default/signup_form.html +++ b/modules/member/skins/default/signup_form.html @@ -11,13 +11,18 @@ -
    +
    +
    + {$agreement->title} + ({$lang->cmd_required}) + ({$lang->cmd_optional}) +
    - {$member_config->agreement} + {$agreement->content}
    -
    diff --git a/modules/member/skins/simple_world/signup_form.html b/modules/member/skins/simple_world/signup_form.html index b913d8603..25c06b965 100644 --- a/modules/member/skins/simple_world/signup_form.html +++ b/modules/member/skins/simple_world/signup_form.html @@ -16,13 +16,18 @@ -
    +
    +
    + {$agreement->title} + ({$lang->cmd_required}) + ({$lang->cmd_optional}) +
    - {$member_config->agreement} + {$agreement->content}
    -
    diff --git a/modules/member/tpl/agreements_config.html b/modules/member/tpl/agreements_config.html new file mode 100644 index 000000000..3864658a0 --- /dev/null +++ b/modules/member/tpl/agreements_config.html @@ -0,0 +1,39 @@ + + +
    + + + + + + +
    +

    {$lang->agreement} {$i}

    +
    +
    {$lang->cmd_agreement_title}
    +
    + +
    +
    +
    +
    {$lang->cmd_agreement_content}
    +
    + +
    {$config->agreements[$i]->content}
    +
    +
    +
    +
    {$lang->cmd_agreement_type}
    +
    + + + +
    +
    +
    + + +
    + +
    + diff --git a/modules/member/tpl/agreements_edit.html b/modules/member/tpl/agreements_edit.html new file mode 100644 index 000000000..74805996f --- /dev/null +++ b/modules/member/tpl/agreements_edit.html @@ -0,0 +1,32 @@ + + + + +
    + + + {$editor} + diff --git a/modules/member/tpl/css/config.css b/modules/member/tpl/css/config.css new file mode 100644 index 000000000..a849a0943 --- /dev/null +++ b/modules/member/tpl/css/config.css @@ -0,0 +1,22 @@ +.editor_preview { + width: 100%; + min-height: 240px; + max-height: 440px; + box-sizing: border-box; + margin: 0; + padding: 6px; + border: 1px solid #ccc; + border-radius: 4px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + overflow-y: auto; + cursor: text; +} + +.editor_iframe { + width: 100%; + height: 440px; + box-sizing: border-box; + margin: 0 0 -4px 0; + padding: 0; + border: 0; +} diff --git a/modules/member/tpl/header.html b/modules/member/tpl/header.html index a57ffdf2a..b92354dbc 100644 --- a/modules/member/tpl/header.html +++ b/modules/member/tpl/header.html @@ -1,3 +1,4 @@ +

    {$lang->cmd_member_config} {$lang->help}

    @@ -8,11 +9,9 @@ - diff --git a/modules/member/tpl/js/config.js b/modules/member/tpl/js/config.js index 90e138aad..bbfd3ff3f 100644 --- a/modules/member/tpl/js/config.js +++ b/modules/member/tpl/js/config.js @@ -1,5 +1,29 @@ -function enableSignUpTab(isEnable) -{ - var $ = jQuery; - $('#signupTab').toggle(isEnable); -} + +(function($) { + + // Editor replacement callback function + var editor_replace = function(input) { + var iframe = $(''); + iframe.attr("src", current_url.setQuery("act", "dispMemberAdminAgreementsEdit").setQuery("parent_input_id", input.attr("id"))); + iframe.insertAfter(input); + input.siblings(".editor_preview").hide(); + if (input.attr("type") !== "hidden") { + input.hide(); + } + }; + + // Editor replacement + $(function() { + $(".editor_preview").on("click", function() { + var input = $(this).siblings(".editor_content"); + if (input.size()) { + $(this).off("click").off("focus"); + editor_replace(input.first()); + } + }); + $(".editor_preview").on("focus", function() { + $(this).triggerHandler("click"); + }); + }); + +})(jQuery); diff --git a/modules/member/tpl/js/default_config.js b/modules/member/tpl/js/default_config.js index 0f6527574..a98b6d0a6 100644 --- a/modules/member/tpl/js/default_config.js +++ b/modules/member/tpl/js/default_config.js @@ -1,9 +1,4 @@ jQuery(function($){ - $('input[name=enable_join]').click(function(){ - var checked = $('input[name=enable_join]:checked').val(); - enableSignUpTab(checked == 'Y'); - }); - $('.__sync').click(function (){ exec_xml( 'importer', // module diff --git a/modules/member/tpl/signup_config.html b/modules/member/tpl/signup_config.html index 6851913a8..4b9cd4191 100644 --- a/modules/member/tpl/signup_config.html +++ b/modules/member/tpl/signup_config.html @@ -74,14 +74,6 @@

    {$lang->about_redirect_url}

    -
    - -
    {$editor}
    - -

    {$lang->cmd_manage_form} {$lang->help}

    @@ -109,7 +101,7 @@
    {@ $disabled_list = array('find_account_question')} - {@ $fixed_public_list = array('nick_name', 'password')} + {@ $fixed_public_list = array('nick_name', 'password', 'email_address')} @@ -122,7 +114,7 @@ - +
    diff --git a/modules/menu/menu.admin.controller.php b/modules/menu/menu.admin.controller.php index bbdccdfa4..103343daf 100644 --- a/modules/menu/menu.admin.controller.php +++ b/modules/menu/menu.admin.controller.php @@ -170,7 +170,7 @@ class menuAdminController extends menu { if(!$moduleInfos || !is_array($moduleInfos) || count($moduleInfos) == 0 || $menuSrl == 0) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } foreach($moduleInfos as $moduleInfo) @@ -214,7 +214,7 @@ class menuAdminController extends menu $oMenuAdminController = getAdminController('menu'); $oMenuAdminController->makeXmlFile($menuSrl); - return new Object(); + return new BaseObject(); } @@ -252,7 +252,7 @@ class menuAdminController extends menu $oAdmin = getClass('admin'); if($menuInfo->title == $oAdmin->getAdminMenuName()) - return new Object(-1, 'msg_adminmenu_cannot_delete'); + return $this->setError('msg_adminmenu_cannot_delete'); // get menu properies with child menu $phpFile = sprintf("./files/cache/menu/%s.php", $menu_srl); @@ -283,13 +283,13 @@ class menuAdminController extends menu if($isStartmenuInclude) { - return new Object(-1, 'msg_cannot_delete_homemenu'); + return $this->setError('msg_cannot_delete_homemenu'); } $output = $this->deleteMenu($menu_srl); if(!$output->toBool()) { - return new Object(-1, $output->message); + return $this->setError($output->message); } $this->setMessage('success_deleted', 'info'); @@ -371,7 +371,7 @@ class menuAdminController extends menu $oDB->commit(); - return new Object(0,'success_deleted'); + return new BaseObject(0,'success_deleted'); } /** @@ -389,13 +389,13 @@ class menuAdminController extends menu if(!$request->parent_srl || !$request->menu_name) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $this->_setMenuSrl($request->parent_srl, $request->menu_srl); if(!$request->menu_srl) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } if($request->is_shortcut == 'Y') @@ -409,7 +409,7 @@ class menuAdminController extends menu if($result->error < 0) { - return new Object($result->error, $result->message); + return new BaseObject($result->error, $result->message); } // recreate menu cache file @@ -475,7 +475,7 @@ class menuAdminController extends menu $itemInfo = $oMenuAdminModel->getMenuItemInfo($request->shortcut_target); if(!$itemInfo->menu_item_srl) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } unset($itemInfo->normal_btn, $itemInfo->hover_btn, $itemInfo->active_btn); @@ -540,7 +540,7 @@ class menuAdminController extends menu if($request->module_id && strncasecmp('http', $request->module_id, 4) === 0) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } // when menu copy, module already copied @@ -549,7 +549,7 @@ class menuAdminController extends menu $result = $this->_insertModule($request, $args); if(!$result->toBool()) { - return new Object(-1, $result->message); + return $this->setError($result->message); } } @@ -560,7 +560,7 @@ class menuAdminController extends menu if(!$request->module_id) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $args->url = $request->module_id; @@ -625,7 +625,7 @@ class menuAdminController extends menu $output = $oModuleModel->getModuleInfoByMid($request->module_id); if($output->module_srl) { - return new Object(-1, 'msg_module_name_exists'); + return $this->setError('msg_module_name_exists'); } $oModuleController = getController('module'); @@ -644,7 +644,7 @@ class menuAdminController extends menu if(!$request->menu_item_srl || !$request->menu_name) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } // variables set @@ -671,7 +671,7 @@ class menuAdminController extends menu $newItemInfo = $oMenuAdminModel->getMenuItemInfo($request->shortcut_target); if(!$newItemInfo->menu_item_srl) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $args->url = $newItemInfo->url; @@ -691,7 +691,7 @@ class menuAdminController extends menu $output = $oModuleModel->getModuleInfoByMid($request->module_id); if($output->module_srl) { - return new Object(-1, 'msg_module_name_exists'); + return $this->setError('msg_module_name_exists'); } } @@ -699,7 +699,7 @@ class menuAdminController extends menu $moduleInfo = $oModuleModel->getModuleInfoByMid($itemInfo->url); if(!$moduleInfo) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $moduleInfo->mid = $request->module_id; @@ -855,7 +855,7 @@ class menuAdminController extends menu if(!$output->toBool()) return $output; if($output->data->count > 0) { - return new Object(-1001, 'msg_cannot_delete_for_child'); + return new BaseObject(-1001, 'msg_cannot_delete_for_child'); } } @@ -892,7 +892,7 @@ class menuAdminController extends menu $this->_checkHomeMenuInOriginMenu($originMenu, $siteInfo->mid, $isStartmenuInclude); if($isStartmenuInclude) { - return new Object(-1, 'msg_cannot_delete_homemenu'); + return $this->setError('msg_cannot_delete_homemenu'); } $oDB = DB::getInstance(); @@ -909,7 +909,7 @@ class menuAdminController extends menu $this->add('menu_title', $menu_title); $this->add('menu_item_srl', $parent_srl); - return new Object(0, 'success_deleted'); + return new BaseObject(0, 'success_deleted'); } private function _checkHomeMenuInOriginMenu($originMenu, $startMid, &$isStartmenuInclude) @@ -982,7 +982,7 @@ class menuAdminController extends menu } } } - return new Object(0, 'success'); + return new BaseObject(0, 'success'); } private function _recursiveDeleteMenuItem(&$oDB, &$menuInfo, $node) @@ -990,7 +990,7 @@ class menuAdminController extends menu $output = $this->_deleteMenuItem($oDB, $menuInfo, $node); if(!$output->toBool()) { - return new Object(-1, $output->message); + return $this->setError($output->message); } if(is_array($node['list'])) @@ -1013,7 +1013,7 @@ class menuAdminController extends menu $source_srl = Context::get('source_srl'); // Same hierarchy's menu item serial number $target_srl = Context::get('target_srl'); // Self menu item serial number - if(!$mode || !$parent_srl || !$target_srl) return new Object(-1,'msg_invalid_request'); + if(!$mode || !$parent_srl || !$target_srl) return $this->setError('msg_invalid_request'); $oMenuAdminModel = getAdminModel('menu'); @@ -1023,7 +1023,7 @@ class menuAdminController extends menu $targetMenuItemInfo = $oMenuAdminModel->getMenuItemInfo($target_srl); if(!$originalItemInfo->menu_item_srl || (!$targetMenuInfo->menu_srl && !$targetMenuItemInfo->menu_item_srl)) { - return new Object(-1, 'msg_empty_menu_item'); + return $this->setError('msg_empty_menu_item'); } // get menu properies with child menu @@ -1407,7 +1407,7 @@ class menuAdminController extends menu $oMenuAdminModel = getAdminModel('menu'); $target_item = $oMenuAdminModel->getMenuItemInfo($target_srl); - if($target_item->menu_item_srl != $target_srl) return new Object(-1,'msg_invalid_request'); + if($target_item->menu_item_srl != $target_srl) return $this->setError('msg_invalid_request'); // Move the menu location(change the order menu appears) if($mode == 'move') { @@ -1418,7 +1418,7 @@ class menuAdminController extends menu if($source_srl) { $source_item = $oMenuAdminModel->getMenuItemInfo($source_srl); - if($source_item->menu_item_srl != $source_srl) return new Object(-1,'msg_invalid_request'); + if($source_item->menu_item_srl != $source_srl) return $this->setError('msg_invalid_request'); $args->listorder = $source_item->listorder-1; } else @@ -1896,7 +1896,7 @@ class menuAdminController extends menu $names = $oMenuAdminModel->getMenuItemNames($node->name, $site_srl); foreach($names as $key => $val) { - $name_arr_str .= sprintf('"%s"=>%s,', $key, var_export($val, true)); + $name_arr_str .= sprintf('%s => %s, ', var_export($key, true), var_export($val, true)); } $name_str = sprintf('$_names = array(%s); print $_names[$lang_type];', $name_arr_str); @@ -1940,23 +1940,23 @@ class menuAdminController extends menu if($group_srls)$group_check_code = sprintf('($is_admin==true||(is_array($group_srls)&&count(array_intersect($group_srls, array(%s))))||($is_logged&&%s))',$group_srls,$group_srls == -1?1:0); else $group_check_code = "true"; $attribute = sprintf( - 'node_srl="%s" parent_srl="%s" menu_name_key=\'%s\' text="" url="" href="" is_shortcut="%s" desc="%s" open_window="%s" expand="%s" normal_btn="%s" hover_btn="%s" active_btn="%s" link="%s"', + 'node_srl="%d" parent_srl="%d" menu_name_key=%s text="" url="" href="" is_shortcut=%s desc=%s open_window=%s expand=%s normal_btn=%s hover_btn=%s active_btn=%s link="%s"', $menu_item_srl, $node->parent_srl, - addslashes($node->name), + var_export($node->name, true), $group_check_code, $name_str, $group_check_code, - $url, + var_export($url, true), $group_check_code, $href, - $is_shortcut, - $desc, - $open_window, - $expand, - $normal_btn, - $hover_btn, - $active_btn, + var_export($is_shortcut, true), + var_export($desc, true), + var_export($open_window, true), + var_export($expand, true), + var_export($normal_btn, true), + var_export($hover_btn, true), + var_export($active_btn, true), $group_check_code, $link ); @@ -2069,26 +2069,26 @@ class menuAdminController extends menu } // Create properties (check if it belongs to the menu node by url_list. It looks a trick but fast and powerful) $attribute = sprintf( - '"node_srl" => %d, "parent_srl" => %d, "menu_name_key" => \'%s\', "isShow" => (%s ? true : false), "text" => (%s ? $_menu_names[%d][$lang_type] : ""), "href" => (%s ? %s : ""), "url" => (%s ? "%s" : ""), "is_shortcut" => "%s", "desc" => \'%s\', "open_window" => "%s", "normal_btn" => "%s", "hover_btn" => "%s", "active_btn" => "%s", "selected" => (array(%s) && in_array(Context::get("mid"), array(%s)) ? 1 : 0), "expand" => \'%s\', "list" => array(%s), "link" => (%s ? (array(%s) && in_array(Context::get("mid"), array(%s)) ? %s : %s) : ""),', + '"node_srl" => %d, "parent_srl" => %d, "menu_name_key" => %s, "isShow" => (%s ? true : false), "text" => (%s ? $_menu_names[%d][$lang_type] : ""), "href" => (%s ? %s : ""), "url" => (%s ? %s : ""), "is_shortcut" => %s, "desc" => %s, "open_window" => %s, "normal_btn" => %s, "hover_btn" => %s, "active_btn" => %s, "selected" => (array(%s) && in_array(Context::get("mid"), array(%s)) ? 1 : 0), "expand" => %s, "list" => array(%s), "link" => (%s ? (array(%s) && in_array(Context::get("mid"), array(%s)) ? %s : %s) : ""),', $node->menu_item_srl, $node->parent_srl, - strip_tags(addslashes($node->name)), + var_export(strip_tags($node->name), true), $group_check_code, $group_check_code, $node->menu_item_srl, $group_check_code, $href, $group_check_code, - $url, - $is_shortcut, - $desc, - $open_window, - $normal_btn, - $hover_btn, - $active_btn, + var_export($url, true), + var_export($is_shortcut, true), + var_export($desc, true), + var_export($open_window, true), + var_export($normal_btn, true), + var_export($hover_btn, true), + var_export($active_btn, true), $selected, $selected, - $expand, + var_export($expand, true), $child_buff, $group_check_code, $selected, diff --git a/modules/menu/menu.admin.model.php b/modules/menu/menu.admin.model.php index 45c4d816a..eaeb96206 100644 --- a/modules/menu/menu.admin.model.php +++ b/modules/menu/menu.admin.model.php @@ -614,7 +614,7 @@ class menuAdminModel extends menu $menuItemSrl = Context::get('menu_item_srl'); if(!$menuItemSrl) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } $menuItemInfo = $this->getMenuItemInfo($menuItemSrl); @@ -622,7 +622,7 @@ class menuAdminModel extends menu // if menu is shortcut if($menuItemInfo->is_shortcut == 'Y') { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } // get module info diff --git a/modules/menu/menu.class.php b/modules/menu/menu.class.php index 6d3e62ce2..e10047905 100644 --- a/modules/menu/menu.class.php +++ b/modules/menu/menu.class.php @@ -18,8 +18,6 @@ class menu extends ModuleObject { // Create a directory to use menu FileHandler::makeDir('./files/cache/menu'); - - return new Object(); } /** @@ -182,8 +180,6 @@ class menu extends ModuleObject $this->recompileCache(); } - - return new Object(0, 'success_updated'); } /** diff --git a/modules/message/message.class.php b/modules/message/message.class.php index 4d5320ec9..a1387435a 100644 --- a/modules/message/message.class.php +++ b/modules/message/message.class.php @@ -12,7 +12,7 @@ class message extends ModuleObject */ function moduleInstall() { - return new Object(); + } /** @@ -57,7 +57,6 @@ class message extends ModuleObject } } } - return new Object(); } /** diff --git a/modules/message/message.mobile.php b/modules/message/message.mobile.php index 21e8897ba..e27c70498 100644 --- a/modules/message/message.mobile.php +++ b/modules/message/message.mobile.php @@ -1,6 +1,6 @@ */ -require_once(_XE_PATH_.'modules/message/message.view.php'); + class messageMobile extends messageView { /** diff --git a/modules/module/module.admin.controller.php b/modules/module/module.admin.controller.php index 62fca493f..e8e35d9dc 100644 --- a/modules/module/module.admin.controller.php +++ b/modules/module/module.admin.controller.php @@ -108,7 +108,7 @@ class moduleAdminController extends module { $mid = trim($args->{"mid_".$i}); if(!$mid) continue; - if(!preg_match("/^[a-zA-Z]([a-zA-Z0-9_]*)$/i", $mid)) return new Object(-1, 'msg_limit_mid'); + if(!preg_match("/^[a-zA-Z]([a-zA-Z0-9_]*)$/i", $mid)) return $this->setError('msg_limit_mid'); $browser_title = $args->{"browser_title_".$i}; if(!$mid) continue; if($mid && !$browser_title) $browser_title = $mid; @@ -266,7 +266,7 @@ class moduleAdminController extends module return; else { - return new Object(-1, $msg); + return new BaseObject(-1, $msg); } } @@ -282,7 +282,7 @@ class moduleAdminController extends module // Get information of the module $columnList = array('module_srl', 'module'); $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl, $columnList); - if(!$module_info) return new Object(-1,'msg_invalid_request'); + if(!$module_info) return $this->setError('msg_invalid_request'); // Register Admin ID $oModuleController->deleteAdminId($module_srl); $admin_member = Context::get('admin_member'); @@ -509,10 +509,10 @@ class moduleAdminController extends module { $vars = Context::getRequestVars(); - if(!$vars->module_srls) return new Object(-1,'msg_invalid_request'); + if(!$vars->module_srls) return $this->setError('msg_invalid_request'); $module_srls = explode(',',$vars->module_srls); - if(count($module_srls) < 1) return new Object(-1,'msg_invalid_request'); + if(count($module_srls) < 1) return $this->setError('msg_invalid_request'); $oModuleModel = getModel('module'); $oModuleController= getController('module'); @@ -564,10 +564,10 @@ class moduleAdminController extends module function procModuleAdminModuleGrantSetup() { $module_srls = Context::get('module_srls'); - if(!$module_srls) return new Object(-1,'msg_invalid_request'); + if(!$module_srls) return $this->setError('msg_invalid_request'); $modules = explode(',',$module_srls); - if(count($modules) < 1) return new Object(-1,'msg_invalid_request'); + if(count($modules) < 1) return $this->setError('msg_invalid_request'); $oModuleController = getController('module'); $oModuleModel = getModel('module'); @@ -676,7 +676,7 @@ class moduleAdminController extends module // if args->name is empty, random generate for user define language if(empty($args->name)) $args->name = 'userLang'.date('YmdHis').''.sprintf('%03d', mt_rand(0, 100)); - if(!$args->name) return new Object(-1,'msg_invalid_request'); + if(!$args->name) return $this->setError('msg_invalid_request'); // Check whether a language code exists $output = executeQueryArray('module.getLang', $args); if(!$output->toBool()) return $output; @@ -723,7 +723,7 @@ class moduleAdminController extends module $args->name = str_replace(' ','_',Context::get('name')); $args->lang_name = str_replace(' ','_',Context::get('lang_name')); if(!empty($args->lang_name)) $args->name = $args->lang_name; - if(!$args->name) return new Object(-1,'msg_invalid_request'); + if(!$args->name) return $this->setError('msg_invalid_request'); $output = executeQuery('module.deleteLang', $args); if(!$output->toBool()) return $output; @@ -737,7 +737,7 @@ class moduleAdminController extends module function procModuleAdminGetList() { - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_permitted'); + if(!Context::get('is_logged')) return $this->setError('msg_not_permitted'); $oModuleController = getController('module'); $oModuleModel = getModel('module'); @@ -864,14 +864,11 @@ class moduleAdminController extends module } $output = executeQueryArray('module.getLang', $args); if(!$output->toBool() || !$output->data) return; - // Set the cache directory - $cache_path = _XE_PATH_.'files/cache/lang_defined/'; - FileHandler::makeDir($cache_path); $langMap = array(); - foreach($output->data as $val) + foreach($output->data as $lang) { - $langMap[$val->lang_code][$val->name] = $val->value; + $langMap[$lang->lang_code][$lang->name] = $lang->value; } $lang_supported = Context::loadLangSelected(); @@ -904,17 +901,11 @@ class moduleAdminController extends module $langMap[$langCode] += $langMap[$targetLangCode]; } - - $buff = array(" $value) - { - $buff[] = sprintf('$lang[\'%s\'] = \'%s\';', $code, addcslashes($value, "'")); - } - if (!Rhymix\Framework\Storage::write(sprintf('%s/%d.%s.php', $cache_path, $args->site_srl, $langCode), join(PHP_EOL, $buff))) - { - return; - } + + Rhymix\Framework\Cache::set('site_and_module:user_defined_langs:' . $args->site_srl . ':' . $langCode, $langMap[$langCode], 0, true); } + + return $langMap[Context::getLangType()]; } public function procModuleAdminSetDesignInfo() diff --git a/modules/module/module.admin.model.php b/modules/module/module.admin.model.php index 395fcb37b..194c8c398 100644 --- a/modules/module/module.admin.model.php +++ b/modules/module/module.admin.model.php @@ -26,7 +26,7 @@ class moduleAdminModel extends module $args = new stdClass; $args->module_srls = Context::get('module_srls'); $output = executeQueryArray('module.getModulesInfo', $args); - if(!$output->toBool() || !$output->data) return new Object(); + if(!$output->toBool() || !$output->data) return new BaseObject(); foreach($output->data as $key => $val) { @@ -215,12 +215,12 @@ class moduleAdminModel extends module $moduleSrl = Context::get('module_srl'); if(!$targetModule || !$moduleSrl) { - return new Object(-1, 'msg_invalid_request'); + return new BaseObject(-1, 'msg_invalid_request'); } if($targetModule == '_SHORTCUT') { - return new Object(0); + return new BaseObject(); } $oModuleModel = getModel('module'); @@ -453,7 +453,7 @@ class moduleAdminModel extends module function getModuleAdminLangCode() { $name = Context::get('name'); - if(!$name) return new Object(-1,'msg_invalid_request'); + if(!$name) return $this->setError('msg_invalid_request'); $site_module_info = Context::get('site_module_info'); $this->add('name', $name); $output = $this->getLangCode($site_module_info->site_srl, '$user_lang->'.$name); diff --git a/modules/module/module.admin.view.php b/modules/module/module.admin.view.php index 9e64610e3..4af61b9a0 100644 --- a/modules/module/module.admin.view.php +++ b/modules/module/module.admin.view.php @@ -165,7 +165,7 @@ class moduleAdminView extends module $module_srls = Context::get('module_srls'); $modules = explode(',',$module_srls); - if(!count($modules)) if(!$module_srls) return new Object(-1,'msg_invalid_request'); + if(!count($modules)) if(!$module_srls) return $this->setError('msg_invalid_request'); $oModuleModel = getModel('module'); $columnList = array('module_srl', 'module'); @@ -201,7 +201,7 @@ class moduleAdminView extends module $module_srls = Context::get('module_srls'); $modules = explode(',',$module_srls); - if(!count($modules)) if(!$module_srls) return new Object(-1,'msg_invalid_request'); + if(!count($modules)) if(!$module_srls) return $this->setError('msg_invalid_request'); // pre-define variables because you can get contents from other module (call by reference) $content = ''; // Call a trigger for additional settings @@ -224,7 +224,7 @@ class moduleAdminView extends module $module_srls = Context::get('module_srls'); $modules = explode(',',$module_srls); - if(!count($modules)) if(!$module_srls) return new Object(-1,'msg_invalid_request'); + if(!count($modules)) if(!$module_srls) return $this->setError('msg_invalid_request'); $oModuleModel = getModel('module'); $columnList = array('module_srl', 'module', 'site_srl'); diff --git a/modules/module/module.class.php b/modules/module/module.class.php index d3573b834..97488a407 100644 --- a/modules/module/module.class.php +++ b/modules/module/module.class.php @@ -45,8 +45,6 @@ class module extends ModuleObject FileHandler::makeDir('./files/cache/module_info'); FileHandler::makeDir('./files/cache/triggers'); FileHandler::makeDir('./files/ruleset'); - - return new Object(); } /** @@ -105,6 +103,13 @@ class module extends ModuleObject $oModuleModel = getModel('module'); $moduleConfig = $oModuleModel->getModuleConfig('module'); if(!$moduleConfig->isUpdateFixedValue) return true; + + // check module_config data type + $column_info = $oDB->getColumnInfo('module_config', 'config'); + if($column_info->xetype !== 'bigtext') + { + return true; + } } /** @@ -379,8 +384,13 @@ class module extends ModuleObject $moduleConfig->isUpdateFixedValue = TRUE; $output = $oModuleController->updateModuleConfig('module', $moduleConfig); } - - return new Object(0, 'success_updated'); + + // check module_config data type + $column_info = $oDB->getColumnInfo('module_config', 'config'); + if($column_info->xetype !== 'bigtext') + { + $oDB->modifyColumn('module_config', 'config', 'bigtext'); + } } /** diff --git a/modules/module/module.controller.php b/modules/module/module.controller.php index 3c01b74fe..7e4438410 100644 --- a/modules/module/module.controller.php +++ b/modules/module/module.controller.php @@ -134,25 +134,32 @@ class moduleController extends module * @brief Add module extend * */ - function insertModuleExtend($parent_module, $extend_module, $type, $kind='') + function insertModuleExtend($parent_module, $extend_module, $type, $kind = '') { - if($kind != 'admin') $kind = ''; - if(!in_array($type,array('model','controller','view','api','mobile'))) return false; - if(in_array($parent_module, array('module','addon','widget','layout'))) return false; - - $cache_file = './files/cache/common/module_extend.php'; - FileHandler::removeFile($cache_file); - + if(!in_array($type, array('model', 'controller', 'view', 'api', 'mobile'))) + { + return false; + } + + if(in_array($parent_module, array('module', 'addon', 'widget', 'layout'))) + { + return false; + } + $args = new stdClass; $args->parent_module = $parent_module; $args->extend_module = $extend_module; $args->type = $type; - $args->kind = $kind; - - $output = executeQuery('module.getModuleExtendCount', $args); - if($output->data->count>0) return false; - + $args->kind = $kind == 'admin' ? 'admin' : ''; + $output = executeQuery('module.insertModuleExtend', $args); + if($output->toBool()) + { + //remove from cache + unset($GLOBALS['__MODULE_EXTEND__']); + FileHandler::removeFile('files/cache/common/module_extend.php'); + } + return $output; } @@ -250,7 +257,7 @@ class moduleController extends module if(isSiteID($domain)) { $oModuleModel = getModel('module'); - if($oModuleModel->isIDExists($domain, 0)) return new Object(-1,'msg_already_registed_vid'); + if($oModuleModel->isIDExists($domain, 0)) return new BaseObject(-1, 'msg_already_registed_vid'); } else { @@ -266,7 +273,7 @@ class moduleController extends module $columnList = array('modules.site_srl'); $oModuleModel = getModel('module'); $output = $oModuleModel->getSiteInfoByDomain($args->domain, $columnList); - if($output) return new Object(-1,'msg_already_registed_vid'); + if($output) return new BaseObject(-1,'msg_already_registed_vid'); $output = executeQuery('module.insertSite', $args); if(!$output->toBool()) return $output; @@ -292,8 +299,8 @@ class moduleController extends module if($site_info->domain != $args->domain) { $info = $oModuleModel->getSiteInfoByDomain($args->domain, $columnList); - if($info->site_srl && $info->site_srl != $args->site_srl) return new Object(-1,'msg_already_registed_domain'); - if(isSiteID($args->domain) && $oModuleModel->isIDExists($args->domain)) return new Object(-1,'msg_already_registed_vid'); + if($info->site_srl && $info->site_srl != $args->site_srl) return new BaseObject(-1, 'msg_already_registed_domain'); + if(isSiteID($args->domain) && $oModuleModel->isIDExists($args->domain)) return new BaseObject(-1, 'msg_already_registed_vid'); if($args->domain && !isSiteID($args->domain)) { @@ -322,7 +329,7 @@ class moduleController extends module unset($args->act); unset($args->page); // Test mid value - if(!preg_match("/^[a-z][a-z0-9_]+$/i", $args->mid)) return new Object(-1, 'msg_limit_mid'); + if(!preg_match("/^[a-z][a-z0-9_]+$/i", $args->mid)) return new BaseObject(-1, 'msg_limit_mid'); // Test variables (separate basic vars and other vars in modules) $extra_vars = clone($args); unset($extra_vars->module_srl); @@ -348,7 +355,7 @@ class moduleController extends module unset($extra_vars->footer_text); $args = delObjectVars($args, $extra_vars); - return new Object(); + return new BaseObject(); } /** @@ -370,7 +377,7 @@ class moduleController extends module // Check whether the module name already exists if(!$args->site_srl) $args->site_srl = 0; $oModuleModel = getModel('module'); - if($oModuleModel->isIDExists($args->mid, $args->site_srl)) return new Object(-1, 'msg_module_name_exists'); + if($oModuleModel->isIDExists($args->mid, $args->site_srl)) return new BaseObject(-1, 'msg_module_name_exists'); // begin transaction $oDB = &DB::getInstance(); @@ -511,7 +518,7 @@ class moduleController extends module if(!$output->toBool() || $output->data->count) { $oDB->rollback(); - return new Object(-1, 'msg_module_name_exists'); + return new BaseObject(-1, 'msg_module_name_exists'); } // default value @@ -634,7 +641,7 @@ class moduleController extends module */ function deleteModule($module_srl, $site_srl = 0) { - if(!$module_srl) return new Object(-1,'msg_invalid_request'); + if(!$module_srl) return new BaseObject(-1,'msg_invalid_request'); $site_module_info = Context::get('site_module_info'); @@ -677,11 +684,11 @@ class moduleController extends module if($output->isSuccess) { - return new Object(0, 'success_deleted'); + return new BaseObject(0, 'success_deleted'); } else { - return new Object($output->error, $output->message); + return new BaseObject($output->error, $output->message); } } // only delete module @@ -697,13 +704,13 @@ class moduleController extends module */ public function onlyDeleteModule($module_srl) { - if(!$module_srl) return new Object(-1,'msg_invalid_request'); + if(!$module_srl) return new BaseObject(-1, 'msg_invalid_request'); // check start module $oModuleModel = getModel('module'); $columnList = array('sites.index_module_srl'); $start_module = $oModuleModel->getSiteInfo(0, $columnList); - if($module_srl == $start_module->index_module_srl) return new Object(-1, 'msg_cannot_delete_startmodule'); + if($module_srl == $start_module->index_module_srl) return new BaseObject(-1, 'msg_cannot_delete_startmodule'); // Call a trigger (before) $trigger_obj = new stdClass(); @@ -749,7 +756,7 @@ class moduleController extends module */ function updateModuleSkinVars($module_srl, $skin_vars) { - return new Object(); + return new BaseObject(); } /** @@ -873,7 +880,7 @@ class moduleController extends module } getDestroyXeVars($obj); - if(!$obj || !count($obj)) return new Object(); + if(!$obj || !count($obj)) return new BaseObject(); $args = new stdClass; $args->module_srl = $module_srl; @@ -907,7 +914,7 @@ class moduleController extends module $oDB->commit(); - return new Object(); + return new BaseObject(); } /** @@ -1034,45 +1041,34 @@ class moduleController extends module * @brief Change user-defined language */ function replaceDefinedLangCode(&$output, $isReplaceLangCode = true) - { - if($isReplaceLangCode) - { - $output = preg_replace_callback('!\$user_lang->([a-z0-9\_]+)!is', array($this,'_replaceLangCode'), $output); - } - } - - function _replaceLangCode($matches) { static $lang = null; - if(is_null($lang)) + if($isReplaceLangCode) { - $cache_file = sprintf('%sfiles/cache/lang_defined/%d.%s.php', _XE_PATH_, 0, Context::getLangType()); - if(!file_exists($cache_file)) + if($lang === null) { - $oModuleAdminController = getAdminController('module'); - $oModuleAdminController->makeCacheDefinedLangCode(0); - } - - if(file_exists($cache_file)) - { - $moduleAdminControllerMtime = filemtime(_XE_PATH_ . 'modules/module/module.admin.controller.php'); - $cacheFileMtime = filemtime($cache_file); - if($cacheFileMtime < $moduleAdminControllerMtime) + $lang = Rhymix\Framework\Cache::get('site_and_module:user_defined_langs:' . $args->site_srl . ':' . Context::getLangType()); + if($lang === null) { $oModuleAdminController = getAdminController('module'); - $oModuleAdminController->makeCacheDefinedLangCode(0); + $lang = $oModuleAdminController->makeCacheDefinedLangCode($site_module_info->site_srl); } - - require_once($cache_file); } + + $output = preg_replace_callback('!\$user_lang->([a-z0-9\_]+)!is', function($matches) use($lang) { + if(isset($lang[$matches[1]]) && !Context::get($matches[1])) + { + return $lang[$matches[1]]; + } + else + { + return str_replace('$user_lang->', '', $matches[0]); + } + }, $output); } - if(!Context::get($matches[1]) && $lang[$matches[1]]) return $lang[$matches[1]]; - - return str_replace('$user_lang->','',$matches[0]); } - /** * @brief Add and update a file into the file box */ @@ -1082,7 +1078,7 @@ class moduleController extends module if ($ajax) Context::setRequestMethod('JSON'); $logged_info = Context::get('logged_info'); - if($logged_info->is_admin !='Y' && !$logged_info->is_site_admin) return new Object(-1, 'msg_not_permitted'); + if($logged_info->is_admin !='Y' && !$logged_info->is_site_admin) return $this->setError('msg_not_permitted'); $vars = Context::gets('addfile','filter'); $attributeNames = Context::get('attribute_name'); @@ -1111,7 +1107,7 @@ class moduleController extends module $filter = array_map('trim', explode(',',$vars->filter)); if (!in_array($ext, $filter)) { - return new Object(-1, 'msg_error_occured'); + return $this->setError('msg_error_occured'); } } @@ -1126,10 +1122,10 @@ class moduleController extends module // insert else { - if(!Context::isUploaded()) return new Object(-1, 'msg_error_occured'); + if(!Context::isUploaded()) return $this->setError('msg_error_occured'); $addfile = Context::get('addfile'); - if(!is_uploaded_file($addfile['tmp_name'])) return new Object(-1, 'msg_error_occured'); - if($vars->addfile['error'] != 0) return new Object(-1, 'msg_error_occured'); + if(!is_uploaded_file($addfile['tmp_name'])) return $this->setError('msg_error_occured'); + if($vars->addfile['error'] != 0) return $this->setError('msg_error_occured'); $output = $this->insertModuleFileBox($vars); } @@ -1228,10 +1224,10 @@ class moduleController extends module function procModuleFileBoxDelete() { $logged_info = Context::get('logged_info'); - if($logged_info->is_admin !='Y' && !$logged_info->is_site_admin) return new Object(-1, 'msg_not_permitted'); + if($logged_info->is_admin !='Y' && !$logged_info->is_site_admin) return $this->setError('msg_not_permitted'); $module_filebox_srl = Context::get('module_filebox_srl'); - if(!$module_filebox_srl) return new Object(-1, 'msg_invalid_request'); + if(!$module_filebox_srl) return $this->setError('msg_invalid_request'); $vars = new stdClass(); $vars->module_filebox_srl = $module_filebox_srl; $output = $this->deleteModuleFileBox($vars); diff --git a/modules/module/module.model.php b/modules/module/module.model.php index a994166ef..849b89ba2 100644 --- a/modules/module/module.model.php +++ b/modules/module/module.model.php @@ -467,7 +467,7 @@ class moduleModel extends module foreach($target_module_info as $key => $val) { - if(!$extra_vars[$val->module_srl] || !count($extra_vars[$val->module_srl])) continue; + if(!$extra_vars[$val->module_srl] || !count(get_object_vars($extra_vars[$val->module_srl]))) continue; foreach($extra_vars[$val->module_srl] as $k => $v) { if($target_module_info[$key]->{$k}) continue; @@ -1828,10 +1828,9 @@ class moduleModel extends module $args = new stdClass(); $args->module_srl = implode(',', $get_module_srls); $output = executeQueryArray('module.getModuleExtraVars', $args); - if(!$output->toBool()) { - return; + return array(); } if(!$output->data) @@ -2344,7 +2343,7 @@ class moduleModel extends module function getFileBoxListHtml() { $logged_info = Context::get('logged_info'); - if($logged_info->is_admin !='Y' && !$logged_info->is_site_admin) return new Object(-1, 'msg_not_permitted'); + if($logged_info->is_admin !='Y' && !$logged_info->is_site_admin) return $this->setError('msg_not_permitted'); $link = parse_url($_SERVER["HTTP_REFERER"]); $link_params = explode('&',$link['query']); foreach ($link_params as $param) diff --git a/modules/module/module.view.php b/modules/module/module.view.php index 480b290d3..686846be5 100644 --- a/modules/module/module.view.php +++ b/modules/module/module.view.php @@ -123,15 +123,15 @@ class moduleView extends module function dispModuleFileBox() { $logged_info = Context::get('logged_info'); - if($logged_info->is_admin !='Y' && !$logged_info->is_site_admin) return new Object(-1, 'msg_not_permitted'); + if($logged_info->is_admin !='Y' && !$logged_info->is_site_admin) return $this->setError('msg_not_permitted'); $input_name = Context::get('input'); if(!preg_match('/^[a-z0-9_]+$/i', $input_name)) { - return new Object(-1, 'msg_invalid_request'); + return $this->setError('msg_invalid_request'); } - if(!$input_name) return new Object(-1, 'msg_not_permitted'); + if(!$input_name) return $this->setError('msg_not_permitted'); $addscript = sprintf('