From 7595dac21643ee3e6e63ad7cfb605a629d54c635 Mon Sep 17 00:00:00 2001 From: Beom Jinhyeok Date: Tue, 10 Feb 2015 02:52:27 +0900 Subject: [PATCH 001/146] =?UTF-8?q?=EC=9C=84=EC=A0=AF=EC=8A=A4=ED=83=80?= =?UTF-8?q?=EC=9D=BC=20=EC=84=A4=EC=A0=95=EC=97=90=EC=84=9C=20=EC=9E=91?= =?UTF-8?q?=EC=84=B1=EC=9E=90=EB=A5=BC=20=ED=91=9C=EC=8B=9C=ED=95=98?= =?UTF-8?q?=EC=A7=80=20=EB=AA=BB=ED=95=98=EB=8A=94=20=EB=B2=84=EA=B7=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/widget/widget.model.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/widget/widget.model.php b/modules/widget/widget.model.php index 9589bd32f..6600b6b17 100644 --- a/modules/widget/widget.model.php +++ b/modules/widget/widget.model.php @@ -304,7 +304,8 @@ class widgetModel extends widget if(file_exists($preview_file)) $buff[] = sprintf('$widgetStyle_info->preview = "%s";', $preview_file); // Author information - $author_list = (!is_array($author_list)) ? array($author_list) : $author_list; + if(!is_array($xml_obj->author)) $author_list[] = $xml_obj->author; + else $author_list = $xml_obj->author; foreach($author_list as $idx => $author) { From 3ac657996889b4894262d7625fe29781ad73aca2 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Fri, 3 Apr 2015 16:28:46 +0900 Subject: [PATCH 002/146] Remove unnecessary use of anonymous functions --- classes/db/DB.class.php | 3 +-- classes/module/ModuleHandler.class.php | 5 ++--- config/func.inc.php | 17 +++++++---------- modules/editor/editor.model.php | 3 +-- 4 files changed, 11 insertions(+), 17 deletions(-) diff --git a/classes/db/DB.class.php b/classes/db/DB.class.php index af6f2f01d..c921a849d 100644 --- a/classes/db/DB.class.php +++ b/classes/db/DB.class.php @@ -328,8 +328,7 @@ class DB unset($oDB); require_once($class_file); - $tmp_fn = create_function('', "return new {$class_name}();"); - $oDB = $tmp_fn(); + $oDB = new $class_name(); if(!$oDB) { diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index 075afb838..b43e25df7 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -1060,14 +1060,13 @@ class ModuleHandler extends Handler return NULL; } - // Create an instance with eval function + // Create an instance require_once($class_file); if(!class_exists($instance_name, false)) { return NULL; } - $tmp_fn = create_function('', "return new {$instance_name}();"); - $oModule = $tmp_fn(); + $oModule = new $instance_name(); if(!is_object($oModule)) { return NULL; diff --git a/config/func.inc.php b/config/func.inc.php index d3fd2d83a..6040baa53 100644 --- a/config/func.inc.php +++ b/config/func.inc.php @@ -724,22 +724,19 @@ function zdate($str, $format = 'Y-m-d H:i:s', $conversion = TRUE) $month = (int) substr($str, 4, 2); $day = (int) substr($str, 6, 2); - // leading zero? - $lz = create_function('$n', 'return ($n>9?"":"0").$n;'); - $trans = array( 'Y' => $year, - 'y' => $lz($year % 100), - 'm' => $lz($month), + 'y' => sprintf('%02d', $year % 100), + 'm' => sprintf('%02d', $month), 'n' => $month, - 'd' => $lz($day), + 'd' => sprintf('%02d', $day), 'j' => $day, 'G' => $hour, - 'H' => $lz($hour), + 'H' => sprintf('%02d', $hour), 'g' => $hour % 12, - 'h' => $lz($hour % 12), - 'i' => $lz($min), - 's' => $lz($sec), + 'h' => sprintf('%02d', $hour % 12), + 'i' => sprintf('%02d', $min), + 's' => sprintf('%02d', $sec), 'M' => getMonthName($month), 'F' => getMonthName($month, FALSE) ); diff --git a/modules/editor/editor.model.php b/modules/editor/editor.model.php index 49f83f39c..d584f9ba3 100644 --- a/modules/editor/editor.model.php +++ b/modules/editor/editor.model.php @@ -550,8 +550,7 @@ class editorModel extends editor if(!file_exists($class_file)) return new Object(-1, sprintf(Context::getLang('msg_component_is_not_founded'), $component)); // Create an object after loading the class file require_once($class_file); - $tmp_fn = create_function('$seq,$path', "return new {$component}(\$seq,\$path);"); - $oComponent = $tmp_fn($editor_sequence, $class_path); + $oComponent = new $component($editor_sequence, $class_path); if(!$oComponent) return new Object(-1, sprintf(Context::getLang('msg_component_is_not_founded'), $component)); // Add configuration information $component_info = $this->getComponent($component, $site_srl); From 89d23f2e224049d81a1681c31760870f4f66a250 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Sat, 4 Apr 2015 19:37:55 +0900 Subject: [PATCH 003/146] =?UTF-8?q?=EA=B0=80=EC=9E=85=EC=9D=B8=EC=A6=9D?= =?UTF-8?q?=EB=A9=94=EC=9D=BC,=20ID/PW=EC=B0=BE=EA=B8=B0=20=EB=A9=94?= =?UTF-8?q?=EC=9D=BC=EC=9D=B4=2024=EC=8B=9C=EA=B0=84=20=EB=8F=99=EC=95=88?= =?UTF-8?q?=EB=A7=8C=20=EC=9C=A0=ED=9A=A8=ED=95=98=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EC=A0=9C=ED=95=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/member/member.controller.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 21867570e..43bdf9f97 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -72,6 +72,11 @@ class memberController extends member } } + // Delete all previous authmail if login is successful + $args = new stdClass(); + $args->member_srl = $this->memberInfo->member_srl; + executeQuery('member.deleteAuthMail', $args); + if(!$config->after_login_url) { $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'mid', Context::get('mid'), 'act', ''); @@ -1128,6 +1133,12 @@ class memberController extends member return $this->stop('msg_invalid_auth_key'); } + if(ztime($output->data->regdate) < $_SERVER['REQUEST_TIME'] + zgap() - 86400) + { + executeQuery('member.deleteAuthMail', $args); + return $this->stop('msg_invalid_auth_key'); + } + $args->password = $output->data->new_password; // If credentials are correct, change the password to a new one From d04d65ff57099bf1195281ee5e16f49ded21b92f Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Sat, 4 Apr 2015 19:56:59 +0900 Subject: [PATCH 004/146] =?UTF-8?q?=EA=B0=80=EC=9E=85=EC=9D=B8=EC=A6=9D?= =?UTF-8?q?=EB=A9=94=EC=9D=BC=20=EC=9E=AC=EB=B0=9C=EC=86=A1=EC=8B=9C=20?= =?UTF-8?q?=EC=9D=B8=EC=A6=9D=ED=82=A4=EC=9D=98=20=EC=9C=A0=ED=9A=A8?= =?UTF-8?q?=EA=B8=B0=EA=B0=84=EC=9D=84=20=EA=B0=B1=EC=8B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/member/member.controller.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 43bdf9f97..dfa154094 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -1279,6 +1279,12 @@ class memberController extends member if(!$output->data || !$output->data[0]->auth_key) return new Object(-1, 'msg_invalid_request'); $auth_info = $output->data[0]; + // Update the regdate of authmail entry + $renewal_args = new stdClass; + $renewal_args->member_srl = $member_info->member_srl; + $renewal_args->auth_key = $auth_info->auth_key; + $output = executeQuery('member.updateAuthMail', $renewal_args); + $memberInfo = array(); global $lang; if(is_array($member_config->signupForm)) From 56a19374c635019ea0b9089a4ae35299761c4070 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Sat, 4 Apr 2015 21:03:42 +0900 Subject: [PATCH 005/146] =?UTF-8?q?classes=20=ED=8F=B4=EB=8D=94=20?= =?UTF-8?q?=EB=82=B4=EC=9D=98=20=EC=A3=BC=EC=9A=94=20=ED=81=B4=EB=9E=98?= =?UTF-8?q?=EC=8A=A4=EC=97=90=20autoload=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/config.inc.php | 74 ++++++++++++++++++++++++++++--------------- 1 file changed, 48 insertions(+), 26 deletions(-) diff --git a/config/config.inc.php b/config/config.inc.php index 5dc3c4883..fb9c4b508 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -291,34 +291,56 @@ if(!defined('__XE_LOADED_CLASS__')) define('__StartTime__', getMicroTime()); // include the class files - //TODO When _autoload() can be used for PHP5 based applications, it will be removed. if(__DEBUG__) define('__ClassLoadStartTime__', getMicroTime()); - require(_XE_PATH_ . 'classes/object/Object.class.php'); - require(_XE_PATH_ . 'classes/extravar/Extravar.class.php'); - require(_XE_PATH_ . 'classes/handler/Handler.class.php'); - require(_XE_PATH_ . 'classes/xml/XmlParser.class.php'); - require(_XE_PATH_ . 'classes/xml/XmlGenerator.class.php'); - require(_XE_PATH_ . 'classes/xml/XmlJsFilter.class.php'); - require(_XE_PATH_ . 'classes/xml/XmlLangParser.class.php'); - require(_XE_PATH_ . 'classes/cache/CacheHandler.class.php'); - require(_XE_PATH_ . 'classes/context/Context.class.php'); - require(_XE_PATH_ . 'classes/db/DB.class.php'); - require(_XE_PATH_ . 'classes/file/FileHandler.class.php'); - require(_XE_PATH_ . 'classes/widget/WidgetHandler.class.php'); - require(_XE_PATH_ . 'classes/editor/EditorHandler.class.php'); - require(_XE_PATH_ . 'classes/module/ModuleObject.class.php'); - require(_XE_PATH_ . 'classes/module/ModuleHandler.class.php'); - require(_XE_PATH_ . 'classes/display/DisplayHandler.class.php'); - require(_XE_PATH_ . 'classes/template/TemplateHandler.class.php'); - require(_XE_PATH_ . 'classes/mail/Mail.class.php'); - require(_XE_PATH_ . 'classes/page/PageHandler.class.php'); - require(_XE_PATH_ . 'classes/mobile/Mobile.class.php'); - require(_XE_PATH_ . 'classes/validator/Validator.class.php'); - require(_XE_PATH_ . 'classes/frontendfile/FrontEndFileHandler.class.php'); - require(_XE_PATH_ . 'classes/security/Password.class.php'); - require(_XE_PATH_ . 'classes/security/Security.class.php'); - require(_XE_PATH_ . 'classes/security/IpFilter.class.php'); + + $__xe_autoload_file_map = array( + 'CacheHandler' => 'classes/cache/CacheHandler.class.php', + 'Context' => 'classes/context/Context.class.php', + 'DB' => 'classes/db/DB.class.php', + 'DisplayHandler' => 'classes/display/DisplayHandler.class.php', + 'EditorHandler' => 'classes/editor/EditorHandler.class.php', + 'ExtraVar' => 'classes/extravar/Extravar.class.php', + 'FileHandler' => 'classes/file/FileHandler.class.php', + 'FileObject' => 'classes/file/FileObject.class.php', + 'FrontEndFileHandler' => 'classes/frontendfile/FrontEndFileHandler.class.php', + 'Handler' => 'classes/handler/Handler.class.php', + 'Mail' => 'classes/mail/Mail.class.php', + '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', + 'Password' => 'classes/security/Password.class.php', + 'Security' => 'classes/security/Security.class.php', + 'IpFilter' => 'classes/security/IpFilter.class.php', + 'TemplateHandler' => 'classes/template/TemplateHandler.class.php', + 'Validator' => 'classes/validator/Validator.class.php', + 'WidgetHandler' => 'classes/widget/WidgetHandler.class.php', + 'XEHttpRequest' => 'classes/httprequest/XEHttpRequest.class.php', + 'XmlGenerator' => 'classes/xml/XmlGenerator.class.php', + 'XmlJsFilter' => 'classes/xml/XmlJsFilter.class.php', + 'XmlParser' => 'classes/xml/XmlParser.class.php', + 'XmlLangParser' => 'classes/xml/XmlLangParser.class.php', + 'XmlQueryParser' => 'classes/xml/XmlQueryParser.class.php', + ); + + function __xe_autoload($class_name) + { + static $file_map = null; + if($file_map === null) + { + $file_map = array_change_key_case($GLOBALS['__xe_autoload_file_map'], CASE_LOWER); + } + $class_name = strtolower($class_name); + if(isset($file_map[$class_name])) + { + require $file_map[$class_name]; + } + } + __xe_autoload('Context'); + spl_autoload_register('__xe_autoload'); + if(__DEBUG__) $GLOBALS['__elapsed_class_load__'] = getMicroTime() - __ClassLoadStartTime__; } From cc572122b24fd97bfee3317b20773c55c0a7b763 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Mon, 6 Apr 2015 20:49:43 +0900 Subject: [PATCH 006/146] =?UTF-8?q?autoload=20=ED=95=A8=EC=88=98=20?= =?UTF-8?q?=EB=8B=A8=EC=88=9C=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/config.inc.php | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/config/config.inc.php b/config/config.inc.php index fb9c4b508..420dbabc9 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -294,7 +294,7 @@ if(!defined('__XE_LOADED_CLASS__')) if(__DEBUG__) define('__ClassLoadStartTime__', getMicroTime()); - $__xe_autoload_file_map = array( + $__xe_autoload_file_map = array_change_key_case(array( 'CacheHandler' => 'classes/cache/CacheHandler.class.php', 'Context' => 'classes/context/Context.class.php', 'DB' => 'classes/db/DB.class.php', @@ -323,22 +323,16 @@ if(!defined('__XE_LOADED_CLASS__')) 'XmlParser' => 'classes/xml/XmlParser.class.php', 'XmlLangParser' => 'classes/xml/XmlLangParser.class.php', 'XmlQueryParser' => 'classes/xml/XmlQueryParser.class.php', - ); + ), CASE_LOWER); function __xe_autoload($class_name) { - static $file_map = null; - if($file_map === null) - { - $file_map = array_change_key_case($GLOBALS['__xe_autoload_file_map'], CASE_LOWER); - } $class_name = strtolower($class_name); - if(isset($file_map[$class_name])) + if(isset($GLOBALS['__xe_autoload_file_map'][$class_name])) { - require $file_map[$class_name]; + require _XE_PATH_ . $GLOBALS['__xe_autoload_file_map'][$class_name]; } } - __xe_autoload('Context'); spl_autoload_register('__xe_autoload'); if(__DEBUG__) From d0753e746bd1d2bfd4ea113ea2edf921d37d7b61 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Mon, 6 Apr 2015 21:18:39 +0900 Subject: [PATCH 007/146] =?UTF-8?q?=EB=AA=A8=EB=93=88=20=ED=81=B4=EB=9E=98?= =?UTF-8?q?=EC=8A=A4=20=EB=A1=9C=EB=94=A9=EC=97=90=EC=84=9C=20autoload?= =?UTF-8?q?=EB=A5=BC=20=EC=82=AC=EC=9A=A9=ED=95=A0=20=EC=88=98=20=EC=9E=88?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=ED=95=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/module/ModuleHandler.class.php | 25 ++++++------------------- config/config.inc.php | 8 ++++++++ 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index 075afb838..070198be8 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -1043,31 +1043,18 @@ class ModuleHandler extends Handler ModuleHandler::_getModuleFilePath($module, $type, $kind, $class_path, $high_class_file, $class_file, $instance_name); } - // Get base class name and load the file contains it - if(!class_exists($module, false)) + // Check if the base class and instance class exist + if(!class_exists($module, true)) { - $high_class_file = sprintf('%s%s%s.class.php', _XE_PATH_, $class_path, $module); - if(!file_exists($high_class_file)) - { - return NULL; - } - require_once($high_class_file); + return NULL; } - - // Get the name of the class file - if(!is_readable($class_file)) + if(!class_exists($instance_name, true)) { return NULL; } - // Create an instance with eval function - require_once($class_file); - if(!class_exists($instance_name, false)) - { - return NULL; - } - $tmp_fn = create_function('', "return new {$instance_name}();"); - $oModule = $tmp_fn(); + // Create an instance + $oModule = new $instance_name(); if(!is_object($oModule)) { return NULL; diff --git a/config/config.inc.php b/config/config.inc.php index 420dbabc9..d1986ba14 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -332,6 +332,14 @@ if(!defined('__XE_LOADED_CLASS__')) { require _XE_PATH_ . $GLOBALS['__xe_autoload_file_map'][$class_name]; } + elseif(preg_match('/^([a-z0-9_]+?)(admin)?(view|controller|model|api|wap|mobile)?$/i', $class_name, $matches)) + { + $candidate_filename = 'modules/' . $matches[1] . '/' . $matches[1] . ($matches[2] ? '.admin' : '') . ($matches[3] ? ('.' . $matches[3]) : '.class') . '.php'; + if(file_exists(_XE_PATH_ . $candidate_filename)) + { + require _XE_PATH_ . $candidate_filename; + } + } } spl_autoload_register('__xe_autoload'); From af1d1fcb2d4122bcf535e56eb2ad5c11b35d29bb Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Tue, 7 Apr 2015 10:13:34 +0900 Subject: [PATCH 008/146] =?UTF-8?q?=EB=8B=A4=EB=A5=B8=20=EB=AA=A8=EB=93=A0?= =?UTF-8?q?=20=ED=81=B4=EB=9E=98=EC=8A=A4=EC=97=90=20autoload=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/db/DB.class.php | 30 ---------- classes/display/DisplayHandler.class.php | 5 -- classes/xml/XmlQueryParser.class.php | 25 --------- config/config.inc.php | 70 ++++++++++++++++++++++-- 4 files changed, 66 insertions(+), 64 deletions(-) diff --git a/classes/db/DB.class.php b/classes/db/DB.class.php index af6f2f01d..06b6d17bd 100644 --- a/classes/db/DB.class.php +++ b/classes/db/DB.class.php @@ -4,35 +4,6 @@ if(!defined('__XE_LOADED_DB_CLASS__')) { define('__XE_LOADED_DB_CLASS__', 1); - - require(_XE_PATH_ . 'classes/xml/xmlquery/DBParser.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/QueryParser.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/argument/Argument.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/argument/SortArgument.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/argument/ConditionArgument.class.php'); - - require(_XE_PATH_ . 'classes/db/queryparts/expression/Expression.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/expression/SelectExpression.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/expression/InsertExpression.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/expression/UpdateExpression.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/expression/UpdateExpressionWithoutArgument.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/expression/ClickCountExpression.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/table/Table.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/table/JoinTable.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/table/CubridTableWithHint.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/table/MysqlTableWithHint.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/table/MssqlTableWithHint.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/table/IndexHint.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/condition/ConditionGroup.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/condition/Condition.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/condition/ConditionWithArgument.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/condition/ConditionWithoutArgument.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/condition/ConditionSubquery.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/expression/StarExpression.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/order/OrderByColumn.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/limit/Limit.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/Query.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/Subquery.class.php'); } /** @@ -627,7 +598,6 @@ class DB // if there is no cache file or is not new, find original xml query file and parse it if($cache_time < filemtime($xml_file) || $cache_time < filemtime(_XE_PATH_ . 'classes/db/DB.class.php') || $cache_time < filemtime(_XE_PATH_ . 'classes/xml/XmlQueryParser.class.php')) { - require_once(_XE_PATH_ . 'classes/xml/XmlQueryParser.class.php'); $oParser = new XmlQueryParser(); $oParser->parse($query_id, $xml_file, $cache_file); } diff --git a/classes/display/DisplayHandler.class.php b/classes/display/DisplayHandler.class.php index e4bca38da..deb8d8326 100644 --- a/classes/display/DisplayHandler.class.php +++ b/classes/display/DisplayHandler.class.php @@ -39,12 +39,10 @@ class DisplayHandler extends Handler // Extract contents to display by the request method if(Context::get('xeVirtualRequestMethod') == 'xml') { - require_once(_XE_PATH_ . "classes/display/VirtualXMLDisplayHandler.php"); $handler = new VirtualXMLDisplayHandler(); } else if(Context::getRequestMethod() == 'XMLRPC') { - require_once(_XE_PATH_ . "classes/display/XMLDisplayHandler.php"); $handler = new XMLDisplayHandler(); if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { @@ -53,17 +51,14 @@ class DisplayHandler extends Handler } else if(Context::getRequestMethod() == 'JSON') { - require_once(_XE_PATH_ . "classes/display/JSONDisplayHandler.php"); $handler = new JSONDisplayHandler(); } else if(Context::getRequestMethod() == 'JS_CALLBACK') { - require_once(_XE_PATH_ . "classes/display/JSCallbackDisplayHandler.php"); $handler = new JSCallbackDisplayHandler(); } else { - require_once(_XE_PATH_ . "classes/display/HTMLDisplayHandler.php"); $handler = new HTMLDisplayHandler(); } diff --git a/classes/xml/XmlQueryParser.class.php b/classes/xml/XmlQueryParser.class.php index a804376bd..e86c00c8f 100644 --- a/classes/xml/XmlQueryParser.class.php +++ b/classes/xml/XmlQueryParser.class.php @@ -7,31 +7,6 @@ if(!defined('__XE_LOADED_XML_CLASS__')) { define('__XE_LOADED_XML_CLASS__', 1); - - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/query/QueryTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/table/TableTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/table/HintTableTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/table/TablesTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/ColumnTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/SelectColumnTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/InsertColumnTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/InsertColumnTagWithoutArgument.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/UpdateColumnTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/SelectColumnsTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/InsertColumnsTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/UpdateColumnsTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/condition/ConditionTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/condition/ConditionsTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/condition/JoinConditionsTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/condition/ConditionGroupTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/group/GroupsTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/navigation/NavigationTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/navigation/IndexTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/navigation/LimitTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/queryargument/QueryArgument.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/queryargument/SortQueryArgument.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/queryargument/validator/QueryArgumentValidator.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/queryargument/DefaultValue.class.php'); } /** diff --git a/config/config.inc.php b/config/config.inc.php index d1986ba14..99f254b25 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -298,31 +298,93 @@ if(!defined('__XE_LOADED_CLASS__')) 'CacheHandler' => 'classes/cache/CacheHandler.class.php', 'Context' => 'classes/context/Context.class.php', 'DB' => 'classes/db/DB.class.php', + 'Query' => 'classes/db/queryparts/Query.class.php', + 'Subquery' => 'classes/db/queryparts/Subquery.class.php', + 'Condition' => 'classes/db/queryparts/condition/Condition.class.php', + 'ConditionGroup' => 'classes/db/queryparts/condition/ConditionGroup.class.php', + 'ConditionSubquery' => 'classes/db/queryparts/condition/ConditionSubquery.class.php', + 'ConditionWithArgument' => 'classes/db/queryparts/condition/ConditionWithArgument.class.php', + 'ConditionWithoutArgument' => 'classes/db/queryparts/condition/ConditionWithoutArgument.class.php', + 'ClickCountExpression' => 'classes/db/queryparts/expression/ClickCountExpression.class.php', + 'DeleteExpression' => 'classes/db/queryparts/expression/DeleteExpression.class.php', + 'Expression' => 'classes/db/queryparts/expression/Expression.class.php', + 'InsertExpression' => 'classes/db/queryparts/expression/InsertExpression.class.php', + 'SelectExpression' => 'classes/db/queryparts/expression/SelectExpression.class.php', + 'StarExpression' => 'classes/db/queryparts/expression/StarExpression.class.php', + 'UpdateExpression' => 'classes/db/queryparts/expression/UpdateExpression.class.php', + 'UpdateExpressionWithoutArgument' => 'classes/db/queryparts/expression/UpdateExpressionWithoutArgument.class.php', + 'Limit' => 'classes/db/queryparts/limit/Limit.class.php', + 'OrderByColumn' => 'classes/db/queryparts/order/OrderByColumn.class.php', + 'CubridTableWithHint' => 'classes/db/queryparts/table/CubridTableWithHint.class.php', + 'IndexHint' => 'classes/db/queryparts/table/IndexHint.class.php', + 'JoinTable' => 'classes/db/queryparts/table/JoinTable.class.php', + 'MssqlTableWithHint' => 'classes/db/queryparts/table/MssqlTableWithHint.class.php', + 'MysqlTableWithHint' => 'classes/db/queryparts/table/MysqlTableWithHint.class.php', + 'Table' => 'classes/db/queryparts/table/Table.class.php', 'DisplayHandler' => 'classes/display/DisplayHandler.class.php', + 'HTMLDisplayHandler' => 'classes/display/HTMLDisplayHandler.php', + 'JSCallbackDisplayHandler' => 'classes/display/JSCallbackDisplayHandler.php', + 'JSONDisplayHandler' => 'classes/display/JSONDisplayHandler.php', + 'VirtualXMLDisplayHandler' => 'classes/display/VirtualXMLDisplayHandler.php', + 'XMLDisplayHandler' => 'classes/display/XMLDisplayHandler.php', 'EditorHandler' => 'classes/editor/EditorHandler.class.php', 'ExtraVar' => 'classes/extravar/Extravar.class.php', 'FileHandler' => 'classes/file/FileHandler.class.php', 'FileObject' => 'classes/file/FileObject.class.php', 'FrontEndFileHandler' => 'classes/frontendfile/FrontEndFileHandler.class.php', 'Handler' => 'classes/handler/Handler.class.php', + 'XEHttpRequest' => 'classes/httprequest/XEHttpRequest.class.php', 'Mail' => 'classes/mail/Mail.class.php', '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', - 'Password' => 'classes/security/Password.class.php', - 'Security' => 'classes/security/Security.class.php', + 'EmbedFilter' => 'classes/security/EmbedFilter.class.php', 'IpFilter' => 'classes/security/IpFilter.class.php', + 'Password' => 'classes/security/Password.class.php', + 'Purifier' => 'classes/security/Purifier.class.php', + 'Security' => 'classes/security/Security.class.php', + 'UploadFileFilter' => 'classes/security/UploadFileFilter.class.php', 'TemplateHandler' => 'classes/template/TemplateHandler.class.php', 'Validator' => 'classes/validator/Validator.class.php', 'WidgetHandler' => 'classes/widget/WidgetHandler.class.php', - 'XEHttpRequest' => 'classes/httprequest/XEHttpRequest.class.php', + 'GeneralXmlParser' => 'classes/widget/GeneralXmlParser.class.php', + 'Xml_Node_' => 'classes/xml/XmlParser.class.php', 'XmlGenerator' => 'classes/xml/XmlGenerator.class.php', 'XmlJsFilter' => 'classes/xml/XmlJsFilter.class.php', - 'XmlParser' => 'classes/xml/XmlParser.class.php', 'XmlLangParser' => 'classes/xml/XmlLangParser.class.php', + 'XmlParser' => 'classes/xml/XmlParser.class.php', 'XmlQueryParser' => 'classes/xml/XmlQueryParser.class.php', + 'DBParser' => 'classes/xml/xmlquery/DBParser.class.php', + 'QueryParser' => 'classes/xml/xmlquery/QueryParser.class.php', + 'Argument' => 'classes/xml/xmlquery/argument/Argument.class.php', + 'ConditionArgument' => 'classes/xml/xmlquery/argument/ConditionArgument.class.php', + 'SortArgument' => 'classes/xml/xmlquery/argument/SortArgument.class.php', + 'DefaultValue' => 'classes/xml/xmlquery/queryargument/DefaultValue.class.php', + 'QueryArgument' => 'classes/xml/xmlquery/queryargument/QueryArgument.class.php', + 'SortQueryArgument' => 'classes/xml/xmlquery/queryargument/SortQueryArgument.class.php', + 'QueryArgumentValidator' => 'classes/xml/xmlquery/queryargument/validator/QueryArgumentValidator.class.php', + 'ColumnTag' => 'classes/xml/xmlquery/tags/column/ColumnTag.class.php', + 'InsertColumnTag' => 'classes/xml/xmlquery/tags/column/InsertColumnTag.class.php', + 'InsertColumnTagWithoutArgument' => 'classes/xml/xmlquery/tags/column/InsertColumnTagWithoutArgument.class.php', + 'InsertColumnsTag' => 'classes/xml/xmlquery/tags/column/InsertColumnsTag.class.php', + 'SelectColumnTag' => 'classes/xml/xmlquery/tags/column/SelectColumnTag.class.php', + 'SelectColumnsTag' => 'classes/xml/xmlquery/tags/column/SelectColumnsTag.class.php', + 'UpdateColumnTag' => 'classes/xml/xmlquery/tags/column/UpdateColumnTag.class.php', + 'UpdateColumnsTag' => 'classes/xml/xmlquery/tags/column/UpdateColumnsTag.class.php', + 'ConditionGroupTag' => 'classes/xml/xmlquery/tags/condition/ConditionGroupTag.class.php', + 'ConditionTag' => 'classes/xml/xmlquery/tags/condition/ConditionTag.class.php', + 'ConditionsTag' => 'classes/xml/xmlquery/tags/condition/ConditionsTag.class.php', + 'JoinConditionsTag' => 'classes/xml/xmlquery/tags/condition/JoinConditionsTag.class.php', + 'GroupsTag' => 'classes/xml/xmlquery/tags/group/GroupsTag.class.php', + 'IndexTag' => 'classes/xml/xmlquery/tags/navigation/IndexTag.class.php', + 'LimitTag' => 'classes/xml/xmlquery/tags/navigation/LimitTag.class.php', + 'NavigationTag' => 'classes/xml/xmlquery/tags/navigation/NavigationTag.class.php', + 'QueryTag' => 'classes/xml/xmlquery/tags/query/QueryTag.class.php', + 'HintTableTag' => 'classes/xml/xmlquery/tags/table/HintTableTag.class.php', + 'TableTag' => 'classes/xml/xmlquery/tags/table/TableTag.class.php', + 'TablesTag' => 'classes/xml/xmlquery/tags/table/TablesTag.class.php', ), CASE_LOWER); function __xe_autoload($class_name) From 7f9aee3e7191efd17f11811c225fc8ae0023f811 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Sat, 18 Apr 2015 14:19:33 +0900 Subject: [PATCH 009/146] =?UTF-8?q?PHP=205.4=20=EC=9D=B4=EC=83=81=EC=97=90?= =?UTF-8?q?=EC=84=9C=EB=8A=94=20magic=5Fquotes=5Fgpc=20=EC=83=81=ED=83=9C?= =?UTF-8?q?=EB=A5=BC=20=EC=B2=B4=ED=81=AC=ED=95=98=EC=A7=80=20=EC=95=8A?= =?UTF-8?q?=EC=9D=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/context/Context.class.php | 2 +- classes/db/DBCubrid.class.php | 2 +- classes/db/DBMssql.class.php | 2 +- classes/db/DBMysql.class.php | 2 +- classes/db/DBMysqli.class.php | 2 +- classes/db/DBMysqli_innodb.class.php | 2 +- modules/module/module.admin.controller.php | 2 +- tools/dbxml_validator/connect_wrapper.php | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 257900cac..0cba1e374 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -1380,7 +1380,7 @@ class Context { $result[$k] = $v; - if($do_stripslashes && version_compare(PHP_VERSION, '5.9.0', '<') && get_magic_quotes_gpc()) + if($do_stripslashes && version_compare(PHP_VERSION, '5.4.0', '<') && get_magic_quotes_gpc()) { $result[$k] = stripslashes($result[$k]); } diff --git a/classes/db/DBCubrid.class.php b/classes/db/DBCubrid.class.php index 064ae99ab..fc977d81a 100644 --- a/classes/db/DBCubrid.class.php +++ b/classes/db/DBCubrid.class.php @@ -116,7 +116,7 @@ class DBCubrid extends DB */ function addQuotes($string) { - if(version_compare(PHP_VERSION, "5.9.0", "<") && + if(version_compare(PHP_VERSION, "5.4.0", "<") && get_magic_quotes_gpc()) { $string = stripslashes(str_replace("\\", "\\\\", $string)); diff --git a/classes/db/DBMssql.class.php b/classes/db/DBMssql.class.php index 5a7217735..32adb251c 100644 --- a/classes/db/DBMssql.class.php +++ b/classes/db/DBMssql.class.php @@ -99,7 +99,7 @@ class DBMssql extends DB */ function addQuotes($string) { - if(version_compare(PHP_VERSION, "5.9.0", "<") && get_magic_quotes_gpc()) + if(version_compare(PHP_VERSION, "5.4.0", "<") && get_magic_quotes_gpc()) { $string = stripslashes(str_replace("\\", "\\\\", $string)); } diff --git a/classes/db/DBMysql.class.php b/classes/db/DBMysql.class.php index 9e60f410e..a969f5d28 100644 --- a/classes/db/DBMysql.class.php +++ b/classes/db/DBMysql.class.php @@ -131,7 +131,7 @@ class DBMysql extends DB */ function addQuotes($string) { - if(version_compare(PHP_VERSION, "5.9.0", "<") && get_magic_quotes_gpc()) + if(version_compare(PHP_VERSION, "5.4.0", "<") && get_magic_quotes_gpc()) { $string = stripslashes(str_replace("\\", "\\\\", $string)); } diff --git a/classes/db/DBMysqli.class.php b/classes/db/DBMysqli.class.php index 36c04e1d5..58d25c852 100644 --- a/classes/db/DBMysqli.class.php +++ b/classes/db/DBMysqli.class.php @@ -87,7 +87,7 @@ class DBMysqli extends DBMysql */ function addQuotes($string) { - if(version_compare(PHP_VERSION, "5.9.0", "<") && get_magic_quotes_gpc()) + if(version_compare(PHP_VERSION, "5.4.0", "<") && get_magic_quotes_gpc()) { $string = stripslashes(str_replace("\\", "\\\\", $string)); } diff --git a/classes/db/DBMysqli_innodb.class.php b/classes/db/DBMysqli_innodb.class.php index 9f5ee5671..55422b61f 100644 --- a/classes/db/DBMysqli_innodb.class.php +++ b/classes/db/DBMysqli_innodb.class.php @@ -145,7 +145,7 @@ class DBMysqli_innodb extends DBMysql */ function addQuotes($string) { - if(version_compare(PHP_VERSION, "5.9.0", "<") && get_magic_quotes_gpc()) + if(version_compare(PHP_VERSION, "5.4.0", "<") && get_magic_quotes_gpc()) { $string = stripslashes(str_replace("\\", "\\\\", $string)); } diff --git a/modules/module/module.admin.controller.php b/modules/module/module.admin.controller.php index 0a1ec1bcb..c12dd10fd 100644 --- a/modules/module/module.admin.controller.php +++ b/modules/module/module.admin.controller.php @@ -685,7 +685,7 @@ class moduleAdminController extends module $args->value = trim(Context::get($key)); // if request method is json, strip slashes - if(Context::getRequestMethod() == 'JSON' && version_compare(PHP_VERSION, "5.9.0", "<") && get_magic_quotes_gpc()) + if(Context::getRequestMethod() == 'JSON' && version_compare(PHP_VERSION, "5.4.0", "<") && get_magic_quotes_gpc()) { $args->value = stripslashes($args->value); } diff --git a/tools/dbxml_validator/connect_wrapper.php b/tools/dbxml_validator/connect_wrapper.php index 0d5afda6d..f9ebacf48 100644 --- a/tools/dbxml_validator/connect_wrapper.php +++ b/tools/dbxml_validator/connect_wrapper.php @@ -347,7 +347,7 @@ class DBMysqliConnectWrapper extends DBMysqli */ public function addQuotes($string) { - if(version_compare(PHP_VERSION, "5.9.0", "<") && get_magic_quotes_gpc()) + if(version_compare(PHP_VERSION, "5.4.0", "<") && get_magic_quotes_gpc()) { $string = stripslashes(str_replace("\\", "\\\\", $string)); } From d0246aba68fe5e3055d889af102729ce406875b3 Mon Sep 17 00:00:00 2001 From: YJSoft Date: Thu, 23 Apr 2015 02:04:22 +0900 Subject: [PATCH 010/146] =?UTF-8?q?#1433=20=EC=8A=AC=EB=9D=BC=EC=9D=B4?= =?UTF-8?q?=EB=93=9C=20=EC=82=AC=EC=9A=A9=EC=95=88=ED=95=A8=20=EC=86=8D?= =?UTF-8?q?=EC=84=B1=EC=9D=B4=20=EB=B0=98=EC=98=81=EB=90=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EB=8A=94=20=EB=AC=B8=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit $_enable_slide의 기본값을 false로 하고, 슬라이더 사용시에만 true로 하도록 수정 추가로 사용하지 않고 있는 $layout_info->use_slide 대신 $_enable_slide로 수정(설정하는 부분만 있고 정작 사용하는 부분이 없습니다) --- layouts/xedition/layout.html | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/layouts/xedition/layout.html b/layouts/xedition/layout.html index 792def202..0d07968d3 100644 --- a/layouts/xedition/layout.html +++ b/layouts/xedition/layout.html @@ -15,7 +15,7 @@ {@ $sub_header_title = $module_info->browser_title} - {@ $_enable_slide = true} + {@ $_enable_slide = false} {@ $_enable_unb = false} {@ $_sample_slide = false} {@ $_sample_footer = false} @@ -29,9 +29,13 @@ {@ $layout_info->use_slide = 'Y'} {@ $layout_info->enable_intergration_search = 'Y'} + + {@ $_enable_slide = true} + {@ $_sample_slide = true} - {@ $layout_info->use_slide = 'Y'} + {@ $_enable_slide = false} + {@ $_enable_slide = true} {@ $_sample_slide = true} {@ $_sample_footer = true} From 4d48b29daef0ea7e6e2e8387df344e29be5b1006 Mon Sep 17 00:00:00 2001 From: MinSoo Kim Date: Tue, 5 May 2015 22:30:48 +0900 Subject: [PATCH 011/146] Fix language-code typo(?) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry 에 따르면, 일본어는 ja로 적어야 합니다. 일본에서 사용하는 일본어를 의미한다면, ja-JP로 적어야 합니다. 어떻게 해도 jp는 표준이 아니기에, 이 커밋을 제안합니다. --- common/tpl/common_layout.html | 2 +- common/tpl/mobile_layout.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/tpl/common_layout.html b/common/tpl/common_layout.html index b9dcf596e..e247e707a 100644 --- a/common/tpl/common_layout.html +++ b/common/tpl/common_layout.html @@ -6,7 +6,7 @@ $js_files=Context::getJsFile(); } - + diff --git a/common/tpl/mobile_layout.html b/common/tpl/mobile_layout.html index 31e20eca5..a362becb1 100644 --- a/common/tpl/mobile_layout.html +++ b/common/tpl/mobile_layout.html @@ -5,7 +5,7 @@ $js_files=Context::getJsFile(); } - + From 4980677c76ccd08acb44fe9172e72d0deae7fec4 Mon Sep 17 00:00:00 2001 From: MinSoo Kim Date: Tue, 5 May 2015 22:58:22 +0900 Subject: [PATCH 012/146] =?UTF-8?q?=EB=B9=84=20IE=20=EB=B8=8C=EB=9D=BC?= =?UTF-8?q?=EC=9A=B0=EC=A0=80=EB=A5=BC=20=EC=9C=84=ED=95=9C=20=EC=A1=B0?= =?UTF-8?q?=EA=B1=B4=EB=AC=B8=20=EB=8B=A4=EB=93=AC=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 비 IE 브라우저 또는 상위 버전의 IE를 위한 조건문을 다듬은 커밋. 참고한 글: http://www.oops4u.com/1823 --- common/tpl/common_layout.html | 6 +++--- common/tpl/mobile_layout.html | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/common/tpl/common_layout.html b/common/tpl/common_layout.html index b9dcf596e..2536b14d3 100644 --- a/common/tpl/common_layout.html +++ b/common/tpl/common_layout.html @@ -19,15 +19,15 @@ {Context::getBrowserTitle()} - - + - + diff --git a/common/tpl/mobile_layout.html b/common/tpl/mobile_layout.html index 31e20eca5..d639ad9ec 100644 --- a/common/tpl/mobile_layout.html +++ b/common/tpl/mobile_layout.html @@ -13,15 +13,15 @@ {Context::getBrowserTitle()} - - + - + From 73f535929410185e42e50e8fd37312ec18eccaa6 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Wed, 6 May 2015 10:33:11 +0900 Subject: [PATCH 013/146] =?UTF-8?q?insertMember=20=EB=A9=94=EC=86=8C?= =?UTF-8?q?=EB=93=9C=20=EB=82=B4=20=EC=BD=94=EB=94=A9=EC=8A=A4=ED=83=80?= =?UTF-8?q?=EC=9D=BC=EC=9D=84=20=EC=A0=95=EB=A6=AC=ED=95=98=EC=97=AC=20?= =?UTF-8?q?=EB=B3=B4=EA=B8=B0=20=EC=89=BD=EA=B2=8C=20=EA=B3=A0=EC=B9=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/member/member.controller.php | 45 ++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 21867570e..20e325794 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -1984,16 +1984,17 @@ class memberController extends member } list($args->email_id, $args->email_host) = explode('@', $args->email_address); + // Website, blog, checks the address if($args->homepage && !preg_match("/^[a-z]+:\/\//i",$args->homepage)) $args->homepage = 'http://'.$args->homepage; if($args->blog && !preg_match("/^[a-z]+:\/\//i",$args->blog)) $args->blog = 'http://'.$args->blog; + // Create a model object $oMemberModel = getModel('member'); - // ID check is prohibited + // Check password strength if($args->password && !$password_is_hashed) { - // check password strength if(!$oMemberModel->checkPasswordStrength($args->password, $config->password_strength)) { $message = Context::getLang('about_password_strength'); @@ -2001,22 +2002,43 @@ class memberController extends member } $args->password = $oMemberModel->hashPassword($args->password); } - elseif(!$args->password) unset($args->password); - if($oMemberModel->isDeniedID($args->user_id)) return new Object(-1,'denied_user_id'); - // ID, nickname, email address of the redundancy check - $member_srl = $oMemberModel->getMemberSrlByUserID($args->user_id); - if($member_srl) return new Object(-1,'msg_exists_user_id'); + elseif(!$args->password) + { + unset($args->password); + } - // nickname check is prohibited + // Check if ID is prohibited + if($oMemberModel->isDeniedID($args->user_id)) + { + return new Object(-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'); + } + + // Check if nickname is prohibited if($oMemberModel->isDeniedNickName($args->nick_name)) { return new Object(-1,'denied_nick_name'); } - $member_srl = $oMemberModel->getMemberSrlByNickName($args->nick_name); - if($member_srl) return new Object(-1,'msg_exists_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'); + } + + // Check if email address is duplicate $member_srl = $oMemberModel->getMemberSrlByEmailAddress($args->email_address); - if($member_srl) return new Object(-1,'msg_exists_email_address'); + if($member_srl) + { + return new Object(-1,'msg_exists_email_address'); + } // Insert data into the DB $args->list_order = -1 * $args->member_srl; @@ -2024,7 +2046,6 @@ class memberController extends member $args->homepage = htmlspecialchars($args->homepage, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); $args->blog = htmlspecialchars($args->blog, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); - if(!$args->user_id) $args->user_id = 't'.$args->member_srl; if(!$args->user_name) $args->user_name = $args->member_srl; From 702053a8c86c3cf7091d212afcfaa2cce54100ee Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Wed, 6 May 2015 10:34:34 +0900 Subject: [PATCH 014/146] =?UTF-8?q?=ED=9A=8C=EC=9B=90=EA=B0=80=EC=9E=85?= =?UTF-8?q?=EC=8B=9C=20=EC=A4=91=EB=B3=B5=EC=B2=B4=ED=81=AC=20=EC=A0=84?= =?UTF-8?q?=EC=97=90=20htmlspecialchars=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/member/member.controller.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 20e325794..abf98268d 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -1985,7 +1985,12 @@ class memberController extends member list($args->email_id, $args->email_host) = explode('@', $args->email_address); - // Website, blog, checks the address + // Sanitize user ID, username, nickname, homepage, blog + $args->user_id = htmlspecialchars($args->user_id, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); + $args->user_name = htmlspecialchars($args->user_name, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); + $args->nick_name = htmlspecialchars($args->nick_name, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); + $args->homepage = htmlspecialchars($args->homepage, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); + $args->blog = htmlspecialchars($args->blog, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); if($args->homepage && !preg_match("/^[a-z]+:\/\//i",$args->homepage)) $args->homepage = 'http://'.$args->homepage; if($args->blog && !preg_match("/^[a-z]+:\/\//i",$args->blog)) $args->blog = 'http://'.$args->blog; @@ -2042,9 +2047,6 @@ class memberController extends member // Insert data into the DB $args->list_order = -1 * $args->member_srl; - $args->nick_name = htmlspecialchars($args->nick_name, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); - $args->homepage = htmlspecialchars($args->homepage, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); - $args->blog = htmlspecialchars($args->blog, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); if(!$args->user_id) $args->user_id = 't'.$args->member_srl; if(!$args->user_name) $args->user_name = $args->member_srl; From 28e9afd1e527304cb8f7614cde3989e613ed7fc8 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Wed, 6 May 2015 10:37:02 +0900 Subject: [PATCH 015/146] =?UTF-8?q?updateMember=EC=97=90=EB=8F=84=20?= =?UTF-8?q?=ED=95=84=ED=84=B0=EB=A7=81=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/member/member.controller.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index abf98268d..73bd004d4 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -2199,6 +2199,11 @@ class memberController extends member list($args->email_id, $args->email_host) = explode('@', $args->email_address); // Website, blog, checks the address + $args->user_id = htmlspecialchars($args->user_id, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); + $args->user_name = htmlspecialchars($args->user_name, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); + $args->nick_name = htmlspecialchars($args->nick_name, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); + $args->homepage = htmlspecialchars($args->homepage, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); + $args->blog = htmlspecialchars($args->blog, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); if($args->homepage && !preg_match("/^[a-z]+:\/\//is",$args->homepage)) $args->homepage = 'http://'.$args->homepage; if($args->blog && !preg_match("/^[a-z]+:\/\//is",$args->blog)) $args->blog = 'http://'.$args->blog; From 05fc125a0fa86de1dbf39eaf2da69f9a2dbdd269 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Wed, 6 May 2015 10:40:18 +0900 Subject: [PATCH 016/146] =?UTF-8?q?=EC=A0=95=EB=B3=B4=EC=88=98=EC=A0=95?= =?UTF-8?q?=EC=8B=9C=EC=97=90=EB=8F=84=20=EB=A7=88=EC=B0=AC=EA=B0=80?= =?UTF-8?q?=EC=A7=80=EB=A1=9C=20=EC=A4=91=EB=B3=B5=EC=B2=B4=ED=81=AC=20?= =?UTF-8?q?=EC=A0=84=EC=97=90=20htmlspecialchars=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/member/member.controller.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 73bd004d4..62772a0d2 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -2168,6 +2168,15 @@ class memberController extends member } } + // Sanitize user ID, username, nickname, homepage, blog + $args->user_id = htmlspecialchars($args->user_id, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); + $args->user_name = htmlspecialchars($args->user_name, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); + $args->nick_name = htmlspecialchars($args->nick_name, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); + $args->homepage = htmlspecialchars($args->homepage, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); + $args->blog = htmlspecialchars($args->blog, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); + if($args->homepage && !preg_match("/^[a-z]+:\/\//is",$args->homepage)) $args->homepage = 'http://'.$args->homepage; + if($args->blog && !preg_match("/^[a-z]+:\/\//is",$args->blog)) $args->blog = 'http://'.$args->blog; + // check member identifier form $config = $oMemberModel->getMemberConfig(); @@ -2198,15 +2207,6 @@ class memberController extends member if($member_srl && $orgMemberInfo->nick_name != $args->nick_name) return new Object(-1,'msg_exists_nick_name'); list($args->email_id, $args->email_host) = explode('@', $args->email_address); - // Website, blog, checks the address - $args->user_id = htmlspecialchars($args->user_id, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); - $args->user_name = htmlspecialchars($args->user_name, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); - $args->nick_name = htmlspecialchars($args->nick_name, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); - $args->homepage = htmlspecialchars($args->homepage, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); - $args->blog = htmlspecialchars($args->blog, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); - if($args->homepage && !preg_match("/^[a-z]+:\/\//is",$args->homepage)) $args->homepage = 'http://'.$args->homepage; - if($args->blog && !preg_match("/^[a-z]+:\/\//is",$args->blog)) $args->blog = 'http://'.$args->blog; - $oDB = &DB::getInstance(); $oDB->begin(); From 42d1c8986a748289ad5ad1aa3a6ab8f7d97e49d1 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Wed, 6 May 2015 10:42:17 +0900 Subject: [PATCH 017/146] =?UTF-8?q?updateMember=20=EB=A9=94=EC=86=8C?= =?UTF-8?q?=EB=93=9C=20=EB=82=B4=20=EC=BD=94=EB=94=A9=EC=8A=A4=ED=83=80?= =?UTF-8?q?=EC=9D=BC=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/member/member.controller.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 62772a0d2..4eccec414 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -2183,6 +2183,7 @@ class memberController extends member $output = executeQuery('member.getMemberInfoByMemberSrl', $args); $orgMemberInfo = $output->data; + // Check if email address or user ID is duplicate if($config->identifier == 'email_address') { $member_srl = $oMemberModel->getMemberSrlByEmailAddress($args->email_address); @@ -2198,32 +2199,39 @@ class memberController extends member $args->user_id = $orgMemberInfo->user_id; } + // Check if nickname is prohibited if($args->nick_name && $oMemberModel->isDeniedNickName($args->nick_name)) { return new Object(-1, 'denied_nick_name'); } + // Check if nickname is duplicate $member_srl = $oMemberModel->getMemberSrlByNickName($args->nick_name); - if($member_srl && $orgMemberInfo->nick_name != $args->nick_name) return new Object(-1,'msg_exists_nick_name'); + if($member_srl && $orgMemberInfo->nick_name != $args->nick_name) + { + return new Object(-1,'msg_exists_nick_name'); + } list($args->email_id, $args->email_host) = explode('@', $args->email_address); $oDB = &DB::getInstance(); $oDB->begin(); - // DB in the update + // Check password strength if($args->password) { - // check password strength if(!$oMemberModel->checkPasswordStrength($args->password, $config->password_strength)) { $message = Context::getLang('about_password_strength'); return new Object(-1, $message[$config->password_strength]); } - $args->password = $oMemberModel->hashPassword($args->password); } - else $args->password = $orgMemberInfo->password; + else + { + $args->password = $orgMemberInfo->password; + } + if(!$args->user_name) $args->user_name = $orgMemberInfo->user_name; if(!$args->user_id) $args->user_id = $orgMemberInfo->user_id; if(!$args->nick_name) $args->nick_name = $orgMemberInfo->nick_name; From 6657f7385016232d502f58e1667c862bc2cf49b9 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Wed, 6 May 2015 11:13:34 +0900 Subject: [PATCH 018/146] =?UTF-8?q?=EC=A0=95=EB=B3=B4=EC=88=98=EC=A0=95?= =?UTF-8?q?=EC=8B=9C=EC=97=90=EB=8F=84=20=EA=B8=88=EC=A7=80=EB=90=9C=20ID?= =?UTF-8?q?=20=EB=B0=8F=20=EC=A4=91=EB=B3=B5=20ID=20=EA=B2=80=EC=82=AC?= =?UTF-8?q?=EB=A5=BC=20=ED=95=98=EB=8F=84=EB=A1=9D=20=ED=95=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/member/member.controller.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 4eccec414..ef7c92b94 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -2199,6 +2199,19 @@ class memberController extends member $args->user_id = $orgMemberInfo->user_id; } + // Check if ID is prohibited + if($args->user_id && $oMemberModel->isDeniedID($args->user_id)) + { + return new Object(-1,'denied_user_id'); + } + + // Check if ID is duplicate + $member_srl = $oMemberModel->getMemberSrlByUserID($args->user_id); + if($member_srl && $orgMemberInfo->user_id != $args->user_id) + { + return new Object(-1,'msg_exists_user_id'); + } + // Check if nickname is prohibited if($args->nick_name && $oMemberModel->isDeniedNickName($args->nick_name)) { From 115cf95ac725871b560f2695411f979d04b6ddba Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Wed, 6 May 2015 11:14:44 +0900 Subject: [PATCH 019/146] =?UTF-8?q?ID,=20=EB=8B=89=EB=84=A4=EC=9E=84=20?= =?UTF-8?q?=EB=93=B1=EC=97=90=EC=84=9C=20=EA=B3=B5=EB=B0=B1=EC=9D=84=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0=ED=95=A0=20=EB=95=8C=20=EC=9C=A0=EB=8B=88?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EA=B3=B5=EB=B0=B1=EB=AC=B8=EC=9E=90=20?= =?UTF-8?q?=EB=B0=8F=20=EC=BB=A8=ED=8A=B8=EB=A1=A4=EB=AC=B8=EC=9E=90?= =?UTF-8?q?=EB=8F=84=20=EC=A0=9C=EA=B1=B0=ED=95=98=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EA=B3=A0=EC=B9=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/member/member.controller.php | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index ef7c92b94..f3a623b00 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -321,13 +321,12 @@ class memberController extends member $args->extra_vars = serialize($extra_vars); // remove whitespace - $checkInfos = array('user_id', 'nick_name', 'email_address'); - $replaceStr = array("\r\n", "\r", "\n", " ", "\t", "\xC2\xAD"); + $checkInfos = array('user_id', 'user_name', 'nick_name', 'email_address'); foreach($checkInfos as $val) { if(isset($args->{$val})) { - $args->{$val} = str_replace($replaceStr, '', $args->{$val}); + $args->{$val} = preg_replace('/[\pZ\pC]+/', '', $$args->{$val}); } } $output = $this->insertMember($args); @@ -534,13 +533,12 @@ class memberController extends member $args->extra_vars = serialize($extra_vars); // remove whitespace - $checkInfos = array('user_id', 'nick_name', 'email_address'); - $replaceStr = array("\r\n", "\r", "\n", " ", "\t", "\xC2\xAD"); + $checkInfos = array('user_id', 'user_name', 'nick_name', 'email_address'); foreach($checkInfos as $val) { if(isset($args->{$val})) { - $args->{$val} = str_replace($replaceStr, '', $args->{$val}); + $args->{$val} = preg_replace('/[\pZ\pC]+/', '', $$args->{$val}); } } From 58f3e4dd73bf0d9f957d0dbc74839b30809d4268 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Wed, 6 May 2015 11:29:12 +0900 Subject: [PATCH 020/146] Fix typo --- modules/member/member.controller.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index f3a623b00..52758caf8 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -326,7 +326,7 @@ class memberController extends member { if(isset($args->{$val})) { - $args->{$val} = preg_replace('/[\pZ\pC]+/', '', $$args->{$val}); + $args->{$val} = preg_replace('/[\pZ\pC]+/', '', $args->{$val}); } } $output = $this->insertMember($args); @@ -538,7 +538,7 @@ class memberController extends member { if(isset($args->{$val})) { - $args->{$val} = preg_replace('/[\pZ\pC]+/', '', $$args->{$val}); + $args->{$val} = preg_replace('/[\pZ\pC]+/', '', $args->{$val}); } } From 759033951e651e4c8e17a8fd6532345bb11eccb1 Mon Sep 17 00:00:00 2001 From: YJSoft Date: Sat, 23 May 2015 17:26:56 +0900 Subject: [PATCH 021/146] =?UTF-8?q?=EB=94=94=EB=B2=84=EA=B7=B8=EC=9A=A9=20?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit debugPrint 삭제 --- modules/trash/tpl/trash_list.html | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/trash/tpl/trash_list.html b/modules/trash/tpl/trash_list.html index b937b1085..802f5b69e 100644 --- a/modules/trash/tpl/trash_list.html +++ b/modules/trash/tpl/trash_list.html @@ -40,7 +40,6 @@ var no_text_comment = '{$lang->no_text_comment}'; - {debugPrint($oTrashVO->unserializedObject)} {$lang->document}{$lang->comment} {$lang->no_text_comment} From e75983768f10755d12458e25b53dc43240bf8f45 Mon Sep 17 00:00:00 2001 From: MinSoo Kim Date: Mon, 25 May 2015 02:32:47 +0900 Subject: [PATCH 022/146] Communication module mobile support enhancement MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 쪽지 모듈의 모바일 지원을 향상시켰습니다. 이 PR 이후에 회원 모듈의 모바일 지원을 향상 시키면 XE의 모바일 지원 수준이 한 단계 상승하게 됩니다. 꼭 반영되길 바랍니다! ## 수정 내용 * 커뮤니케이션 애드온의 회원 메뉴 설정 기능을 모듈의 트리거로 처리하여 조금 더 직관적으로 설정하게 됨. * 기본값은 모듈이 동작 하도록 함. * 모듈을 켜고 끌 수 있도록 함. * 모바일에서 친구 추가를 할 수 있게 함. * 스타일 아주 조금 다듬음. --- .../member_communication.addon.php | 42 ---------- .../communication.admin.controller.php | 79 ++++++++++++------- modules/communication/communication.class.php | 60 +++++++++++++- .../communication.controller.php | 75 ++++++++++++++++++ .../communication/communication.mobile.php | 67 ++++++++++++++++ modules/communication/communication.model.php | 6 +- modules/communication/lang/lang.xml | 22 ++++++ .../m.skins/default/add_friend.html | 31 ++++++++ .../m.skins/default/add_friend_group.html | 30 +++++++ .../m.skins/default/css/mcommunication.css | 2 +- .../m.skins/default/js/communication.js | 47 +++++++++++ modules/communication/ruleset/addFriend.xml | 14 ++-- .../communication/ruleset/addFriendGroup.xml | 11 ++- modules/communication/tpl/index.html | 27 ++++++- 14 files changed, 428 insertions(+), 85 deletions(-) create mode 100644 modules/communication/m.skins/default/add_friend.html create mode 100644 modules/communication/m.skins/default/add_friend_group.html diff --git a/addons/member_communication/member_communication.addon.php b/addons/member_communication/member_communication.addon.php index 8986d8b59..4b2373e84 100644 --- a/addons/member_communication/member_communication.addon.php +++ b/addons/member_communication/member_communication.addon.php @@ -25,13 +25,6 @@ if(!$logged_info|| isCrawler()) * */ if($this->module != 'member' && $called_position == 'before_module_init') { - // Load a language file from the communication module - Context::loadLang(_XE_PATH_ . 'modules/communication/lang'); - // Add menus on the member login information - $oMemberController = getController('member'); - $oMemberController->addMemberMenu('dispCommunicationFriend', 'cmd_view_friend'); - $oMemberController->addMemberMenu('dispCommunicationMessages', 'cmd_view_message_box'); - $flag_file = _XE_PATH_ . 'files/member_extra_info/new_message_flags/' . getNumberingPath($logged_info->member_srl) . $logged_info->member_srl; if($addon_info->use_alarm != 'N' && file_exists($flag_file)) { @@ -45,40 +38,5 @@ if($this->module != 'member' && $called_position == 'before_module_init') Context::addHtmlFooter(""); } } -elseif($this->act == 'getMemberMenu' && $called_position == 'before_module_proc') -{ - $member_srl = Context::get('target_srl'); - $oCommunicationModel = getModel('communication'); - - // Add a feature to display own message box. - if($logged_info->member_srl == $member_srl) - { - $mid = Context::get('cur_mid'); - $oMemberController = getController('member'); - // Add your own viewing Note Template - $oMemberController->addMemberPopupMenu(getUrl('', 'mid', $mid, 'act', 'dispCommunicationMessages'), 'cmd_view_message_box', '', 'self'); - // Display a list of friends - $oMemberController->addMemberPopupMenu(getUrl('', 'mid', $mid, 'act', 'dispCommunicationFriend'), 'cmd_view_friend', '', 'self'); - // If not, Add menus to send message and to add friends - } - else - { - // Get member information - $oMemberModel = getModel('member'); - $target_member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl); - if(!$target_member_info->member_srl) - { - return; - } - - $oMemberController = getController('member'); - // Add a menu for sending message - if($logged_info->is_admin == 'Y' || $target_member_info->allow_message == 'Y' || ($target_member_info->allow_message == 'F' && $oCommunicationModel->isFriend($member_srl))) - $oMemberController->addMemberPopupMenu(getUrl('', 'mid', Context::get('cur_mid'), 'act', 'dispCommunicationSendMessage', 'receiver_srl', $member_srl), 'cmd_send_message', '', 'popup'); - // Add a menu for listing friends (if a friend is new) - if(!$oCommunicationModel->isAddedFriend($member_srl)) - $oMemberController->addMemberPopupMenu(getUrl('', 'mid', Context::get('cur_mid'), 'act', 'dispCommunicationAddFriend', 'target_srl', $member_srl), 'cmd_add_friend', '', 'popup'); - } -} /* End of file member_communication.addon.php */ /* Location: ./addons/member_communication/member_communication.addon.php */ diff --git a/modules/communication/communication.admin.controller.php b/modules/communication/communication.admin.controller.php index 1f9e8b028..829e789da 100644 --- a/modules/communication/communication.admin.controller.php +++ b/modules/communication/communication.admin.controller.php @@ -23,41 +23,66 @@ class communicationAdminController extends communication */ function procCommunicationAdminInsertConfig() { + // Get the configuration information + $oModuleModel = getModel('module'); + $config = $oModuleModel->getModuleConfig('communication'); + // get the default information - $args = Context::gets('skin', 'colorset', 'editor_skin', 'sel_editor_colorset', 'mskin', 'mcolorset', 'layout_srl', 'mlayout_srl', 'grant_write_default','grant_write_group'); - $args->editor_colorset = $args->sel_editor_colorset; - unset($args->sel_editor_colorset); + $args = Context::gets('able_module', 'skin', 'colorset', 'editor_skin', 'sel_editor_colorset', 'mskin', 'mcolorset', 'layout_srl', 'mlayout_srl', 'grant_write_default','grant_write_group'); - if(!$args->skin) + //if module IO config is off + if($args->able_module === 'Y') { - $args->skin = 'default'; - } + // Re-install triggers, if it was disabled. + if($config->able_module == 'N') + { + $this->moduleUpdate(); + } - if(!$args->colorset) + $args->editor_colorset = $args->sel_editor_colorset; + unset($args->sel_editor_colorset); + + if(!$args->skin) + { + $args->skin = 'default'; + } + + if(!$args->colorset) + { + $args->colorset = 'white'; + } + + if(!$args->editor_skin) + { + $args->editor_skin = 'default'; + } + + if(!$args->mskin) + { + $args->mskin = 'default'; + } + + if(!$args->layout_srl) + { + $args->layout_srl = NULL; + } + + $oCommunicationModel = getModel('communication'); + $args->grant_write = $oCommunicationModel->getGrantArray($args->grant_write_default, $args->grant_write_group); + unset($args->grant_write_default); + unset($args->grant_write_group); + } + else { - $args->colorset = 'white'; - } + //module IO config is OFF, Other settings will not be modified. + $config->able_module = 'N'; + $args = $config; - if(!$args->editor_skin) - { - $args->editor_skin = 'default'; + // Delete Triggers + $oModuleController = getController('module'); + $oModuleController->deleteModuleTriggers('communication'); } - if(!$args->mskin) - { - $args->mskin = 'default'; - } - - if(!$args->layout_srl) - { - $args->layout_srl = NULL; - } - - $oCommunicationModel = getModel('communication'); - $args->grant_write = $oCommunicationModel->getGrantArray($args->grant_write_default, $args->grant_write_group); - unset($args->grant_write_default); - unset($args->grant_write_group); - // create the module module Controller object $oModuleController = getController('module'); $output = $oModuleController->insertModuleConfig('communication', $args); diff --git a/modules/communication/communication.class.php b/modules/communication/communication.class.php index 155fd6413..44848c08c 100644 --- a/modules/communication/communication.class.php +++ b/modules/communication/communication.class.php @@ -8,6 +8,10 @@ */ class communication extends ModuleObject { + var $triggers = array( + array('member.getMemberMenu', 'communication', 'controller', 'triggerBeforeMemberPopupMenu', 'before'), + array('moduleHandler.init', 'communication', 'controller', 'triggerAddMemberMenu', 'after') + ); /** * Implement if additional tasks are necessary when installing @@ -15,8 +19,32 @@ class communication extends ModuleObject */ function moduleInstall() { + $oModuleModel = getModel('module'); + $oModuleController = getController('module'); + + // Create triggers + foreach($this->triggers as $trigger) + { + if(!$oModuleModel->getTrigger($trigger[0], $trigger[1], $trigger[2], $trigger[3], $trigger[4])) + { + $oModuleController->insertTrigger($trigger[0], $trigger[1], $trigger[2], $trigger[3], $trigger[4]); + } + } + // Create a temporary file storage for one new private message notification FileHandler::makeDir('./files/member_extra_info/new_message_flags'); + + // Save Default Config. + $config = new stdClass; + $config->able_module = 'Y'; + $config->skin = 'default'; + $config->colorset = 'white'; + $config->editor_skin = 'default'; + $communication_config->mskin = 'default'; + $communication_config->grant_write = array('default_grant'=>'member'); + + // Save configurations + $oModuleController->insertModuleConfig('communication', $config); return new Object(); } @@ -32,6 +60,7 @@ class communication extends ModuleObject } $oModuleModel = getModel('module'); + $oModuleController = getController('module'); $config = $oModuleModel->getModuleConfig('message'); if($config->skin) @@ -46,6 +75,13 @@ class communication extends ModuleObject } } } + + // Create triggers + foreach($this->triggers as $trigger) + { + if(!$oModuleModel->getTrigger($trigger[0], $trigger[1], $trigger[2], $trigger[3], $trigger[4])) return true; + } + return FALSE; } @@ -61,6 +97,7 @@ class communication extends ModuleObject } $oModuleModel = getModel('module'); + $oModuleController = getController('module'); $config = $oModuleModel->getModuleConfig('message'); if(!is_object($config)) { @@ -81,7 +118,16 @@ class communication extends ModuleObject } } } - + + // Create triggers + foreach($this->triggers as $trigger) + { + if(!$oModuleModel->getTrigger($trigger[0], $trigger[1], $trigger[2], $trigger[3], $trigger[4])) + { + $oModuleController->insertTrigger($trigger[0], $trigger[1], $trigger[2], $trigger[3], $trigger[4]); + } + } + return new Object(0, 'success_updated'); } @@ -91,9 +137,19 @@ class communication extends ModuleObject */ function recompileCache() { - } + + function moduleUninstall() + { + $oModuleController = getController('module'); + + foreach($this->triggers as $trigger) + { + $oModuleController->deleteTrigger($trigger[0], $trigger[1], $trigger[2], $trigger[3], $trigger[4]); + } + return new Object(); + } } /* End of file communication.class.php */ /* Location: ./modules/comment/communication.class.php */ diff --git a/modules/communication/communication.controller.php b/modules/communication/communication.controller.php index 69cba0d09..9a90bc6a3 100644 --- a/modules/communication/communication.controller.php +++ b/modules/communication/communication.controller.php @@ -775,6 +775,81 @@ class communicationController extends communication return executeQuery('communication.setMessageReaded', $args); } + /** + * Create communication module menu on the member menu + * @param int $message_srl + * @return Object + */ + public function triggerAddMemberMenu() + { + // Stop if non-logged-in user is + $logged_info = Context::get('logged_info'); + if(!$logged_info|| isCrawler()) + { + return new Object(); + } + + $oCommunicationModel = getModel('communication'); + $config = $oCommunicationModel->getConfig(); + + if($config->able_module === 'Y') + { + $oMemberController = getController('member'); + $oMemberController->addMemberMenu('dispCommunicationFriend', 'cmd_view_friend'); + $oMemberController->addMemberMenu('dispCommunicationMessages', 'cmd_view_message_box'); + } + + return new Object(); + } + + /** + * Create communication module menu on the member popup menu + * @param int $message_srl + * @return Object + */ + public function triggerBeforeMemberPopupMenu() + { + // Stop if non-logged-in user is + $logged_info = Context::get('logged_info'); + if(!$logged_info|| isCrawler()) + { + return; + } + + $member_srl = Context::get('target_srl'); + $oCommunicationModel = getModel('communication'); + + // Add a feature to display own message box. + if($logged_info->member_srl == $member_srl) + { + $mid = Context::get('cur_mid'); + $oMemberController = getController('member'); + // Add your own viewing Note Template + $oMemberController->addMemberPopupMenu(getUrl('', 'mid', $mid, 'act', 'dispCommunicationMessages'), 'cmd_view_message_box', '', 'self'); + // Display a list of friends + $oMemberController->addMemberPopupMenu(getUrl('', 'mid', $mid, 'act', 'dispCommunicationFriend'), 'cmd_view_friend', '', 'self'); + // If not, Add menus to send message and to add friends + } + else + { + // Get member information + $oMemberModel = getModel('member'); + $target_member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl); + if(!$target_member_info->member_srl) + { + return; + } + + $oMemberController = getController('member'); + // Add a menu for sending message + if($logged_info->is_admin == 'Y' || $target_member_info->allow_message == 'Y' || ($target_member_info->allow_message == 'F' && $oCommunicationModel->isFriend($member_srl))) + $oMemberController->addMemberPopupMenu(getUrl('', 'mid', Context::get('cur_mid'), 'act', 'dispCommunicationSendMessage', 'receiver_srl', $member_srl), 'cmd_send_message', '', 'popup'); + // Add a menu for listing friends (if a friend is new) + if(!$oCommunicationModel->isAddedFriend($member_srl)) + $oMemberController->addMemberPopupMenu(getUrl('', 'mid', Context::get('cur_mid'), 'act', 'dispCommunicationAddFriend', 'target_srl', $member_srl), 'cmd_add_friend', '', 'popup'); + } + } + } /* End of file communication.controller.php */ /* Location: ./modules/comment/communication.controller.php */ diff --git a/modules/communication/communication.mobile.php b/modules/communication/communication.mobile.php index d846f4cca..1f32166a9 100644 --- a/modules/communication/communication.mobile.php +++ b/modules/communication/communication.mobile.php @@ -182,6 +182,73 @@ class communicationMobile extends communicationView $this->setTemplateFile('send_message'); } + /** + * display Add a friend + * @return void|Object (void : success, Object : fail) + */ + function dispCommunicationAddFriend() + { + // error appears if not logged-in + if(!Context::get('is_logged')) + { + return $this->stop('msg_not_logged'); + } + + $logged_info = Context::get('logged_info'); + $target_srl = Context::get('target_srl'); + + if(!$target_srl) + { + return $this->stop('msg_invalid_request'); + } + + // get information of the member + $oMemberModel = getModel('member'); + $oCommunicationModel = getModel('communication'); + $communication_info = $oMemberModel->getMemberInfoByMemberSrl($target_srl); + + if($communication_info->member_srl != $target_srl) + { + return $this->stop('msg_invalid_request'); + } + + Context::set('target_info', $communication_info); + + // get a group list + $friend_group_list = $oCommunicationModel->getFriendGroups(); + Context::set('friend_group_list', $friend_group_list); + + $this->setTemplateFile('add_friend'); + } + + /** + * display add a group of friends + * @return void|Object (void : success, Object : fail) + */ + function dispCommunicationAddFriendGroup() + { + // error apprears if not logged-in + if(!Context::get('is_logged')) + { + return $this->stop('msg_not_logged'); + } + + $logged_info = Context::get('logged_info'); + + // change to edit mode when getting the group_srl + $friend_group_srl = Context::get('friend_group_srl'); + if($friend_group_srl) + { + $oCommunicationModel = getModel('communication'); + $friend_group = $oCommunicationModel->getFriendGroupInfo($friend_group_srl); + if($friend_group->friend_group_srl == $friend_group_srl) + { + Context::set('friend_group', $friend_group); + } + } + + $this->setTemplateFile('add_friend_group'); + } } /* End of file communication.mobile.php */ /* Location: ./modules/comment/communication.mobile.php */ diff --git a/modules/communication/communication.model.php b/modules/communication/communication.model.php index 46e262fd3..d66e115aa 100644 --- a/modules/communication/communication.model.php +++ b/modules/communication/communication.model.php @@ -51,12 +51,16 @@ class communicationModel extends communication { $communication_config->mskin = 'default'; } - + if(!$communication_config->grant_write) { $communication_config->grant_write = array('default_grant'=>'member'); } + if(!$communication_config->able_module) + { + $communication_config->able_module = 'Y'; + } return $communication_config; } diff --git a/modules/communication/lang/lang.xml b/modules/communication/lang/lang.xml index d4bac684f..05d9ade79 100644 --- a/modules/communication/lang/lang.xml +++ b/modules/communication/lang/lang.xml @@ -10,6 +10,28 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/communication/m.skins/default/add_friend.html b/modules/communication/m.skins/default/add_friend.html new file mode 100644 index 000000000..fd3679ed9 --- /dev/null +++ b/modules/communication/m.skins/default/add_friend.html @@ -0,0 +1,31 @@ + + +
+

{$lang->cmd_add_friend}

+
+
+

{$XE_VALIDATOR_MESSAGE}

+
+
+ + + + + +
+ +
+
\ No newline at end of file diff --git a/modules/communication/m.skins/default/add_friend_group.html b/modules/communication/m.skins/default/add_friend_group.html new file mode 100644 index 000000000..dc2cde80b --- /dev/null +++ b/modules/communication/m.skins/default/add_friend_group.html @@ -0,0 +1,30 @@ + + +
+

+ + {$lang->cmd_rename_friend_group} + + {$lang->cmd_add_friend_group} + +

+
+
+

{$XE_VALIDATOR_MESSAGE}

+
+
+ + + + +
    +
  • + + +
  • +
+
+ + +
+
diff --git a/modules/communication/m.skins/default/css/mcommunication.css b/modules/communication/m.skins/default/css/mcommunication.css index 7d803cbab..8f7fc8b90 100644 --- a/modules/communication/m.skins/default/css/mcommunication.css +++ b/modules/communication/m.skins/default/css/mcommunication.css @@ -100,7 +100,7 @@ input[type=radio]{width:13px;height:13px;margin:0;padding:0} .ff label+input[type=text], .ff label+input[type=password], .ff label+textarea, -.ff label+select{display:block;width:96%;font-size:14px;margin:0 0 5px 0} +.ff label+select{display:block;box-sizing:border-box;width:100%;font-size:14px;margin:0 0 5px 0} .ff label+input[type=text], .ff label+input[type=password], .ff label+textarea{padding:5px} diff --git a/modules/communication/m.skins/default/js/communication.js b/modules/communication/m.skins/default/js/communication.js index e37272d41..07934c2f0 100644 --- a/modules/communication/m.skins/default/js/communication.js +++ b/modules/communication/m.skins/default/js/communication.js @@ -20,3 +20,50 @@ function mergeContents() $form.find('input[name=content]').val(content); $form.submit(); } + +/* 친구 그룹 삭제 */ +function doDeleteFriendGroup() { + var friend_group_srl = jQuery('#friend_group_list option:selected').val(); + if(!friend_group_srl) return; + + var fo_obj = jQuery('#for_delete_group').get(0); + fo_obj.friend_group_srl.value = friend_group_srl; + + procFilter(fo_obj, delete_friend_group); +} + +function completeDeleteFriendGroup(ret_obj) { + alert(ret_obj['message']); + location.href = current_url.setQuery('friend_group_srl',''); +} + +/* 친구 그룹의 이름 변경 */ +function doRenameFriendGroup() { + var friend_group_srl = jQuery('#friend_group_list option:selected').val(); + if(!friend_group_srl) return; + + popopen("./?module=communication&act=dispCommunicationAddFriendGroup&friend_group_srl="+friend_group_srl); +} + +/* 친구 그룹 이동 */ +function doMoveFriend() { + var fo_obj = jQuery('#fo_friend_list').get(0); + procFilter(fo_obj, move_friend); +} + +/* 친구 그룹 선택 */ +function doJumpFriendGroup() { + var sel_val = jQuery('#jumpMenu option:selected').val(); + location.href = current_url.setQuery('friend_group_srl', sel_val); +} + +jQuery(function($){ + $('.__submit_group button[type=submit]').click(function(e){ + var sel_val = $('input[name="friend_srl_list[]"]:checked').length; + if(sel_val == 0) + { + e.preventDefault(); + return false; + } + }); +}); diff --git a/modules/communication/ruleset/addFriend.xml b/modules/communication/ruleset/addFriend.xml index 27e72cf1e..94b2daa9c 100644 --- a/modules/communication/ruleset/addFriend.xml +++ b/modules/communication/ruleset/addFriend.xml @@ -1,7 +1,11 @@ - + - - - - + + + + + + + + diff --git a/modules/communication/ruleset/addFriendGroup.xml b/modules/communication/ruleset/addFriendGroup.xml index b65ad171e..1bcb89fcb 100644 --- a/modules/communication/ruleset/addFriendGroup.xml +++ b/modules/communication/ruleset/addFriendGroup.xml @@ -1,8 +1,11 @@ - - - + + + + + + - + diff --git a/modules/communication/tpl/index.html b/modules/communication/tpl/index.html index 7f21fa105..706f8d2ed 100644 --- a/modules/communication/tpl/index.html +++ b/modules/communication/tpl/index.html @@ -15,11 +15,18 @@

{$XE_VALIDATOR_MESSAGE}

-
+ +
+ +
+ + {$lang->about_communication_io} +
+
@@ -105,10 +112,24 @@
+ jQuery(function($){ + var communication_module_cfg = $('#communication_module_config_form .x_control-group:not(.module_io)'); + if(!$('#able_module').is(':checked')) + { + communication_module_cfg.hide(); + } + $('#able_module').change(function(){ + if($(this).is(':checked')){ + communication_module_cfg.slideDown(200); + } else { + communication_module_cfg.slideUp(200); + } + }); +}); + \ No newline at end of file From c13690bfd50d5b8d29d803a9515472e9c12bc1d8 Mon Sep 17 00:00:00 2001 From: MinSoo Kim Date: Mon, 25 May 2015 09:28:07 +0900 Subject: [PATCH 023/146] Comment fix, Check update refine. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 모듈이 비활성화 되어 있을때는 트리거가 없는게 정상 이므로, 업데이트 메시지를 표시하지 않습니다. 주석이 반대로 적힌 부분이 있어서 수정합니다. --- .../communication/communication.admin.controller.php | 2 +- modules/communication/communication.class.php | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/communication/communication.admin.controller.php b/modules/communication/communication.admin.controller.php index 829e789da..25364e145 100644 --- a/modules/communication/communication.admin.controller.php +++ b/modules/communication/communication.admin.controller.php @@ -30,7 +30,7 @@ class communicationAdminController extends communication // get the default information $args = Context::gets('able_module', 'skin', 'colorset', 'editor_skin', 'sel_editor_colorset', 'mskin', 'mcolorset', 'layout_srl', 'mlayout_srl', 'grant_write_default','grant_write_group'); - //if module IO config is off + //if module IO config is on if($args->able_module === 'Y') { // Re-install triggers, if it was disabled. diff --git a/modules/communication/communication.class.php b/modules/communication/communication.class.php index 44848c08c..760bb75ef 100644 --- a/modules/communication/communication.class.php +++ b/modules/communication/communication.class.php @@ -76,10 +76,14 @@ class communication extends ModuleObject } } - // Create triggers - foreach($this->triggers as $trigger) + // check if module is abled + if($config->able_module != 'N') { - if(!$oModuleModel->getTrigger($trigger[0], $trigger[1], $trigger[2], $trigger[3], $trigger[4])) return true; + // Check triggers + foreach($this->triggers as $trigger) + { + if(!$oModuleModel->getTrigger($trigger[0], $trigger[1], $trigger[2], $trigger[3], $trigger[4])) return true; + } } return FALSE; From 38732ec5357332f18b0535fae82ca04d65d3cb38 Mon Sep 17 00:00:00 2001 From: MinSoo Kim Date: Mon, 25 May 2015 19:26:15 +0900 Subject: [PATCH 024/146] =?UTF-8?q?CK=20Editor=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EC=B2=A8=EB=B6=80=20=EB=B6=80=EB=B6=84=20=EB=8B=A4=EA=B5=AD?= =?UTF-8?q?=EC=96=B4=20=EC=A7=80=EC=9B=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CK 에디터 스킨의 파일 첨부 영역 다국어 지원을 추가하는 커밋입니다. --- .../editor/skins/ckeditor/file_upload.html | 14 ++++---- modules/editor/skins/ckeditor/lang/lang.xml | 33 +++++++++++++++++++ 2 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 modules/editor/skins/ckeditor/lang/lang.xml diff --git a/modules/editor/skins/ckeditor/file_upload.html b/modules/editor/skins/ckeditor/file_upload.html index 59c28b638..eee60bc85 100644 --- a/modules/editor/skins/ckeditor/file_upload.html +++ b/modules/editor/skins/ckeditor/file_upload.html @@ -1,11 +1,11 @@ - +
-

여기에 파일을 끌어 놓거나 파일 첨부를 클릭하세요

+

{$lang->ckeditor_about_file_drop_area}

@@ -14,21 +14,21 @@
-

파일 크기 제한 : 0MB (허용 확장자 : *.*)

+

{$lang->allowed_filesize} : 0MB ({$lang->allowed_filetypes} : *.*)

- +
- 0개 첨부 됨 ( / ) + {$lang->ckeditor_file_count} ( / )
- - + +
diff --git a/modules/editor/skins/ckeditor/lang/lang.xml b/modules/editor/skins/ckeditor/lang/lang.xml new file mode 100644 index 000000000..f1c718a89 --- /dev/null +++ b/modules/editor/skins/ckeditor/lang/lang.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + 0개 첨부 됨]]> + 0 file(s) attached]]> + 0 file(s) attached]]> + 0 file(s) attached]]> + 0 file(s) attached]]> + 0 file(s) attached]]> + 0 file(s) attached]]> + 0 file(s) attached]]> + + \ No newline at end of file From e2928534c576b0347b0f7dd94244b7220688a1ed Mon Sep 17 00:00:00 2001 From: Changwan Jun Date: Tue, 26 May 2015 14:57:42 +0900 Subject: [PATCH 025/146] ob_start * bug fix. --- classes/template/TemplateHandler.class.php | 8 +++++++- modules/page/page.view.php | 9 +++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/classes/template/TemplateHandler.class.php b/classes/template/TemplateHandler.class.php index b2d148759..d774a2633 100644 --- a/classes/template/TemplateHandler.class.php +++ b/classes/template/TemplateHandler.class.php @@ -362,6 +362,7 @@ class TemplateHandler $__Context->logged_info = Context::get('logged_info'); } + $level = ob_get_level(); ob_start(); if(substr($buff, 0, 7) == 'file://') { @@ -395,7 +396,12 @@ class TemplateHandler } } - return ob_get_clean(); + $contents = ''; + while (ob_get_level() - $level > 0) { + $contents .= ob_get_contents(); + ob_end_clean(); + } + return $contents; } /** diff --git a/modules/page/page.view.php b/modules/page/page.view.php index c07a50124..4ecf25774 100644 --- a/modules/page/page.view.php +++ b/modules/page/page.view.php @@ -179,6 +179,7 @@ class pageView extends page $filepath = preg_replace('/'.$filename."$/i","",$cache_file); $cache_file = FileHandler::getRealPath($cache_file); + $level = ob_get_level(); // Verify cache if($caching_interval <1 || !file_exists($cache_file) || filemtime($cache_file) + $caching_interval*60 <= $_SERVER['REQUEST_TIME'] || filemtime($cache_file) 0) { + $contents .= ob_get_contents(); + ob_end_clean(); + } + return $contents; } function _replacePath($matches) From f4e518cd3fa9267f045976f119563205c7369add Mon Sep 17 00:00:00 2001 From: bnu Date: Tue, 26 May 2015 16:10:34 +0900 Subject: [PATCH 026/146] rename codeception.yml --- codeception.dist.yml | 11 +++++++++++ codeception.yml | 19 ------------------- 2 files changed, 11 insertions(+), 19 deletions(-) create mode 100644 codeception.dist.yml delete mode 100644 codeception.yml diff --git a/codeception.dist.yml b/codeception.dist.yml new file mode 100644 index 000000000..8ea80dc2b --- /dev/null +++ b/codeception.dist.yml @@ -0,0 +1,11 @@ +actor: Tester +paths: + tests: tests + log: tests/_output + data: tests/_data + helpers: tests/_support +settings: + bootstrap: _bootstrap.php + colors: true + memory_limit: 1024M +error_level: "E_ALL & ~E_WARNING & ~E_STRICT & ~E_DEPRECATED & ~E_NOTICE" diff --git a/codeception.yml b/codeception.yml deleted file mode 100644 index 7f760718c..000000000 --- a/codeception.yml +++ /dev/null @@ -1,19 +0,0 @@ -actor: Tester -paths: - tests: tests - log: tests/_output - data: tests/_data - helpers: tests/_support -settings: - bootstrap: _bootstrap.php - colors: true - memory_limit: 1024M -modules: - config: - Db: - dsn: 'mysql:host=127.0.0.1;dbname=xe_test' - user: 'root' - password: 'root' - populate: false - cleanup: false -error_level: "E_STRICTE_ALL & ~E_WARNING & ~E_STRICT & ~E_DEPRECATED & ~E_NOTICE" From b4d66641ace1b0edb1a7536a0d01a1d690d4b9f1 Mon Sep 17 00:00:00 2001 From: bnu Date: Tue, 26 May 2015 16:13:28 +0900 Subject: [PATCH 027/146] =?UTF-8?q?fix=20#1498=20git=20ignore=20-=20PHPSto?= =?UTF-8?q?rm=20=EB=B0=8F=20SublimeText,=20codeception=20=EA=B4=80?= =?UTF-8?q?=EB=A0=A8=20=ED=8C=8C=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 5d06e0e6b..8fed4847f 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,9 @@ Thumbs.db /build/ /node_modules/ /vendor/ -tests/_output/* +.idea +*.sublime-workspace +*.sublime-project +.codeintel +/tests/_output/ +/tests/*.suite.yml From 467f7a9c98abff7dfa41c2bcb5407d20a3d7347b Mon Sep 17 00:00:00 2001 From: bnu Date: Tue, 26 May 2015 16:25:46 +0900 Subject: [PATCH 028/146] =?UTF-8?q?fix=20#1498=20git=20ignore=20-=20codece?= =?UTF-8?q?ption=20=EA=B4=80=EB=A0=A8=20=ED=8C=8C=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 8fed4847f..23a7e7b6a 100644 --- a/.gitignore +++ b/.gitignore @@ -9,5 +9,6 @@ Thumbs.db *.sublime-workspace *.sublime-project .codeintel +codeception.yml /tests/_output/ /tests/*.suite.yml From 6bae73bb0969c07a7ba86384c1ff6fd84c8973c9 Mon Sep 17 00:00:00 2001 From: sejin7940 Date: Tue, 26 May 2015 20:20:24 +0900 Subject: [PATCH 029/146] Update poll.model.php --- modules/poll/poll.model.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/poll/poll.model.php b/modules/poll/poll.model.php index 174f6b0ae..eb31805f8 100644 --- a/modules/poll/poll.model.php +++ b/modules/poll/poll.model.php @@ -76,7 +76,7 @@ class pollModel extends poll $poll->poll_srl = $poll_srl; // Only ongoing poll results - if($poll->stop_date > date("Ymd")) + if($poll->stop_date >= date("Ymd")) { if($this->isPolled($poll_srl)) $tpl_file = "result"; else $tpl_file = "form"; From f4fb37fc845acf5f4e2b12dac6b502743d8df16e Mon Sep 17 00:00:00 2001 From: sejin7940 Date: Tue, 26 May 2015 20:22:55 +0900 Subject: [PATCH 030/146] Update popup.html --- modules/editor/components/poll_maker/tpl/popup.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/editor/components/poll_maker/tpl/popup.html b/modules/editor/components/poll_maker/tpl/popup.html index dfc62009e..05bfe1ed8 100644 --- a/modules/editor/components/poll_maker/tpl/popup.html +++ b/modules/editor/components/poll_maker/tpl/popup.html @@ -31,7 +31,7 @@ $(function(){ , onSelect:function(){ $(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,"")); } - ,minDate: new Date("{date('Y-m-d',time()+60*60*24*30)}") + ,minDate: new Date("{date('Y-m-d',time())}") }; $.extend(option,$.datepicker.regional['{$lang_type}']); $(".inputDate").datepicker(option); From d1916d744fc3c2c36e2ef6834191403af76fd49c Mon Sep 17 00:00:00 2001 From: bnu Date: Thu, 28 May 2015 14:10:25 +0900 Subject: [PATCH 031/146] =?UTF-8?q?CI=20codeception=20error=5Flevel=20?= =?UTF-8?q?=EC=9E=98=EB=AA=BB=EB=90=9C=20=EC=84=A4=EC=A0=95=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- codeception.dist.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codeception.dist.yml b/codeception.dist.yml index 8ea80dc2b..db57ec19b 100644 --- a/codeception.dist.yml +++ b/codeception.dist.yml @@ -8,4 +8,4 @@ settings: bootstrap: _bootstrap.php colors: true memory_limit: 1024M -error_level: "E_ALL & ~E_WARNING & ~E_STRICT & ~E_DEPRECATED & ~E_NOTICE" + error_level: "E_ALL & ~E_WARNING & ~E_STRICT & ~E_DEPRECATED & ~E_NOTICE" From 5cc8f55a6427789db29dff5d9db2f915a4c62fb2 Mon Sep 17 00:00:00 2001 From: bnu Date: Thu, 28 May 2015 14:15:00 +0900 Subject: [PATCH 032/146] =?UTF-8?q?CI=20codeception=20=EC=9E=90=EB=8F=99?= =?UTF-8?q?=EC=84=A4=EC=B9=98=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/Install.suite.dist.yml | 2 +- tests/Install/AutoinstallCept.php | 64 ++++++ tests/Install/InstallCept.php | 5 +- tests/Install/InstallTester.php | 336 +++++++++++++++++++++++++++++- tests/_bootstrap.php | 2 +- tests/_support/InstallHelper.php | 6 +- tests/unit/UnitTester.php | 2 +- 7 files changed, 410 insertions(+), 7 deletions(-) create mode 100644 tests/Install/AutoinstallCept.php diff --git a/tests/Install.suite.dist.yml b/tests/Install.suite.dist.yml index c24bfbd37..b217a1c35 100644 --- a/tests/Install.suite.dist.yml +++ b/tests/Install.suite.dist.yml @@ -1,6 +1,6 @@ class_name: InstallTester modules: - enabled: [Db, PhpBrowser, DbDropTablesHelper, InstallHelper] + enabled: [Db, PhpBrowser, DbDropTablesHelper, InstallHelper, Filesystem] config: PhpBrowser: url: 'http://localhost:8000/' diff --git a/tests/Install/AutoinstallCept.php b/tests/Install/AutoinstallCept.php new file mode 100644 index 000000000..a5cd05bd2 --- /dev/null +++ b/tests/Install/AutoinstallCept.php @@ -0,0 +1,64 @@ +env) ? Configuration::suiteSettings('Install', Configuration::config()) : Configuration::suiteEnvironments('Install')[$this->env]; + +$db_config = $config['modules']['config']['Db']; + +$dsn = $db_config['dsn']; +$dsn = split('[;:]', $dsn); +$db_type = array_shift($dsn); +$dbinfo = [ + 'type' => $db_type, + 'user' => $db_config['user'], + 'password' => $db_config['password'], + 'port' => ((isset($db_config['port']) && $db_config['port'])?: 3306), +]; +foreach($dsn as $piece) { + list($key, $val) = explode('=', $piece); + $dbinfo[$key] = $val; +} + +$install_config = array( + 'db_type' => $dbinfo['type'], + 'db_port' => $dbinfo['port'], + 'db_hostname' => $dbinfo['host'], + 'db_userid' => $dbinfo['user'], + 'db_password' => $dbinfo['password'], + 'db_database' => $dbinfo['dbname'], + 'db_table_prefix' =>'xe_', + 'use_rewrite' =>'N', + 'time_zone' =>'0900', + 'email_address' =>'admin@admin.net', + 'password' =>'admin', + 'password2' =>'admin', + 'nick_name' =>'admin', + 'user_id' =>'admin', + 'lang_type' => 'ko', +); + +$install_config = '<' . '?php $install_config = ' . var_export($install_config, true) . ';'; + +$I->wantTo('auto install'); +$I->writeToFile(_XE_PATH_ . 'config/install.config.php', $install_config); +$I->amOnPage('/'); + +$I->wantTo('completed'); +$I->dontSeeElement('//div[@id="progress"]/ul/li'); +$I->amOnPage('/index.php?act=dispMemberLoginForm'); + +$I->fillField('user_id', 'admin@admin.net'); +$I->submitForm('.login-body form', [ + 'act' => 'procMemberLogin', + 'user_id' => 'admin@admin.net', + 'password' => 'admin', + 'success_return_url' => '/index.php?module=admin' +]); + +$I->seeInCurrentUrl('module=admin'); +$I->seeElement('#gnbNav'); +$I->seeElement('#content .x_page-header'); +$I->see('설치 환경 수집 동의', 'h2'); + diff --git a/tests/Install/InstallCept.php b/tests/Install/InstallCept.php index 4a0621535..a3e5750b7 100644 --- a/tests/Install/InstallCept.php +++ b/tests/Install/InstallCept.php @@ -22,6 +22,10 @@ foreach($dsn as $piece) { $dbinfo[$key] = $val; } +if(\Filehandler::exists(_XE_PATH_ . 'config/install.config.php')) { + $I->deleteFile(_XE_PATH_ . 'config/install.config.php'); +} + // Step 1 $I->wantTo('Install XE Core'); $I->amOnPage('/index.php?l=ko'); @@ -85,7 +89,6 @@ $I->submitForm('#content form', [ ]); // Step 9 -$I->wantTo('completed'); $I->dontSeeElement('//div[@id="progress"]/ul/li'); $I->amOnPage('/index.php?act=dispMemberLoginForm'); diff --git a/tests/Install/InstallTester.php b/tests/Install/InstallTester.php index 5d2e8626a..1e1aef6fa 100644 --- a/tests/Install/InstallTester.php +++ b/tests/Install/InstallTester.php @@ -1,4 +1,4 @@ -scenario->runStep(new \Codeception\Step\Action('cleanup', func_get_args())); } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Enters a directory In local filesystem. + * Project root directory is used by default + * + * @param $path + * @see \Codeception\Module\Filesystem::amInPath() + */ + public function amInPath($path) { + return $this->scenario->runStep(new \Codeception\Step\Condition('amInPath', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Opens a file and stores it's content. + * + * Usage: + * + * ``` php + * openFile('composer.json'); + * $I->seeInThisFile('codeception/codeception'); + * ?> + * ``` + * + * @param $filename + * @see \Codeception\Module\Filesystem::openFile() + */ + public function openFile($filename) { + return $this->scenario->runStep(new \Codeception\Step\Action('openFile', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Deletes a file + * + * ``` php + * deleteFile('composer.lock'); + * ?> + * ``` + * + * @param $filename + * @see \Codeception\Module\Filesystem::deleteFile() + */ + public function deleteFile($filename) { + return $this->scenario->runStep(new \Codeception\Step\Action('deleteFile', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Deletes directory with all subdirectories + * + * ``` php + * deleteDir('vendor'); + * ?> + * ``` + * + * @param $dirname + * @see \Codeception\Module\Filesystem::deleteDir() + */ + public function deleteDir($dirname) { + return $this->scenario->runStep(new \Codeception\Step\Action('deleteDir', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Copies directory with all contents + * + * ``` php + * copyDir('vendor','old_vendor'); + * ?> + * ``` + * + * @param $src + * @param $dst + * @see \Codeception\Module\Filesystem::copyDir() + */ + public function copyDir($src, $dst) { + return $this->scenario->runStep(new \Codeception\Step\Action('copyDir', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks If opened file has `text` in it. + * + * Usage: + * + * ``` php + * openFile('composer.json'); + * $I->seeInThisFile('codeception/codeception'); + * ?> + * ``` + * + * @param $text + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Module\Filesystem::seeInThisFile() + */ + public function canSeeInThisFile($text) { + return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeInThisFile', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks If opened file has `text` in it. + * + * Usage: + * + * ``` php + * openFile('composer.json'); + * $I->seeInThisFile('codeception/codeception'); + * ?> + * ``` + * + * @param $text + * @see \Codeception\Module\Filesystem::seeInThisFile() + */ + public function seeInThisFile($text) { + return $this->scenario->runStep(new \Codeception\Step\Assertion('seeInThisFile', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks the strict matching of file contents. + * Unlike `seeInThisFile` will fail if file has something more than expected lines. + * Better to use with HEREDOC strings. + * Matching is done after removing "\r" chars from file content. + * + * ``` php + * openFile('process.pid'); + * $I->seeFileContentsEqual('3192'); + * ?> + * ``` + * + * @param $text + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Module\Filesystem::seeFileContentsEqual() + */ + public function canSeeFileContentsEqual($text) { + return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeFileContentsEqual', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks the strict matching of file contents. + * Unlike `seeInThisFile` will fail if file has something more than expected lines. + * Better to use with HEREDOC strings. + * Matching is done after removing "\r" chars from file content. + * + * ``` php + * openFile('process.pid'); + * $I->seeFileContentsEqual('3192'); + * ?> + * ``` + * + * @param $text + * @see \Codeception\Module\Filesystem::seeFileContentsEqual() + */ + public function seeFileContentsEqual($text) { + return $this->scenario->runStep(new \Codeception\Step\Assertion('seeFileContentsEqual', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks If opened file doesn't contain `text` in it + * + * ``` php + * openFile('composer.json'); + * $I->dontSeeInThisFile('codeception/codeception'); + * ?> + * ``` + * + * @param $text + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Module\Filesystem::dontSeeInThisFile() + */ + public function cantSeeInThisFile($text) { + return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInThisFile', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks If opened file doesn't contain `text` in it + * + * ``` php + * openFile('composer.json'); + * $I->dontSeeInThisFile('codeception/codeception'); + * ?> + * ``` + * + * @param $text + * @see \Codeception\Module\Filesystem::dontSeeInThisFile() + */ + public function dontSeeInThisFile($text) { + return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeInThisFile', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Deletes a file + * @see \Codeception\Module\Filesystem::deleteThisFile() + */ + public function deleteThisFile() { + return $this->scenario->runStep(new \Codeception\Step\Action('deleteThisFile', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks if file exists in path. + * Opens a file when it's exists + * + * ``` php + * seeFileFound('UserModel.php','app/models'); + * ?> + * ``` + * + * @param $filename + * @param string $path + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Module\Filesystem::seeFileFound() + */ + public function canSeeFileFound($filename, $path = null) { + return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeFileFound', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks if file exists in path. + * Opens a file when it's exists + * + * ``` php + * seeFileFound('UserModel.php','app/models'); + * ?> + * ``` + * + * @param $filename + * @param string $path + * @see \Codeception\Module\Filesystem::seeFileFound() + */ + public function seeFileFound($filename, $path = null) { + return $this->scenario->runStep(new \Codeception\Step\Assertion('seeFileFound', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks if file does not exists in path + * + * @param $filename + * @param string $path + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Module\Filesystem::dontSeeFileFound() + */ + public function cantSeeFileFound($filename, $path = null) { + return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeFileFound', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks if file does not exists in path + * + * @param $filename + * @param string $path + * @see \Codeception\Module\Filesystem::dontSeeFileFound() + */ + public function dontSeeFileFound($filename, $path = null) { + return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeFileFound', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Erases directory contents + * + * ``` php + * cleanDir('logs'); + * ?> + * ``` + * + * @param $dirname + * @see \Codeception\Module\Filesystem::cleanDir() + */ + public function cleanDir($dirname) { + return $this->scenario->runStep(new \Codeception\Step\Action('cleanDir', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Saves contents to file + * + * @param $filename + * @param $contents + * @see \Codeception\Module\Filesystem::writeToFile() + */ + public function writeToFile($filename, $contents) { + return $this->scenario->runStep(new \Codeception\Step\Action('writeToFile', func_get_args())); + } } diff --git a/tests/_bootstrap.php b/tests/_bootstrap.php index a778b4088..21bf1735c 100644 --- a/tests/_bootstrap.php +++ b/tests/_bootstrap.php @@ -2,7 +2,7 @@ // This is global bootstrap for autoloading if(!defined('__XE__')) define('__XE__', true); if(!defined('_XE_PATH_')) define('_XE_PATH_', realpath(dirname(__FILE__).'/../').'/'); -error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED ^ E_WARNING ^ E_STRICT); +require_once _XE_PATH_.'config/config.inc.php'; function _debug() { $args = func_get_args(); diff --git a/tests/_support/InstallHelper.php b/tests/_support/InstallHelper.php index ba92cf656..77cd8f985 100644 --- a/tests/_support/InstallHelper.php +++ b/tests/_support/InstallHelper.php @@ -1,10 +1,12 @@ Date: Thu, 28 May 2015 15:41:00 +0900 Subject: [PATCH 033/146] =?UTF-8?q?#1374=20autoload=20=EA=B0=9C=EC=84=A0?= =?UTF-8?q?=20-=20composer=20autoload=20=EC=B6=94=EA=B0=80=20-=20load=20ti?= =?UTF-8?q?me=20=EC=B8=A1=EC=A0=95=20=EC=98=A4=EB=A5=98=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20-=20=EB=8C=80=EB=AC=B8=EC=9E=90=EB=A5=BC=20?= =?UTF-8?q?=ED=8F=AC=ED=95=A8=ED=95=9C=20=EB=AA=A8=EB=93=88=EB=AA=85?= =?UTF-8?q?=EC=97=90=20=EB=8C=80=ED=95=9C=20=ED=98=B8=ED=99=98=EC=84=B1=20?= =?UTF-8?q?=EB=AC=B8=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/config.inc.php | 44 ++++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/config/config.inc.php b/config/config.inc.php index 575a89863..0925141f6 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -287,14 +287,15 @@ if(!defined('__XE_LOADED_CLASS__')) // Require a function-defined-file for simple use require(_XE_PATH_ . 'config/func.inc.php'); - if(__DEBUG__) + if(__DEBUG__) { define('__StartTime__', getMicroTime()); + } - // include the class files - if(__DEBUG__) - define('__ClassLoadStartTime__', getMicroTime()); + if(__DEBUG__) { + $GLOBALS['__elapsed_class_load__'] = 0; + } - $__xe_autoload_file_map = array_change_key_case(array( + $GLOBALS['__xe_autoload_file_map'] = array_change_key_case(array( 'CacheHandler' => 'classes/cache/CacheHandler.class.php', 'Context' => 'classes/context/Context.class.php', 'DB' => 'classes/db/DB.class.php', @@ -389,24 +390,41 @@ if(!defined('__XE_LOADED_CLASS__')) function __xe_autoload($class_name) { - $class_name = strtolower($class_name); - if(isset($GLOBALS['__xe_autoload_file_map'][$class_name])) - { - require _XE_PATH_ . $GLOBALS['__xe_autoload_file_map'][$class_name]; + if(__DEBUG__) { + $time_at = getMicroTime(); } - elseif(preg_match('/^([a-z0-9_]+?)(admin)?(view|controller|model|api|wap|mobile)?$/i', $class_name, $matches)) + + if(isset($GLOBALS['__xe_autoload_file_map'][strtolower($class_name)])) { - $candidate_filename = 'modules/' . $matches[1] . '/' . $matches[1] . ($matches[2] ? '.admin' : '') . ($matches[3] ? ('.' . $matches[3]) : '.class') . '.php'; + require _XE_PATH_ . $GLOBALS['__xe_autoload_file_map'][strtolower($class_name)]; + } + elseif(preg_match('/^([a-zA-Z0-9_]+?)(Admin)?(View|Controller|Model|Api|Wap|Mobile)?$/', $class_name, $matches)) + { + $candidate_filename = array(); + $candidate_filename[] = 'modules/' . $matches[1] . '/' . $matches[1]; + if(isset($matches[2]) && $matches[2]) $candidate_filename[] = 'admin'; + $candidate_filename[] = (isset($matches[3]) && $matches[3]) ? strtolower($matches[3]) : 'class'; + $candidate_filename[] = 'php'; + + $candidate_filename = implode('.', $candidate_filename); + if(file_exists(_XE_PATH_ . $candidate_filename)) { require _XE_PATH_ . $candidate_filename; } } + + if(__DEBUG__) { + $GLOBALS['__elapsed_class_load__'] += getMicroTime() - $time_at; + } } spl_autoload_register('__xe_autoload'); - if(__DEBUG__) - $GLOBALS['__elapsed_class_load__'] = getMicroTime() - __ClassLoadStartTime__; + if(file_exists(_XE_PATH_ . '/vendor/autoload.php')) { + require _XE_PATH_ . '/vendor/autoload.php'; + } + + } /* End of file config.inc.php */ /* Location: ./config/config.inc.php */ From 6bec907f83984180ca8b89e48663af94688de9a8 Mon Sep 17 00:00:00 2001 From: bnu Date: Thu, 28 May 2015 15:47:54 +0900 Subject: [PATCH 034/146] =?UTF-8?q?CI=20codeception=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/Install/AutoinstallCept.php | 3 +-- tests/{unit.suite.yml => unit.suite.dist.yml} | 0 2 files changed, 1 insertion(+), 2 deletions(-) rename tests/{unit.suite.yml => unit.suite.dist.yml} (100%) diff --git a/tests/Install/AutoinstallCept.php b/tests/Install/AutoinstallCept.php index a5cd05bd2..91b244ff2 100644 --- a/tests/Install/AutoinstallCept.php +++ b/tests/Install/AutoinstallCept.php @@ -41,11 +41,10 @@ $install_config = array( $install_config = '<' . '?php $install_config = ' . var_export($install_config, true) . ';'; -$I->wantTo('auto install'); +$I->wantTo('Auto install'); $I->writeToFile(_XE_PATH_ . 'config/install.config.php', $install_config); $I->amOnPage('/'); -$I->wantTo('completed'); $I->dontSeeElement('//div[@id="progress"]/ul/li'); $I->amOnPage('/index.php?act=dispMemberLoginForm'); diff --git a/tests/unit.suite.yml b/tests/unit.suite.dist.yml similarity index 100% rename from tests/unit.suite.yml rename to tests/unit.suite.dist.yml From eb8a02c155994161ca1ccbbac26a882760f329ea Mon Sep 17 00:00:00 2001 From: bnu Date: Thu, 28 May 2015 17:06:11 +0900 Subject: [PATCH 035/146] travis-ci --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index fc815f346..b479ff7c4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,7 @@ before_script: script: - grunt lint - grunt minify -- if [ $(phpenv version-name) != "5.3" ]; then ./vendor/bin/codecept run --env travis; +- if [ $(phpenv version-name) != "5.3" ]; then ./vendor/bin/codecept run -d --env travis; fi notifications: slack: From 93902811f0fa42a94eaacf5d991089a67a5c0de6 Mon Sep 17 00:00:00 2001 From: bnu Date: Thu, 28 May 2015 17:37:13 +0900 Subject: [PATCH 036/146] =?UTF-8?q?CI=20fatal=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/install/install.controller.php | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/install/install.controller.php b/modules/install/install.controller.php index 0b0a3d706..aac53791b 100644 --- a/modules/install/install.controller.php +++ b/modules/install/install.controller.php @@ -206,6 +206,7 @@ class installController extends install $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl(''); header('location:'.$returnUrl); return; + return new Object(); } } From c27b0bb5d5a5109883d2d0649af812b8657a4465 Mon Sep 17 00:00:00 2001 From: bnu Date: Thu, 28 May 2015 17:57:06 +0900 Subject: [PATCH 037/146] =?UTF-8?q?CI=20fatal=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/install/install.controller.php | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/install/install.controller.php b/modules/install/install.controller.php index aac53791b..178c5a56a 100644 --- a/modules/install/install.controller.php +++ b/modules/install/install.controller.php @@ -205,7 +205,6 @@ class installController extends install { $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl(''); header('location:'.$returnUrl); - return; return new Object(); } } From f1b7d9124a776b032017b1cc8e8ddd1075e0fca4 Mon Sep 17 00:00:00 2001 From: bnu Date: Thu, 28 May 2015 20:50:13 +0900 Subject: [PATCH 038/146] =?UTF-8?q?codeception=20-=20FrontEndFileHandler?= =?UTF-8?q?=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=88=98=EC=A0=95=20=EB=B0=8F?= =?UTF-8?q?=20=EB=B3=B4=EC=99=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/unit/_bootstrap.php | 2 - .../frontendfile/FrontEndFileHandlerTest.php | 89 ++++++++++++++++--- 2 files changed, 79 insertions(+), 12 deletions(-) diff --git a/tests/unit/_bootstrap.php b/tests/unit/_bootstrap.php index 8ef4ccfd6..cd676ee17 100644 --- a/tests/unit/_bootstrap.php +++ b/tests/unit/_bootstrap.php @@ -1,4 +1,2 @@ loadFile(array('./common/js/common.js', 'head')); $handler->loadFile(array('./common/js/xml_js_filter.js', 'body')); - $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => null); + if(__DEBUG__ || !__XE_VERSION_STABLE__) + { + $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => null); + } else { + $expected[] = array('file' => '/xe/common/js/jquery.min.js' . $this->_filemtime('common/js/jquery.min.js'), 'targetie' => null); + } $expected[] = array('file' => '/xe/common/js/js_app.js' . $this->_filemtime('common/js/js_app.js'), 'targetie' => null); $expected[] = array('file' => '/xe/common/js/common.js' . $this->_filemtime('common/js/common.js'), 'targetie' => null); $this->assertEquals($handler->getJsFileList(), $expected); @@ -33,7 +38,14 @@ class FrontEndFileHandlerTest extends \Codeception\TestCase\Test $handler->loadFile(array('./common/js/jquery.js', 'body')); $handler->loadFile(array('./common/js/xml_js_filter.js', 'head')); - $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => null); + if(__DEBUG__ || !__XE_VERSION_STABLE__) + { + $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => null); + } + else + { + $expected[] = array('file' => '/xe/common/js/jquery.min.js' . $this->_filemtime('common/js/jquery.min.js'), 'targetie' => null); + } $this->assertEquals($handler->getJsFileList('body'), $expected); }); @@ -42,8 +54,16 @@ class FrontEndFileHandlerTest extends \Codeception\TestCase\Test $handler->loadFile(array('./common/css/xe.css')); $handler->loadFile(array('./common/css/mobile.css')); - $expected[] = array('file' => '/xe/common/css/xe.css' . $this->_filemtime('common/css/xe.css'), 'media' => 'all', 'targetie' => null); - $expected[] = array('file' => '/xe/common/css/mobile.css' . $this->_filemtime('common/css/mobile.css'), 'media' => 'all', 'targetie' => null); + if(__DEBUG__ || !__XE_VERSION_STABLE__) + { + $expected[] = array('file' => '/xe/common/css/xe.css' . $this->_filemtime('common/css/xe.css'), 'media' => 'all', 'targetie' => null); + $expected[] = array('file' => '/xe/common/css/mobile.css' . $this->_filemtime('common/css/mobile.css'), 'media' => 'all', 'targetie' => null); + } + else + { + $expected[] = array('file' => '/xe/common/css/xe.min.css' . $this->_filemtime('common/css/xe.min.css'), 'media' => 'all', 'targetie' => null); + $expected[] = array('file' => '/xe/common/css/mobile.min.css' . $this->_filemtime('common/css/mobile.min.css'), 'media' => 'all', 'targetie' => null); + } $this->assertEquals($handler->getCssFileList(), $expected); }); @@ -60,7 +80,14 @@ class FrontEndFileHandlerTest extends \Codeception\TestCase\Test $handler->loadFile(array('./common/js/xml_handler.js', 'head', '', -100000)); $handler->loadFile(array('./common/js/xml_js_filter.js', 'head', '', -100000)); - $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => null); + if(__DEBUG__ || !__XE_VERSION_STABLE__) + { + $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => null); + } + else + { + $expected[] = array('file' => '/xe/common/js/jquery.min.js' . $this->_filemtime('common/js/jquery.min.js'), 'targetie' => null); + } $expected[] = array('file' => '/xe/common/js/js_app.js' . $this->_filemtime('common/js/js_app.js'), 'targetie' => null); $expected[] = array('file' => '/xe/common/js/common.js' . $this->_filemtime('common/js/common.js'), 'targetie' => null); $expected[] = array('file' => '/xe/common/js/xml_handler.js' . $this->_filemtime('common/js/xml_handler.js'), 'targetie' => null); @@ -76,7 +103,14 @@ class FrontEndFileHandlerTest extends \Codeception\TestCase\Test $handler->loadFile(array('./common/js/common.js', 'head', '', -100000)); $handler->loadFile(array('./common/js/xml_js_filter.js', 'head', '', -100000)); - $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => null); + if(__DEBUG__ || !__XE_VERSION_STABLE__) + { + $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => null); + } + else + { + $expected[] = array('file' => '/xe/common/js/jquery.min.js' . $this->_filemtime('common/js/jquery.min.js'), 'targetie' => null); + } $expected[] = array('file' => '/xe/common/js/js_app.js' . $this->_filemtime('common/js/js_app.js'), 'targetie' => null); $expected[] = array('file' => '/xe/common/js/common.js' . $this->_filemtime('common/js/common.js'), 'targetie' => null); $expected[] = array('file' => '/xe/common/js/xml_js_filter.js' . $this->_filemtime('common/js/xml_js_filter.js'), 'targetie' => null); @@ -106,9 +140,41 @@ class FrontEndFileHandlerTest extends \Codeception\TestCase\Test $handler->loadFile(array('./common/js/jquery.js', 'head', 'ie7')); $handler->loadFile(array('./common/js/jquery.js', 'head', 'ie8')); - $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => 'ie6'); - $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => 'ie7'); - $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => 'ie8'); + if(__DEBUG__ || !__XE_VERSION_STABLE__) + { + $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => 'ie6'); + $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => 'ie7'); + $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => 'ie8'); + } + else + { + $expected[] = array('file' => '/xe/common/js/jquery.min.js' . $this->_filemtime('common/js/jquery.min.js'), 'targetie' => 'ie6'); + $expected[] = array('file' => '/xe/common/js/jquery.min.js' . $this->_filemtime('common/js/jquery.min.js'), 'targetie' => 'ie7'); + $expected[] = array('file' => '/xe/common/js/jquery.min.js' . $this->_filemtime('common/js/jquery.min.js'), 'targetie' => 'ie8'); + } + $this->assertEquals($handler->getJsFileList(), $expected); + }); + + $this->specify("external file - schemaless", function() { + $handler = new FrontEndFileHandler(); + $handler->loadFile(array('http://external.host/js/script.js')); + $handler->loadFile(array('https://external.host/js/script.js')); + $handler->loadFile(array('//external.host/js/script1.js')); + $handler->loadFile(array('///external.host/js/script2.js')); + + $expected[] = array('file' => 'http://external.host/js/script.js', 'targetie' => null); + $expected[] = array('file' => 'https://external.host/js/script.js', 'targetie' => null); + $expected[] = array('file' => '//external.host/js/script1.js', 'targetie' => null); + $expected[] = array('file' => '//external.host/js/script2.js', 'targetie' => null); + $this->assertEquals($handler->getJsFileList(), $expected); + }); + + $this->specify("external file - schemaless", function() { + $handler = new FrontEndFileHandler(); + $handler->loadFile(array('//external.host/js/script.js')); + $handler->loadFile(array('///external.host/js/script.js')); + + $expected[] = array('file' => '//external.host/js/script.js', 'targetie' => null); $this->assertEquals($handler->getJsFileList(), $expected); }); @@ -146,13 +212,16 @@ class FrontEndFileHandlerTest extends \Codeception\TestCase\Test $this->assertEquals($handler->getCssFileList(), $expected); }); - $this->specify("external file", function() { + $this->specify("external file - schemaless", function() { $handler = new FrontEndFileHandler(); $handler->loadFile(array('//external.host/css/style.css')); + $handler->loadFile(array('///external.host/css2/style2.css')); $expected[] = array('file' => '//external.host/css/style.css', 'media'=>'all', 'targetie' => null); + $expected[] = array('file' => '//external.host/css2/style2.css', 'media'=>'all', 'targetie' => null); $this->assertEquals($handler->getCssFileList(), $expected); }); + } } From fb90aae3814907477ff60388afc952224c41496a Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Thu, 28 May 2015 21:48:49 +0900 Subject: [PATCH 039/146] =?UTF-8?q?member=20=EB=AA=A8=EB=93=88=EC=9D=98=20?= =?UTF-8?q?procMemberUpdateAuthMail=20act=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/member/conf/module.xml | 1 - modules/member/member.class.php | 2 +- modules/member/member.controller.php | 70 ---------------------------- 3 files changed, 1 insertion(+), 72 deletions(-) diff --git a/modules/member/conf/module.xml b/modules/member/conf/module.xml index 9ef67b93a..e361bcec6 100644 --- a/modules/member/conf/module.xml +++ b/modules/member/conf/module.xml @@ -66,7 +66,6 @@ - diff --git a/modules/member/member.class.php b/modules/member/member.class.php index ba85688f9..4c994af02 100644 --- a/modules/member/member.class.php +++ b/modules/member/member.class.php @@ -28,7 +28,7 @@ class member extends ModuleObject { // Set to use SSL upon actions related member join/information/password and so on. 2013.02.15 if(!Context::isExistsSSLAction('dispMemberModifyPassword') && Context::getSslStatus() == 'optional') { - $ssl_actions = array('dispMemberModifyPassword', 'dispMemberSignUpForm', 'dispMemberModifyInfo', 'dispMemberModifyEmailAddress', 'dispMemberGetTempPassword', 'dispMemberResendAuthMail', 'dispMemberLoginForm', 'dispMemberFindAccount', 'dispMemberLeave', 'procMemberLogin', 'procMemberModifyPassword', 'procMemberInsert', 'procMemberModifyInfo', 'procMemberFindAccount', 'procMemberModifyEmailAddress', 'procMemberUpdateAuthMail', 'procMemberResendAuthMail', 'procMemberLeave'/*, 'getMemberMenu'*/, 'procMemberFindAccountByQuestion'); + $ssl_actions = array('dispMemberModifyPassword', 'dispMemberSignUpForm', 'dispMemberModifyInfo', 'dispMemberModifyEmailAddress', 'dispMemberGetTempPassword', 'dispMemberResendAuthMail', 'dispMemberLoginForm', 'dispMemberFindAccount', 'dispMemberLeave', 'procMemberLogin', 'procMemberModifyPassword', 'procMemberInsert', 'procMemberModifyInfo', 'procMemberFindAccount', 'procMemberModifyEmailAddress', 'procMemberResendAuthMail', 'procMemberLeave'/*, 'getMemberMenu'*/, 'procMemberFindAccountByQuestion'); Context::addSSLActions($ssl_actions); } } diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 4c6eb1b51..af5038dcf 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -1160,76 +1160,6 @@ class memberController extends member $this->setTemplateFile('msg_success_authed'); } - /** - * Execute finding ID/Passoword - * When clicking the link in the verification email, a method is called to change the old password and to authenticate it - * - * @return Object - */ - function procMemberUpdateAuthMail() - { - $member_srl = Context::get('member_srl'); - if(!$member_srl) return new Object(-1, 'msg_invalid_request'); - - $oMemberModel = getModel('member'); - // Get information of the member - $member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl); - // Check if the member is set to allow a request to re-send an authentication mail - if($member_info->denied != 'Y') - return new Object(-1, 'msg_invalid_request'); - - $chk_args = new stdClass; - $chk_args->member_srl = $member_srl; - $output = executeQuery('member.chkAuthMail', $chk_args); - if($output->toBool() && $output->data->count == '0') return new Object(-1, 'msg_invalid_request'); - - // Insert data into the authentication DB - $auth_args = new stdClass; - $auth_args->member_srl = $member_srl; - $auth_args->auth_key = $oPassword->createSecureSalt(40); - - $oDB = &DB::getInstance(); - $oDB->begin(); - $output = executeQuery('member.updateAuthMail', $auth_args); - if(!$output->toBool()) - { - $oDB->rollback(); - return $output; - } - // Get content of the email to send a member - Context::set('auth_args', $auth_args); - Context::set('memberInfo', $member_info); - - $oModuleModel = getModel('module'); - $member_config = $oModuleModel->getModuleConfig('member'); - if(!$member_config->skin) $member_config->skin = "default"; - if(!$member_config->colorset) $member_config->colorset = "white"; - - Context::set('member_config', $member_config); - - $tpl_path = sprintf('%sskins/%s', $this->module_path, $member_config->skin); - if(!is_dir($tpl_path)) $tpl_path = sprintf('%sskins/%s', $this->module_path, 'default'); - - $auth_url = getFullUrl('','module','member','act','procMemberAuthAccount','member_srl',$member_info->member_srl, 'auth_key',$auth_args->auth_key); - Context::set('auth_url', $auth_url); - - $oTemplate = &TemplateHandler::getInstance(); - $content = $oTemplate->compile($tpl_path, 'confirm_member_account_mail'); - // Get information of the Webmaster - $oModuleModel = getModel('module'); - $member_config = $oModuleModel->getModuleConfig('member'); - // Send a mail - $oMail = new Mail(); - $oMail->setTitle( Context::getLang('msg_confirm_account_title') ); - $oMail->setContent($content); - $oMail->setSender( $member_config->webmaster_name?$member_config->webmaster_name:'webmaster', $member_config->webmaster_email); - $oMail->setReceiptor( $member_info->user_name, $member_info->email_address ); - $oMail->send(); - // Return message - $msg = sprintf(Context::getLang('msg_auth_mail_sent'), $member_info->email_address); - return new Object(-1, $msg); - } - /** * Request to re-send the authentication mail * From bfea31d6eb03d5d7568eb6911237f47c4c96bd3d Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Tue, 2 Jun 2015 09:49:44 +0900 Subject: [PATCH 040/146] =?UTF-8?q?autoloader=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EB=88=84=EB=9D=BD=EB=90=9C=20=ED=81=B4=EB=9E=98=EC=8A=A4=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/config.inc.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/config.inc.php b/config/config.inc.php index 0925141f6..76789d09c 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -296,6 +296,7 @@ if(!defined('__XE_LOADED_CLASS__')) } $GLOBALS['__xe_autoload_file_map'] = array_change_key_case(array( + 'CacheBase' => 'classes/cache/CacheHandler.class.php', 'CacheHandler' => 'classes/cache/CacheHandler.class.php', 'Context' => 'classes/context/Context.class.php', 'DB' => 'classes/db/DB.class.php', @@ -330,6 +331,7 @@ if(!defined('__XE_LOADED_CLASS__')) 'XMLDisplayHandler' => 'classes/display/XMLDisplayHandler.php', 'EditorHandler' => 'classes/editor/EditorHandler.class.php', 'ExtraVar' => 'classes/extravar/Extravar.class.php', + 'ExtraItem' => 'classes/extravar/Extravar.class.php', 'FileHandler' => 'classes/file/FileHandler.class.php', 'FileObject' => 'classes/file/FileObject.class.php', 'FrontEndFileHandler' => 'classes/frontendfile/FrontEndFileHandler.class.php', From f0b0608fd588db71c426206fb5ebf8fcfe6015b3 Mon Sep 17 00:00:00 2001 From: bnu Date: Tue, 2 Jun 2015 10:44:52 +0900 Subject: [PATCH 041/146] =?UTF-8?q?composer.lock=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composer.lock | 1741 ------------------------------------------------- 1 file changed, 1741 deletions(-) delete mode 100644 composer.lock diff --git a/composer.lock b/composer.lock deleted file mode 100644 index 23c595a15..000000000 --- a/composer.lock +++ /dev/null @@ -1,1741 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", - "This file is @generated automatically" - ], - "hash": "0b13ef2987c06113ab0a920cdb9e4e83", - "packages": [], - "packages-dev": [ - { - "name": "codeception/codeception", - "version": "2.0.12", - "source": { - "type": "git", - "url": "https://github.com/Codeception/Codeception.git", - "reference": "6e29668921182d6b90cd021033002be85382c6f9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/Codeception/zipball/6e29668921182d6b90cd021033002be85382c6f9", - "reference": "6e29668921182d6b90cd021033002be85382c6f9", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "facebook/webdriver": "~0.4|~0.5", - "guzzlehttp/guzzle": "~4.0|~5.0", - "php": ">=5.4.0", - "phpunit/phpunit": "~4.5.0", - "symfony/browser-kit": "~2.4", - "symfony/console": "~2.4", - "symfony/css-selector": "~2.4", - "symfony/dom-crawler": "~2.4,!=2.4.5", - "symfony/event-dispatcher": "~2.4", - "symfony/finder": "~2.4", - "symfony/yaml": "~2.4" - }, - "require-dev": { - "codeception/specify": "~0.3", - "facebook/php-sdk": "~3.2", - "flow/jsonpath": "~0.2", - "monolog/monolog": "~1.8", - "pda/pheanstalk": "~2.0", - "videlalvaro/php-amqplib": "~2.4" - }, - "suggest": { - "codeception/phpbuiltinserver": "Extension to start and stop PHP built-in web server for your tests", - "codeception/specify": "BDD-style code blocks", - "codeception/verify": "BDD-style assertions", - "monolog/monolog": "Log test steps", - "phpseclib/phpseclib": "Extension required to use the SFTP option in the FTP Module." - }, - "bin": [ - "codecept" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "autoload": { - "psr-0": { - "Codeception": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Bodnarchuk", - "email": "davert@mail.ua", - "homepage": "http://codegyre.com" - } - ], - "description": "BDD-style testing framework", - "homepage": "http://codeception.com/", - "keywords": [ - "BDD", - "TDD", - "acceptance testing", - "functional testing", - "unit testing" - ], - "time": "2015-04-02 23:50:20" - }, - { - "name": "codeception/specify", - "version": "0.4.1", - "source": { - "type": "git", - "url": "https://github.com/Codeception/Specify.git", - "reference": "0c0ae07adfc231115b3b72ade22f44c23c199ded" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/Specify/zipball/0c0ae07adfc231115b3b72ade22f44c23c199ded", - "reference": "0c0ae07adfc231115b3b72ade22f44c23c199ded", - "shasum": "" - }, - "require": { - "myclabs/deep-copy": "~1.1", - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Codeception\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "authors": [ - { - "name": "Michael Bodnarchuk", - "email": "davert.php@mailican.com" - } - ], - "description": "BDD code blocks for PHPUnit and Codeception", - "time": "2014-10-17 00:06:51" - }, - { - "name": "codeception/verify", - "version": "0.2.7", - "source": { - "type": "git", - "url": "https://github.com/Codeception/Verify.git", - "reference": "66e5074905f4d9590ddb805d123fe632f4baa488" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/Verify/zipball/66e5074905f4d9590ddb805d123fe632f4baa488", - "reference": "66e5074905f4d9590ddb805d123fe632f4baa488", - "shasum": "" - }, - "require-dev": { - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "files": [ - "src/Codeception/function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "authors": [ - { - "name": "Michael Bodnarchuk", - "email": "davert.php@mailican.com", - "homepage": "http://codeception.com" - } - ], - "description": "BDD assertion library for PHPUnit", - "time": "2014-01-22 14:40:33" - }, - { - "name": "doctrine/instantiator", - "version": "1.0.4", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f976e5de371104877ebc89bd8fecb0019ed9c119", - "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "2.0.*@ALPHA" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Instantiator\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2014-10-13 12:58:55" - }, - { - "name": "facebook/webdriver", - "version": "v0.5.1", - "source": { - "type": "git", - "url": "https://github.com/facebook/php-webdriver.git", - "reference": "bbcb697efb394d17bd9ec3d467e7da847cde4509" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/bbcb697efb394d17bd9ec3d467e7da847cde4509", - "reference": "bbcb697efb394d17bd9ec3d467e7da847cde4509", - "shasum": "" - }, - "require": { - "php": ">=5.3.19" - }, - "require-dev": { - "phpdocumentor/phpdocumentor": "2.*", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "lib/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "A php client for WebDriver", - "homepage": "https://github.com/facebook/php-webdriver", - "keywords": [ - "facebook", - "php", - "selenium", - "webdriver" - ], - "time": "2014-11-05 20:53:09" - }, - { - "name": "guzzlehttp/guzzle", - "version": "5.2.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "475b29ccd411f2fa8a408e64576418728c032cfa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/475b29ccd411f2fa8a408e64576418728c032cfa", - "reference": "475b29ccd411f2fa8a408e64576418728c032cfa", - "shasum": "" - }, - "require": { - "guzzlehttp/ringphp": "~1.0", - "php": ">=5.4.0" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "~4.0", - "psr/log": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2015-01-28 01:03:29" - }, - { - "name": "guzzlehttp/ringphp", - "version": "1.0.7", - "source": { - "type": "git", - "url": "https://github.com/guzzle/RingPHP.git", - "reference": "52d868f13570a9a56e5fce6614e0ec75d0f13ac2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/RingPHP/zipball/52d868f13570a9a56e5fce6614e0ec75d0f13ac2", - "reference": "52d868f13570a9a56e5fce6614e0ec75d0f13ac2", - "shasum": "" - }, - "require": { - "guzzlehttp/streams": "~3.0", - "php": ">=5.4.0", - "react/promise": "~2.0" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "ext-curl": "Guzzle will use specific adapters if cURL is present" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Ring\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function.", - "time": "2015-03-30 01:43:20" - }, - { - "name": "guzzlehttp/streams", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/streams.git", - "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/streams/zipball/47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", - "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Stream\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Provides a simple abstraction over streams of data", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "Guzzle", - "stream" - ], - "time": "2014-10-12 19:18:40" - }, - { - "name": "myclabs/deep-copy", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "96fbdc07635989c35c5a1912379f4c4b2ab15fd5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/96fbdc07635989c35c5a1912379f4c4b2ab15fd5", - "reference": "96fbdc07635989c35c5a1912379f4c4b2ab15fd5", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "doctrine/collections": "1.*", - "phpunit/phpunit": "~4.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "homepage": "https://github.com/myclabs/DeepCopy", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2015-03-21 22:40:23" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "phpDocumentor": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" - } - ], - "time": "2015-02-03 12:10:50" - }, - { - "name": "phpspec/prophecy", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5", - "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "phpdocumentor/reflection-docblock": "~2.0", - "sebastian/comparator": "~1.1" - }, - "require-dev": { - "phpspec/phpspec": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2015-03-27 19:31:25" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.0.15", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "34cc484af1ca149188d0d9e91412191e398e0b67" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/34cc484af1ca149188d0d9e91412191e398e0b67", - "reference": "34cc484af1ca149188d0d9e91412191e398e0b67", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "~1.0", - "sebastian/version": "~1.0" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-01-24 10:06:35" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.3.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb", - "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "File/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2013-10-10 15:34:57" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", - "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "Text/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2014-01-30 17:20:04" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c", - "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "PHP/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2013-08-02 07:42:54" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "db32c18eba00b121c145575fcbcd4d4d24e6db74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/db32c18eba00b121c145575fcbcd4d4d24e6db74", - "reference": "db32c18eba00b121c145575fcbcd4d4d24e6db74", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2015-01-17 09:51:32" - }, - { - "name": "phpunit/phpunit", - "version": "4.5.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "d6429b0995b24a2d9dfe5587ee3a7071c1161af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d6429b0995b24a2d9dfe5587ee3a7071c1161af4", - "reference": "d6429b0995b24a2d9dfe5587ee3a7071c1161af4", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpspec/prophecy": "~1.3,>=1.3.1", - "phpunit/php-code-coverage": "~2.0,>=2.0.11", - "phpunit/php-file-iterator": "~1.3.2", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "~1.0.2", - "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.1", - "sebastian/diff": "~1.1", - "sebastian/environment": "~1.2", - "sebastian/exporter": "~1.2", - "sebastian/global-state": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.0" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.5.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2015-03-29 09:24:05" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "74ffb87f527f24616f72460e54b595f508dccb5c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/74ffb87f527f24616f72460e54b595f508dccb5c", - "reference": "74ffb87f527f24616f72460e54b595f508dccb5c", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "~1.0,>=1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-04-02 05:36:41" - }, - { - "name": "react/promise", - "version": "v2.2.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "365fcee430dfa4ace1fbc75737ca60ceea7eeeef" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/365fcee430dfa4ace1fbc75737ca60ceea7eeeef", - "reference": "365fcee430dfa4ace1fbc75737ca60ceea7eeeef", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "React\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jan Sorgalla", - "email": "jsorgalla@googlemail.com" - } - ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", - "time": "2014-12-30 13:32:42" - }, - { - "name": "sebastian/comparator", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "1dd8869519a225f7f2b9eb663e225298fade819e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e", - "reference": "1dd8869519a225f7f2b9eb663e225298fade819e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2015-01-29 16:28:08" - }, - { - "name": "sebastian/diff", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "http://www.github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-02-22 15:13:53" - }, - { - "name": "sebastian/environment", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e", - "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2015-01-01 10:01:08" - }, - { - "name": "sebastian/exporter", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "84839970d05254c73cde183a721c7af13aede943" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943", - "reference": "84839970d05254c73cde183a721c7af13aede943", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2015-01-27 07:23:06" - }, - { - "name": "sebastian/global-state", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01", - "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2014-10-06 09:23:50" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2015-01-24 09:48:32" - }, - { - "name": "sebastian/version", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", - "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2015-02-24 06:35:25" - }, - { - "name": "symfony/browser-kit", - "version": "v2.6.6", - "target-dir": "Symfony/Component/BrowserKit", - "source": { - "type": "git", - "url": "https://github.com/symfony/BrowserKit.git", - "reference": "f21189b0eccbe56528515858ca1d5089a741692f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/f21189b0eccbe56528515858ca1d5089a741692f", - "reference": "f21189b0eccbe56528515858ca1d5089a741692f", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "symfony/dom-crawler": "~2.0,>=2.0.5" - }, - "require-dev": { - "symfony/css-selector": "~2.0,>=2.0.5", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.0,>=2.0.5" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\BrowserKit\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony BrowserKit Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" - }, - { - "name": "symfony/console", - "version": "v2.6.6", - "target-dir": "Symfony/Component/Console", - "source": { - "type": "git", - "url": "https://github.com/symfony/Console.git", - "reference": "5b91dc4ed5eb08553f57f6df04c4730a73992667" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Console/zipball/5b91dc4ed5eb08553f57f6df04c4730a73992667", - "reference": "5b91dc4ed5eb08553f57f6df04c4730a73992667", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.1" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Console\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony Console Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" - }, - { - "name": "symfony/css-selector", - "version": "v2.6.6", - "target-dir": "Symfony/Component/CssSelector", - "source": { - "type": "git", - "url": "https://github.com/symfony/CssSelector.git", - "reference": "db2c48df9658423a8c168d89f7b971b73d3d74a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/CssSelector/zipball/db2c48df9658423a8c168d89f7b971b73d3d74a4", - "reference": "db2c48df9658423a8c168d89f7b971b73d3d74a4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\CssSelector\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony CssSelector Component", - "homepage": "http://symfony.com", - "time": "2015-03-22 16:55:57" - }, - { - "name": "symfony/dom-crawler", - "version": "v2.6.6", - "target-dir": "Symfony/Component/DomCrawler", - "source": { - "type": "git", - "url": "https://github.com/symfony/DomCrawler.git", - "reference": "8897ebf39c7dfb752a5494fa301845a3fbb9e53d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/8897ebf39c7dfb752a5494fa301845a3fbb9e53d", - "reference": "8897ebf39c7dfb752a5494fa301845a3fbb9e53d", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/css-selector": "~2.3", - "symfony/phpunit-bridge": "~2.7" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\DomCrawler\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony DomCrawler Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" - }, - { - "name": "symfony/event-dispatcher", - "version": "v2.6.6", - "target-dir": "Symfony/Component/EventDispatcher", - "source": { - "type": "git", - "url": "https://github.com/symfony/EventDispatcher.git", - "reference": "70f7c8478739ad21e3deef0d977b38c77f1fb284" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/70f7c8478739ad21e3deef0d977b38c77f1fb284", - "reference": "70f7c8478739ad21e3deef0d977b38c77f1fb284", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.0,>=2.0.5", - "symfony/dependency-injection": "~2.6", - "symfony/expression-language": "~2.6", - "symfony/phpunit-bridge": "~2.7", - "symfony/stopwatch": "~2.3" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\EventDispatcher\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "http://symfony.com", - "time": "2015-03-13 17:37:22" - }, - { - "name": "symfony/finder", - "version": "v2.6.6", - "target-dir": "Symfony/Component/Finder", - "source": { - "type": "git", - "url": "https://github.com/symfony/Finder.git", - "reference": "5dbe2e73a580618f5b4880fda93406eed25de251" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Finder/zipball/5dbe2e73a580618f5b4880fda93406eed25de251", - "reference": "5dbe2e73a580618f5b4880fda93406eed25de251", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Finder\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony Finder Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" - }, - { - "name": "symfony/yaml", - "version": "v2.6.6", - "target-dir": "Symfony/Component/Yaml", - "source": { - "type": "git", - "url": "https://github.com/symfony/Yaml.git", - "reference": "174f009ed36379a801109955fc5a71a49fe62dd4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/174f009ed36379a801109955fc5a71a49fe62dd4", - "reference": "174f009ed36379a801109955fc5a71a49fe62dd4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Yaml\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony Yaml Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} From ee6fc131302be5ea19a9fe79e7bec6aac41d8d78 Mon Sep 17 00:00:00 2001 From: bnu Date: Tue, 2 Jun 2015 10:46:03 +0900 Subject: [PATCH 042/146] gitignore - /bower_components/ - composer.phar - composer.lock --- .gitignore | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 23a7e7b6a..f7ac9d6a7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,22 @@ -config.user.inc.php .DS_Store Thumbs.db + +config.user.inc.php /files/ /build/ + +codeception.yml +/tests/_output/ +/tests/*.suite.yml + /node_modules/ +/bower_components/ /vendor/ +composer.phar +composer.lock + .idea *.sublime-workspace *.sublime-project .codeintel -codeception.yml -/tests/_output/ -/tests/*.suite.yml + From 29fc2138a0b7c05602ff7d20b386e5e74e836e53 Mon Sep 17 00:00:00 2001 From: UPGLE Date: Wed, 3 Jun 2015 14:36:52 +0900 Subject: [PATCH 043/146] =?UTF-8?q?dropZone=EC=9D=B4=20=EC=A0=95=EC=9D=98?= =?UTF-8?q?=EB=90=98=EC=A7=80=20=EC=95=8A=EC=95=84=20=EB=B0=9C=EC=83=9D?= =?UTF-8?q?=ED=95=98=EB=8A=94=20=EC=8A=A4=ED=81=AC=EB=A6=BD=ED=8A=B8=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/js/plugins/jquery.fileupload/js/main.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/common/js/plugins/jquery.fileupload/js/main.js b/common/js/plugins/jquery.fileupload/js/main.js index aa8f5f74a..15b034569 100644 --- a/common/js/plugins/jquery.fileupload/js/main.js +++ b/common/js/plugins/jquery.fileupload/js/main.js @@ -155,9 +155,10 @@ }); $(document).bind('dragover', function (e) { - var timeout = window.dropZoneTimeout; + var timeout = window.dropZoneTimeout, + dropZone = self.settings.dropZone; if (!timeout) { - self.settings.dropZone.addClass('in'); + dropZone.addClass('in'); } else { clearTimeout(timeout); } @@ -171,13 +172,13 @@ node = node.parentNode; } while (node != null); if (found) { - self.settings.dropZone.addClass('hover'); + dropZone.addClass('hover'); } else { - self.settings.dropZone.removeClass('hover'); + dropZone.removeClass('hover'); } window.dropZoneTimeout = setTimeout(function () { window.dropZoneTimeout = null; - self.settings.dropZone.removeClass('in hover'); + dropZone.removeClass('in hover'); }, 100); }); }, From a211f3d0d0141516cdd2fc88b6882bb7ec0fd1e2 Mon Sep 17 00:00:00 2001 From: UPGLE Date: Wed, 3 Jun 2015 14:39:36 +0900 Subject: [PATCH 044/146] =?UTF-8?q?=EC=BD=94=EB=94=A9=20=EC=BB=A8=EB=B2=A4?= =?UTF-8?q?=EC=85=98=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/js/plugins/jquery.fileupload/js/main.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/common/js/plugins/jquery.fileupload/js/main.js b/common/js/plugins/jquery.fileupload/js/main.js index 15b034569..afa7377ab 100644 --- a/common/js/plugins/jquery.fileupload/js/main.js +++ b/common/js/plugins/jquery.fileupload/js/main.js @@ -156,9 +156,9 @@ $(document).bind('dragover', function (e) { var timeout = window.dropZoneTimeout, - dropZone = self.settings.dropZone; + dropZone = self.settings.dropZone; if (!timeout) { - dropZone.addClass('in'); + dropZone.addClass('in'); } else { clearTimeout(timeout); } @@ -172,13 +172,13 @@ node = node.parentNode; } while (node != null); if (found) { - dropZone.addClass('hover'); + dropZone.addClass('hover'); } else { - dropZone.removeClass('hover'); + dropZone.removeClass('hover'); } window.dropZoneTimeout = setTimeout(function () { window.dropZoneTimeout = null; - dropZone.removeClass('in hover'); + dropZone.removeClass('in hover'); }, 100); }); }, From 98cc32a2ce17b12a54013ac7c579a1492b4fcdac Mon Sep 17 00:00:00 2001 From: bnu Date: Wed, 3 Jun 2015 17:29:40 +0900 Subject: [PATCH 045/146] =?UTF-8?q?fix=20#1516=20=EA=B8=B0=EB=B3=B8=20?= =?UTF-8?q?=EC=A2=85=EB=A3=8C=EC=9D=BC=EC=9D=84=207=EC=9D=BC=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/editor/components/poll_maker/tpl/popup.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/editor/components/poll_maker/tpl/popup.html b/modules/editor/components/poll_maker/tpl/popup.html index 05bfe1ed8..605235f0e 100644 --- a/modules/editor/components/poll_maker/tpl/popup.html +++ b/modules/editor/components/poll_maker/tpl/popup.html @@ -18,8 +18,8 @@
- - + + From 82d607e14d0a2dcdb76a1dce151cfc57910af098 Mon Sep 17 00:00:00 2001 From: bnu Date: Tue, 9 Jun 2015 14:58:35 +0900 Subject: [PATCH 053/146] =?UTF-8?q?fix=20#1525=20'=EC=9E=91=EC=84=B1=20?= =?UTF-8?q?=EA=B8=80=20=EB=B3=B4=EA=B8=B0'=ED=8E=98=EC=9D=B4=EC=A7=80?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EC=A0=9C=EB=AA=A9=EC=97=90=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=EB=90=9C=20=ED=83=9C=EA=B7=B8=EA=B0=80=20=EB=8F=99?= =?UTF-8?q?=EC=9E=91=ED=95=98=EB=8A=94=20=EB=AC=B8=EC=A0=9C=20=EA=B3=A0?= =?UTF-8?q?=EC=B9=A8=20-=20MemberView:)dispMemberOwnDocument()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/member/member.view.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/member/member.view.php b/modules/member/member.view.php index b70722a67..eaf6f1ec6 100644 --- a/modules/member/member.view.php +++ b/modules/member/member.view.php @@ -343,6 +343,9 @@ class memberView extends member $oDocumentAdminView = getAdminView('document'); $oDocumentAdminView->dispDocumentAdminList(); + $oSecurity = new Security(); + $oSecurity->encodeHTML('document_list...title', 'search_target', 'search_keyword'); + Context::set('module_srl', $module_srl); $this->setTemplateFile('document_list'); } From 769ee1872af63813fa04ddee4b38ce29d5def4df Mon Sep 17 00:00:00 2001 From: bnu Date: Tue, 9 Jun 2015 15:04:18 +0900 Subject: [PATCH 054/146] =?UTF-8?q?fix=20#1522=20=ED=86=B5=ED=95=A9?= =?UTF-8?q?=EA=B2=80=EC=83=89=20=EC=84=A4=EC=A0=95=EC=9D=B4=20'=EC=84=A0?= =?UTF-8?q?=ED=83=9D=EB=90=9C=20=EB=8C=80=EC=83=81'=EC=9D=BC=20=EB=95=8C?= =?UTF-8?q?=EB=A7=8C=20=EB=8C=80=EC=83=81=20=EC=84=A0=ED=83=9D=20=EC=97=AC?= =?UTF-8?q?=EB=B6=80=EB=A5=BC=20=ED=99=95=EC=9D=B8=ED=95=98=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/integration_search/integration_search.view.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/integration_search/integration_search.view.php b/modules/integration_search/integration_search.view.php index 950d33fe8..3686725d3 100644 --- a/modules/integration_search/integration_search.view.php +++ b/modules/integration_search/integration_search.view.php @@ -74,7 +74,7 @@ class integration_searchView extends integration_search else $module_srl_list = explode(',',$config->target_module_srl); - if(!count($module_srl_list)) return new Object(-1, ($logged_info->is_admin === 'Y') ? 'msg_admin_not_enabled' : 'msg_not_enabled'); + if($target === 'include' && !count($module_srl_list)) return new Object(-1, ($logged_info->is_admin === 'Y') ? 'msg_admin_not_enabled' : 'msg_not_enabled'); // Set a variable for search keyword $is_keyword = Context::get('is_keyword'); From 2b8954cb96473155614f085a1adb96f4e05d087d Mon Sep 17 00:00:00 2001 From: bnu Date: Tue, 9 Jun 2015 15:20:17 +0900 Subject: [PATCH 055/146] =?UTF-8?q?fix=20#1522=20=EA=B2=80=EC=83=89=20?= =?UTF-8?q?=EC=A0=9C=ED=95=9C=20=EB=A9=94=EC=8B=9C=EC=A7=80=EB=A5=BC=20mes?= =?UTF-8?q?sage=EB=AA=A8=EB=93=88=EC=9D=84=20=EC=9D=B4=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../integration_search/integration_search.view.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/modules/integration_search/integration_search.view.php b/modules/integration_search/integration_search.view.php index 3686725d3..79d3c6933 100644 --- a/modules/integration_search/integration_search.view.php +++ b/modules/integration_search/integration_search.view.php @@ -74,7 +74,18 @@ class integration_searchView extends integration_search else $module_srl_list = explode(',',$config->target_module_srl); - if($target === 'include' && !count($module_srl_list)) return new Object(-1, ($logged_info->is_admin === 'Y') ? 'msg_admin_not_enabled' : 'msg_not_enabled'); + // https://github.com/xpressengine/xe-core/issues/1522 + // 검색 대상을 지정하지 않았을 때 검색 제한 + if($target === 'include' && !count($module_srl_list)) + { + $oMessageObject = ModuleHandler::getModuleInstance('message'); + $oMessageObject->setError(-1); + $oMessageObject->setMessage('msg_not_enabled'); + $oMessageObject->dispMessage(); + $this->setTemplatePath($oMessageObject->getTemplatePath()); + $this->setTemplateFile($oMessageObject->getTemplateFile()); + return; + } // Set a variable for search keyword $is_keyword = Context::get('is_keyword'); From 58d9cba7870d616ec5e85c8c8fae05f9ef5c4c3b Mon Sep 17 00:00:00 2001 From: bnu Date: Tue, 9 Jun 2015 16:41:56 +0900 Subject: [PATCH 056/146] update version to 1.8.3 --- config/config.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/config.inc.php b/config/config.inc.php index 76789d09c..155b9f2b2 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -29,7 +29,7 @@ define('__ZBXE__', __XE__); /** * Display XE's full version. */ -define('__XE_VERSION__', '1.8.2'); +define('__XE_VERSION__', '1.8.3'); define('__XE_VERSION_ALPHA__', (stripos(__XE_VERSION__, 'alpha') !== false)); define('__XE_VERSION_BETA__', (stripos(__XE_VERSION__, 'beta') !== false)); define('__XE_VERSION_RC__', (stripos(__XE_VERSION__, 'rc') !== false)); From 8c32ebaae96db31bbd47b54b10f105053ca21472 Mon Sep 17 00:00:00 2001 From: bnu Date: Tue, 9 Jun 2015 16:58:59 +0900 Subject: [PATCH 057/146] MINIFY --- common/js/plugins/jquery.fileupload/js/main.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/js/plugins/jquery.fileupload/js/main.min.js b/common/js/plugins/jquery.fileupload/js/main.min.js index 6f34bfd2e..0465ce74d 100644 --- a/common/js/plugins/jquery.fileupload/js/main.min.js +++ b/common/js/plugins/jquery.fileupload/js/main.min.js @@ -1 +1 @@ -!function(a){"use strict";var b={autoUpload:!0,dataType:"json",sequentialUploads:!0,dropZone:".xefu-dropzone",fileList:".xefu-list",controll:".xefu-controll",filelist:".xefu-list-files ul",filelistImages:".xefu-list-images ul",progressbar:".xefu-progressbar",progressbarGraph:".xefu-progressbar div",progressStatus:".xefu-progress-status",progressPercent:".xefu-progress-percent",actSelectedInsertContent:".xefu-act-link-selected",actSelectedDeleteFile:".xefu-act-delete-selected",actDeleteFile:".xefu-act-delete",tmplXeUploaderFileitem:'
  • {{source_filename}}{{disp_file_size}} 선택
  • ',tmplXeUploaderFileitemImage:'
  • {{source_filename}}{{disp_file_size}}
  • '},c=["fileList","actSelectedInsertContent","actSelectedDeleteFile","actDeleteFile","controll","dropZone","filelist","filelistImages","progressbar","progressbarGraph","progressPercent","progressStatus"],d=xe.createApp("XeUploader",{files:{},selected_files:{},settings:{},last_selected_file:null,editor_sequence:null,init:function(){},createInstance:function(d,e){var f=this,g=this.$container=d,h=g.data();this.editor_sequence=h.editorSequence;var i={url:request_uri.setQuery("module","file").setQuery("act","procFileUpload"),formData:{editor_sequence:h.editorSequence,upload_target_srl:h.uploadTargetSrl,mid:window.current_mid},dropZone:g,add:function(b,c){var d=jQuery.Deferred();a.each(c.files,function(a,b){return f.settings.maxFileSize<=b.size?(d.reject(),alert(window.xe.msg_exceeds_limit_size),!1):void d.resolve()}),d.done(function(){c.submit()})},done:function(a,b){var c=b.response().result;c&&(jQuery.isPlainObject(c)||(c=jQuery.parseJSON(c)),c&&(0==c.error||alert(c.message)))},stop:function(){f.loadFilelist()},start:function(){f.settings.progressbarGraph.width(0),f.settings.progressStatus.show(),f.settings.progressbar.show()},progressall:function(a,b){var c=parseInt(b.loaded/b.total*100,10);f.settings.progressbarGraph.width(c+"%"),f.settings.progressPercent.text(c+"%"),c>=100&&(f.settings.progressbar.delay(3e3).slideUp(),f.settings.progressStatus.delay(3e3).slideUp())}};this.settings=a.extend({},b,i,e||{}),a.each(c,function(a,b){"string"==typeof f.settings[b]&&(f.settings[b]=g.find(f.settings[b]))});g.fileupload(this.settings).prop("disabled",!a.support.fileInput).parent().addClass(a.support.fileInput?void 0:"disabled");g.data("xefu-instance",this),this.loadFilelist(),this.settings.actSelectedInsertContent.on("click",function(){f.insertToContent()}),this.settings.actSelectedDeleteFile.on("click",function(){f.deleteFile()});var j=this.settings.fileList.finderSelect({children:"li"});this.settings.fileList.on("mousedown","img",function(a){a.preventDefault()}),j.finderSelect("addHook","highlight:after",function(a){a.find("input").prop("checked",!0);var b=f.settings.fileList.find("input:checked");f.selected_files=b}),j.finderSelect("addHook","unHighlight:after",function(a){a.find("input").prop("checked",!1);var b=f.settings.fileList.find("input:checked");f.selected_files=b}),j.on("click",":checkbox",function(a){a.preventDefault()}),a(document).bind("dragover",function(a){var b=window.dropZoneTimeout;b?clearTimeout(b):f.settings.dropZone.addClass("in");var c=!1,d=a.target;do{if(d===dropZone[0]){c=!0;break}d=d.parentNode}while(null!=d);c?f.settings.dropZone.addClass("hover"):f.settings.dropZone.removeClass("hover"),window.dropZoneTimeout=setTimeout(function(){window.dropZoneTimeout=null,f.settings.dropZone.removeClass("in hover")},100)})},done:function(){},selectAllFiles:function(){},selectImageFiles:function(){},selectNonImageFiles:function(){},unselectAllFiles:function(){},unselectImageFiles:function(){},unselectNonImageFiles:function(){},insertToContent:function(){var b=this,c="";a.each(this.selected_files,function(d,e){var f=a(e).data().fileSrl,g=b.files[f];g&&(/\.(jpe?g|png|gif)$/i.test(g.download_url)?(c+=''+g.source_filename+'',c+="\r\n


    \r\n"):c+=''+g.source_filename+"\n")}),_getCkeInstance(this.editor_sequence).insertHtml(c,"unfiltered_html")},deleteFile:function(b){var c=this,d=[];b?d.push(b):a.each(c.selected_files,function(b,c){if(c){var e=a(c).data().fileSrl;d.push(e)}}),d=d.join(","),exec_json("file.procFileDelete",{file_srls:d,editor_sequence:this.editor_sequence},function(){d=d.split(","),a.each(d,function(a,b){c.settings.fileList.find("ul").find("li[data-file-srl="+b+"]").remove()}),c.loadFilelist()})},loadFilelist:function(){var b=this,c=this.$container.data(),d={};d.mid=window.current_mid,d.editor_sequence=b.$container.data("editor-sequence"),a.exec_json("file.getFileList",d,function(d){c.uploadTargetSrl=d.upload_target_srl,editorRelKeys[b.$container.data("editor-sequence")].primary.value=d.upload_target_srl,c.uploadTargetSrl=d.uploadTargetSrl,a(".allowed_filetypes").text(d.allowed_filetypes),a(".allowed_filesize").text(d.allowed_filesize),a(".allowed_attach_size").text(d.allowed_attach_size),a(".attached_size").text(d.attached_size),a(".file_count").text(d.files.length);var e=b.settings.tmplXeUploaderFileitem,f=b.settings.tmplXeUploaderFileitemImage,g=Handlebars.compile(e),h=Handlebars.compile(f),i=[],j=[];return d.files.length?(a.each(d.files,function(a,c){b.files[c.file_srl]||(b.files[c.file_srl]=c,/\.(jpe?g|png|gif)$/i.test(c.source_filename)?i.push(h(c)):j.push(g(c)))}),b.settings.filelistImages.append(i.join("")),b.settings.filelist.append(j.join("")),b.settings.controll.show(),void b.settings.fileList.show()):(b.settings.fileList.hide(),void b.settings.controll.hide())})}});a.fn.xeUploader=function(a){var b=new d;return b&&(xe.registerApp(b),b.createInstance(this.eq(0),a)),b}}(jQuery); \ No newline at end of file +!function(a){"use strict";var b={autoUpload:!0,dataType:"json",sequentialUploads:!0,dropZone:".xefu-dropzone",fileList:".xefu-list",controll:".xefu-controll",filelist:".xefu-list-files ul",filelistImages:".xefu-list-images ul",progressbar:".xefu-progressbar",progressbarGraph:".xefu-progressbar div",progressStatus:".xefu-progress-status",progressPercent:".xefu-progress-percent",actSelectedInsertContent:".xefu-act-link-selected",actSelectedDeleteFile:".xefu-act-delete-selected",actDeleteFile:".xefu-act-delete",tmplXeUploaderFileitem:'
  • {{source_filename}}{{disp_file_size}} 선택
  • ',tmplXeUploaderFileitemImage:'
  • {{source_filename}}{{disp_file_size}}
  • '},c=["fileList","actSelectedInsertContent","actSelectedDeleteFile","actDeleteFile","controll","dropZone","filelist","filelistImages","progressbar","progressbarGraph","progressPercent","progressStatus"],d=xe.createApp("XeUploader",{files:{},selected_files:{},settings:{},last_selected_file:null,editor_sequence:null,init:function(){},deactivate:function(){console.log(this)},createInstance:function(d,e){var f=this,g=this.$container=d,h=g.data();this.editor_sequence=h.editorSequence;var i={url:request_uri.setQuery("module","file").setQuery("act","procFileUpload"),formData:{editor_sequence:h.editorSequence,upload_target_srl:h.uploadTargetSrl,mid:window.current_mid},dropZone:g,add:function(b,c){var d=jQuery.Deferred();a.each(c.files,function(a,b){return f.settings.maxFileSize<=b.size?(d.reject(),alert(window.xe.msg_exceeds_limit_size),!1):void d.resolve()}),d.done(function(){c.submit()})},done:function(a,b){var c=b.response().result;c&&(jQuery.isPlainObject(c)||(c=jQuery.parseJSON(c)),c&&(0==c.error||alert(c.message)))},stop:function(){f.loadFilelist()},start:function(){f.settings.progressbarGraph.width(0),f.settings.progressStatus.show(),f.settings.progressbar.show()},progressall:function(a,b){var c=parseInt(b.loaded/b.total*100,10);f.settings.progressbarGraph.width(c+"%"),f.settings.progressPercent.text(c+"%"),c>=100&&(f.settings.progressbar.delay(3e3).slideUp(),f.settings.progressStatus.delay(3e3).slideUp())}};this.settings=a.extend({},b,i,e||{}),a.each(c,function(a,b){"string"==typeof f.settings[b]&&(f.settings[b]=g.find(f.settings[b]))});g.fileupload(this.settings).prop("disabled",!a.support.fileInput).parent().addClass(a.support.fileInput?void 0:"disabled");g.data("xefu-instance",this),this.loadFilelist(),this.settings.actSelectedInsertContent.on("click",function(){f.insertToContent()}),this.settings.actSelectedDeleteFile.on("click",function(){f.deleteFile()});var j=this.settings.fileList.finderSelect({children:"li"});this.settings.fileList.on("mousedown","img",function(a){a.preventDefault()}),j.finderSelect("addHook","highlight:after",function(a){a.find("input").prop("checked",!0);var b=f.settings.fileList.find("input:checked");f.selected_files=b}),j.finderSelect("addHook","unHighlight:after",function(a){a.find("input").prop("checked",!1);var b=f.settings.fileList.find("input:checked");f.selected_files=b}),j.on("click",":checkbox",function(a){a.preventDefault()}),a(document).bind("dragover",function(a){var b=window.dropZoneTimeout,c=f.settings.dropZone;b?clearTimeout(b):c.addClass("in");var d=!1,e=a.target;do{if(e===c[0]){d=!0;break}e=e.parentNode}while(null!=e);d?c.addClass("hover"):c.removeClass("hover"),window.dropZoneTimeout=setTimeout(function(){window.dropZoneTimeout=null,c.removeClass("in hover")},100)})},done:function(){},selectAllFiles:function(){},selectImageFiles:function(){},selectNonImageFiles:function(){},unselectAllFiles:function(){},unselectImageFiles:function(){},unselectNonImageFiles:function(){},insertToContent:function(){var b=this,c="";a.each(this.selected_files,function(d,e){var f=a(e).data().fileSrl,g=b.files[f];g&&(/\.(jpe?g|png|gif)$/i.test(g.download_url)?(c+=''+g.source_filename+'',c+="\r\n


    \r\n"):c+=''+g.source_filename+"\n")}),_getCkeInstance(this.editor_sequence).insertHtml(c,"unfiltered_html")},deleteFile:function(b){var c=this,d=[];b?d.push(b):a.each(c.selected_files,function(b,c){if(c){var e=a(c).data().fileSrl;d.push(e)}}),d=d.join(","),exec_json("file.procFileDelete",{file_srls:d,editor_sequence:this.editor_sequence},function(){d=d.split(","),a.each(d,function(a,b){c.settings.fileList.find("ul").find("li[data-file-srl="+b+"]").remove()}),c.loadFilelist()})},loadFilelist:function(){var b=this,c=this.$container.data(),d={};d.mid=window.current_mid,d.editor_sequence=b.$container.data("editor-sequence"),a.exec_json("file.getFileList",d,function(d){c.uploadTargetSrl=d.upload_target_srl,editorRelKeys[b.$container.data("editor-sequence")].primary.value=d.upload_target_srl,c.uploadTargetSrl=d.uploadTargetSrl,a(".allowed_filetypes").text(d.allowed_filetypes),a(".allowed_filesize").text(d.allowed_filesize),a(".allowed_attach_size").text(d.allowed_attach_size),a(".attached_size").text(d.attached_size),a(".file_count").text(d.files.length);var e=b.settings.tmplXeUploaderFileitem,f=b.settings.tmplXeUploaderFileitemImage,g=Handlebars.compile(e),h=Handlebars.compile(f),i=[],j=[];return d.files.length?(a.each(d.files,function(a,c){b.files[c.file_srl]||(b.files[c.file_srl]=c,/\.(jpe?g|png|gif)$/i.test(c.source_filename)?i.push(h(c)):j.push(g(c)))}),b.settings.filelistImages.append(i.join("")),b.settings.filelist.append(j.join("")),b.settings.controll.show(),void b.settings.fileList.show()):(b.settings.fileList.hide(),void b.settings.controll.hide())})}});a.fn.xeUploader=function(a){var b=new d;return b&&(xe.registerApp(b),b.createInstance(this.eq(0),a)),b},xe.unregisterApp()}(jQuery); \ No newline at end of file From 8ab57a71f70b1abff01edc002195ceb3780ae1aa Mon Sep 17 00:00:00 2001 From: YJSoft Date: Wed, 10 Jun 2015 12:40:02 +0900 Subject: [PATCH 058/146] =?UTF-8?q?HTML=20=EC=82=AC=EC=9A=A9=20=EA=B6=8C?= =?UTF-8?q?=ED=95=9C=EC=9D=B4=20=EB=B0=98=EC=98=81=EB=90=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EB=8A=94=20=EB=AC=B8=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/editor/skins/ckeditor/editor.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/editor/skins/ckeditor/editor.html b/modules/editor/skins/ckeditor/editor.html index 6e71a9ad6..4f134fa38 100755 --- a/modules/editor/skins/ckeditor/editor.html +++ b/modules/editor/skins/ckeditor/editor.html @@ -69,6 +69,10 @@ settings.ckeconfig.toolbarStartupExpanded = false; + + + settings.ckeconfig.removeButtons = 'Save,Preview,Print,Cut,Copy,Paste,Source'; + CKEDITOR.addCss('{$css_content}'); From 2073e443c93d8e38b831145ebdbb0169d8e62822 Mon Sep 17 00:00:00 2001 From: YJSoft Date: Wed, 10 Jun 2015 12:49:56 +0900 Subject: [PATCH 059/146] =?UTF-8?q?#1532=20CKEditor=EC=9D=98=20=EC=96=B8?= =?UTF-8?q?=EC=96=B4=EB=A5=BC=20=ED=98=84=EC=9E=AC=20=EC=96=B8=EC=96=B4?= =?UTF-8?q?=EB=A1=9C=20=EB=A7=9E=EC=B6=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/editor/skins/ckeditor/editor.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/editor/skins/ckeditor/editor.html b/modules/editor/skins/ckeditor/editor.html index 6e71a9ad6..ea5bb668f 100755 --- a/modules/editor/skins/ckeditor/editor.html +++ b/modules/editor/skins/ckeditor/editor.html @@ -40,7 +40,8 @@ skin: '{$colorset}', contentsCss: '{$content_style_path}/editor.css', xe_editor_sequence: {$editor_sequence}, - toolbarCanCollapse: true + toolbarCanCollapse: true, + language: "{str_replace('jp','ja',$lang_type)}" }, loadXeComponent: true, enableToolbar: true, From e49f1b1cbb1da30b83261125c3d7dbe574ab0d35 Mon Sep 17 00:00:00 2001 From: bnu Date: Wed, 10 Jun 2015 13:54:57 +0900 Subject: [PATCH 060/146] =?UTF-8?q?composer.json=EC=97=90=20PHP=20?= =?UTF-8?q?=EB=B2=84=EC=A0=84=20=EB=AA=85=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composer.json | 1 + 1 file changed, 1 insertion(+) diff --git a/composer.json b/composer.json index db7528358..94cc491b3 100644 --- a/composer.json +++ b/composer.json @@ -8,6 +8,7 @@ } ], "require": { + "php": ">=5.4.0" }, "require-dev": { "codeception/codeception": "~2.0", From 1392a1d1e66bea123df06ce95752aab5a7dcb72e Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Sat, 13 Jun 2015 15:23:06 +0900 Subject: [PATCH 061/146] =?UTF-8?q?FileHandler::getRemoteResource()?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=ED=83=80=EC=9E=84=EC=95=84=EC=9B=83=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EC=82=AC=EC=9A=A9=EC=8B=9C=20=EC=A1=B4?= =?UTF-8?q?=EC=9E=AC=ED=95=98=EC=A7=80=20=EC=95=8A=EB=8A=94=20=EB=A9=94?= =?UTF-8?q?=EC=86=8C=EB=93=9C=20=ED=98=B8=EC=B6=9C=20=ED=98=84=EC=83=81=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/file/FileHandler.class.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/classes/file/FileHandler.class.php b/classes/file/FileHandler.class.php index 9dd628ded..13f7a44cb 100644 --- a/classes/file/FileHandler.class.php +++ b/classes/file/FileHandler.class.php @@ -527,7 +527,6 @@ class FileHandler { $oRequest = new HTTP_Request(__PROXY_SERVER__); $oRequest->setMethod('POST'); - $oRequest->_timeout = $timeout; $oRequest->addPostData('arg', serialize(array('Destination' => $url, 'method' => $method, 'body' => $body, 'content_type' => $content_type, "headers" => $headers, "post_data" => $post_data))); } else @@ -571,7 +570,15 @@ class FileHandler if($body) $oRequest->setBody($body); } - $oRequest->setConfig('timeout', $timeout); + + if(method_exists($oRequest, 'setConfig')) + { + $oRequest->setConfig('timeout', $timeout); + } + elseif(property_exists($oRequest, '_timeout')) + { + $oRequest->_timeout = $timeout; + } $oResponse = $oRequest->sendRequest(); From 9be6b6b8e40f7aaa80138543137c3ea9caa7f5d0 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Sat, 13 Jun 2015 15:38:19 +0900 Subject: [PATCH 062/146] =?UTF-8?q?PEAR=20=EB=A1=9C=EB=94=A9=EC=8B=9C=20?= =?UTF-8?q?=EA=B8=B0=EC=A1=B4=EC=9D=98=20include=5Fpath=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=EC=9D=84=20=EB=8D=AE=EC=96=B4=EC=93=B0=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/func.inc.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/func.inc.php b/config/func.inc.php index d3fd2d83a..c7e5797d0 100644 --- a/config/func.inc.php +++ b/config/func.inc.php @@ -1549,11 +1549,11 @@ function requirePear() { if(version_compare(PHP_VERSION, "5.3.0") < 0) { - set_include_path(_XE_PATH_ . "libs/PEAR"); + set_include_path(_XE_PATH_ . "libs/PEAR" . PATH_SEPARATOR . get_include_path()); } else { - set_include_path(_XE_PATH_ . "libs/PEAR.1.9.5"); + set_include_path(_XE_PATH_ . "libs/PEAR.1.9.5" . PATH_SEPARATOR . get_include_path()); } } From 01ab6f99d96d9ed6eee663501eb77b22bfb73bfa Mon Sep 17 00:00:00 2001 From: YJSoft Date: Mon, 15 Jun 2015 10:33:15 +0900 Subject: [PATCH 063/146] =?UTF-8?q?=EC=9E=98=EB=AA=BB=EB=90=9C=20HTML=20?= =?UTF-8?q?=EB=AC=B8=EB=B2=95=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `name="comment_editor_height"` 와 `id="comment_editor_height"` 사이에 공백이 없는 문제와 본문 글꼴 설정 부분에 닫히지 않은 `
    From 37cea6b1ce87c5ad6cb43a80f7f98c10adf6ec37 Mon Sep 17 00:00:00 2001 From: YJSoft Date: Mon, 15 Jun 2015 13:09:12 +0900 Subject: [PATCH 064/146] =?UTF-8?q?#476=20=EB=A9=94=EB=89=B4=20=EC=84=A4?= =?UTF-8?q?=EB=AA=85=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 메뉴 항목마다 설명 항목을 추가합니다. `{$val1['desc']}` 와 같이 레이아웃에서 불러올 수 있습니다. fontawesome 등을 쉽게 추가할 수 있게 해줍니다. --- modules/menu/lang/lang.xml | 3 +++ modules/menu/menu.admin.controller.php | 20 +++++++++++--- modules/menu/menu.admin.view.php | 3 ++- modules/menu/menu.class.php | 13 ++++++++- modules/menu/queries/insertMenuItem.xml | 3 ++- modules/menu/queries/updateMenuItem.xml | 3 ++- modules/menu/schemas/menu_item.xml | 3 ++- modules/menu/tpl/sitemap.html | 35 ++++++++++++++++--------- 8 files changed, 61 insertions(+), 22 deletions(-) diff --git a/modules/menu/lang/lang.xml b/modules/menu/lang/lang.xml index 239162fac..db5952373 100644 --- a/modules/menu/lang/lang.xml +++ b/modules/menu/lang/lang.xml @@ -1002,4 +1002,7 @@ Menu không phải là người quản lý, nhiệm vụ của nó chỉ là li + + + diff --git a/modules/menu/menu.admin.controller.php b/modules/menu/menu.admin.controller.php index c468d8cb7..73ba88b0a 100644 --- a/modules/menu/menu.admin.controller.php +++ b/modules/menu/menu.admin.controller.php @@ -418,7 +418,7 @@ class menuAdminController extends menu // recreate menu cache file $this->makeXmlFile($request->menu_srl); - + if(!$isProc) { return $this->get('menu_item_srl'); @@ -504,6 +504,9 @@ class menuAdminController extends menu $args->is_shortcut = $request->is_shortcut; $args->url = '#'; } + + if($request->menu_desc) $args->desc = $request->menu_desc; + else $args->desc = ''; $args->menu_item_srl = getNextSequence(); $args->listorder = -1*$args->menu_item_srl; @@ -536,6 +539,9 @@ class menuAdminController extends menu if($request->menu_name_key) $args->name = $request->menu_name_key; else $args->name = $request->menu_name; + + if($request->menu_desc) $args->desc = $request->menu_desc; + else $args->desc = ''; if($request->module_id && strncasecmp('http', $request->module_id, 4) === 0) { @@ -719,6 +725,8 @@ class menuAdminController extends menu { $args->name = $request->menu_name; } + + $args->desc = $request->menu_desc; if(count($args->group_srls) == 0) { @@ -1880,6 +1888,7 @@ class menuAdminController extends menu $name_str = sprintf('$_names = array(%s); print $_names[$lang_type];', $name_arr_str); $url = str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->url); + $desc = str_replace(array('&','"','<'),array('&','"','<'),$node->desc); if(preg_match('/^([0-9a-zA-Z\_\-]+)$/', $node->url)) { $href = "getSiteUrl('$domain', '','mid','$node->url')"; @@ -1915,7 +1924,7 @@ 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" open_window="%s" expand="%s" normal_btn="%s" hover_btn="%s" active_btn="%s" link="%s"', + '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"', $menu_item_srl, $node->parent_srl, addslashes($node->name), @@ -1926,6 +1935,7 @@ class menuAdminController extends menu $group_check_code, $href, $is_shortcut, + $desc, $open_window, $expand, $normal_btn, @@ -1981,6 +1991,7 @@ class menuAdminController extends menu // List variables $href = str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->href); $url = str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->url); + $desc = str_replace(array('&','"','<'),array('&','"','<'),$node->desc); if(preg_match('/^([0-9a-zA-Z\_\-]+)$/i', $node->url)) { $href = "getSiteUrl('$domain', '','mid','$node->url')"; @@ -2030,7 +2041,7 @@ 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"=>"%s","parent_srl"=>"%s","menu_name_key"=>\'%s\',"isShow"=>(%s?true:false),"text"=>(%s?$_menu_names[%d][$lang_type]:""),"href"=>(%s?%s:""),"url"=>(%s?"%s":""),"is_shortcut"=>"%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"=>"%s","parent_srl"=>"%s","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, addslashes($node->name), @@ -2042,6 +2053,7 @@ class menuAdminController extends menu $group_check_code, $url, $is_shortcut, + $desc, $open_window, $normal_btn, $hover_btn, @@ -2228,4 +2240,4 @@ class menuAdminController extends menu } } /* End of file menu.admin.controller.php */ -/* Location: ./modules/menu/menu.admin.controller.php */ +/* Location: ./modules/menu/menu.admin.controller.php */ \ No newline at end of file diff --git a/modules/menu/menu.admin.view.php b/modules/menu/menu.admin.view.php index 4b3a2bf36..cf8adde87 100644 --- a/modules/menu/menu.admin.view.php +++ b/modules/menu/menu.admin.view.php @@ -79,6 +79,7 @@ class menuAdminView extends menu $menuItems = new stdClass(); $menuItems->menuSrl = $value->menu_srl; $menuItems->title = $value->title; + $menuItems->desc = $value->desc; $menuItems->menuItems = $menu; $menuList[] = $menuItems; } @@ -194,4 +195,4 @@ class menuAdminView extends menu } } /* End of file menu.admin.view.php */ -/* Location: ./modules/menu/menu.admin.view.php */ +/* Location: ./modules/menu/menu.admin.view.php */ \ No newline at end of file diff --git a/modules/menu/menu.class.php b/modules/menu/menu.class.php index f56e107c1..5cc47ce6f 100644 --- a/modules/menu/menu.class.php +++ b/modules/menu/menu.class.php @@ -47,6 +47,11 @@ class menu extends ModuleObject $temp_menus = executeQueryArray('menu.getMenuByTitle', $args); if($temp_menus->toBool() && count($temp_menus->data)) return true; + // 2015. 06. 15 add column desc + if(!$oDB->isColumnExists('menu_item', 'desc')) + { + return true; + } return false; } @@ -68,6 +73,12 @@ class menu extends ModuleObject { $oDB->addIndex('menu', 'idx_title', array('title')); } + + // 2015. 06. 15 add column desc + if(!$oDB->isColumnExists('menu_item', 'desc')) + { + $oDB->addColumn('menu_item', 'desc','varchar',250,"",true); + } // 1.7(maserati) shortcut column add and mirgration if(!$oDB->isColumnExists('menu_item', 'is_shortcut')) @@ -227,4 +238,4 @@ class menu extends ModuleObject } } /* End of file menu.class.php */ -/* Location: ./modules/menu/menu.class.php */ +/* Location: ./modules/menu/menu.class.php */ \ No newline at end of file diff --git a/modules/menu/queries/insertMenuItem.xml b/modules/menu/queries/insertMenuItem.xml index f94105286..5b37d8011 100644 --- a/modules/menu/queries/insertMenuItem.xml +++ b/modules/menu/queries/insertMenuItem.xml @@ -7,6 +7,7 @@ + @@ -18,4 +19,4 @@ - + \ No newline at end of file diff --git a/modules/menu/queries/updateMenuItem.xml b/modules/menu/queries/updateMenuItem.xml index 0956adf90..b93517c72 100644 --- a/modules/menu/queries/updateMenuItem.xml +++ b/modules/menu/queries/updateMenuItem.xml @@ -6,6 +6,7 @@ + @@ -18,4 +19,4 @@ - + \ No newline at end of file diff --git a/modules/menu/schemas/menu_item.xml b/modules/menu/schemas/menu_item.xml index cd8d2e1c2..78bb453d0 100644 --- a/modules/menu/schemas/menu_item.xml +++ b/modules/menu/schemas/menu_item.xml @@ -3,6 +3,7 @@ + @@ -13,4 +14,4 @@ - + \ No newline at end of file diff --git a/modules/menu/tpl/sitemap.html b/modules/menu/tpl/sitemap.html index a7aa02313..13ab7848f 100644 --- a/modules/menu/tpl/sitemap.html +++ b/modules/menu/tpl/sitemap.html @@ -166,6 +166,12 @@
    +
  • +
    + + +
    +
  • +
  • +
    + + +
    +
  • @@ -1847,6 +1859,7 @@ jQuery(function($){ }); $('#add_menu ._save').bind("click", function(){ var sMenuName = $('#add_menu ._menuName').val(); + var sMenuDesc = $('#add_menu ._menuDesc').val(); var sUrl = $('#add_menu ._mid').val(); var sTargetKey = "module_id"; @@ -1895,21 +1908,14 @@ jQuery(function($){ params['act'] = "procMenuAdminInsertItem"; params['menu_name_key'] = ""; params['menu_name'] = sMenuName; + params['menu_desc'] = sMenuDesc; params['module_type'] = sSelectedModuleName; params['menu_open_window'] = "N"; params['menu_expand'] = "N"; params['is_shortcut'] = isShortCut; params['parent_srl'] = sSelectedMenuSrl; params[sTargetKey] = sUrl; - - /* - Array - ( - [error] => "0" - [message] => "등록했습니다." - [menu_item_srl] => "2" - ) - */ + $.exec_json("menu.procMenuAdminInsertItem", params, function(htData){ // select the newly created menu //$._xeAdminVar.sSelectOnload = htData.menu_item_srl; @@ -1937,6 +1943,7 @@ jQuery(function($){ //$(this).find('#menuName').val(htInfo.sText); $(this).find('#menuName').val(htInfo.sMenuNameKey); + $(this).find('#menuDesc').val(htInfo.desc); //menu_name_key $(this).find('#mid2').val(htInfo.url); @@ -1952,9 +1959,9 @@ jQuery(function($){ showMenuSelector($(this).find('._menuSelector_menuTreeContainer'), htInfo.url); }else{ // URL shortcut - var htInfo_url = htInfo.url; - htInfo_url = htInfo_url.replace(/&/g, '&'); - htInfo.url = htInfo_url; + var htInfo_url = htInfo.url; + htInfo_url = htInfo_url.replace(/&/g, '&'); + htInfo.url = htInfo_url; $(this).find('a[href="#fix_linkUrl"]').click(); $(this).find('._url_link').val($('
    ').text(htInfo.url).text()); @@ -1990,6 +1997,7 @@ jQuery(function($){ var htInfo = htNodeInfo[$._xeAdminVar.sSelectedMenuSrl]; var sMenuName = $('#default ._menuName').val(); + var sMenuDesc = $('#default ._menuDesc').val(); var sMID; var sNewWindow = $('#default ._newWindow').attr("checked")?"Y":"N"; @@ -2015,6 +2023,7 @@ jQuery(function($){ } params['menu_item_srl'] = sSelectedMenuSrl; params['menu_name'] = sMenuName; + params['menu_desc'] = sMenuDesc; params['menu_open_window'] = sNewWindow; params['menu_expand'] = sLeaveUnfolded; params['browser_title'] = sBrowserTitle; @@ -4110,4 +4119,4 @@ jQuery.extend({ } }); //]]> - + \ No newline at end of file From 0a79f3073fbf668be9ad42f9711d2b8aa4377ad2 Mon Sep 17 00:00:00 2001 From: YJSoft Date: Mon, 15 Jun 2015 18:36:44 +0900 Subject: [PATCH 065/146] =?UTF-8?q?=EC=84=A4=EB=AA=85=EC=97=90=20'=20?= =?UTF-8?q?=EC=9E=85=EB=A0=A5=EC=8B=9C=20=EC=98=A4=EB=A5=98=20=EC=83=9D?= =?UTF-8?q?=EA=B8=B0=EB=8A=94=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 이미 문제가 생긴 경우 캐시파일 재생성으로 고칠수 있습니다. --- modules/menu/menu.admin.controller.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/menu/menu.admin.controller.php b/modules/menu/menu.admin.controller.php index 73ba88b0a..b0156dbbf 100644 --- a/modules/menu/menu.admin.controller.php +++ b/modules/menu/menu.admin.controller.php @@ -1888,7 +1888,7 @@ class menuAdminController extends menu $name_str = sprintf('$_names = array(%s); print $_names[$lang_type];', $name_arr_str); $url = str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->url); - $desc = str_replace(array('&','"','<'),array('&','"','<'),$node->desc); + $desc = str_replace(array('&','"','<',"'"),array('&','"','<','\\\''),$node->desc); if(preg_match('/^([0-9a-zA-Z\_\-]+)$/', $node->url)) { $href = "getSiteUrl('$domain', '','mid','$node->url')"; @@ -1991,7 +1991,7 @@ class menuAdminController extends menu // List variables $href = str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->href); $url = str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->url); - $desc = str_replace(array('&','"','<'),array('&','"','<'),$node->desc); + $desc = str_replace(array('&','"','<',"'"),array('&','"','<','\\\''),$node->desc); if(preg_match('/^([0-9a-zA-Z\_\-]+)$/i', $node->url)) { $href = "getSiteUrl('$domain', '','mid','$node->url')"; From 642402f316b83397c07452444ab9d1505d4aaa83 Mon Sep 17 00:00:00 2001 From: YJSoft Date: Thu, 18 Jun 2015 09:57:55 +0900 Subject: [PATCH 066/146] =?UTF-8?q?<=EB=A5=BC=20=ED=95=84=ED=84=B0?= =?UTF-8?q?=EB=A7=81=ED=95=98=EC=A7=80=20=EC=95=8A=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 태그 입력이 불가능한 문제 수정 --- modules/menu/menu.admin.controller.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/menu/menu.admin.controller.php b/modules/menu/menu.admin.controller.php index b0156dbbf..297d9bed2 100644 --- a/modules/menu/menu.admin.controller.php +++ b/modules/menu/menu.admin.controller.php @@ -1888,7 +1888,7 @@ class menuAdminController extends menu $name_str = sprintf('$_names = array(%s); print $_names[$lang_type];', $name_arr_str); $url = str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->url); - $desc = str_replace(array('&','"','<',"'"),array('&','"','<','\\\''),$node->desc); + $desc = str_replace(array('&','"',"'"),array('&','"','\\\''),$node->desc); if(preg_match('/^([0-9a-zA-Z\_\-]+)$/', $node->url)) { $href = "getSiteUrl('$domain', '','mid','$node->url')"; @@ -1991,7 +1991,7 @@ class menuAdminController extends menu // List variables $href = str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->href); $url = str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->url); - $desc = str_replace(array('&','"','<',"'"),array('&','"','<','\\\''),$node->desc); + $desc = str_replace(array('&','"',"'"),array('&','"','\\\''),$node->desc); if(preg_match('/^([0-9a-zA-Z\_\-]+)$/i', $node->url)) { $href = "getSiteUrl('$domain', '','mid','$node->url')"; @@ -2240,4 +2240,4 @@ class menuAdminController extends menu } } /* End of file menu.admin.controller.php */ -/* Location: ./modules/menu/menu.admin.controller.php */ \ No newline at end of file +/* Location: ./modules/menu/menu.admin.controller.php */ From 81dd8ce67fdc3c6057a69d65f4822e05177bc5da Mon Sep 17 00:00:00 2001 From: YJSoft Date: Sun, 21 Jun 2015 12:28:01 +0900 Subject: [PATCH 067/146] =?UTF-8?q?=EC=84=A4=EB=AA=85=20=EC=82=AD=EC=A0=9C?= =?UTF-8?q?=20=EB=B6=88=EA=B0=80=EB=8A=A5=20=EB=AC=B8=EC=A0=9C=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/menu/menu.admin.controller.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/menu/menu.admin.controller.php b/modules/menu/menu.admin.controller.php index 297d9bed2..ad66c74fe 100644 --- a/modules/menu/menu.admin.controller.php +++ b/modules/menu/menu.admin.controller.php @@ -726,7 +726,8 @@ class menuAdminController extends menu $args->name = $request->menu_name; } - $args->desc = $request->menu_desc; + if($request->menu_desc) $args->desc = $request->menu_desc; + else $args->desc = ''; if(count($args->group_srls) == 0) { From acac6bf42fa0ddb9fea79f4bfe2cd5138c6fab89 Mon Sep 17 00:00:00 2001 From: dlehdanakf Date: Wed, 24 Jun 2015 15:56:14 +0900 Subject: [PATCH 068/146] =?UTF-8?q?#1567=20XEDITION=20=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=EC=95=84=EC=9B=83=20=EB=B0=98=EC=9D=91=ED=99=94=20=EC=9E=91?= =?UTF-8?q?=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- layouts/xedition/css/camera.css | 1093 ----- layouts/xedition/css/camera.min.css | 1 - layouts/xedition/css/layout.css | 475 +- layouts/xedition/css/layout.min.css | 1 - layouts/xedition/css/swiper.css | 444 ++ layouts/xedition/css/webfont.css | 0 layouts/xedition/css/welcome.css | 94 +- layouts/xedition/css/welcome.min.css | 1 - layouts/xedition/css/xeicon.css | 18 + layouts/xedition/css/xeicon.min.css | 1 - layouts/xedition/demo/slide.html | 24 +- layouts/xedition/demo/welcome_main.html | 2 +- layouts/xedition/js/camera.min.js | 5 - layouts/xedition/js/gnb.mobile.js | 14 + layouts/xedition/js/gnb.pc.js | 36 + layouts/xedition/js/jquery.easing.min.js | 1 - .../js/jquery.mobile.customized.min.js | 3 + layouts/xedition/js/jquery.parallax-scroll.js | 126 + .../xedition/js/jquery.parallax-scroll.min.js | 9 + layouts/xedition/js/layout.js | 49 +- layouts/xedition/js/layout.min.js | 1 - layouts/xedition/js/swiper.js | 3822 +++++++++++++++++ layouts/xedition/js/swiper.min.js | 17 + layouts/xedition/js/welcome.js | 2 +- layouts/xedition/js/welcome.min.js | 1 - layouts/xedition/layout.html | 131 +- 26 files changed, 4954 insertions(+), 1417 deletions(-) delete mode 100644 layouts/xedition/css/camera.css delete mode 100644 layouts/xedition/css/camera.min.css delete mode 100644 layouts/xedition/css/layout.min.css create mode 100644 layouts/xedition/css/swiper.css mode change 100755 => 100644 layouts/xedition/css/webfont.css delete mode 100644 layouts/xedition/css/welcome.min.css delete mode 100644 layouts/xedition/css/xeicon.min.css delete mode 100644 layouts/xedition/js/camera.min.js create mode 100644 layouts/xedition/js/gnb.mobile.js create mode 100644 layouts/xedition/js/gnb.pc.js delete mode 100644 layouts/xedition/js/jquery.easing.min.js create mode 100644 layouts/xedition/js/jquery.mobile.customized.min.js create mode 100644 layouts/xedition/js/jquery.parallax-scroll.js create mode 100644 layouts/xedition/js/jquery.parallax-scroll.min.js delete mode 100644 layouts/xedition/js/layout.min.js create mode 100644 layouts/xedition/js/swiper.js create mode 100644 layouts/xedition/js/swiper.min.js delete mode 100644 layouts/xedition/js/welcome.min.js diff --git a/layouts/xedition/css/camera.css b/layouts/xedition/css/camera.css deleted file mode 100644 index 32c2d5796..000000000 --- a/layouts/xedition/css/camera.css +++ /dev/null @@ -1,1093 +0,0 @@ -/************************** -* -* GENERAL -* -**************************/ -.camera_wrap a, .camera_wrap img, -.camera_wrap ol, .camera_wrap ul, .camera_wrap li, -.camera_wrap table, .camera_wrap tbody, .camera_wrap tfoot, .camera_wrap thead, .camera_wrap tr, .camera_wrap th, .camera_wrap td -.camera_thumbs_wrap a, .camera_thumbs_wrap img, -.camera_thumbs_wrap ol, .camera_thumbs_wrap ul, .camera_thumbs_wrap li, -.camera_thumbs_wrap table, .camera_thumbs_wrap tbody, .camera_thumbs_wrap tfoot, .camera_thumbs_wrap thead, .camera_thumbs_wrap tr, .camera_thumbs_wrap th, .camera_thumbs_wrap td { - background: none; - border: 0; - font: inherit; - font-size: 100%; - margin: 0; - padding: 0; - vertical-align: baseline; - list-style: none -} -.camera_wrap { - display: none; - float: left; - position: relative; - z-index: 0; -} -.camera_wrap img { - max-width: none!important; -} -.camera_fakehover { - height: 100%; - min-height: 60px; - position: relative; - width: 100%; - z-index: 1; -} -.camera_wrap { - width: 100%; -} -.camera_src { - display: none; -} -.cameraCont, .cameraContents { - height: 100%; - position: relative; - width: 100%; - z-index: 1; -} -.cameraSlide { - bottom: 0; - left: 0; - position: absolute; - right: 0; - top: 0; - width: 100%; -} -.cameraContent { - bottom: 0; - display: none; - left: 0; - position: absolute; - right: 0; - top: 0; - width: 100%; -} -.camera_target { - bottom: 0; - height: 100%; - left: 0; - overflow: hidden; - position: absolute; - right: 0; - text-align: left; - top: 0; - width: 100%; - z-index: 0; -} -.camera_overlayer { - bottom: 0; - height: 100%; - left: 0; - overflow: hidden; - position: absolute; - right: 0; - top: 0; - width: 100%; - z-index: 0; -} -.camera_target_content { - bottom: 0; - left: 0; - overflow: hidden; - position: absolute; - right: 0; - top: 0; - z-index: 2; -} -.camera_target_content .camera_link { - background: url(../img/blank.gif); - display: block; - height: 100%; - text-decoration: none; -} -.camera_loader { - background: #fff url(../img/camera-loader.gif) no-repeat center; - background: rgba(255, 255, 255, 0.9) url(../img/camera-loader.gif) no-repeat center; - border: 1px solid #ffffff; - -webkit-border-radius: 18px; - -moz-border-radius: 18px; - border-radius: 18px; - height: 36px; - left: 50%; - overflow: hidden; - position: absolute; - margin: -18px 0 0 -18px; - top: 50%; - width: 36px; - z-index: 3; -} -.camera_bar { - bottom: 0; - left: 0; - overflow: hidden; - position: absolute; - right: 0; - top: 0; - z-index: 3; -} -.camera_thumbs_wrap.camera_left .camera_bar, .camera_thumbs_wrap.camera_right .camera_bar { - height: 100%; - position: absolute; - width: auto; -} -.camera_thumbs_wrap.camera_bottom .camera_bar, .camera_thumbs_wrap.camera_top .camera_bar { - height: auto; - position: absolute; - width: 100%; -} -.camera_nav_cont { - height: 65px; - overflow: hidden; - position: absolute; - right: 9px; - top: 15px; - width: 120px; - z-index: 4; -} -.camera_caption { - bottom: 0; - display: block; - position: absolute; - width: 100%; -} -.camera_caption_wrap { - width: 1200px; - margin: 0 auto; - font-size: 20px; - line-height: 22px; -} -.camera_caption_wrap > div { - padding: 10px 20px; -} -.camerarelative { - overflow: hidden; - position: relative; -} -.imgFake { - cursor: pointer; -} -.camera_prevThumbs { - bottom: 4px; - cursor: pointer; - left: 0; - position: absolute; - top: 4px; - visibility: hidden; - width: 30px; - z-index: 10; -} -.camera_prevThumbs div { - background: url(../img/camera_skins.png) no-repeat -160px 0; - display: block; - height: 40px; - margin-top: -20px; - position: absolute; - top: 50%; - width: 30px; -} -.camera_nextThumbs { - bottom: 4px; - cursor: pointer; - position: absolute; - right: 0; - top: 4px; - visibility: hidden; - width: 30px; - z-index: 10; -} -.camera_nextThumbs div { - background: url(../img/camera_skins.png) no-repeat -190px 0; - display: block; - height: 40px; - margin-top: -20px; - position: absolute; - top: 50%; - width: 30px; -} -.camera_command_wrap .hideNav { - display: none; -} -.camera_command_wrap { - left: 0; - position: relative; - right:0; - z-index: 4; -} -.camera_wrap .camera_pag .camera_pag_ul { - list-style: none; - margin: 0; - padding: 0; - text-align: right; -} -.camera_wrap .camera_pag .camera_pag_ul li { - -webkit-border-radius: 8px; - -moz-border-radius: 8px; - border-radius: 8px; - cursor: pointer; - display: inline-block; - height: 16px; - margin: 20px 5px; - position: relative; - text-align: left; - text-indent: -9999px; - width: 16px; -} -.camera_commands_emboss .camera_pag .camera_pag_ul li { - -moz-box-shadow: - 0px 1px 0px rgba(255,255,255,1), - inset 0px 1px 1px rgba(0,0,0,0.2); - -webkit-box-shadow: - 0px 1px 0px rgba(255,255,255,1), - inset 0px 1px 1px rgba(0,0,0,0.2); - box-shadow: - 0px 1px 0px rgba(255,255,255,1), - inset 0px 1px 1px rgba(0,0,0,0.2); -} -.camera_wrap .camera_pag .camera_pag_ul li > span { - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; - height: 8px; - left: 4px; - overflow: hidden; - position: absolute; - top: 4px; - width: 8px; -} -.camera_commands_emboss .camera_pag .camera_pag_ul li:hover > span { - -moz-box-shadow: - 0px 1px 0px rgba(255,255,255,1), - inset 0px 1px 1px rgba(0,0,0,0.2); - -webkit-box-shadow: - 0px 1px 0px rgba(255,255,255,1), - inset 0px 1px 1px rgba(0,0,0,0.2); - box-shadow: - 0px 1px 0px rgba(255,255,255,1), - inset 0px 1px 1px rgba(0,0,0,0.2); -} -.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent > span { - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} -.camera_pag_ul li img { - display: none; - position: absolute; -} -.camera_pag_ul .thumb_arrow { - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid; - top: 0; - left: 50%; - margin-left: -4px; - position: absolute; -} -.camera_prev, .camera_next, .camera_commands { - cursor: pointer; - height: 40px; - margin-top: -20px; - position: absolute; - top: 50%; - width: 40px; - z-index: 2; -} -.camera_prev { - left: 0; -} -.camera_prev > span { - background: url(../img/camera_skins.png) no-repeat 0 0; - display: block; - height: 40px; - width: 40px; -} -.camera_next { - right: 0; -} -.camera_next > span { - background: url(../img/camera_skins.png) no-repeat -40px 0; - display: block; - height: 40px; - width: 40px; -} -.camera_commands { - right: 41px; -} -.camera_commands > .camera_play { - background: url(../img/camera_skins.png) no-repeat -80px 0; - height: 40px; - width: 40px; -} -.camera_commands > .camera_stop { - background: url(../img/camera_skins.png) no-repeat -120px 0; - display: block; - height: 40px; - width: 40px; -} -.camera_wrap .camera_pag .camera_pag_ul li { - -webkit-border-radius: 8px; - -moz-border-radius: 8px; - border-radius: 8px; - cursor: pointer; - display: inline-block; - height: 16px; - margin: 20px 5px; - position: relative; - text-indent: -9999px; - width: 16px; -} -.camera_thumbs_cont { - -webkit-border-bottom-right-radius: 4px; - -webkit-border-bottom-left-radius: 4px; - -moz-border-radius-bottomright: 4px; - -moz-border-radius-bottomleft: 4px; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; - overflow: hidden; - position: relative; - width: 100%; -} -.camera_commands_emboss .camera_thumbs_cont { - -moz-box-shadow: - 0px 1px 0px rgba(255,255,255,1), - inset 0px 1px 1px rgba(0,0,0,0.2); - -webkit-box-shadow: - 0px 1px 0px rgba(255,255,255,1), - inset 0px 1px 1px rgba(0,0,0,0.2); - box-shadow: - 0px 1px 0px rgba(255,255,255,1), - inset 0px 1px 1px rgba(0,0,0,0.2); -} -.camera_thumbs_cont > div { - float: left; - width: 100%; -} -.camera_thumbs_cont ul { - overflow: hidden; - padding: 3px 4px 8px; - position: relative; - text-align: center; -} -.camera_thumbs_cont ul li { - display: inline; - padding: 0 4px; -} -.camera_thumbs_cont ul li > img { - border: 1px solid; - cursor: pointer; - margin-top: 5px; - vertical-align:bottom; -} -.camera_clear { - display: block; - clear: both; -} -.showIt { - display: none; -} -.camera_clear { - clear: both; - display: block; - height: 1px; - margin: -1px 0 25px; - position: relative; -} -/************************** -* -* COLORS & SKINS -* -**************************/ -.pattern_1 .camera_overlayer { - background: url(../img/patterns/overlay1.png) repeat; -} -.pattern_2 .camera_overlayer { - background: url(../img/patterns/overlay2.png) repeat; -} -.pattern_3 .camera_overlayer { - background: url(../img/patterns/overlay3.png) repeat; -} -.pattern_4 .camera_overlayer { - background: url(../img/patterns/overlay4.png) repeat; -} -.pattern_5 .camera_overlayer { - background: url(../img/patterns/overlay5.png) repeat; -} -.pattern_6 .camera_overlayer { - background: url(../img/patterns/overlay6.png) repeat; -} -.pattern_7 .camera_overlayer { - background: url(../img/patterns/overlay7.png) repeat; -} -.pattern_8 .camera_overlayer { - background: url(../img/patterns/overlay8.png) repeat; -} -.pattern_9 .camera_overlayer { - background: url(../img/patterns/overlay9.png) repeat; -} -.pattern_10 .camera_overlayer { - background: url(../img/patterns/overlay10.png) repeat; -} -.camera_caption { - color: #fff; -} -.camera_caption > div { - background: #000; - background: rgba(0, 0, 0, 0.8); -} -.camera_wrap .camera_pag .camera_pag_ul li { - background: #b7b7b7; -} -.camera_wrap .camera_pag .camera_pag_ul li:hover > span { - background: #b7b7b7; -} -.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent > span { - background: #434648; -} -.camera_pag_ul li img { - border: 4px solid #e6e6e6; - -moz-box-shadow: 0px 3px 6px rgba(0,0,0,.5); - -webkit-box-shadow: 0px 3px 6px rgba(0,0,0,.5); - box-shadow: 0px 3px 6px rgba(0,0,0,.5); -} -.camera_pag_ul .thumb_arrow { - border-top-color: #e6e6e6; -} -.camera_prevThumbs, .camera_nextThumbs, .camera_prev, .camera_next, .camera_commands, .camera_thumbs_cont { - background: #d8d8d8; - background: rgba(216, 216, 216, 0.85); -} -.camera_wrap .camera_pag .camera_pag_ul li { - background: #b7b7b7; -} -.camera_thumbs_cont ul li > img { - border: 1px solid #000; -} -/*AMBER SKIN*/ -.camera_amber_skin .camera_prevThumbs div { - background-position: -160px -160px; -} -.camera_amber_skin .camera_nextThumbs div { - background-position: -190px -160px; -} -.camera_amber_skin .camera_prev > span { - background-position: 0 -160px; -} -.camera_amber_skin .camera_next > span { - background-position: -40px -160px; -} -.camera_amber_skin .camera_commands > .camera_play { - background-position: -80px -160px; -} -.camera_amber_skin .camera_commands > .camera_stop { - background-position: -120px -160px; -} -/*ASH SKIN*/ -.camera_ash_skin .camera_prevThumbs div { - background-position: -160px -200px; -} -.camera_ash_skin .camera_nextThumbs div { - background-position: -190px -200px; -} -.camera_ash_skin .camera_prev > span { - background-position: 0 -200px; -} -.camera_ash_skin .camera_next > span { - background-position: -40px -200px; -} -.camera_ash_skin .camera_commands > .camera_play { - background-position: -80px -200px; -} -.camera_ash_skin .camera_commands > .camera_stop { - background-position: -120px -200px; -} -/*AZURE SKIN*/ -.camera_azure_skin .camera_prevThumbs div { - background-position: -160px -240px; -} -.camera_azure_skin .camera_nextThumbs div { - background-position: -190px -240px; -} -.camera_azure_skin .camera_prev > span { - background-position: 0 -240px; -} -.camera_azure_skin .camera_next > span { - background-position: -40px -240px; -} -.camera_azure_skin .camera_commands > .camera_play { - background-position: -80px -240px; -} -.camera_azure_skin .camera_commands > .camera_stop { - background-position: -120px -240px; -} -/*BEIGE SKIN*/ -.camera_beige_skin .camera_prevThumbs div { - background-position: -160px -120px; -} -.camera_beige_skin .camera_nextThumbs div { - background-position: -190px -120px; -} -.camera_beige_skin .camera_prev > span { - background-position: 0 -120px; -} -.camera_beige_skin .camera_next > span { - background-position: -40px -120px; -} -.camera_beige_skin .camera_commands > .camera_play { - background-position: -80px -120px; -} -.camera_beige_skin .camera_commands > .camera_stop { - background-position: -120px -120px; -} -/*BLACK SKIN*/ -.camera_black_skin .camera_prevThumbs div { - background-position: -160px -40px; -} -.camera_black_skin .camera_nextThumbs div { - background-position: -190px -40px; -} -.camera_black_skin .camera_prev > span { - background-position: 0 -40px; -} -.camera_black_skin .camera_next > span { - background-position: -40px -40px; -} -.camera_black_skin .camera_commands > .camera_play { - background-position: -80px -40px; -} -.camera_black_skin .camera_commands > .camera_stop { - background-position: -120px -40px; -} -/*BLUE SKIN*/ -.camera_blue_skin .camera_prevThumbs div { - background-position: -160px -280px; -} -.camera_blue_skin .camera_nextThumbs div { - background-position: -190px -280px; -} -.camera_blue_skin .camera_prev > span { - background-position: 0 -280px; -} -.camera_blue_skin .camera_next > span { - background-position: -40px -280px; -} -.camera_blue_skin .camera_commands > .camera_play { - background-position: -80px -280px; -} -.camera_blue_skin .camera_commands > .camera_stop { - background-position: -120px -280px; -} -/*BROWN SKIN*/ -.camera_brown_skin .camera_prevThumbs div { - background-position: -160px -320px; -} -.camera_brown_skin .camera_nextThumbs div { - background-position: -190px -320px; -} -.camera_brown_skin .camera_prev > span { - background-position: 0 -320px; -} -.camera_brown_skin .camera_next > span { - background-position: -40px -320px; -} -.camera_brown_skin .camera_commands > .camera_play { - background-position: -80px -320px; -} -.camera_brown_skin .camera_commands > .camera_stop { - background-position: -120px -320px; -} -/*BURGUNDY SKIN*/ -.camera_burgundy_skin .camera_prevThumbs div { - background-position: -160px -360px; -} -.camera_burgundy_skin .camera_nextThumbs div { - background-position: -190px -360px; -} -.camera_burgundy_skin .camera_prev > span { - background-position: 0 -360px; -} -.camera_burgundy_skin .camera_next > span { - background-position: -40px -360px; -} -.camera_burgundy_skin .camera_commands > .camera_play { - background-position: -80px -360px; -} -.camera_burgundy_skin .camera_commands > .camera_stop { - background-position: -120px -360px; -} -/*CHARCOAL SKIN*/ -.camera_charcoal_skin .camera_prevThumbs div { - background-position: -160px -400px; -} -.camera_charcoal_skin .camera_nextThumbs div { - background-position: -190px -400px; -} -.camera_charcoal_skin .camera_prev > span { - background-position: 0 -400px; -} -.camera_charcoal_skin .camera_next > span { - background-position: -40px -400px; -} -.camera_charcoal_skin .camera_commands > .camera_play { - background-position: -80px -400px; -} -.camera_charcoal_skin .camera_commands > .camera_stop { - background-position: -120px -400px; -} -/*CHOCOLATE SKIN*/ -.camera_chocolate_skin .camera_prevThumbs div { - background-position: -160px -440px; -} -.camera_chocolate_skin .camera_nextThumbs div { - background-position: -190px -440px; -} -.camera_chocolate_skin .camera_prev > span { - background-position: 0 -440px; -} -.camera_chocolate_skin .camera_next > span { - background-position: -40px -440px; -} -.camera_chocolate_skin .camera_commands > .camera_play { - background-position: -80px -440px; -} -.camera_chocolate_skin .camera_commands > .camera_stop { - background-position: -120px -440px ; -} -/*COFFEE SKIN*/ -.camera_coffee_skin .camera_prevThumbs div { - background-position: -160px -480px; -} -.camera_coffee_skin .camera_nextThumbs div { - background-position: -190px -480px; -} -.camera_coffee_skin .camera_prev > span { - background-position: 0 -480px; -} -.camera_coffee_skin .camera_next > span { - background-position: -40px -480px; -} -.camera_coffee_skin .camera_commands > .camera_play { - background-position: -80px -480px; -} -.camera_coffee_skin .camera_commands > .camera_stop { - background-position: -120px -480px ; -} -/*CYAN SKIN*/ -.camera_cyan_skin .camera_prevThumbs div { - background-position: -160px -520px; -} -.camera_cyan_skin .camera_nextThumbs div { - background-position: -190px -520px; -} -.camera_cyan_skin .camera_prev > span { - background-position: 0 -520px; -} -.camera_cyan_skin .camera_next > span { - background-position: -40px -520px; -} -.camera_cyan_skin .camera_commands > .camera_play { - background-position: -80px -520px; -} -.camera_cyan_skin .camera_commands > .camera_stop { - background-position: -120px -520px ; -} -/*FUCHSIA SKIN*/ -.camera_fuchsia_skin .camera_prevThumbs div { - background-position: -160px -560px; -} -.camera_fuchsia_skin .camera_nextThumbs div { - background-position: -190px -560px; -} -.camera_fuchsia_skin .camera_prev > span { - background-position: 0 -560px; -} -.camera_fuchsia_skin .camera_next > span { - background-position: -40px -560px; -} -.camera_fuchsia_skin .camera_commands > .camera_play { - background-position: -80px -560px; -} -.camera_fuchsia_skin .camera_commands > .camera_stop { - background-position: -120px -560px ; -} -/*GOLD SKIN*/ -.camera_gold_skin .camera_prevThumbs div { - background-position: -160px -600px; -} -.camera_gold_skin .camera_nextThumbs div { - background-position: -190px -600px; -} -.camera_gold_skin .camera_prev > span { - background-position: 0 -600px; -} -.camera_gold_skin .camera_next > span { - background-position: -40px -600px; -} -.camera_gold_skin .camera_commands > .camera_play { - background-position: -80px -600px; -} -.camera_gold_skin .camera_commands > .camera_stop { - background-position: -120px -600px ; -} -/*GREEN SKIN*/ -.camera_green_skin .camera_prevThumbs div { - background-position: -160px -640px; -} -.camera_green_skin .camera_nextThumbs div { - background-position: -190px -640px; -} -.camera_green_skin .camera_prev > span { - background-position: 0 -640px; -} -.camera_green_skin .camera_next > span { - background-position: -40px -640px; -} -.camera_green_skin .camera_commands > .camera_play { - background-position: -80px -640px; -} -.camera_green_skin .camera_commands > .camera_stop { - background-position: -120px -640px ; -} -/*GREY SKIN*/ -.camera_grey_skin .camera_prevThumbs div { - background-position: -160px -680px; -} -.camera_grey_skin .camera_nextThumbs div { - background-position: -190px -680px; -} -.camera_grey_skin .camera_prev > span { - background-position: 0 -680px; -} -.camera_grey_skin .camera_next > span { - background-position: -40px -680px; -} -.camera_grey_skin .camera_commands > .camera_play { - background-position: -80px -680px; -} -.camera_grey_skin .camera_commands > .camera_stop { - background-position: -120px -680px ; -} -/*INDIGO SKIN*/ -.camera_indigo_skin .camera_prevThumbs div { - background-position: -160px -720px; -} -.camera_indigo_skin .camera_nextThumbs div { - background-position: -190px -720px; -} -.camera_indigo_skin .camera_prev > span { - background-position: 0 -720px; -} -.camera_indigo_skin .camera_next > span { - background-position: -40px -720px; -} -.camera_indigo_skin .camera_commands > .camera_play { - background-position: -80px -720px; -} -.camera_indigo_skin .camera_commands > .camera_stop { - background-position: -120px -720px ; -} -/*KHAKI SKIN*/ -.camera_khaki_skin .camera_prevThumbs div { - background-position: -160px -760px; -} -.camera_khaki_skin .camera_nextThumbs div { - background-position: -190px -760px; -} -.camera_khaki_skin .camera_prev > span { - background-position: 0 -760px; -} -.camera_khaki_skin .camera_next > span { - background-position: -40px -760px; -} -.camera_khaki_skin .camera_commands > .camera_play { - background-position: -80px -760px; -} -.camera_khaki_skin .camera_commands > .camera_stop { - background-position: -120px -760px ; -} -/*LIME SKIN*/ -.camera_lime_skin .camera_prevThumbs div { - background-position: -160px -800px; -} -.camera_lime_skin .camera_nextThumbs div { - background-position: -190px -800px; -} -.camera_lime_skin .camera_prev > span { - background-position: 0 -800px; -} -.camera_lime_skin .camera_next > span { - background-position: -40px -800px; -} -.camera_lime_skin .camera_commands > .camera_play { - background-position: -80px -800px; -} -.camera_lime_skin .camera_commands > .camera_stop { - background-position: -120px -800px ; -} -/*MAGENTA SKIN*/ -.camera_magenta_skin .camera_prevThumbs div { - background-position: -160px -840px; -} -.camera_magenta_skin .camera_nextThumbs div { - background-position: -190px -840px; -} -.camera_magenta_skin .camera_prev > span { - background-position: 0 -840px; -} -.camera_magenta_skin .camera_next > span { - background-position: -40px -840px; -} -.camera_magenta_skin .camera_commands > .camera_play { - background-position: -80px -840px; -} -.camera_magenta_skin .camera_commands > .camera_stop { - background-position: -120px -840px ; -} -/*MAROON SKIN*/ -.camera_maroon_skin .camera_prevThumbs div { - background-position: -160px -880px; -} -.camera_maroon_skin .camera_nextThumbs div { - background-position: -190px -880px; -} -.camera_maroon_skin .camera_prev > span { - background-position: 0 -880px; -} -.camera_maroon_skin .camera_next > span { - background-position: -40px -880px; -} -.camera_maroon_skin .camera_commands > .camera_play { - background-position: -80px -880px; -} -.camera_maroon_skin .camera_commands > .camera_stop { - background-position: -120px -880px ; -} -/*ORANGE SKIN*/ -.camera_orange_skin .camera_prevThumbs div { - background-position: -160px -920px; -} -.camera_orange_skin .camera_nextThumbs div { - background-position: -190px -920px; -} -.camera_orange_skin .camera_prev > span { - background-position: 0 -920px; -} -.camera_orange_skin .camera_next > span { - background-position: -40px -920px; -} -.camera_orange_skin .camera_commands > .camera_play { - background-position: -80px -920px; -} -.camera_orange_skin .camera_commands > .camera_stop { - background-position: -120px -920px ; -} -/*OLIVE SKIN*/ -.camera_olive_skin .camera_prevThumbs div { - background-position: -160px -1080px; -} -.camera_olive_skin .camera_nextThumbs div { - background-position: -190px -1080px; -} -.camera_olive_skin .camera_prev > span { - background-position: 0 -1080px; -} -.camera_olive_skin .camera_next > span { - background-position: -40px -1080px; -} -.camera_olive_skin .camera_commands > .camera_play { - background-position: -80px -1080px; -} -.camera_olive_skin .camera_commands > .camera_stop { - background-position: -120px -1080px ; -} -/*PINK SKIN*/ -.camera_pink_skin .camera_prevThumbs div { - background-position: -160px -960px; -} -.camera_pink_skin .camera_nextThumbs div { - background-position: -190px -960px; -} -.camera_pink_skin .camera_prev > span { - background-position: 0 -960px; -} -.camera_pink_skin .camera_next > span { - background-position: -40px -960px; -} -.camera_pink_skin .camera_commands > .camera_play { - background-position: -80px -960px; -} -.camera_pink_skin .camera_commands > .camera_stop { - background-position: -120px -960px ; -} -/*PISTACHIO SKIN*/ -.camera_pistachio_skin .camera_prevThumbs div { - background-position: -160px -1040px; -} -.camera_pistachio_skin .camera_nextThumbs div { - background-position: -190px -1040px; -} -.camera_pistachio_skin .camera_prev > span { - background-position: 0 -1040px; -} -.camera_pistachio_skin .camera_next > span { - background-position: -40px -1040px; -} -.camera_pistachio_skin .camera_commands > .camera_play { - background-position: -80px -1040px; -} -.camera_pistachio_skin .camera_commands > .camera_stop { - background-position: -120px -1040px ; -} -/*PINK SKIN*/ -.camera_pink_skin .camera_prevThumbs div { - background-position: -160px -80px; -} -.camera_pink_skin .camera_nextThumbs div { - background-position: -190px -80px; -} -.camera_pink_skin .camera_prev > span { - background-position: 0 -80px; -} -.camera_pink_skin .camera_next > span { - background-position: -40px -80px; -} -.camera_pink_skin .camera_commands > .camera_play { - background-position: -80px -80px; -} -.camera_pink_skin .camera_commands > .camera_stop { - background-position: -120px -80px; -} -/*RED SKIN*/ -.camera_red_skin .camera_prevThumbs div { - background-position: -160px -1000px; -} -.camera_red_skin .camera_nextThumbs div { - background-position: -190px -1000px; -} -.camera_red_skin .camera_prev > span { - background-position: 0 -1000px; -} -.camera_red_skin .camera_next > span { - background-position: -40px -1000px; -} -.camera_red_skin .camera_commands > .camera_play { - background-position: -80px -1000px; -} -.camera_red_skin .camera_commands > .camera_stop { - background-position: -120px -1000px ; -} -/*TANGERINE SKIN*/ -.camera_tangerine_skin .camera_prevThumbs div { - background-position: -160px -1120px; -} -.camera_tangerine_skin .camera_nextThumbs div { - background-position: -190px -1120px; -} -.camera_tangerine_skin .camera_prev > span { - background-position: 0 -1120px; -} -.camera_tangerine_skin .camera_next > span { - background-position: -40px -1120px; -} -.camera_tangerine_skin .camera_commands > .camera_play { - background-position: -80px -1120px; -} -.camera_tangerine_skin .camera_commands > .camera_stop { - background-position: -120px -1120px ; -} -/*TURQUOISE SKIN*/ -.camera_turquoise_skin .camera_prevThumbs div { - background-position: -160px -1160px; -} -.camera_turquoise_skin .camera_nextThumbs div { - background-position: -190px -1160px; -} -.camera_turquoise_skin .camera_prev > span { - background-position: 0 -1160px; -} -.camera_turquoise_skin .camera_next > span { - background-position: -40px -1160px; -} -.camera_turquoise_skin .camera_commands > .camera_play { - background-position: -80px -1160px; -} -.camera_turquoise_skin .camera_commands > .camera_stop { - background-position: -120px -1160px ; -} -/*VIOLET SKIN*/ -.camera_violet_skin .camera_prevThumbs div { - background-position: -160px -1200px; -} -.camera_violet_skin .camera_nextThumbs div { - background-position: -190px -1200px; -} -.camera_violet_skin .camera_prev > span { - background-position: 0 -1200px; -} -.camera_violet_skin .camera_next > span { - background-position: -40px -1200px; -} -.camera_violet_skin .camera_commands > .camera_play { - background-position: -80px -1200px; -} -.camera_violet_skin .camera_commands > .camera_stop { - background-position: -120px -1200px ; -} -/*WHITE SKIN*/ -.camera_white_skin .camera_prevThumbs div { - background-position: -160px -80px; -} -.camera_white_skin .camera_nextThumbs div { - background-position: -190px -80px; -} -.camera_white_skin .camera_prev > span { - background-position: 0 -80px; -} -.camera_white_skin .camera_next > span { - background-position: -40px -80px; -} -.camera_white_skin .camera_commands > .camera_play { - background-position: -80px -80px; -} -.camera_white_skin .camera_commands > .camera_stop { - background-position: -120px -80px; -} -/*YELLOW SKIN*/ -.camera_yellow_skin .camera_prevThumbs div { - background-position: -160px -1240px; -} -.camera_yellow_skin .camera_nextThumbs div { - background-position: -190px -1240px; -} -.camera_yellow_skin .camera_prev > span { - background-position: 0 -1240px; -} -.camera_yellow_skin .camera_next > span { - background-position: -40px -1240px; -} -.camera_yellow_skin .camera_commands > .camera_play { - background-position: -80px -1240px; -} -.camera_yellow_skin .camera_commands > .camera_stop { - background-position: -120px -1240px ; -} - -/* Custom css */ -.camera_wrap .blind{overflow:hidden;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0} -.camera_caption{display:table;position:static;width:100%;height:100%} -.camera_caption > div{display:table-cell;padding:0;vertical-align:middle;background:none} -.camera_caption > div a{position:absolute;width:100%;height:100%} -.camera_caption > div h1,.camera_caption > div p{width:1200px;margin:0 auto 19px;font-size:60px;line-height:70px;text-decoration:none;color:#fff;font-weight:normal;font-family:Raleway,'나눔바른고딕',NanumBarunGothic,ng,'돋움',Dotum,AppleGothic,Helvetica,serif} -.camera_caption > div h1{font-weight:700} -.camera_caption > div p{font-size:20px;line-height:22px} -.camera_wrap .camera_pag .camera_pag_ul{position:relative;top:-50px;text-align:center} -.camera_wrap .camera_pag .camera_pag_ul li{width:8px;height:8px;margin:20px 3px;background:#fff;opacity:0.6;filter:alpha(opacity=60)} -.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent{background:#fff;opacity:1;filter:alpha(opacity=100)} -.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent span{background:none} -.camera_wrap .camera_pag .camera_pag_ul li:hover{background:#fff;opacity:1;filter:alpha(opacity=100)} -.camera_wrap .camera_pag .camera_pag_ul li:hover > span{background:none} -.camera_prev, .camera_next{width:58px;height:58px;margin-top:-29px;background:none} -.camera_prev > span,.camera_next > span{display:block;width:58px;height:58px;border-radius:100%;font-size:20px;color:#fff;color:rgba(255,255,255,0.8);line-height:60px;text-align:center;-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#10000000,endColorstr=#10000000);background-image:none;background-color:#888;background-color:rgba(0,0,0,0.1)} -.camera_prev > span:hover,.camera_next > span:hover{-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#60000000,endColorstr=#60000000);background-color:#444;background-color:rgba(0,0,0,0.4);color:#fff} -.camera_prev{left:24px} -.camera_next{right:24px} \ No newline at end of file diff --git a/layouts/xedition/css/camera.min.css b/layouts/xedition/css/camera.min.css deleted file mode 100644 index 7820af4ed..000000000 --- a/layouts/xedition/css/camera.min.css +++ /dev/null @@ -1 +0,0 @@ -.camera_thumbs_wrap img,.camera_thumbs_wrap li,.camera_thumbs_wrap ol,.camera_thumbs_wrap table,.camera_thumbs_wrap tbody,.camera_thumbs_wrap td,.camera_thumbs_wrap tfoot,.camera_thumbs_wrap th,.camera_thumbs_wrap thead,.camera_thumbs_wrap tr,.camera_thumbs_wrap ul,.camera_wrap a,.camera_wrap img,.camera_wrap li,.camera_wrap ol,.camera_wrap table,.camera_wrap tbody,.camera_wrap td .camera_thumbs_wrap a,.camera_wrap tfoot,.camera_wrap th,.camera_wrap thead,.camera_wrap tr,.camera_wrap ul{background:0 0;border:0;font:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline;list-style:none}.camera_wrap{display:none;float:left;position:relative;z-index:0}.camera_wrap img{max-width:none!important}.camera_fakehover{height:100%;min-height:60px;position:relative;width:100%;z-index:1}.camera_wrap{width:100%}.camera_src{display:none}.cameraCont,.cameraContents{height:100%;position:relative;width:100%;z-index:1}.cameraSlide{bottom:0;left:0;position:absolute;right:0;top:0;width:100%}.cameraContent{bottom:0;display:none;left:0;position:absolute;right:0;top:0;width:100%}.camera_target{bottom:0;height:100%;left:0;overflow:hidden;position:absolute;right:0;text-align:left;top:0;width:100%;z-index:0}.camera_overlayer{bottom:0;height:100%;left:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:0}.camera_target_content{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:2}.camera_target_content .camera_link{background:url(../img/blank.gif);display:block;height:100%;text-decoration:none}.camera_loader{background:#fff url(../img/camera-loader.gif) no-repeat center;background:rgba(255,255,255,.9) url(../img/camera-loader.gif) no-repeat center;border:1px solid #fff;-webkit-border-radius:18px;-moz-border-radius:18px;border-radius:18px;height:36px;left:50%;overflow:hidden;position:absolute;margin:-18px 0 0 -18px;top:50%;width:36px;z-index:3}.camera_bar{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:3}.camera_thumbs_wrap.camera_left .camera_bar,.camera_thumbs_wrap.camera_right .camera_bar{height:100%;position:absolute;width:auto}.camera_thumbs_wrap.camera_bottom .camera_bar,.camera_thumbs_wrap.camera_top .camera_bar{height:auto;position:absolute;width:100%}.camera_nav_cont{height:65px;overflow:hidden;position:absolute;right:9px;top:15px;width:120px;z-index:4}.camera_caption{bottom:0}.camera_caption_wrap{width:1200px;margin:0 auto;font-size:20px;line-height:22px}.camera_caption_wrap>div{padding:10px 20px}.camerarelative{overflow:hidden;position:relative}.imgFake{cursor:pointer}.camera_prevThumbs{bottom:4px;cursor:pointer;left:0;position:absolute;top:4px;visibility:hidden;width:30px;z-index:10}.camera_prevThumbs div{background:url(../img/camera_skins.png) no-repeat -160px 0;display:block;height:40px;margin-top:-20px;position:absolute;top:50%;width:30px}.camera_nextThumbs{bottom:4px;cursor:pointer;position:absolute;right:0;top:4px;visibility:hidden;width:30px;z-index:10}.camera_nextThumbs div{background:url(../img/camera_skins.png) no-repeat -190px 0;display:block;height:40px;margin-top:-20px;position:absolute;top:50%;width:30px}.camera_command_wrap .hideNav{display:none}.camera_command_wrap{left:0;position:relative;right:0;z-index:4}.camera_wrap .camera_pag .camera_pag_ul{list-style:none;margin:0;padding:0}.camera_wrap .camera_pag .camera_pag_ul li{text-align:left}.camera_commands_emboss .camera_pag .camera_pag_ul li{-moz-box-shadow:0 1px 0 rgba(255,255,255,1),inset 0 1px 1px rgba(0,0,0,.2);-webkit-box-shadow:0 1px 0 rgba(255,255,255,1),inset 0 1px 1px rgba(0,0,0,.2);box-shadow:0 1px 0 rgba(255,255,255,1),inset 0 1px 1px rgba(0,0,0,.2)}.camera_wrap .camera_pag .camera_pag_ul li>span{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;height:8px;left:4px;overflow:hidden;position:absolute;top:4px;width:8px}.camera_commands_emboss .camera_pag .camera_pag_ul li:hover>span{-moz-box-shadow:0 1px 0 rgba(255,255,255,1),inset 0 1px 1px rgba(0,0,0,.2);-webkit-box-shadow:0 1px 0 rgba(255,255,255,1),inset 0 1px 1px rgba(0,0,0,.2);box-shadow:0 1px 0 rgba(255,255,255,1),inset 0 1px 1px rgba(0,0,0,.2)}.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent>span{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.camera_pag_ul li img{display:none;position:absolute}.camera_pag_ul .thumb_arrow{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid;top:0;left:50%;margin-left:-4px;position:absolute}.camera_commands,.camera_next,.camera_prev{cursor:pointer;height:40px;margin-top:-20px;position:absolute;top:50%;width:40px;z-index:2}.camera_prev>span{background:url(../img/camera_skins.png) no-repeat 0 0}.camera_next>span{background:url(../img/camera_skins.png) no-repeat -40px 0}.camera_commands{right:41px}.camera_commands>.camera_play{background:url(../img/camera_skins.png) no-repeat -80px 0;height:40px;width:40px}.camera_commands>.camera_stop{background:url(../img/camera_skins.png) no-repeat -120px 0;display:block;height:40px;width:40px}.camera_wrap .camera_pag .camera_pag_ul li{-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;cursor:pointer;display:inline-block;position:relative;text-indent:-9999px}.camera_thumbs_cont{-webkit-border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;overflow:hidden;position:relative;width:100%}.camera_commands_emboss .camera_thumbs_cont{-moz-box-shadow:0 1px 0 rgba(255,255,255,1),inset 0 1px 1px rgba(0,0,0,.2);-webkit-box-shadow:0 1px 0 rgba(255,255,255,1),inset 0 1px 1px rgba(0,0,0,.2);box-shadow:0 1px 0 rgba(255,255,255,1),inset 0 1px 1px rgba(0,0,0,.2)}.camera_thumbs_cont>div{float:left;width:100%}.camera_thumbs_cont ul{overflow:hidden;padding:3px 4px 8px;position:relative;text-align:center}.camera_thumbs_cont ul li{display:inline;padding:0 4px}.camera_thumbs_cont ul li>img{cursor:pointer;margin-top:5px;vertical-align:bottom}.showIt{display:none}.camera_clear{clear:both;display:block;height:1px;margin:-1px 0 25px;position:relative}.pattern_1 .camera_overlayer{background:url(../img/patterns/overlay1.png) repeat}.pattern_2 .camera_overlayer{background:url(../img/patterns/overlay2.png) repeat}.pattern_3 .camera_overlayer{background:url(../img/patterns/overlay3.png) repeat}.pattern_4 .camera_overlayer{background:url(../img/patterns/overlay4.png) repeat}.pattern_5 .camera_overlayer{background:url(../img/patterns/overlay5.png) repeat}.pattern_6 .camera_overlayer{background:url(../img/patterns/overlay6.png) repeat}.pattern_7 .camera_overlayer{background:url(../img/patterns/overlay7.png) repeat}.pattern_8 .camera_overlayer{background:url(../img/patterns/overlay8.png) repeat}.pattern_9 .camera_overlayer{background:url(../img/patterns/overlay9.png) repeat}.pattern_10 .camera_overlayer{background:url(../img/patterns/overlay10.png) repeat}.camera_caption{color:#fff}.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent>span{background:#434648}.camera_pag_ul li img{border:4px solid #e6e6e6;-moz-box-shadow:0 3px 6px rgba(0,0,0,.5);-webkit-box-shadow:0 3px 6px rgba(0,0,0,.5);box-shadow:0 3px 6px rgba(0,0,0,.5)}.camera_pag_ul .thumb_arrow{border-top-color:#e6e6e6}.camera_commands,.camera_next,.camera_nextThumbs,.camera_prev,.camera_prevThumbs,.camera_thumbs_cont{background:#d8d8d8;background:rgba(216,216,216,.85)}.camera_thumbs_cont ul li>img{border:1px solid #000}.camera_amber_skin .camera_prevThumbs div{background-position:-160px -160px}.camera_amber_skin .camera_nextThumbs div{background-position:-190px -160px}.camera_amber_skin .camera_prev>span{background-position:0 -160px}.camera_amber_skin .camera_next>span{background-position:-40px -160px}.camera_amber_skin .camera_commands>.camera_play{background-position:-80px -160px}.camera_amber_skin .camera_commands>.camera_stop{background-position:-120px -160px}.camera_ash_skin .camera_prevThumbs div{background-position:-160px -200px}.camera_ash_skin .camera_nextThumbs div{background-position:-190px -200px}.camera_ash_skin .camera_prev>span{background-position:0 -200px}.camera_ash_skin .camera_next>span{background-position:-40px -200px}.camera_ash_skin .camera_commands>.camera_play{background-position:-80px -200px}.camera_ash_skin .camera_commands>.camera_stop{background-position:-120px -200px}.camera_azure_skin .camera_prevThumbs div{background-position:-160px -240px}.camera_azure_skin .camera_nextThumbs div{background-position:-190px -240px}.camera_azure_skin .camera_prev>span{background-position:0 -240px}.camera_azure_skin .camera_next>span{background-position:-40px -240px}.camera_azure_skin .camera_commands>.camera_play{background-position:-80px -240px}.camera_azure_skin .camera_commands>.camera_stop{background-position:-120px -240px}.camera_beige_skin .camera_prevThumbs div{background-position:-160px -120px}.camera_beige_skin .camera_nextThumbs div{background-position:-190px -120px}.camera_beige_skin .camera_prev>span{background-position:0 -120px}.camera_beige_skin .camera_next>span{background-position:-40px -120px}.camera_beige_skin .camera_commands>.camera_play{background-position:-80px -120px}.camera_beige_skin .camera_commands>.camera_stop{background-position:-120px -120px}.camera_black_skin .camera_prevThumbs div{background-position:-160px -40px}.camera_black_skin .camera_nextThumbs div{background-position:-190px -40px}.camera_black_skin .camera_prev>span{background-position:0 -40px}.camera_black_skin .camera_next>span{background-position:-40px -40px}.camera_black_skin .camera_commands>.camera_play{background-position:-80px -40px}.camera_black_skin .camera_commands>.camera_stop{background-position:-120px -40px}.camera_blue_skin .camera_prevThumbs div{background-position:-160px -280px}.camera_blue_skin .camera_nextThumbs div{background-position:-190px -280px}.camera_blue_skin .camera_prev>span{background-position:0 -280px}.camera_blue_skin .camera_next>span{background-position:-40px -280px}.camera_blue_skin .camera_commands>.camera_play{background-position:-80px -280px}.camera_blue_skin .camera_commands>.camera_stop{background-position:-120px -280px}.camera_brown_skin .camera_prevThumbs div{background-position:-160px -320px}.camera_brown_skin .camera_nextThumbs div{background-position:-190px -320px}.camera_brown_skin .camera_prev>span{background-position:0 -320px}.camera_brown_skin .camera_next>span{background-position:-40px -320px}.camera_brown_skin .camera_commands>.camera_play{background-position:-80px -320px}.camera_brown_skin .camera_commands>.camera_stop{background-position:-120px -320px}.camera_burgundy_skin .camera_prevThumbs div{background-position:-160px -360px}.camera_burgundy_skin .camera_nextThumbs div{background-position:-190px -360px}.camera_burgundy_skin .camera_prev>span{background-position:0 -360px}.camera_burgundy_skin .camera_next>span{background-position:-40px -360px}.camera_burgundy_skin .camera_commands>.camera_play{background-position:-80px -360px}.camera_burgundy_skin .camera_commands>.camera_stop{background-position:-120px -360px}.camera_charcoal_skin .camera_prevThumbs div{background-position:-160px -400px}.camera_charcoal_skin .camera_nextThumbs div{background-position:-190px -400px}.camera_charcoal_skin .camera_prev>span{background-position:0 -400px}.camera_charcoal_skin .camera_next>span{background-position:-40px -400px}.camera_charcoal_skin .camera_commands>.camera_play{background-position:-80px -400px}.camera_charcoal_skin .camera_commands>.camera_stop{background-position:-120px -400px}.camera_chocolate_skin .camera_prevThumbs div{background-position:-160px -440px}.camera_chocolate_skin .camera_nextThumbs div{background-position:-190px -440px}.camera_chocolate_skin .camera_prev>span{background-position:0 -440px}.camera_chocolate_skin .camera_next>span{background-position:-40px -440px}.camera_chocolate_skin .camera_commands>.camera_play{background-position:-80px -440px}.camera_chocolate_skin .camera_commands>.camera_stop{background-position:-120px -440px}.camera_coffee_skin .camera_prevThumbs div{background-position:-160px -480px}.camera_coffee_skin .camera_nextThumbs div{background-position:-190px -480px}.camera_coffee_skin .camera_prev>span{background-position:0 -480px}.camera_coffee_skin .camera_next>span{background-position:-40px -480px}.camera_coffee_skin .camera_commands>.camera_play{background-position:-80px -480px}.camera_coffee_skin .camera_commands>.camera_stop{background-position:-120px -480px}.camera_cyan_skin .camera_prevThumbs div{background-position:-160px -520px}.camera_cyan_skin .camera_nextThumbs div{background-position:-190px -520px}.camera_cyan_skin .camera_prev>span{background-position:0 -520px}.camera_cyan_skin .camera_next>span{background-position:-40px -520px}.camera_cyan_skin .camera_commands>.camera_play{background-position:-80px -520px}.camera_cyan_skin .camera_commands>.camera_stop{background-position:-120px -520px}.camera_fuchsia_skin .camera_prevThumbs div{background-position:-160px -560px}.camera_fuchsia_skin .camera_nextThumbs div{background-position:-190px -560px}.camera_fuchsia_skin .camera_prev>span{background-position:0 -560px}.camera_fuchsia_skin .camera_next>span{background-position:-40px -560px}.camera_fuchsia_skin .camera_commands>.camera_play{background-position:-80px -560px}.camera_fuchsia_skin .camera_commands>.camera_stop{background-position:-120px -560px}.camera_gold_skin .camera_prevThumbs div{background-position:-160px -600px}.camera_gold_skin .camera_nextThumbs div{background-position:-190px -600px}.camera_gold_skin .camera_prev>span{background-position:0 -600px}.camera_gold_skin .camera_next>span{background-position:-40px -600px}.camera_gold_skin .camera_commands>.camera_play{background-position:-80px -600px}.camera_gold_skin .camera_commands>.camera_stop{background-position:-120px -600px}.camera_green_skin .camera_prevThumbs div{background-position:-160px -640px}.camera_green_skin .camera_nextThumbs div{background-position:-190px -640px}.camera_green_skin .camera_prev>span{background-position:0 -640px}.camera_green_skin .camera_next>span{background-position:-40px -640px}.camera_green_skin .camera_commands>.camera_play{background-position:-80px -640px}.camera_green_skin .camera_commands>.camera_stop{background-position:-120px -640px}.camera_grey_skin .camera_prevThumbs div{background-position:-160px -680px}.camera_grey_skin .camera_nextThumbs div{background-position:-190px -680px}.camera_grey_skin .camera_prev>span{background-position:0 -680px}.camera_grey_skin .camera_next>span{background-position:-40px -680px}.camera_grey_skin .camera_commands>.camera_play{background-position:-80px -680px}.camera_grey_skin .camera_commands>.camera_stop{background-position:-120px -680px}.camera_indigo_skin .camera_prevThumbs div{background-position:-160px -720px}.camera_indigo_skin .camera_nextThumbs div{background-position:-190px -720px}.camera_indigo_skin .camera_prev>span{background-position:0 -720px}.camera_indigo_skin .camera_next>span{background-position:-40px -720px}.camera_indigo_skin .camera_commands>.camera_play{background-position:-80px -720px}.camera_indigo_skin .camera_commands>.camera_stop{background-position:-120px -720px}.camera_khaki_skin .camera_prevThumbs div{background-position:-160px -760px}.camera_khaki_skin .camera_nextThumbs div{background-position:-190px -760px}.camera_khaki_skin .camera_prev>span{background-position:0 -760px}.camera_khaki_skin .camera_next>span{background-position:-40px -760px}.camera_khaki_skin .camera_commands>.camera_play{background-position:-80px -760px}.camera_khaki_skin .camera_commands>.camera_stop{background-position:-120px -760px}.camera_lime_skin .camera_prevThumbs div{background-position:-160px -800px}.camera_lime_skin .camera_nextThumbs div{background-position:-190px -800px}.camera_lime_skin .camera_prev>span{background-position:0 -800px}.camera_lime_skin .camera_next>span{background-position:-40px -800px}.camera_lime_skin .camera_commands>.camera_play{background-position:-80px -800px}.camera_lime_skin .camera_commands>.camera_stop{background-position:-120px -800px}.camera_magenta_skin .camera_prevThumbs div{background-position:-160px -840px}.camera_magenta_skin .camera_nextThumbs div{background-position:-190px -840px}.camera_magenta_skin .camera_prev>span{background-position:0 -840px}.camera_magenta_skin .camera_next>span{background-position:-40px -840px}.camera_magenta_skin .camera_commands>.camera_play{background-position:-80px -840px}.camera_magenta_skin .camera_commands>.camera_stop{background-position:-120px -840px}.camera_maroon_skin .camera_prevThumbs div{background-position:-160px -880px}.camera_maroon_skin .camera_nextThumbs div{background-position:-190px -880px}.camera_maroon_skin .camera_prev>span{background-position:0 -880px}.camera_maroon_skin .camera_next>span{background-position:-40px -880px}.camera_maroon_skin .camera_commands>.camera_play{background-position:-80px -880px}.camera_maroon_skin .camera_commands>.camera_stop{background-position:-120px -880px}.camera_orange_skin .camera_prevThumbs div{background-position:-160px -920px}.camera_orange_skin .camera_nextThumbs div{background-position:-190px -920px}.camera_orange_skin .camera_prev>span{background-position:0 -920px}.camera_orange_skin .camera_next>span{background-position:-40px -920px}.camera_orange_skin .camera_commands>.camera_play{background-position:-80px -920px}.camera_orange_skin .camera_commands>.camera_stop{background-position:-120px -920px}.camera_olive_skin .camera_prevThumbs div{background-position:-160px -1080px}.camera_olive_skin .camera_nextThumbs div{background-position:-190px -1080px}.camera_olive_skin .camera_prev>span{background-position:0 -1080px}.camera_olive_skin .camera_next>span{background-position:-40px -1080px}.camera_olive_skin .camera_commands>.camera_play{background-position:-80px -1080px}.camera_olive_skin .camera_commands>.camera_stop{background-position:-120px -1080px}.camera_pistachio_skin .camera_prevThumbs div{background-position:-160px -1040px}.camera_pistachio_skin .camera_nextThumbs div{background-position:-190px -1040px}.camera_pistachio_skin .camera_prev>span{background-position:0 -1040px}.camera_pistachio_skin .camera_next>span{background-position:-40px -1040px}.camera_pistachio_skin .camera_commands>.camera_play{background-position:-80px -1040px}.camera_pistachio_skin .camera_commands>.camera_stop{background-position:-120px -1040px}.camera_pink_skin .camera_prevThumbs div{background-position:-160px -80px}.camera_pink_skin .camera_nextThumbs div{background-position:-190px -80px}.camera_pink_skin .camera_prev>span{background-position:0 -80px}.camera_pink_skin .camera_next>span{background-position:-40px -80px}.camera_pink_skin .camera_commands>.camera_play{background-position:-80px -80px}.camera_pink_skin .camera_commands>.camera_stop{background-position:-120px -80px}.camera_red_skin .camera_prevThumbs div{background-position:-160px -1000px}.camera_red_skin .camera_nextThumbs div{background-position:-190px -1000px}.camera_red_skin .camera_prev>span{background-position:0 -1000px}.camera_red_skin .camera_next>span{background-position:-40px -1000px}.camera_red_skin .camera_commands>.camera_play{background-position:-80px -1000px}.camera_red_skin .camera_commands>.camera_stop{background-position:-120px -1000px}.camera_tangerine_skin .camera_prevThumbs div{background-position:-160px -1120px}.camera_tangerine_skin .camera_nextThumbs div{background-position:-190px -1120px}.camera_tangerine_skin .camera_prev>span{background-position:0 -1120px}.camera_tangerine_skin .camera_next>span{background-position:-40px -1120px}.camera_tangerine_skin .camera_commands>.camera_play{background-position:-80px -1120px}.camera_tangerine_skin .camera_commands>.camera_stop{background-position:-120px -1120px}.camera_turquoise_skin .camera_prevThumbs div{background-position:-160px -1160px}.camera_turquoise_skin .camera_nextThumbs div{background-position:-190px -1160px}.camera_turquoise_skin .camera_prev>span{background-position:0 -1160px}.camera_turquoise_skin .camera_next>span{background-position:-40px -1160px}.camera_turquoise_skin .camera_commands>.camera_play{background-position:-80px -1160px}.camera_turquoise_skin .camera_commands>.camera_stop{background-position:-120px -1160px}.camera_violet_skin .camera_prevThumbs div{background-position:-160px -1200px}.camera_violet_skin .camera_nextThumbs div{background-position:-190px -1200px}.camera_violet_skin .camera_prev>span{background-position:0 -1200px}.camera_violet_skin .camera_next>span{background-position:-40px -1200px}.camera_violet_skin .camera_commands>.camera_play{background-position:-80px -1200px}.camera_violet_skin .camera_commands>.camera_stop{background-position:-120px -1200px}.camera_white_skin .camera_prevThumbs div{background-position:-160px -80px}.camera_white_skin .camera_nextThumbs div{background-position:-190px -80px}.camera_white_skin .camera_prev>span{background-position:0 -80px}.camera_white_skin .camera_next>span{background-position:-40px -80px}.camera_white_skin .camera_commands>.camera_play{background-position:-80px -80px}.camera_white_skin .camera_commands>.camera_stop{background-position:-120px -80px}.camera_yellow_skin .camera_prevThumbs div{background-position:-160px -1240px}.camera_yellow_skin .camera_nextThumbs div{background-position:-190px -1240px}.camera_yellow_skin .camera_prev>span{background-position:0 -1240px}.camera_yellow_skin .camera_next>span{background-position:-40px -1240px}.camera_yellow_skin .camera_commands>.camera_play{background-position:-80px -1240px}.camera_yellow_skin .camera_commands>.camera_stop{background-position:-120px -1240px}.camera_wrap .blind{overflow:hidden;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0}.camera_caption{display:table;position:static;width:100%;height:100%}.camera_caption>div{display:table-cell;padding:0;vertical-align:middle;background:0 0}.camera_caption>div a{position:absolute;width:100%;height:100%}.camera_caption>div h1,.camera_caption>div p{width:1200px;margin:0 auto 19px;font-size:60px;line-height:70px;text-decoration:none;color:#fff;font-weight:400;font-family:Raleway,'나눔바른고딕',NanumBarunGothic,ng,'돋움',Dotum,AppleGothic,Helvetica,serif}.camera_caption>div h1{font-weight:700}.camera_caption>div p{font-size:20px;line-height:22px}.camera_wrap .camera_pag .camera_pag_ul{position:relative;top:-50px;text-align:center}.camera_wrap .camera_pag .camera_pag_ul li{width:8px;height:8px;margin:20px 3px;background:#fff;opacity:.6;filter:alpha(opacity=60)}.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent{background:#fff;opacity:1;filter:alpha(opacity=100)}.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent span{background:0 0}.camera_wrap .camera_pag .camera_pag_ul li:hover{background:#fff;opacity:1;filter:alpha(opacity=100)}.camera_wrap .camera_pag .camera_pag_ul li:hover>span{background:0 0}.camera_next,.camera_prev{width:58px;height:58px;margin-top:-29px;background:0 0}.camera_next>span,.camera_prev>span{display:block;width:58px;height:58px;border-radius:100%;font-size:20px;color:#fff;color:rgba(255,255,255,.8);line-height:60px;text-align:center;-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#10000000, endColorstr=#10000000);background-image:none;background-color:#888;background-color:rgba(0,0,0,.1)}.camera_next>span:hover,.camera_prev>span:hover{-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#60000000, endColorstr=#60000000);background-color:#444;background-color:rgba(0,0,0,.4);color:#fff}.camera_prev{left:24px}.camera_next{right:24px} \ No newline at end of file diff --git a/layouts/xedition/css/layout.css b/layouts/xedition/css/layout.css index b9ad4ed60..6a30f2db0 100644 --- a/layouts/xedition/css/layout.css +++ b/layouts/xedition/css/layout.css @@ -17,196 +17,297 @@ a:hover,a:active,a:focus{text-decoration:none} .skip>a{display:block;overflow:hidden;height:0;line-height:28px;text-align:center} .skip>a:focus{height:auto} -/* Layout */ -.container{min-width:1240px;background-color:#fff} -.header{position:relative;z-index:2;width:1200px;height:100%;margin:0 auto;zoom:1} -.header>.side{float:right;z-index:2;margin:39px 0 0 22px;line-height:20px} -.visual{overflow:hidden;position:relative;z-index:1;width:100%} -.body{position:relative;padding:30px 0} -.body .content{} -.body.fixed-width {width:1200px;margin:0 auto} +@media all and (max-width:479px) { + a.btn_top { display:none; } + /* Layout */ + .container{width:100%;background-color:#fff} + .header{position:relative;z-index:2;width:100%;height:auto;margin:0 auto;zoom:1} -.header:after,.body:after{display:block;clear:both;content:''} -.content{zoom:1} -.content:after{display:block;clear:both;content:''} -.content>:first-child{margin-top:0} -.content img{max-width:100%;height:auto} + + .header > h1 { margin:0; padding:0 15px; line-height:50px; display:block; } + .header > h1 img { max-height:15px; } + .header.sub_type3 { position:absolute; } + + /* Login */ + .header>.side { display:none; } + + /* Search */ + .search_wrap{display:none;} + + /* GNB */ + .gnb{ display:; } + .gnb .menu_btn { height:22px; width:44px; position:absolute; top:14px; right:3px; display:inline-block; } + .gnb .menu_btn .menu_bar { width:20px; height:14px;position:relative; top:4px; left:12px; } + .gnb .menu_btn .menu_bar div { height:0; border-top:2px solid #383431; position:absolute; } + .header.sub_type3 .gnb .menu_btn .menu_bar div { border-top:2px solid #fff; } + .gnb .menu_btn .menu_bar div.btn1 { width:20px; top:0; } + .gnb .menu_btn .menu_bar div.btn2 { width:20px; top:6px; transition:all 0.1s } + .gnb .menu_btn .menu_bar div.btn3 { width:20px; bottom:0; } + + .gnb .menu_btn.opened .menu_bar div.btn1 { top:6px; width:20px; -webkit-transform:rotate(45deg); -o-transform:rotate(45deg); transform:rotate(45deg); } + .gnb .menu_btn.opened .menu_bar div.btn2 { top:6px; display:none; } + .gnb .menu_btn.opened .menu_bar div.btn3 { top:6px; width:20px; -webkit-transform:rotate(-45deg); -o-transform:rotate(-45deg); transform:rotate(-45deg); } + + .gnb > ul { display:none; padding:0 14px 14px 14px; max-height:240px; overflow-x: scroll; border-bottom:1px solid #eaeaea; background:#fff; -webkit-overflow-scrolling:touch; } + .gnb > ul > li { } + .gnb > ul > li > a { color:#555; font-weight:bold; } + .gnb a { font-size:14px; display:block; padding:10px 0; border-top:1px solid #eee; } + .gnb > ul > li:first-child > a { border-top:0; } + .gnb > ul > li > ul > li > a { color:#555; } + .gnb > ul > li > ul > li > ul > li > a { color:#999; } + + .body { } + .body .lnb { display:none; } + .body .content { overflow:hidden; } + + .visual.sub{position:relative;padding:15px 14px 30px 14px;background-color:#f6f6f6;line-height:30px} + .visual.sub .sub_title{position:relative;z-index:2;width:;margin:0 auto} + .visual.sub .sub_title h1{position:relative;font-weight:700;font-family:Raleway,'나눔바른고딕',NanumBarunGothic,ng,'맑은 고딕','Malgun Gothic','돋움',Dotum,'애플 SD 산돌고딕 Neo','Apple SD Gothic Neo',AppleGothic,Helvetica,sans-serif;font-size:17px;color:#444} + .visual.sub .sub_title h1:after{position:absolute;top:115%;left:0;width:22px;height:2px;background-color:#444;content:''} + .visual.sub .bg_img{display:none;position:absolute;top:0;left:0;z-index:0;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover} + .visual.sub.sub_type2{padding:70px 0} + .visual.sub.sub_type2 .bg_img{display:block} + .visual.sub.sub_type2 .sub_title h1{color:#fff;font-weight:400;font-size:23px;letter-spacing:1px} + .visual.sub.sub_type2 .sub_title h1:after, + .visual.sub.sub_type3 .sub_title h1:after{background:none} + .visual.sub.sub_type3{padding:100px 0 90px;line-height:40px;text-align:center} + .visual.sub.sub_type3 .bg_img{display:block;background-attachment:fixed;background-size:auto auto} + .visual.sub.sub_type3 .sub_title h1{font-size:39px;font-weight:400;color:#fff;letter-spacing:2px} + + .swiper-container { height:270px; font-family: Raleway,'나눔바른고딕',NanumBarunGothic,ng,'돋움',Dotum,AppleGothic,Helvetica,serif; } + .swiper-container > div > div { display: table; height:270px; color:#fff; } + .swiper-container > div > div > div { display: table-cell; vertical-align: middle; } + .swiper-container > div > div > div > div { padding:0 14px; } + .swiper-container h1 { font-weight:600; margin:0 0 10px 0; font-size:30px; line-height:40px; text-decoration: none; } + .swiper-container p { font-size: 15px; line-height: 18px; } + + + .footer { border-top:1px solid #e4e4e4; border-bottom:3px solid #cda25a; background-color:#f1f1f1; } + .footer a:hover,.footer a:focus{text-decoration:none} + .footer .f_info_area{ padding:0; } + .footer .f_info2{ display:none; } + .footer .f_logo { padding:8px 15px; } + .footer .f_logo img { max-height:30px; } + .footer .sub_desc { display:none; } + .footer .f_cr_area { padding:0;background-color:#555; color:#fff; } + .footer .f_cr_area p { margin:0; padding:8px 14px; } + .footer .f_cr_area a { color:#fff; } + .footer .f_cr_area .mobile-footer-member { padding:0; margin:0; border-top:1px solid #444; list-style:none; overflow:hidden; } + .footer .f_cr_area .mobile-footer-member li { float:left; width:33.3%; border-left:1px solid #444; box-sizing:border-box; } + .footer .f_cr_area .mobile-footer-member li:first-child { border-left:0; } + .footer .f_cr_area .mobile-footer-member li a { display:block; line-height:32px; text-align:center; } + + /* button */ + .btn_item{display:inline-block;margin:35px 0;padding:0 27px;height:50px;font-family: "Open Sans";background-color:#555;font-size:14px;line-height:50px;letter-spacing:1px;color:#FFF;-webkit-transition: all .2s ease-in-out;-moz-transition: all .2s ease-in-out;-ms-transition: all .2s ease-in-out;-o-transition: all .2s ease-in-out;transition: all .2s ease-in-out} + .btn_item:hover, + .btn_item:active + .btn_item:focus{background-color:#CBA061;color:#fff} + .btn_item + .btn_item {margin-left: 10px; } +} -/* Header */ -.header>h1{float:left;padding:20px 0;margin-right:32px;line-height:60px;} -.header>h1 img{vertical-align:middle; max-height:40px; } +@media all and (min-width: 480px){ + /* Layout */ + .container{min-width:1240px;background-color:#fff} + .header{position:relative;z-index:2;width:1240px;height:100%;margin:0 auto;zoom:1} + .header>.side{float:right;z-index:2;margin:39px 0 0 22px;line-height:20px} + .visual{overflow:hidden;position:relative;z-index:1;width:100%} + .body{position:relative;padding:30px 0} + .body .content{} + .body.fixed-width {width:1200px;margin:0 auto} + + .header:after,.body:after{display:block;clear:both;content:''} + .content{zoom:1} + .content:after{display:block;clear:both;content:''} + .content>:first-child{margin-top:0} + .content img{max-width:100%;height:auto} + + /* Header */ + .header>h1{float:left;padding:20px 0 20px 0;margin-right:32px;line-height:60px;} + .header>h1 img{vertical-align:middle; max-height:40px; padding-left:20px; } + + /* Fixed Header */ + .container.fixed_header{padding-top:100px} + .fixed_header .header_wrap{position:absolute;top:0;left:0;width:100%;z-index:1000} + .fixed_header .header_wrap.shrink{position:fixed;top:0;width:100%;z-index:1000;border-bottom:1px solid #e1e1e1;background-color:#fff;-webkit-animation:ani-header 0.5s forwards;animation:ani-header 0.5s forwards} + .fixed_header .header_wrap.shrink .header>h1{padding:0} + .fixed_header .header_wrap.shrink .gnb>ul>li>a{line-height:60px} + .fixed_header .header_wrap.shrink .header>.side{margin:19px 0 0 22px} + .fixed_header .header_wrap.shrink .search_area{padding:0 20px} + + /* Footer */ + .footer{border-top:1px solid #e4e4e4;border-bottom:3px solid #cda25a;background-color:#f1f1f1;font-family:'Open Sans','나눔바른고딕',NanumBarunGothic,ng,'맑은 고딕','Malgun Gothic','돋움',Dotum,'애플 SD 산돌고딕 Neo','Apple SD Gothic Neo',AppleGothic,Helvetica,sans-serif} + .footer a:hover,.footer a:focus{text-decoration:none} + .footer .f_info_area{overflow:hidden;width:1200px;margin:0 auto;padding:48px 0 40px} + .footer .f_cr_area{padding:19px;background-color:#555} + .footer .copyright{width:1200px;margin:0 auto;font-size:13px;color:#f1f1f1;line-height:16px} + .footer .copyright a{color:#f1f1f1} + .footer .copyright a:hover, + .footer .copyright a:focus, + .footer .copyright a:active{color:#cda25a} + .footer .copyright span{display:inline-block;margin-left:60px} + .footer .sub_desc{margin-bottom:16px;font-size:13px;color:#888;line-height:22px} + .footer .f_info{float:left;width:240px;margin-right:65px} + .footer .f_logo{overflow:hidden;max-width:100%;margin-bottom:16px;font-size:24px;color:#555} + .footer .f_logo.log_txt a{font-size:24px;font-weight:bold;color:#555} + .footer .f_logo img{max-width:240px} + .footer .f_info2{overflow:hidden;margin-top:7px} + .footer .site_map > ul{display:inline-block;overflow:hidden;background:url(../img/bg_sitemap.png) repeat-y} + .footer .site_map > ul li{float:left;width:282px;margin:0 0 0 24px} + .footer .site_map > ul li:first-child,.footer .site_map > ul li.clear{clear:both;margin-left:0} + .footer .site_map > ul li a{display:inline-block;margin:0 0 20px;padding:0 23px;font-size:15px;font-weight:bold;color:#555} + .footer .site_map > ul ul{overflow:hidden;margin:0 0 10px} + .footer .site_map > ul ul li{margin-left:0} + .footer .site_map > ul ul a{margin:0 0 13px;font-size:13px;font-weight:normal;color:#888;line-height:18px} + .footer .site_map > ul ul a:hover, + .footer .site_map > ul ul a:focus, + .footer .site_map > ul ul a:active{color:#555} + .footer .f_cr_area .mobile-footer-member { display:none; } + + + /* button */ + .btn_item{display:inline-block;margin:35px 0;padding:0 27px;height:50px;font-family: "Open Sans";background-color:#555;font-size:14px;line-height:50px;letter-spacing:1px;color:#FFF;-webkit-transition: all .2s ease-in-out;-moz-transition: all .2s ease-in-out;-ms-transition: all .2s ease-in-out;-o-transition: all .2s ease-in-out;transition: all .2s ease-in-out} + .btn_item:hover, + .btn_item:active + .btn_item:focus{background-color:#CBA061;color:#fff} + .btn_item + .btn_item {margin-left: 10px; } + + /* Login */ + .header>.side { padding:0 20px 0 0; } + .header>.side>ul>li{float:left;position:relative} + .header>.side>ul:after{display:block;clear:both;content:''} + .header>.side>ul>li>a{display:block;width:22px;height:22px;margin-left:12px;font-size:22px;line-height:22px;color:#888;text-align:center} + .header>.side>ul>li>a:hover,.header>.side>ul>li>a:focus,.header>.side>ul>li>a:active,.header>.side>ul>li.on>a{color:#444} + .header>.side>ul .ly{position:relative;position:absolute;top:100%;right:0;margin-top:13px;background-color:#f9f9f9} + .header>.side>ul .ly.ly_login{overflow:hidden;margin-top:0;background:url('../img/blank.gif') 0 0 repeat;height:0} + .header>.side>ul .ly.ly_login ul{position:relative;margin-top:18px;padding:8px 0;background-color:#333;z-index:3} + .header>.side>ul .on .ly.ly_login{height:auto} + .header>.side>ul .ly a{display:block;min-width:120px;height:40px;padding:0 20px;line-height:40px;font-size:13px;color:#9d9d9d} + .header>.side>ul .ly a:hover{color:#cda25a;text-decoration:none} + .header>.side>ul>li .login_after{overflow:hidden;width:40px;height:40px;margin-top:-9px;border-radius:100%} + .header>.side>ul>li .login_after img{width:40px;height:40px} + .header>.side>ul>li .login_after ~ .ly_login .edge{right:11px} + + /* Magazine Header Type */ + .custom_area{display:none} + .magazine .header{text-align:center} + .magazine .header>h1{float:none;display:inline-block;margin:0;padding:80px 0 20px;vertical-align:top} + .magazine .header>.side{float:none;position:absolute;top:0;right:0;margin:30px 0 0} + .magazine .gnb{float:none;max-width:100%;margin-bottom:40px} + .magazine .gnb>ul{display:inline-block;vertical-align:top} + .magazine .gnb>ul>li>a{position:relative;line-height:60px} + .magazine .gnb>ul>li>a:after{position:absolute;top:50%;left:-1px;width:1px;height:16px;margin-top:-8px;background-color:#888;content:''} + .magazine .gnb>ul>li:first-child>a:after{background:none} + .magazine .gnb>ul .depth2:after{background:none} + .magazine .gnb>ul .depth2,.magazine .gnb>ul .depth3{background-color:#f7f7f7} + .magazine .gnb>ul .depth2 a,.magazine .header>.side>ul .ly a{color:#999} + .magazine .header>.side>ul .ly a:hover{color:red} + .magazine .gnb>ul>li>a:hover,.magazine .gnb>ul>li>a:focus,.magazine .gnb>ul>li>a:focus,.magazine .gnb>ul>li.on>a,.magazine .header>.side>ul>li.on>a,.magazine .header>.side>ul .ly a:hover{color:#cda25a} + .magazine .header>.side>ul .ly.ly_login ul{background-color:#f7f7f7;text-align:left} + .magazine .edge{border-color:transparent transparent #f7f7f7} + .magazine .header>.side>ul>li>a:hover, + .magazine .header>.side>ul>li>a:focus, + .magazine .header>.side>ul>li>a:active{color:#cda25a} + .magazine .custom_area{display:block;position:absolute;top:30px;left:0} + .magazine .custom_area li{float:left;margin-right:30px} + .magazine .custom_area a{font-size:13px;line-height:15px;color:#999} + .magazine .custom_area a:hover,.magazine .custom_area a:hover,.magazine .custom_area a:hover{color:#cda25a} + .magazine .search_area{padding:10px 20px} + + /* Onepage Header Type */ + .onepage .header_wrap{position:absolute;top:0;left:0;width:100%;z-index:1000} + .onepage .gnb>ul{background:url(../img/blank.gif) 0 0 repeat} + .onepage .gnb>ul>li>a{line-height:60px;color:#f6f6f6} + .onepage .gnb>ul>li>a:hover,.onepage .gnb>ul>li>a:focus,.onepage .gnb>ul>li>a:focus,.onepage .gnb>ul>li.on>a{color:#fff} + .onepage .shrink .gnb>ul>li>a{color:#888} + .onepage .shrink .gnb>ul>li>a:hover,.onepage .shrink .gnb>ul>li>a:focus,.onepage .shrink .gnb>ul>li>a:focus,.onepage .shrink .gnb>ul>li.on>a{color:#444} + .onepage .header>.side>ul>li>a{color:#f6f6f6} + .onepage .header>.side>ul>li>a:hover, .onepage .header>.side>ul>li>a:focus,.onepage .header>.side>ul>li>a:active,.onepage .header>.side>ul>li.on>a{color:#fff} + .onepage .search_area .btn_close{color:#f6f6f6} + .onepage .shrink .search_area .btn_close{color:#888} + .onepage .gnb>ul .depth2:after{background:none} + .onepage .gnb{margin-top:20px} + .onepage .header>h1{padding:20px 0 0 0} + .onepage .search_area input[type=text]{color:#f6f6f6} + .onepage .shrink .search_area input[type=text]{color:#888} + .onepage .visual.sub.sub_type3 {margin-top:-100px;} + + /* Search */ + .search_wrap{position:relative;width:1200px;margin:0 auto} + .search_area{display:none;position:absolute;top:0;left:0;width:1160px;padding:20px;z-index:3;z-index:3} + .search_area input{font-size:13px;vertical-align:top} + .search_area input[type=text]{position:relative;width:100%;height:40px;padding:10px 0;border:0;background-color:transparent;font-size:40px;color:#444;-webkit-appearance:none;} + .search_area input[type=text]:focus{outline:0} + .search_area input[type=text]::-ms-clear{display:none} + .search_area .btn_close{position:absolute;top:50%;right:0;width:20px;height:20px;margin-top:-10px;font-size:22px;color:#888;text-align:center;line-height:20px} + + /* GNB */ + .gnb{float:right;position:relative;z-index:1;max-width:742px;height:100%;font-size:13px} + .gnb a{text-decoration:none;white-space:nowrap} + .gnb>ul>li{float:left;position:relative;text-align:left} + .gnb>ul:after{display:block;clear:both;content:''} + .gnb>ul>li>a{display:block;position:relative;padding:0 20px;line-height:100px;font-size:15px;font-weight:700;color:#888} + .gnb>ul>li>a:hover,.gnb>ul>li>a:focus,.gnb>ul>li>a:focus,.gnb>ul>li.on>a{color:#444} + .gnb>ul .depth2{display:none;position:absolute;top:100%;left:0;z-index:2;padding:8px 0;background-color:#333} + .gnb>ul .depth2>li{position:relative} + .gnb>ul .depth2:after{position:absolute;top:-3px;left:0;width:100%;height:3px;background-color:#cda25a;content:''} + .gnb>ul .depth2 a{display:block;position:relative;min-width:170px;height:40px;padding:0 30px 0 20px;line-height:40px;font-size:13px;color:#9d9d9d} + .gnb>ul .depth2 a:hover,.gnb>ul .depth2 a:active,.gnb>ul .depth2 a:focus,.gnb>ul .depth2>li.on>a{color:#cda25a} + .gnb>ul .depth3{display:none;position:absolute;top:-8px;left:100%;z-index:2;padding:8px 0;background-color:#333} + .gnb>ul .depth2>li.more>a:after{position:absolute;right:20px;content:'>'} + .onepage .shrink .header > .side > ul > li > a {color: #444; } + .onepage .shrink .gnb {margin-top: 0; } + .magazine .shrink .gnb {margin-bottom: 10px; } + .magazine .shrink h1 {margin-top: 10px; } + .magazine .header_wrap.shrink .gnb > ul > li > a {line-height: 40px; } + .gnb #mobile_menu_btn { display:none; } + + /* VISUAL */ + .visual.sub{position:relative;padding:35px 0;background-color:#f6f6f6;line-height:30px} + .visual.sub .sub_title{position:relative;z-index:2;width:1200px;margin:0 auto} + .visual.sub .sub_title h1{position:relative;font-weight:700;font-family:Raleway,'나눔바른고딕',NanumBarunGothic,ng,'맑은 고딕','Malgun Gothic','돋움',Dotum,'애플 SD 산돌고딕 Neo','Apple SD Gothic Neo',AppleGothic,Helvetica,sans-serif;font-size:17px;color:#444} + .visual.sub .sub_title h1:after{position:absolute;top:115%;left:0;width:22px;height:2px;background-color:#444;content:''} + .visual.sub .bg_img{display:none;position:absolute;top:0;left:0;z-index:0;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover} + .visual.sub.sub_type2{padding:70px 0} + .visual.sub.sub_type2 .bg_img{display:block} + .visual.sub.sub_type2 .sub_title h1{color:#fff;font-weight:400;font-size:23px;letter-spacing:1px} + .visual.sub.sub_type2 .sub_title h1:after, + .visual.sub.sub_type3 .sub_title h1:after{background:none} + .visual.sub.sub_type3{padding:250px 0 210px;line-height:40px;text-align:center} + .visual.sub.sub_type3 .bg_img{display:block;background-attachment:fixed;background-size:auto auto} + .visual.sub.sub_type3 .sub_title h1{font-size:39px;font-weight:400;color:#fff;letter-spacing:2px} + + .swiper-container { height:600px; font-family: Raleway,'나눔바른고딕',NanumBarunGothic,ng,'돋움',Dotum,AppleGothic,Helvetica,serif; } + .swiper-container > div > div { display: table; height:600px; color:#fff; } + .swiper-container > div > div > div { display: table-cell; vertical-align: middle; } + .swiper-container > div > div > div > div { width:1200px; margin:0 auto; } + .swiper-container h1 { font-weight:700; margin:0 0 19px 0; font-size:60px; line-height:70px; text-decoration: none; } + .swiper-container p { font-size: 20px; line-height: 22px; } + + /* LNB */ + .body.fixed-width .lnb>ul{position:relative;z-index:1;margin:0;padding:40px 0 0} + .body.fixed-width .lnb>ul>li{margin-bottom:40px} + .body.fixed-width .lnb>ul>li>a,.body.fixed-width .lnb>ul>li>span{display:block;line-height:21px;margin-bottom:14px;font-size:15px;color:#444} + .body.fixed-width .lnb ul ul li.on a{color:#cda25a} + .body.fixed-width .lnb ul ul a{display:block;padding:10px 0;font-size:14px;line-height:20px;color:#888;text-decoration:none} + .body.fixed-width .lnb ul ul a:hover, + .body.fixed-width .lnb ul ul a:focus, + .body.fixed-width .lnb ul ul a:active{color:#cda25a} + .body.fixed-width .lnb img{vertical-align:top} + .body.fixed-width.left .lnb, + .body.fixed-width.right .lnb{float:left;width:260px;padding:0 0 16px} + .body.fixed-width.left .content, + .body.fixed-width.right .content{float:right;width:900px;min-height:400px;padding:40px 0 100px} + .body.fixed-width.right .lnb{float:right} + .body.fixed-width.right .content{float:left} + .body.fixed-width.none .lnb{display:none} + .body.fixed-width.none .content{float:none;width:1200px} + + /* Scroll to top link */ + .btn_top{display:none;position:fixed;right:0;bottom:57px;z-index:1000;width:48px;height:48px;background-color:#555;font-size:24px;color:#fff;text-align:center;opacity:0.8;filter:alpha(opacity=80)} + .btn_top:hover{background-color:#cda25a;color:#fff;text-decoration:none;opacity:1;filter:alpha(opacity=100)} + .btn_top i{line-height:48px} -/* Fixed Header */ -.container.fixed_header{padding-top:100px} -.fixed_header .header_wrap{position:absolute;top:0;left:0;width:100%;z-index:1000} -.fixed_header .header_wrap.shrink{position:fixed;top:0;width:100%;z-index:1000;border-bottom:1px solid #e1e1e1;background-color:#fff;-webkit-animation:ani-header 0.5s forwards;animation:ani-header 0.5s forwards} -.fixed_header .header_wrap.shrink .header>h1{padding:0} -.fixed_header .header_wrap.shrink .gnb>ul>li>a{line-height:60px} -.fixed_header .header_wrap.shrink .header>.side{margin:19px 0 0 22px} -.fixed_header .header_wrap.shrink .search_area{padding:0 20px} - -/* Footer */ -.footer{border-top:1px solid #e4e4e4;border-bottom:3px solid #cda25a;background-color:#f1f1f1;font-family:'Open Sans','나눔바른고딕',NanumBarunGothic,ng,'맑은 고딕','Malgun Gothic','돋움',Dotum,'애플 SD 산돌고딕 Neo','Apple SD Gothic Neo',AppleGothic,Helvetica,sans-serif} -.footer a:hover,.footer a:focus{text-decoration:none} -.footer .f_info_area{overflow:hidden;width:1200px;margin:0 auto;padding:48px 0 40px} -.footer .f_cr_area{padding:19px;background-color:#555} -.footer .copyright{width:1200px;margin:0 auto;font-size:13px;color:#f1f1f1;line-height:16px} -.footer .copyright a{color:#f1f1f1} -.footer .copyright a:hover, -.footer .copyright a:focus, -.footer .copyright a:active{color:#cda25a} -.footer .copyright span{display:inline-block;margin-left:60px} -.footer .sub_desc{margin-bottom:16px;font-size:13px;color:#888;line-height:22px} -.footer .f_info{float:left;width:240px;margin-right:65px} -.footer .f_logo{overflow:hidden;max-width:100%;margin-bottom:16px;font-size:24px;color:#555} -.footer .f_logo.log_txt a{font-size:24px;font-weight:bold;color:#555} -.footer .f_logo img{max-width:240px} -.footer .f_info2{overflow:hidden;margin-top:7px} -.footer .site_map > ul{display:inline-block;overflow:hidden;background:url(../img/bg_sitemap.png) repeat-y} -.footer .site_map > ul li{float:left;width:282px;margin:0 0 0 24px} -.footer .site_map > ul li:first-child,.footer .site_map > ul li.clear{clear:both;margin-left:0} -.footer .site_map > ul li a{display:inline-block;margin:0 0 20px;padding:0 23px;font-size:15px;font-weight:bold;color:#555} -.footer .site_map > ul ul{overflow:hidden;margin:0 0 10px} -.footer .site_map > ul ul li{margin-left:0} -.footer .site_map > ul ul a{margin:0 0 13px;font-size:13px;font-weight:normal;color:#888;line-height:18px} -.footer .site_map > ul ul a:hover, -.footer .site_map > ul ul a:focus, -.footer .site_map > ul ul a:active{color:#555} - - -/* button */ -.btn_item{display:inline-block;margin:35px 0;padding:0 27px;height:50px;font-family: "Open Sans";background-color:#555;font-size:14px;line-height:50px;letter-spacing:1px;color:#FFF;-webkit-transition: all .2s ease-in-out;-moz-transition: all .2s ease-in-out;-ms-transition: all .2s ease-in-out;-o-transition: all .2s ease-in-out;transition: all .2s ease-in-out} -.btn_item:hover, -.btn_item:active -.btn_item:focus{background-color:#CBA061;color:#fff} -.btn_item + .btn_item {margin-left: 10px; } - -/* Login */ -.header>.side>ul>li{float:left;position:relative} -.header>.side>ul:after{display:block;clear:both;content:''} -.header>.side>ul>li>a{display:block;width:22px;height:22px;margin-left:12px;font-size:22px;line-height:22px;color:#888;text-align:center} -.header>.side>ul>li>a:hover,.header>.side>ul>li>a:focus,.header>.side>ul>li>a:active,.header>.side>ul>li.on>a{color:#444} -.header>.side>ul .ly{position:relative;position:absolute;top:100%;right:0;margin-top:13px;background-color:#f9f9f9} -.header>.side>ul .ly.ly_login{overflow:hidden;margin-top:0;background:url('../img/blank.gif') 0 0 repeat;height:0} -.header>.side>ul .ly.ly_login ul{position:relative;margin-top:18px;padding:8px 0;background-color:#333;z-index:3} -.header>.side>ul .on .ly.ly_login{height:auto} -.header>.side>ul .ly a{display:block;min-width:120px;height:40px;padding:0 20px;line-height:40px;font-size:13px;color:#9d9d9d} -.header>.side>ul .ly a:hover{color:#cda25a;text-decoration:none} -.header>.side>ul>li .login_after{overflow:hidden;width:40px;height:40px;margin-top:-9px;border-radius:100%} -.header>.side>ul>li .login_after img{width:40px;height:40px} -.header>.side>ul>li .login_after ~ .ly_login .edge{right:11px} - -/* Magazine Header Type */ -.custom_area{display:none} -.magazine .header{text-align:center} -.magazine .header>h1{float:none;display:inline-block;margin:0;padding:80px 0 20px;vertical-align:top} -.magazine .header>.side{float:none;position:absolute;top:0;right:0;margin:30px 0 0} -.magazine .gnb{float:none;max-width:100%;margin-bottom:40px} -.magazine .gnb>ul{display:inline-block;vertical-align:top} -.magazine .gnb>ul>li>a{position:relative;line-height:60px} -.magazine .gnb>ul>li>a:after{position:absolute;top:50%;left:-1px;width:1px;height:16px;margin-top:-8px;background-color:#888;content:''} -.magazine .gnb>ul>li:first-child>a:after{background:none} -.magazine .gnb>ul .depth2:after{background:none} -.magazine .gnb>ul .depth2,.magazine .gnb>ul .depth3{background-color:#f7f7f7} -.magazine .gnb>ul .depth2 a,.magazine .header>.side>ul .ly a{color:#999} -.magazine .header>.side>ul .ly a:hover{color:red} -.magazine .gnb>ul>li>a:hover,.magazine .gnb>ul>li>a:focus,.magazine .gnb>ul>li>a:focus,.magazine .gnb>ul>li.on>a,.magazine .header>.side>ul>li.on>a,.magazine .header>.side>ul .ly a:hover{color:#cda25a} -.magazine .header>.side>ul .ly.ly_login ul{background-color:#f7f7f7;text-align:left} -.magazine .edge{border-color:transparent transparent #f7f7f7} -.magazine .header>.side>ul>li>a:hover, -.magazine .header>.side>ul>li>a:focus, -.magazine .header>.side>ul>li>a:active{color:#cda25a} -.magazine .custom_area{display:block;position:absolute;top:30px;left:0} -.magazine .custom_area li{float:left;margin-right:30px} -.magazine .custom_area a{font-size:13px;line-height:15px;color:#999} -.magazine .custom_area a:hover,.magazine .custom_area a:hover,.magazine .custom_area a:hover{color:#cda25a} -.magazine .search_area{padding:10px 20px} - -/* Onepage Header Type */ -.onepage .header_wrap{position:absolute;top:0;left:0;width:100%;z-index:1000} -.onepage .gnb>ul{background:url(../img/blank.gif) 0 0 repeat} -.onepage .gnb>ul>li>a{line-height:60px;color:#f6f6f6} -.onepage .gnb>ul>li>a:hover,.onepage .gnb>ul>li>a:focus,.onepage .gnb>ul>li>a:focus,.onepage .gnb>ul>li.on>a{color:#fff} -.onepage .shrink .gnb>ul>li>a{color:#888} -.onepage .shrink .gnb>ul>li>a:hover,.onepage .shrink .gnb>ul>li>a:focus,.onepage .shrink .gnb>ul>li>a:focus,.onepage .shrink .gnb>ul>li.on>a{color:#444} -.onepage .header>.side>ul>li>a{color:#f6f6f6} -.onepage .header>.side>ul>li>a:hover, .onepage .header>.side>ul>li>a:focus,.onepage .header>.side>ul>li>a:active,.onepage .header>.side>ul>li.on>a{color:#fff} -.onepage .search_area .btn_close{color:#f6f6f6} -.onepage .shrink .search_area .btn_close{color:#888} -.onepage .gnb>ul .depth2:after{background:none} -.onepage .gnb{margin-top:20px} -.onepage .header>h1{padding:20px 0 0} -.onepage .search_area input[type=text]{color:#f6f6f6} -.onepage .shrink .search_area input[type=text]{color:#888} -.onepage .visual.sub.sub_type3 {margin-top:-100px;} - -/* Search */ -.search_wrap{position:relative;width:1200px;margin:0 auto} -.search_area{display:none;position:absolute;top:0;left:0;width:1160px;padding:20px;z-index:3;z-index:3} -.search_area input{font-size:13px;vertical-align:top} -.search_area input[type=text]{position:relative;width:100%;height:40px;padding:10px 0;border:0;background-color:transparent;font-size:40px;color:#444;-webkit-appearance:none;} -.search_area input[type=text]:focus{outline:0} -.search_area input[type=text]::-ms-clear{display:none} -.search_area .btn_close{position:absolute;top:50%;right:0;width:20px;height:20px;margin-top:-10px;font-size:22px;color:#888;text-align:center;line-height:20px} - -/* GNB */ -.gnb{float:right;position:relative;z-index:1;max-width:742px;height:100%;font-size:13px} -.gnb a{text-decoration:none;white-space:nowrap} -.gnb>ul>li{float:left;position:relative;text-align:left} -.gnb>ul:after{display:block;clear:both;content:''} -.gnb>ul>li>a{display:block;position:relative;padding:0 20px;line-height:100px;font-size:15px;font-weight:700;color:#888} -.gnb>ul>li>a:hover,.gnb>ul>li>a:focus,.gnb>ul>li>a:focus,.gnb>ul>li.on>a{color:#444} -.gnb>ul .depth2{display:none;position:absolute;top:100%;left:0;z-index:2;padding:8px 0;background-color:#333} -.gnb>ul .depth2>li{position:relative} -.gnb>ul .depth2:after{position:absolute;top:-3px;left:0;width:100%;height:3px;background-color:#cda25a;content:''} -.gnb>ul .depth2 a{display:block;position:relative;min-width:170px;height:40px;padding:0 30px 0 20px;line-height:40px;font-size:13px;color:#9d9d9d} -.gnb>ul .depth2 a:hover,.gnb>ul .depth2 a:active,.gnb>ul .depth2 a:focus,.gnb>ul .depth2>li.on>a{color:#cda25a} -.gnb>ul .depth3{display:none;position:absolute;top:-8px;left:100%;z-index:2;padding:8px 0;background-color:#333} -.gnb>ul .depth2>li.more>a:after{position:absolute;right:20px;content:'>'} -.onepage .shrink .header > .side > ul > li > a {color: #444; } -.onepage .shrink .gnb {margin-top: 0; } -.magazine .shrink .gnb {margin-bottom: 10px; } -.magazine .shrink h1 {margin-top: 10px; } -.magazine .header_wrap.shrink .gnb > ul > li > a {line-height: 40px; } - -/* VISUAL */ -.visual.sub{position:relative;padding:35px 0;background-color:#f6f6f6;line-height:30px} -.visual.sub .sub_title{position:relative;z-index:2;width:1200px;margin:0 auto} -.visual.sub .sub_title h1{position:relative;font-weight:700;font-family:Raleway,'나눔바른고딕',NanumBarunGothic,ng,'맑은 고딕','Malgun Gothic','돋움',Dotum,'애플 SD 산돌고딕 Neo','Apple SD Gothic Neo',AppleGothic,Helvetica,sans-serif;font-size:17px;color:#444} -.visual.sub .sub_title h1:after{position:absolute;top:115%;left:0;width:22px;height:2px;background-color:#444;content:''} -.visual.sub .bg_img{display:none;position:absolute;top:0;left:0;z-index:0;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover} -.visual.sub.sub_type2{padding:70px 0} -.visual.sub.sub_type2 .bg_img{display:block} -.visual.sub.sub_type2 .sub_title h1{color:#fff;font-weight:400;font-size:23px;letter-spacing:1px} -.visual.sub.sub_type2 .sub_title h1:after, -.visual.sub.sub_type3 .sub_title h1:after{background:none} -.visual.sub.sub_type3{padding:250px 0 210px;line-height:40px;text-align:center} -.visual.sub.sub_type3 .bg_img{display:block;background-attachment:fixed;background-size:auto auto} -.visual.sub.sub_type3 .sub_title h1{font-size:39px;font-weight:400;color:#fff;letter-spacing:2px} - -/* LNB */ -.body.fixed-width .lnb>ul{position:relative;z-index:1;margin:0;padding:40px 0 0} -.body.fixed-width .lnb>ul>li{margin-bottom:40px} -.body.fixed-width .lnb>ul>li>a,.body.fixed-width .lnb>ul>li>span{display:block;line-height:21px;margin-bottom:14px;font-size:15px;color:#444} -.body.fixed-width .lnb ul ul li.on a{color:#cda25a} -.body.fixed-width .lnb ul ul a{display:block;padding:10px 0;font-size:14px;line-height:20px;color:#888;text-decoration:none} -.body.fixed-width .lnb ul ul a:hover, -.body.fixed-width .lnb ul ul a:focus, -.body.fixed-width .lnb ul ul a:active{color:#cda25a} -.body.fixed-width .lnb img{vertical-align:top} -.body.fixed-width.left .lnb, -.body.fixed-width.right .lnb{float:left;width:260px;padding:0 0 16px} -.body.fixed-width.left .content, -.body.fixed-width.right .content{float:right;width:900px;min-height:400px;padding:40px 0 100px} -.body.fixed-width.right .lnb{float:right} -.body.fixed-width.right .content{float:left} -.body.fixed-width.none .lnb{display:none} -.body.fixed-width.none .content{float:none;width:1200px} - -/* Scroll to top link */ -.btn_top{display:none;position:fixed;right:0;bottom:57px;z-index:1000;width:48px;height:48px;background-color:#555;font-size:24px;color:#fff;text-align:center;opacity:0.8;filter:alpha(opacity=80)} -.btn_top:hover{background-color:#cda25a;color:#fff;text-decoration:none;opacity:1;filter:alpha(opacity=100)} -.btn_top i{line-height:48px} +} /* header animation */ @-webkit-keyframes ani-header { diff --git a/layouts/xedition/css/layout.min.css b/layouts/xedition/css/layout.min.css deleted file mode 100644 index e03408412..000000000 --- a/layouts/xedition/css/layout.min.css +++ /dev/null @@ -1 +0,0 @@ -@charset "utf-8";body,button,dd,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,input,legend,li,ol,p,select,table,td,textarea,th,ul{margin:0;padding:0;-webkit-text-size-adjust:none}body,button,input,select,table,textarea{font-family:'Open Sans','나눔바른고딕',NanumBarunGothic,ng,'맑은 고딕','Malgun Gothic','돋움',Dotum,'애플 SD 산돌고딕 Neo','Apple SD Gothic Neo',AppleGothic,Helvetica,sans-serif;font-size:12px;-webkit-font-smoothing:antialiased}button,fieldset,img{border:0}ol,ul{list-style:none}address,em{font-style:normal}a,a:active,a:focus,a:hover{text-decoration:none}.blind{overflow:hidden;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0}.edge{position:absolute;top:12px;right:4px;width:0;height:0;border-width:0 8px 8px;border-style:solid;border-color:transparent transparent #333}.clear{clear:both}.skip{margin:0}.skip>a{display:block;overflow:hidden;height:0;line-height:28px;text-align:center}.skip>a:focus{height:auto}.container{min-width:1240px;background-color:#fff}.header{position:relative;z-index:2;width:1200px;height:100%;margin:0 auto;zoom:1}.header>.side{float:right;z-index:2;margin:39px 0 0 22px;line-height:20px}.visual{overflow:hidden;position:relative;z-index:1;width:100%}.body{position:relative;padding:30px 0}.body.fixed-width{width:1200px;margin:0 auto}.body:after,.header:after{display:block;clear:both;content:''}.content{zoom:1}.content:after{display:block;clear:both;content:''}.content>:first-child{margin-top:0}.content img{max-width:100%;height:auto}.header>h1{float:left;padding:20px 0;margin-right:32px;line-height:60px}.header>h1 img{vertical-align:middle;max-height:40px}.container.fixed_header{padding-top:100px}.fixed_header .header_wrap{position:absolute;top:0;left:0;width:100%;z-index:1000}.fixed_header .header_wrap.shrink{position:fixed;top:0;width:100%;z-index:1000;border-bottom:1px solid #e1e1e1;background-color:#fff;-webkit-animation:ani-header .5s forwards;animation:ani-header .5s forwards}.fixed_header .header_wrap.shrink .header>h1{padding:0}.fixed_header .header_wrap.shrink .gnb>ul>li>a{line-height:60px}.fixed_header .header_wrap.shrink .header>.side{margin:19px 0 0 22px}.fixed_header .header_wrap.shrink .search_area{padding:0 20px}.footer{border-top:1px solid #e4e4e4;border-bottom:3px solid #cda25a;background-color:#f1f1f1;font-family:'Open Sans','나눔바른고딕',NanumBarunGothic,ng,'맑은 고딕','Malgun Gothic','돋움',Dotum,'애플 SD 산돌고딕 Neo','Apple SD Gothic Neo',AppleGothic,Helvetica,sans-serif}.footer a:focus,.footer a:hover{text-decoration:none}.footer .f_info_area{overflow:hidden;width:1200px;margin:0 auto;padding:48px 0 40px}.footer .f_cr_area{padding:19px;background-color:#555}.footer .copyright{width:1200px;margin:0 auto;font-size:13px;color:#f1f1f1;line-height:16px}.footer .copyright a{color:#f1f1f1}.footer .copyright a:active,.footer .copyright a:focus,.footer .copyright a:hover{color:#cda25a}.footer .copyright span{display:inline-block;margin-left:60px}.footer .sub_desc{margin-bottom:16px;font-size:13px;color:#888;line-height:22px}.footer .f_info{float:left;width:240px;margin-right:65px}.footer .f_logo{overflow:hidden;max-width:100%;margin-bottom:16px;font-size:24px;color:#555}.footer .f_logo.log_txt a{font-size:24px;font-weight:700;color:#555}.footer .f_logo img{max-width:240px}.footer .f_info2{overflow:hidden;margin-top:7px}.footer .site_map>ul{display:inline-block;overflow:hidden;background:url(../img/bg_sitemap.png) repeat-y}.footer .site_map>ul li{float:left;width:282px;margin:0 0 0 24px}.footer .site_map>ul li.clear,.footer .site_map>ul li:first-child{clear:both;margin-left:0}.footer .site_map>ul li a{display:inline-block;margin:0 0 20px;padding:0 23px;font-size:15px;font-weight:700;color:#555}.footer .site_map>ul ul{overflow:hidden;margin:0 0 10px}.footer .site_map>ul ul li{margin-left:0}.footer .site_map>ul ul a{margin:0 0 13px;font-size:13px;font-weight:400;color:#888;line-height:18px}.footer .site_map>ul ul a:active,.footer .site_map>ul ul a:focus,.footer .site_map>ul ul a:hover{color:#555}.btn_item{display:inline-block;margin:35px 0;padding:0 27px;height:50px;font-family:"Open Sans";background-color:#555;font-size:14px;line-height:50px;letter-spacing:1px;color:#FFF;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.btn_item:active .btn_item:focus,.btn_item:hover{background-color:#CBA061;color:#fff}.btn_item+.btn_item{margin-left:10px}.header>.side>ul>li{float:left;position:relative}.header>.side>ul:after{display:block;clear:both;content:''}.header>.side>ul>li>a{display:block;width:22px;height:22px;margin-left:12px;font-size:22px;line-height:22px;color:#888;text-align:center}.header>.side>ul>li.on>a,.header>.side>ul>li>a:active,.header>.side>ul>li>a:focus,.header>.side>ul>li>a:hover{color:#444}.header>.side>ul .ly{position:relative;position:absolute;top:100%;right:0;margin-top:13px;background-color:#f9f9f9}.header>.side>ul .ly.ly_login{overflow:hidden;margin-top:0;background:url(../img/blank.gif) 0 0 repeat;height:0}.header>.side>ul .ly.ly_login ul{position:relative;margin-top:18px;padding:8px 0;background-color:#333;z-index:3}.header>.side>ul .on .ly.ly_login{height:auto}.header>.side>ul .ly a{display:block;min-width:120px;height:40px;padding:0 20px;line-height:40px;font-size:13px;color:#9d9d9d}.header>.side>ul .ly a:hover{color:#cda25a;text-decoration:none}.header>.side>ul>li .login_after{overflow:hidden;width:40px;height:40px;margin-top:-9px;border-radius:100%}.header>.side>ul>li .login_after img{width:40px;height:40px}.header>.side>ul>li .login_after~.ly_login .edge{right:11px}.custom_area{display:none}.magazine .header{text-align:center}.magazine .header>h1{float:none;display:inline-block;margin:0;padding:80px 0 20px;vertical-align:top}.magazine .header>.side{float:none;position:absolute;top:0;right:0;margin:30px 0 0}.magazine .gnb{float:none;max-width:100%;margin-bottom:40px}.magazine .gnb>ul{display:inline-block;vertical-align:top}.magazine .gnb>ul>li>a{position:relative;line-height:60px}.magazine .gnb>ul>li>a:after{position:absolute;top:50%;left:-1px;width:1px;height:16px;margin-top:-8px;background-color:#888;content:''}.magazine .gnb>ul .depth2:after,.magazine .gnb>ul>li:first-child>a:after{background:0 0}.magazine .gnb>ul .depth2,.magazine .gnb>ul .depth3{background-color:#f7f7f7}.magazine .gnb>ul .depth2 a,.magazine .header>.side>ul .ly a{color:#999}.magazine .gnb>ul>li.on>a,.magazine .gnb>ul>li>a:focus,.magazine .gnb>ul>li>a:hover,.magazine .header>.side>ul .ly a:hover,.magazine .header>.side>ul>li.on>a{color:#cda25a}.magazine .header>.side>ul .ly.ly_login ul{background-color:#f7f7f7;text-align:left}.magazine .edge{border-color:transparent transparent #f7f7f7}.magazine .header>.side>ul>li>a:active,.magazine .header>.side>ul>li>a:focus,.magazine .header>.side>ul>li>a:hover{color:#cda25a}.magazine .custom_area{display:block;position:absolute;top:30px;left:0}.magazine .custom_area li{float:left;margin-right:30px}.magazine .custom_area a{font-size:13px;line-height:15px;color:#999}.magazine .custom_area a:hover{color:#cda25a}.magazine .search_area{padding:10px 20px}.onepage .header_wrap{position:absolute;top:0;left:0;width:100%;z-index:1000}.onepage .gnb>ul{background:url(../img/blank.gif) 0 0 repeat}.onepage .gnb>ul>li>a{line-height:60px;color:#f6f6f6}.onepage .gnb>ul>li.on>a,.onepage .gnb>ul>li>a:focus,.onepage .gnb>ul>li>a:hover{color:#fff}.onepage .shrink .gnb>ul>li>a{color:#888}.onepage .shrink .gnb>ul>li.on>a,.onepage .shrink .gnb>ul>li>a:focus,.onepage .shrink .gnb>ul>li>a:hover{color:#444}.onepage .header>.side>ul>li>a{color:#f6f6f6}.onepage .header>.side>ul>li.on>a,.onepage .header>.side>ul>li>a:active,.onepage .header>.side>ul>li>a:focus,.onepage .header>.side>ul>li>a:hover{color:#fff}.onepage .search_area .btn_close{color:#f6f6f6}.onepage .shrink .search_area .btn_close{color:#888}.onepage .gnb>ul .depth2:after{background:0 0}.onepage .gnb{margin-top:20px}.onepage .header>h1{padding:20px 0 0}.onepage .search_area input[type=text]{color:#f6f6f6}.onepage .shrink .search_area input[type=text]{color:#888}.onepage .visual.sub.sub_type3{margin-top:-100px}.search_wrap{position:relative;width:1200px;margin:0 auto}.search_area{display:none;position:absolute;top:0;left:0;width:1160px;padding:20px;z-index:3;z-index:3}.search_area input{font-size:13px;vertical-align:top}.search_area input[type=text]{position:relative;width:100%;height:40px;padding:10px 0;border:0;background-color:transparent;font-size:40px;color:#444;-webkit-appearance:none}.search_area input[type=text]:focus{outline:0}.search_area input[type=text]::-ms-clear{display:none}.search_area .btn_close{position:absolute;top:50%;right:0;width:20px;height:20px;margin-top:-10px;font-size:22px;color:#888;text-align:center;line-height:20px}.gnb{float:right;position:relative;z-index:1;max-width:742px;height:100%;font-size:13px}.gnb a{text-decoration:none;white-space:nowrap}.gnb>ul>li{float:left;position:relative;text-align:left}.gnb>ul:after{display:block;clear:both;content:''}.gnb>ul>li>a{display:block;position:relative;padding:0 20px;line-height:100px;font-size:15px;font-weight:700;color:#888}.gnb>ul>li.on>a,.gnb>ul>li>a:focus,.gnb>ul>li>a:hover{color:#444}.gnb>ul .depth2{display:none;position:absolute;top:100%;left:0;z-index:2;padding:8px 0;background-color:#333}.gnb>ul .depth2>li{position:relative}.gnb>ul .depth2:after{position:absolute;top:-3px;left:0;width:100%;height:3px;background-color:#cda25a;content:''}.gnb>ul .depth2 a{display:block;position:relative;min-width:170px;height:40px;padding:0 30px 0 20px;line-height:40px;font-size:13px;color:#9d9d9d}.gnb>ul .depth2 a:active,.gnb>ul .depth2 a:focus,.gnb>ul .depth2 a:hover,.gnb>ul .depth2>li.on>a{color:#cda25a}.gnb>ul .depth3{display:none;position:absolute;top:-8px;left:100%;z-index:2;padding:8px 0;background-color:#333}.gnb>ul .depth2>li.more>a:after{position:absolute;right:20px;content:'>'}.onepage .shrink .header>.side>ul>li>a{color:#444}.onepage .shrink .gnb{margin-top:0}.magazine .shrink .gnb{margin-bottom:10px}.magazine .shrink h1{margin-top:10px}.magazine .header_wrap.shrink .gnb>ul>li>a{line-height:40px}.visual.sub{position:relative;padding:35px 0;background-color:#f6f6f6;line-height:30px}.visual.sub .sub_title{position:relative;z-index:2;width:1200px;margin:0 auto}.visual.sub .sub_title h1{position:relative;font-weight:700;font-family:Raleway,'나눔바른고딕',NanumBarunGothic,ng,'맑은 고딕','Malgun Gothic','돋움',Dotum,'애플 SD 산돌고딕 Neo','Apple SD Gothic Neo',AppleGothic,Helvetica,sans-serif;font-size:17px;color:#444}.visual.sub .sub_title h1:after{position:absolute;top:115%;left:0;width:22px;height:2px;background-color:#444;content:''}.visual.sub .bg_img{display:none;position:absolute;top:0;left:0;z-index:0;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.visual.sub.sub_type2{padding:70px 0}.visual.sub.sub_type2 .bg_img{display:block}.visual.sub.sub_type2 .sub_title h1{color:#fff;font-weight:400;font-size:23px;letter-spacing:1px}.visual.sub.sub_type2 .sub_title h1:after,.visual.sub.sub_type3 .sub_title h1:after{background:0 0}.visual.sub.sub_type3{padding:250px 0 210px;line-height:40px;text-align:center}.visual.sub.sub_type3 .bg_img{display:block;background-attachment:fixed;background-size:auto auto}.visual.sub.sub_type3 .sub_title h1{font-size:39px;font-weight:400;color:#fff;letter-spacing:2px}.body.fixed-width .lnb>ul{position:relative;z-index:1;margin:0;padding:40px 0 0}.body.fixed-width .lnb>ul>li{margin-bottom:40px}.body.fixed-width .lnb>ul>li>a,.body.fixed-width .lnb>ul>li>span{display:block;line-height:21px;margin-bottom:14px;font-size:15px;color:#444}.body.fixed-width .lnb ul ul li.on a{color:#cda25a}.body.fixed-width .lnb ul ul a{display:block;padding:10px 0;font-size:14px;line-height:20px;color:#888;text-decoration:none}.body.fixed-width .lnb ul ul a:active,.body.fixed-width .lnb ul ul a:focus,.body.fixed-width .lnb ul ul a:hover{color:#cda25a}.body.fixed-width .lnb img{vertical-align:top}.body.fixed-width.left .lnb,.body.fixed-width.right .lnb{float:left;width:260px;padding:0 0 16px}.body.fixed-width.left .content,.body.fixed-width.right .content{float:right;width:900px;min-height:400px;padding:40px 0 100px}.body.fixed-width.right .lnb{float:right}.body.fixed-width.right .content{float:left}.body.fixed-width.none .lnb{display:none}.body.fixed-width.none .content{float:none;width:1200px}.btn_top{display:none;position:fixed;right:0;bottom:57px;z-index:1000;width:48px;height:48px;background-color:#555;font-size:24px;color:#fff;text-align:center;opacity:.8;filter:alpha(opacity=80)}.btn_top:hover{background-color:#cda25a;color:#fff;text-decoration:none;opacity:1;filter:alpha(opacity=100)}.btn_top i{line-height:48px}@-webkit-keyframes ani-header{0%{top:-60px}100%{top:0}}@keyframes ani-header{0%{top:-60px}100%{top:0}} \ No newline at end of file diff --git a/layouts/xedition/css/swiper.css b/layouts/xedition/css/swiper.css new file mode 100644 index 000000000..881ff8313 --- /dev/null +++ b/layouts/xedition/css/swiper.css @@ -0,0 +1,444 @@ +/** + * Swiper 3.0.8 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * + * http://www.idangero.us/swiper/ + * + * Copyright 2015, Vladimir Kharlampidi + * The iDangero.us + * http://www.idangero.us/ + * + * Licensed under MIT + * + * Released on: June 14, 2015 + */ +.swiper-container { + margin: 0 auto; + position: relative; + overflow: hidden; + /* Fix of Webkit flickering */ + z-index: 1; +} +.swiper-container-no-flexbox .swiper-slide { + float: left; +} +.swiper-container-vertical > .swiper-wrapper { + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -ms-flex-direction: column; + -webkit-flex-direction: column; + flex-direction: column; +} +.swiper-wrapper { + position: relative; + width: 100%; + height: 100%; + z-index: 1; + display: -webkit-box; + display: -moz-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + -ms-transform-style: preserve-3d; + transform-style: preserve-3d; + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + -o-transition-property: -o-transform; + -ms-transition-property: -ms-transform; + transition-property: transform; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +.swiper-container-android .swiper-slide, +.swiper-wrapper { + -webkit-transform: translate3d(0px, 0, 0); + -moz-transform: translate3d(0px, 0, 0); + -o-transform: translate(0px, 0px); + -ms-transform: translate3d(0px, 0, 0); + transform: translate3d(0px, 0, 0); +} +.swiper-container-multirow > .swiper-wrapper { + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; +} +.swiper-container-free-mode > .swiper-wrapper { + -webkit-transition-timing-function: ease-out; + -moz-transition-timing-function: ease-out; + -ms-transition-timing-function: ease-out; + -o-transition-timing-function: ease-out; + transition-timing-function: ease-out; + margin: 0 auto; +} +.swiper-slide { + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + -ms-transform-style: preserve-3d; + transform-style: preserve-3d; + -webkit-flex-shrink: 0; + -ms-flex: 0 0 auto; + flex-shrink: 0; + width: 100%; + height: 100%; + position: relative; + background-size:cover; + background-position: center center; +} +/* a11y */ +.swiper-container .swiper-notification { + position: absolute; + left: 0; + top: 0; + pointer-events: none; + opacity: 0; + z-index: -1000; +} +/* IE10 Windows Phone 8 Fixes */ +.swiper-wp8-horizontal { + -ms-touch-action: pan-y; + touch-action: pan-y; +} +.swiper-wp8-vertical { + -ms-touch-action: pan-x; + touch-action: pan-x; +} +/* Arrows */ +.swiper-button-prev, +.swiper-button-next { + position: absolute; + top: 50%; + width: 27px; + height: 44px; + margin-top: -22px; + z-index: 10; + cursor: pointer; + -moz-background-size: 27px 44px; + -webkit-background-size: 27px 44px; + background-size: 27px 44px; + background-position: center; + background-repeat: no-repeat; +} +.swiper-button-prev.swiper-button-disabled, +.swiper-button-next.swiper-button-disabled { + opacity: 0.35; + cursor: auto; + pointer-events: none; +} +.swiper-button-prev, +.swiper-container-rtl .swiper-button-next { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); + left: 10px; + right: auto; +} +.swiper-button-prev.swiper-button-black, +.swiper-container-rtl .swiper-button-next.swiper-button-black { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); +} +.swiper-button-prev.swiper-button-white, +.swiper-container-rtl .swiper-button-next.swiper-button-white { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); +} +.swiper-button-next, +.swiper-container-rtl .swiper-button-prev { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); + right: 10px; + left: auto; +} +.swiper-button-next.swiper-button-black, +.swiper-container-rtl .swiper-button-prev.swiper-button-black { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); +} +.swiper-button-next.swiper-button-white, +.swiper-container-rtl .swiper-button-prev.swiper-button-white { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); +} +/* Pagination Styles */ +.swiper-pagination { + position: absolute; + text-align: center; + -webkit-transition: 300ms; + -moz-transition: 300ms; + -o-transition: 300ms; + transition: 300ms; + -webkit-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + z-index: 10; +} +.swiper-pagination.swiper-pagination-hidden { + opacity: 0; +} +.swiper-pagination-bullet { + width: 8px; + height: 8px; + display: inline-block; + border-radius: 100%; + background: #fff; + opacity: 0.4; +} +.swiper-pagination-clickable .swiper-pagination-bullet { + cursor: pointer; +} +.swiper-pagination-white .swiper-pagination-bullet { + background: #fff; +} +.swiper-pagination-bullet-active { + opacity: 1; + background: #fff; +} +.swiper-pagination-white .swiper-pagination-bullet-active { + background: #fff; +} +.swiper-pagination-black .swiper-pagination-bullet-active { + background: #000; +} +.swiper-container-vertical > .swiper-pagination { + right: 10px; + top: 50%; + -webkit-transform: translate3d(0px, -50%, 0); + -moz-transform: translate3d(0px, -50%, 0); + -o-transform: translate(0px, -50%); + -ms-transform: translate3d(0px, -50%, 0); + transform: translate3d(0px, -50%, 0); +} +.swiper-container-vertical > .swiper-pagination .swiper-pagination-bullet { + margin: 5px 0; + display: block; +} +.swiper-container-horizontal > .swiper-pagination { + bottom: 10px; + left: 0; + width: 100%; +} +.swiper-container-horizontal > .swiper-pagination .swiper-pagination-bullet { + margin: 0 5px; +} +/* 3D Container */ +.swiper-container-3d { + -webkit-perspective: 1200px; + -moz-perspective: 1200px; + -o-perspective: 1200px; + perspective: 1200px; +} +.swiper-container-3d .swiper-wrapper, +.swiper-container-3d .swiper-slide, +.swiper-container-3d .swiper-slide-shadow-left, +.swiper-container-3d .swiper-slide-shadow-right, +.swiper-container-3d .swiper-slide-shadow-top, +.swiper-container-3d .swiper-slide-shadow-bottom, +.swiper-container-3d .swiper-cube-shadow { + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + -ms-transform-style: preserve-3d; + transform-style: preserve-3d; +} +.swiper-container-3d .swiper-slide-shadow-left, +.swiper-container-3d .swiper-slide-shadow-right, +.swiper-container-3d .swiper-slide-shadow-top, +.swiper-container-3d .swiper-slide-shadow-bottom { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + pointer-events: none; + z-index: 10; +} +.swiper-container-3d .swiper-slide-shadow-left { + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); + /* Safari 4+, Chrome */ + background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + /* Chrome 10+, Safari 5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + /* Firefox 3.6-15 */ + background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + /* Opera 11.10-12.00 */ + background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + /* Firefox 16+, IE10, Opera 12.50+ */ +} +.swiper-container-3d .swiper-slide-shadow-right { + background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); + /* Safari 4+, Chrome */ + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + /* Chrome 10+, Safari 5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + /* Firefox 3.6-15 */ + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + /* Opera 11.10-12.00 */ + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + /* Firefox 16+, IE10, Opera 12.50+ */ +} +.swiper-container-3d .swiper-slide-shadow-top { + background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); + /* Safari 4+, Chrome */ + background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + /* Chrome 10+, Safari 5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + /* Firefox 3.6-15 */ + background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + /* Opera 11.10-12.00 */ + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + /* Firefox 16+, IE10, Opera 12.50+ */ +} +.swiper-container-3d .swiper-slide-shadow-bottom { + background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); + /* Safari 4+, Chrome */ + background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + /* Chrome 10+, Safari 5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + /* Firefox 3.6-15 */ + background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + /* Opera 11.10-12.00 */ + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + /* Firefox 16+, IE10, Opera 12.50+ */ +} +/* Coverflow */ +.swiper-container-coverflow .swiper-wrapper { + /* Windows 8 IE 10 fix */ + -ms-perspective: 1200px; +} +/* Fade */ +.swiper-container-fade.swiper-container-free-mode .swiper-slide { + -webkit-transition-timing-function: ease-out; + -moz-transition-timing-function: ease-out; + -ms-transition-timing-function: ease-out; + -o-transition-timing-function: ease-out; + transition-timing-function: ease-out; +} +.swiper-container-fade .swiper-slide { + pointer-events: none; +} +.swiper-container-fade .swiper-slide .swiper-slide { + pointer-events: none; +} +.swiper-container-fade .swiper-slide-active, +.swiper-container-fade .swiper-slide-active .swiper-slide-active { + pointer-events: auto; +} +/* Cube */ +.swiper-container-cube { + overflow: visible; +} +.swiper-container-cube .swiper-slide { + pointer-events: none; + visibility: hidden; + -webkit-transform-origin: 0 0; + -moz-transform-origin: 0 0; + -ms-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -ms-backface-visibility: hidden; + backface-visibility: hidden; + width: 100%; + height: 100%; +} +.swiper-container-cube.swiper-container-rtl .swiper-slide { + -webkit-transform-origin: 100% 0; + -moz-transform-origin: 100% 0; + -ms-transform-origin: 100% 0; + transform-origin: 100% 0; +} +.swiper-container-cube .swiper-slide-active, +.swiper-container-cube .swiper-slide-next, +.swiper-container-cube .swiper-slide-prev, +.swiper-container-cube .swiper-slide-next + .swiper-slide { + pointer-events: auto; + visibility: visible; +} +.swiper-container-cube .swiper-cube-shadow { + position: absolute; + left: 0; + bottom: 0px; + width: 100%; + height: 100%; + background: #000; + opacity: 0.6; + -webkit-filter: blur(50px); + filter: blur(50px); +} +.swiper-container-cube.swiper-container-vertical .swiper-cube-shadow { + z-index: 0; +} +/* Scrollbar */ +.swiper-scrollbar { + border-radius: 10px; + position: relative; + -ms-touch-action: none; + background: rgba(0, 0, 0, 0.1); +} +.swiper-container-horizontal > .swiper-scrollbar { + position: absolute; + left: 1%; + bottom: 3px; + z-index: 50; + height: 5px; + width: 98%; +} +.swiper-container-vertical > .swiper-scrollbar { + position: absolute; + right: 3px; + top: 1%; + z-index: 50; + width: 5px; + height: 98%; +} +.swiper-scrollbar-drag { + height: 100%; + width: 100%; + position: relative; + background: rgba(0, 0, 0, 0.5); + border-radius: 10px; + left: 0; + top: 0; +} +.swiper-scrollbar-cursor-drag { + cursor: move; +} +/* Preloader */ +.swiper-lazy-preloader { + width: 42px; + height: 42px; + position: absolute; + left: 50%; + top: 50%; + margin-left: -21px; + margin-top: -21px; + z-index: 10; + -webkit-transform-origin: 50%; + -moz-transform-origin: 50%; + transform-origin: 50%; + -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite; + -moz-animation: swiper-preloader-spin 1s steps(12, end) infinite; + animation: swiper-preloader-spin 1s steps(12, end) infinite; +} +.swiper-lazy-preloader:after { + display: block; + content: ""; + width: 100%; + height: 100%; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); + background-position: 50%; + -webkit-background-size: 100%; + background-size: 100%; + background-repeat: no-repeat; +} +.swiper-lazy-preloader-white:after { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +@-webkit-keyframes swiper-preloader-spin { + 100% { + -webkit-transform: rotate(360deg); + } +} +@keyframes swiper-preloader-spin { + 100% { + transform: rotate(360deg); + } +} diff --git a/layouts/xedition/css/webfont.css b/layouts/xedition/css/webfont.css old mode 100755 new mode 100644 diff --git a/layouts/xedition/css/welcome.css b/layouts/xedition/css/welcome.css index 08c2d1cf6..34e204e07 100644 --- a/layouts/xedition/css/welcome.css +++ b/layouts/xedition/css/welcome.css @@ -5,6 +5,7 @@ .welcomeXE section{width:1200px;margin:0 auto} .welcomeXE .tit{padding-bottom:32px;font-size:40px;color:#333;font-weight:700;letter-spacing:1px;line-height:50px} .welcomeXE .noti{display:block;padding:28px 0 0;margin:0 0 12px;font-size:14px;font-weight:bold;color:#cda25a;letter-spacing:1px;line-height:20px} + .welcomeXE .intro{width:408px;height:600px;padding-right:792px;background:url(../img/intro.png) 100% 100% no-repeat} .welcomeXE .intro .cont{padding-bottom:37px;font-size:15px;font-weight:400;color:#888;line-height:27px} .welcomeXE .intro .btn_start{display:inline-block;margin:50px 0;padding:0 27px;height:40px;border:2px solid #cda25a;background-color:#fff;font-size:13px;line-height:40px;letter-spacing:1px;color:#cda25a;-webkit-transition: all .2s ease-in-out;-moz-transition: all .2s ease-in-out;-ms-transition: all .2s ease-in-out;-o-transition: all .2s ease-in-out;transition: all .2s ease-in-out} @@ -12,11 +13,15 @@ .welcomeXE .intro .btn_start:active .welcomeXE .intro .btn_start:focus{background-color:#cda25a;color:#fff} +.bg-holder { + background-image: url('../img/bg_stat.jpg'); +} + /* section.xeicon */ -.welcomeXE .xeicon{overflow:hidden;position:static;width:100%;margin:0;height:500px;background-image:url(../img/bg_stat.jpg);background-position:50% 0;background-attachment:fixed;background-repeat:no-repeat} +.welcomeXE .xeicon{overflow:hidden;position:static;width:100%;margin:0;height:100%;} .welcomeXE .xeicon h1 {margin-top: 170px; font-size: 40px; color: #f6f6f6; text-align: center; letter-spacing: 3px; font-weight: 400; line-height: 1.2em; text-transform: uppercase; } .welcomeXE .xeicon h1 a {color: #FFF; } -.welcomeXE .xeicon .button-area {text-align: center; } +.welcomeXE .xeicon .button-area {text-align: center; margin-bottom:140px; } .welcomeXE .xeicon .button-area .btn_item {font-size: 14px; letter-spacing: 2px;} /* section.guide */ @@ -43,26 +48,30 @@ .welcomeXE .features .cont{font-size:15px;line-height:27px;color:#ddd} .welcomeXE .features ul{overflow:hidden;margin-top:38px;padding:0 20px} .welcomeXE .features li{float:left;width:25%;height:480px} -.welcomeXE .features li .fe_box{height:478px;margin:0 10px;padding:0 20px;border:1px solid #333;background-color:#f6f6f6;text-align:center;-webkit-transition: all .2s ease-out;-moz-transition: all .2s ease-out;-o-transition: all .2s ease-out;transition: all .2s ease-out} -.welcomeXE .features .fe_box .ico{display:inline-block;width:70px;height:70px;margin:162px 0 27px;background-color:#cda25a;background:url(../img/sp_feature.png) 0 0 no-repeat;text-align:center;font-size:60px;line-height:70px} -.welcomeXE .features .fe_box h2{font-size:21px;color:#555;font-weight:normal} -.welcomeXE .features .fe_box p{margin-bottom:80px;font-size:15px;line-height:24px;color:#f6f6f6} -.welcomeXE .features .fe_box a{display:inline-block;height:40px;padding:0 40px;border:2px solid #f6f6f6;font-family:'Open Sans',sans-serif;font-size:13px;letter-spacing:1px;color:#f6f6f6;line-height:40px;font-weight:600;-webkit-transition: all .2s ease-in-out;-moz-transition: all .2s ease-in-out;-ms-transition: all .2s ease-in-out;-o-transition: all .2s ease-in-out;transition: all .2s ease-in-out} -.welcomeXE .features .fe_box a:hover{background-color:#f6f6f6;border-color:#f6f6f6;color:#cda25a} -.welcomeXE .features .fe_top{position:relative;top:0;-webkit-transition: all .2s ease-out;-moz-transition: all .2s ease-out;-o-transition: all .2s ease-out;transition: all .2s ease-out} -.welcomeXE .features .fe_bottom{position:relative;top:192px;-webkit-transition: all .3s ease-out;-moz-transition: all .3s ease-out;-o-transition: all .3s ease-out;transition: all .3s ease-out} -.welcomeXE .features .fe_box.on{background-color:#cda25a} -.welcomeXE .features .fe_box.on .fe_top{top:-104px} -.welcomeXE .features .fe_box.on .fe_bottom{top:-67px} -.welcomeXE .features .fe_box.on h2{color:#f6f6f6} -.welcomeXE .features .fe_box.on .ico{background-color:#f6f6f6;background:url(../img/sp_feature.png) 0 -70px no-repeat} -.welcomeXE .features .fe_box .ico2{background-position:-70px 0} -.welcomeXE .features .fe_box .ico3{background-position:-140px 0} -.welcomeXE .features .fe_box .ico4{background-position:-210px 0} -.welcomeXE .features .fe_box.on .ico2{background-position:-70px -70px} -.welcomeXE .features .fe_box.on .ico3{background-position:-140px -70px} -.welcomeXE .features .fe_box.on .ico4{background-position:-210px -70px} +@media all and (min-width:480px) { + + .welcomeXE .features li .fe_box{height:478px;margin:0 10px;padding:0 20px;border:1px solid #333;background-color:#f6f6f6;text-align:center;-webkit-transition: all .2s ease-out;-moz-transition: all .2s ease-out;-o-transition: all .2s ease-out;transition: all .2s ease-out} + .welcomeXE .features .fe_box .ico{display:inline-block;width:70px;height:70px;margin:162px 0 27px;background-color:#cda25a;background:url(../img/sp_feature.png) 0 0 no-repeat;text-align:center;font-size:60px;line-height:70px} + .welcomeXE .features .fe_box h2{font-size:21px;color:#555;font-weight:normal} + .welcomeXE .features .fe_box p{margin-bottom:80px;font-size:15px;line-height:24px;color:#f6f6f6} + .welcomeXE .features .fe_box a{display:inline-block;height:40px;padding:0 40px;border:2px solid #f6f6f6;font-family:'Open Sans',sans-serif;font-size:13px;letter-spacing:1px;color:#f6f6f6;line-height:40px;font-weight:600;-webkit-transition: all .2s ease-in-out;-moz-transition: all .2s ease-in-out;-ms-transition: all .2s ease-in-out;-o-transition: all .2s ease-in-out;transition: all .2s ease-in-out} + .welcomeXE .features .fe_box a:hover{background-color:#f6f6f6;border-color:#f6f6f6;color:#cda25a} + .welcomeXE .features .fe_top{position:relative;top:0;-webkit-transition: all .2s ease-out;-moz-transition: all .2s ease-out;-o-transition: all .2s ease-out;transition: all .2s ease-out} + .welcomeXE .features .fe_bottom{position:relative;top:192px;-webkit-transition: all .3s ease-out;-moz-transition: all .3s ease-out;-o-transition: all .3s ease-out;transition: all .3s ease-out} + .welcomeXE .features .fe_box.on{background-color:#cda25a} + .welcomeXE .features .fe_box.on .fe_top{top:-104px} + .welcomeXE .features .fe_box.on .fe_bottom{top:-67px} + .welcomeXE .features .fe_box.on h2{color:#f6f6f6} + .welcomeXE .features .fe_box.on .ico{background-color:#f6f6f6;background:url(../img/sp_feature.png) 0 -70px no-repeat} + .welcomeXE .features .fe_box .ico2{background-position:-70px 0} + .welcomeXE .features .fe_box .ico3{background-position:-140px 0} + .welcomeXE .features .fe_box .ico4{background-position:-210px 0} + .welcomeXE .features .fe_box.on .ico2{background-position:-70px -70px} + .welcomeXE .features .fe_box.on .ico3{background-position:-140px -70px} + .welcomeXE .features .fe_box.on .ico4{background-position:-210px -70px} + +} /*section.connect*/ .welcomeXE .connect{height:344px;padding-top:80px} @@ -76,3 +85,46 @@ .welcomeXE .connect .ico i{line-height:78px} .welcomeXE .connect h2{margin-bottom:16px;font-size:15px;font-weight:600;letter-spacing:1px;line-height:18px;color:#333} .welcomeXE .connect p{font-size:13px;color:#888;line-height:21px} + +@media all and (max-width:479px) { + .welcomeXE { padding-top: 0 } + .welcomeXE section{width:100%; box-sizing:border-box; overflow:hidden;} + .welcomeXE .tit{padding-bottom:16px;font-size:30px;color:#333;font-weight:700;letter-spacing:1px;line-height:40px} + + .welcomeXE .intro{width:100%; box-sizing:border-box; padding:0 14px; height:auto; background:#fff; } + .welcomeXE .intro .cont{padding-bottom:17px;} + .welcomeXE .intro .btn_start { margin:20px 0 50px 0; } + + .welcomeXE .xeicon { height:auto; } + .welcomeXE .xeicon h1 { margin-top:70px; } + .welcomeXE .xeicon .button-area { margin-bottom:50px; } + .welcomeXE .xeicon .button-area .btn_item {font-size: 14px; letter-spacing: 2px;margin:20px 0;} + .welcomeXE .xeicon{background-position:0 0;background-attachment: inherit;} + + .welcomeXE .guide{ padding:0 14px; height:auto;padding-top:40px} + .welcomeXE .guide li { width:auto; margin:0 0 20px 0; } + + .welcomeXE .features { padding:40px 14px 0 14px; height:auto; } + .welcomeXE .features .noti, + .welcomeXE .features .tit, + .welcomeXE .features .cont{width:100%;margin-left:auto;margin-right:auto} + .welcomeXE .features ul { padding:0; } + .welcomeXE .features li{clear:both;width:100%;height:auto;margin:0 0 20px 0;} + .welcomeXE .features li .fe_box { margin:0;padding:20px;border:1px solid #333;background-color:#cda25a; position:relative; } + .welcomeXE .features .fe_box .ico{display:inline-block;width:70px;position:absolute;top:20px;left:20px;height:70px;margin:0;background-color:#f6f6f6;background:url(../img/sp_feature.png) 0 -70px no-repeat;text-align:center;font-size:20px;line-height:70px} + .welcomeXE .features .fe_box h2{font-size:21px;color:#f6f6f6;font-weight:normal; padding-left:80px} + .welcomeXE .features .fe_box a{display:inline-block;height:30px;padding:0 20px;border:2px solid #f6f6f6;font-family:'Open Sans',sans-serif;font-size:13px;letter-spacing:1px;color:#f6f6f6;line-height:30px;font-weight:600;-webkit-transition: all .2s ease-in-out;-moz-transition: all .2s ease-in-out;-ms-transition: all .2s ease-in-out;-o-transition: all .2s ease-in-out;transition: all .2s ease-in-out;float:right;} + .welcomeXE .features .fe_bottom { padding-left:80px; overflow:hidden; } + .welcomeXE .features .fe_box p{margin-bottom:40px;margin-top:10px;font-size:13px;line-height:20px;color:#f6f6f6} + .welcomeXE .features .fe_box .ico2{background-position:-70px -70px} + .welcomeXE .features .fe_box .ico3{background-position:-140px -70px} + .welcomeXE .features .fe_box .ico4{background-position:-210px -70px} + + .welcomeXE .connect{height:auto;padding:80px 14px 0 14px;} + .welcomeXE .connect ul { padding-top:0; } + .welcomeXE .connect li { margin-left:0; width:auto; min-height:78px; margin-bottom:20px; } + +} + + + diff --git a/layouts/xedition/css/welcome.min.css b/layouts/xedition/css/welcome.min.css deleted file mode 100644 index 26747bd1f..000000000 --- a/layouts/xedition/css/welcome.min.css +++ /dev/null @@ -1 +0,0 @@ -@charset "utf-8";.welcomeXE{padding-top:50px;font-family:Raleway,'나눔바른고딕',NanumBarunGothic,ng,'맑은 고딕','Malgun Gothic','돋움',Dotum,'애플 SD 산돌고딕 Neo','Apple SD Gothic Neo',AppleGothic,Helvetica,sans-serif}.content+.welcomeXE{padding-top:0}.welcomeXE section{width:1200px;margin:0 auto}.welcomeXE .tit{padding-bottom:32px;font-size:40px;color:#333;font-weight:700;letter-spacing:1px;line-height:50px}.welcomeXE .noti{display:block;padding:28px 0 0;margin:0 0 12px;font-size:14px;font-weight:700;color:#cda25a;letter-spacing:1px;line-height:20px}.welcomeXE .intro{width:408px;height:600px;padding-right:792px;background:url(../img/intro.png) 100% 100% no-repeat}.welcomeXE .intro .cont{padding-bottom:37px;font-size:15px;font-weight:400;color:#888;line-height:27px}.welcomeXE .intro .btn_start{display:inline-block;margin:50px 0;padding:0 27px;height:40px;border:2px solid #cda25a;background-color:#fff;font-size:13px;line-height:40px;letter-spacing:1px;color:#cda25a;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.welcomeXE .intro .btn_start:active .welcomeXE .intro .btn_start:focus,.welcomeXE .intro .btn_start:hover{background-color:#cda25a;color:#fff}.welcomeXE .xeicon{overflow:hidden;position:static;width:100%;margin:0;height:500px;background-image:url(../img/bg_stat.jpg);background-position:50% 0;background-attachment:fixed;background-repeat:no-repeat}.welcomeXE .xeicon h1{margin-top:170px;font-size:40px;color:#f6f6f6;text-align:center;letter-spacing:3px;font-weight:400;line-height:1.2em;text-transform:uppercase}.welcomeXE .xeicon h1 a{color:#FFF}.welcomeXE .xeicon .button-area{text-align:center}.welcomeXE .xeicon .button-area .btn_item{font-size:14px;letter-spacing:2px}.welcomeXE .guide{height:640px;padding-top:80px}.welcomeXE .guide ul{padding-top:27px}.welcomeXE .guide li{position:relative;float:left;width:314px;min-height:140px;padding:0 0 0 70px;margin:0 0 30px}.welcomeXE .guide h2{padding:7px 24px 13px 0;font-size:17px;font-weight:400;line-height:23px;color:#333}.welcomeXE .guide p{padding:0 24px 0 0;font-size:14px;line-height:26px;color:#888}.welcomeXE .guide .ico{position:absolute;top:0;left:0;width:48px;height:48px;border-radius:100%;background-color:#555;font-size:22px;text-align:center;line-height:50px;color:#efefef}.welcomeXE .guide .ico:active,.welcomeXE .guide .ico:focus,.welcomeXE .guide .ico:hover{background-color:#cda25a}.welcomeXE .guide p a{color:#444}.welcomeXE .guide p a:active,.welcomeXE .guide p a:focus,.welcomeXE .guide p a:hover{color:#cda25a;border-bottom:1px solid #cda25a}.welcomeXE .features{width:100%;margin:0;height:800px;padding-top:80px;background-color:#444}.welcomeXE .features .cont,.welcomeXE .features .noti,.welcomeXE .features .tit{width:1200px;margin-left:auto;margin-right:auto}.welcomeXE .features .tit{color:#f6f6f6}.welcomeXE .features .cont{font-size:15px;line-height:27px;color:#ddd}.welcomeXE .features ul{overflow:hidden;margin-top:38px;padding:0 20px}.welcomeXE .features li{float:left;width:25%;height:480px}.welcomeXE .features li .fe_box{height:478px;margin:0 10px;padding:0 20px;border:1px solid #333;background-color:#f6f6f6;text-align:center;-webkit-transition:all .2s ease-out;-moz-transition:all .2s ease-out;-o-transition:all .2s ease-out;transition:all .2s ease-out}.welcomeXE .features .fe_box .ico{display:inline-block;width:70px;height:70px;margin:162px 0 27px;background:url(../img/sp_feature.png) 0 0 no-repeat;text-align:center;font-size:60px;line-height:70px}.welcomeXE .features .fe_box h2{font-size:21px;color:#555;font-weight:400}.welcomeXE .features .fe_box p{margin-bottom:80px;font-size:15px;line-height:24px;color:#f6f6f6}.welcomeXE .features .fe_box a{display:inline-block;height:40px;padding:0 40px;border:2px solid #f6f6f6;font-family:'Open Sans',sans-serif;font-size:13px;letter-spacing:1px;color:#f6f6f6;line-height:40px;font-weight:600;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.welcomeXE .features .fe_box a:hover{background-color:#f6f6f6;border-color:#f6f6f6;color:#cda25a}.welcomeXE .features .fe_top{position:relative;top:0;-webkit-transition:all .2s ease-out;-moz-transition:all .2s ease-out;-o-transition:all .2s ease-out;transition:all .2s ease-out}.welcomeXE .features .fe_bottom{position:relative;top:192px;-webkit-transition:all .3s ease-out;-moz-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.welcomeXE .features .fe_box.on{background-color:#cda25a}.welcomeXE .features .fe_box.on .fe_top{top:-104px}.welcomeXE .features .fe_box.on .fe_bottom{top:-67px}.welcomeXE .features .fe_box.on h2{color:#f6f6f6}.welcomeXE .features .fe_box.on .ico{background:url(../img/sp_feature.png) 0 -70px no-repeat}.welcomeXE .features .fe_box .ico2{background-position:-70px 0}.welcomeXE .features .fe_box .ico3{background-position:-140px 0}.welcomeXE .features .fe_box .ico4{background-position:-210px 0}.welcomeXE .features .fe_box.on .ico2{background-position:-70px -70px}.welcomeXE .features .fe_box.on .ico3{background-position:-140px -70px}.welcomeXE .features .fe_box.on .ico4{background-position:-210px -70px}.welcomeXE .connect{height:344px;padding-top:80px}.welcomeXE .connect ul{overflow:hidden;padding:40px 0}.welcomeXE .connect li{position:relative;float:left;width:180px;margin-left:24px;padding:4px 0 0 102px;min-height:78px}.welcomeXE .connect li:first-child{margin-left:0}.welcomeXE .connect .ico{position:absolute;top:0;left:0;width:78px;height:78px;border-radius:100%;background-color:#cda25a;text-align:center;font-size:40px;color:#fff}.welcomeXE .connect .ico:active,.welcomeXE .connect .ico:focus,.welcomeXE .connect .ico:hover{background-color:#555}.welcomeXE .connect .ico i{line-height:78px}.welcomeXE .connect h2{margin-bottom:16px;font-size:15px;font-weight:600;letter-spacing:1px;line-height:18px;color:#333}.welcomeXE .connect p{font-size:13px;color:#888;line-height:21px} \ No newline at end of file diff --git a/layouts/xedition/css/xeicon.css b/layouts/xedition/css/xeicon.css index ec8806ba4..5ab3aee9f 100644 --- a/layouts/xedition/css/xeicon.css +++ b/layouts/xedition/css/xeicon.css @@ -52,3 +52,21 @@ .XEicon .contribution .btn_github:hover, .XEicon .contribution .btn_github:active .XEicon .contribution .btn_github:focus{background-color:#cda25a;color:#fff} + +@media all and (max-width:479px) { + .XEicon .fixedwidth {width:auto;} + .XEicon .main_title h1 { margin-bottom: 28px; font-size: 21px; } + .XEicon .main_title p { padding:0 14px; text-align:left; } + + .XEicon .tit h1 {font-size:20px; text-align:center; letter-spacing:2px;} + .XEicon .tit h1:after { left:50%; margin-left:-10px; } + + .XEicon .feature { height:auto; padding-top:90px; } + .XEicon .feature ul{padding:50px 14px 0 14px;} + .XEicon .feature li { clear:both; width:auto; padding:0 0 0 70px; } + + .XEicon .get_started { height:auto; padding:80px 14px 20px 14px; } + .XEicon .get_started li { float:none; width:auto; margin-right:0; margin-bottom:15px; } + + .XEicon .contribution .cont { padding:0 14px; text-align:left; } +} \ No newline at end of file diff --git a/layouts/xedition/css/xeicon.min.css b/layouts/xedition/css/xeicon.min.css deleted file mode 100644 index 7ddf37e05..000000000 --- a/layouts/xedition/css/xeicon.min.css +++ /dev/null @@ -1 +0,0 @@ -@charset "utf-8";.body.sub{width:100%!important;margin:0}.body.sub.full_width .content{width:100%!important;padding-bottom:0!important}.XEicon{padding-top:60px}.XEicon .fixedwidth{width:1200px;margin:0 auto}.XEicon .tit{position:relative}.XEicon .tit h1{font-size:29px;text-align:center;letter-spacing:2px}.XEicon .tit h1:after{position:absolute;top:115%;left:49%;width:20px;height:3px;background-color:#cda25a;content:""}.XEicon p a{color:#444}.XEicon p a:active,.XEicon p a:focus,.XEicon p a:hover{color:#cda25a;border-bottom:1px solid #cda25a}.XEicon .main_title h1{margin-bottom:47px;font-size:34px;font-weight:600;color:#cda25a;text-align:center;font-family:Raleway,'나눔바른고딕',NanumBarunGothic,ng,'맑은 고딕','Malgun Gothic','돋움',Dotum,'애플 SD 산돌고딕 Neo','Apple SD Gothic Neo',AppleGothic,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:1px}.XEicon .main_title p{font-size:15px;line-height:28px;color:#444;text-align:center}.XEicon .feature{height:518px;padding-top:120px}.XEicon .feature ul{padding-top:80px}.XEicon .feature li{position:relative;float:left;width:314px;min-height:140px;padding:0 16px 0 70px;margin:0 0 30px}.XEicon .feature h2{padding:7px 24px 13px 0;font-size:17px;font-weight:600;line-height:23px;color:#333}.XEicon .feature p{padding:0 24px 0 0;font-size:14px;line-height:26px;color:#888}.XEicon .feature .ico{position:absolute;top:0;left:0;width:48px;height:48px;font-size:22px;text-align:center;line-height:50px;color:#555}.XEicon .get_started{height:550px;padding-top:80px;background:#f6f6f6;box-sizing:border-box}.XEicon .get_started .cont{font-size:15px;margin-top:75px;color:#888}.XEicon .get_started ul{margin-top:34px}.XEicon .get_started li{position:relative;float:left;width:286px;height:212px;margin-right:15px;border:1px solid #e8e8e8;background:#fff;text-align:center}.XEicon .get_started li:last-child{margin-right:0}.XEicon .get_started li h2{padding:33px 0 19px;font-size:17px;font-weight:600}.XEicon .get_started li p{padding:0 37px;font-size:14px;line-height:26px;color:#888}.XEicon .get_started li>a{position:absolute;display:block;bottom:0;width:100%;height:50px;background:#888;border-top:1px solid #e1e1e1;line-height:50px;font-size:14px;font-weight:600;text-transform:uppercase;color:#fff;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.XEicon .get_started li>a:active,.XEicon .get_started li>a:focus,.XEicon .get_started li>a:hover{background-color:#cda25a;color:#fff}.XEicon .get_started li>a .xeicon{display:none;margin-right:6px;font-size:140%;vertical-align:middle}.XEicon .get_started li>a:hover .xeicon{display:inline-block;margin-top:-4px}.XEicon .contribution{height:442px;padding-top:93px;box-sizing:border-box;text-align:center}.XEicon .contribution .cont{font-size:15px;line-height:26px;text-align:center;margin-top:58px;color:#888}.XEicon .contribution .btn_github{display:inline-block;margin:50px 0;padding:0 40px;height:52px;border:2px solid #cda25a;background-color:#fff;font-size:15px;line-height:52px;font-weight:600;letter-spacing:1px;color:#cda25a;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.XEicon .contribution .btn_github:active .XEicon .contribution .btn_github:focus,.XEicon .contribution .btn_github:hover{background-color:#cda25a;color:#fff} \ No newline at end of file diff --git a/layouts/xedition/demo/slide.html b/layouts/xedition/demo/slide.html index e49e0ec4c..84d918261 100644 --- a/layouts/xedition/demo/slide.html +++ b/layouts/xedition/demo/slide.html @@ -1,30 +1,30 @@ -
    -
    -
    +
    +
    +

    SHARING, PUBLISHING.
    & PLEASURE.

    지식을 나누고 컨텐츠를 출판하며 즐거움을 함께합니다.

    -
    -
    -
    +
    +
    +

    MAKING
    WEB CULTURES

    올바른 웹 문화를 지향합니다.

    -
    -
    -
    +
    +
    +

    EVOLUTION & INNOVATION
    TOGETHER

    함께 진화하고 혁신을 추구합니다.

    -
    -
    -
    +
    +
    +

    CREATE A GOOD DESIGN WITH
    THE POSSIILITY OF TECHNOLOGY

    기술의 가능성을 발굴하고 좋은 디자인을 만들어 갑니다.

    diff --git a/layouts/xedition/demo/welcome_main.html b/layouts/xedition/demo/welcome_main.html index af3cd2e99..6999b4fd5 100644 --- a/layouts/xedition/demo/welcome_main.html +++ b/layouts/xedition/demo/welcome_main.html @@ -1,6 +1,6 @@
    -
    +

    Beautiful iconpack
    XEIcon

    HOMEPAGE diff --git a/layouts/xedition/js/camera.min.js b/layouts/xedition/js/camera.min.js deleted file mode 100644 index b4cfbfe06..000000000 --- a/layouts/xedition/js/camera.min.js +++ /dev/null @@ -1,5 +0,0 @@ -// Camera slideshow v1.3.3 - a jQuery slideshow with many effects, transitions, easy to customize, using canvas and mobile ready, based on jQuery 1.4+ -// Copyright (c) 2012 by Manuel Masia - www.pixedelic.com -// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php -!function(a){a.fn.camera=function(e){function t(){return navigator.userAgent.match(/Android/i)||navigator.userAgent.match(/webOS/i)||navigator.userAgent.match(/iPad/i)||navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPod/i)?!0:void 0}function i(){var e=a(L).width();a("li",L).removeClass("camera_visThumb"),a("li",L).each(function(){var t=a(this).position(),i=a("ul",L).outerWidth(),r=a("ul",L).offset().left,o=a("> div",L).offset().left,s=o-r;s>0?a(".camera_prevThumbs",V).removeClass("hideNav"):a(".camera_prevThumbs",V).addClass("hideNav"),i-s>e?a(".camera_nextThumbs",V).removeClass("hideNav"):a(".camera_nextThumbs",V).addClass("hideNav");var n=t.left,c=t.left+a(this).width();e>=c-s&&n-s>=0&&a(this).addClass("camera_visThumb")})}function r(){function t(){if(f=m.width(),-1!=e.height.indexOf("%")){var t=Math.round(f/(100/parseFloat(e.height)));g=""!=e.minHeight&&to/s){var l=f/o,d=.5*Math.abs(g-s*l);switch(n){case"topLeft":t=0;break;case"topCenter":t=0;break;case"topRight":t=0;break;case"centerLeft":t="-"+d+"px";break;case"center":t="-"+d+"px";break;case"centerRight":t="-"+d+"px";break;case"bottomLeft":t="-"+2*d+"px";break;case"bottomCenter":t="-"+2*d+"px";break;case"bottomRight":t="-"+2*d+"px"}r.css({height:s*l,"margin-left":0,"margin-top":t,position:"absolute",visibility:"visible",width:f})}else{var l=g/s,d=.5*Math.abs(f-o*l);switch(n){case"topLeft":i=0;break;case"topCenter":i="-"+d+"px";break;case"topRight":i="-"+2*d+"px";break;case"centerLeft":i=0;break;case"center":i="-"+d+"px";break;case"centerRight":i="-"+2*d+"px";break;case"bottomLeft":i=0;break;case"bottomCenter":i="-"+d+"px";break;case"bottomRight":i="-"+2*d+"px"}r.css({height:g,"margin-left":i,"margin-top":0,position:"absolute",visibility:"visible",width:o*l})}else if(f/g>o/s){var l=g/s,d=.5*Math.abs(f-o*l);switch(n){case"topLeft":i=0;break;case"topCenter":i=d+"px";break;case"topRight":i=2*d+"px";break;case"centerLeft":i=0;break;case"center":i=d+"px";break;case"centerRight":i=2*d+"px";break;case"bottomLeft":i=0;break;case"bottomCenter":i=d+"px";break;case"bottomRight":i=2*d+"px"}r.css({height:g,"margin-left":i,"margin-top":0,position:"absolute",visibility:"visible",width:o*l})}else{var l=f/o,d=.5*Math.abs(g-s*l);switch(n){case"topLeft":t=0;break;case"topCenter":t=0;break;case"topRight":t=0;break;case"centerLeft":t=d+"px";break;case"center":t=d+"px";break;case"centerRight":t=d+"px";break;case"bottomLeft":t=2*d+"px";break;case"bottomCenter":t=2*d+"px";break;case"bottomRight":t=2*d+"px"}r.css({height:s*l,"margin-left":0,"margin-top":t,position:"absolute",visibility:"visible",width:f})}})}var i;1==W?(clearTimeout(i),i=setTimeout(t,200)):t(),W=!0}function o(){a("iframe",h).each(function(){a(".camera_caption",h).show();var t=a(this),i=t.attr("data-src");t.attr("src",i);var r=e.imagePath+"blank.gif",o=new Image;if(o.src=r,-1!=e.height.indexOf("%")){var s=Math.round(f/(100/parseFloat(e.height)));g=""!=e.minHeight&&s li",L).outerWidth(),a("li.cameracurrent",L).length?a("li.cameracurrent",L).position():""),o=a("ul > li",L).length*a("ul > li",L).outerWidth(),s=a("ul",L).offset().left,n=a("> div",L).offset().left;e=0>s?"-"+(n-s):n-s,1==te&&(a("ul",L).width(a("ul > li",L).length*a("ul > li",L).outerWidth()),a(L).length&&!a(T).lenght&&m.css({marginBottom:a(L).outerHeight()}),i(),a("ul",L).width(a("ul > li",L).length*a("ul > li",L).outerWidth()),a(L).length&&!a(T).lenght&&m.css({marginBottom:a(L).outerHeight()})),te=!1;var c=a("li.cameracurrent",L).length?r.left:"",l=a("li.cameracurrent",L).length?r.left+a("li.cameracurrent",L).outerWidth():"";ct?o>c+t?a("ul",L).animate({"margin-left":"-"+c+"px"},500,i):a("ul",L).animate({"margin-left":"-"+(a("ul",L).outerWidth()-t)+"px"},500,i):0>c-e?a("ul",L).animate({"margin-left":"-"+c+"px"},500,i):(a("ul",L).css({"margin-left":"auto","margin-right":"auto"}),setTimeout(i,100))}}function c(){Z=0;var t=a(".camera_bar_cont",V).width(),i=a(".camera_bar_cont",V).height();if("pie"!=p)switch(U){case"leftToRight":a("#"+u).css({right:t});break;case"rightToLeft":a("#"+u).css({left:t});break;case"topToBottom":a("#"+u).css({bottom:i});break;case"bottomToTop":a("#"+u).css({top:i})}else ae.clearRect(0,0,e.pieDiameter,e.pieDiameter)}function l(i){v.addClass("camerasliding"),J=!1;var d=parseFloat(a("div.cameraSlide.cameracurrent",b).index());if(i>0)var y=i-1;else if(d==O-1)var y=0;else var y=d+1;var _=a(".cameraSlide:eq("+y+")",b),w=a(".cameraSlide:eq("+(y+1)+")",b).addClass("cameranext");if(d!=y+1&&w.hide(),a(".cameraContent",h).fadeOut(600),a(".camera_caption",h).show(),a(".camerarelative",_).append(a("> div ",v).eq(y).find("> div.camera_effected")),a(".camera_target_content .cameraContent:eq("+y+")",m).append(a("> div ",v).eq(y).find("> div")),a(".imgLoaded",_).length){if(R.length>y+1&&!a(".imgLoaded",w).length){var k=R[y+1],x=new Image;x.src=k+"?"+(new Date).getTime(),w.prepend(a(x).attr("class","imgLoaded").css("visibility","hidden")),x.onload=function(){ye=x.naturalWidth,_e=x.naturalHeight,a(x).attr("data-alignment",B[y+1]).attr("data-portrait",M[y+1]),a(x).attr("width",ye),a(x).attr("height",_e),r()}}e.onLoaded.call(this),a(".camera_loader",m).is(":visible")?a(".camera_loader",m).fadeOut(400):(a(".camera_loader",m).css({visibility:"hidden"}),a(".camera_loader",m).fadeOut(400,function(){a(".camera_loader",m).css({visibility:"visible"})}));var C,F,S,q,I,P=e.rows,H=e.cols,D=1,W=0,E=new Array("simpleFade","curtainTopLeft","curtainTopRight","curtainBottomLeft","curtainBottomRight","curtainSliceLeft","curtainSliceRight","blindCurtainTopLeft","blindCurtainTopRight","blindCurtainBottomLeft","blindCurtainBottomRight","blindCurtainSliceBottom","blindCurtainSliceTop","stampede","mosaic","mosaicReverse","mosaicRandom","mosaicSpiral","mosaicSpiralReverse","topLeftBottomRight","bottomRightTopLeft","bottomLeftTopRight","topRightBottomLeft","scrollLeft","scrollRight","scrollTop","scrollBottom","scrollHorz");marginLeft=0,marginTop=0,opacityOnGrid=0,opacityOnGrid=1==e.opacityOnGrid?0:1;var G=a(" > div",v).eq(y).attr("data-fx");if(q=t()&&""!=e.mobileFx&&"default"!=e.mobileFx?e.mobileFx:"undefined"!=typeof G&&G!==!1&&"default"!==G?G:e.fx,"random"==q?(q=s(E),q=q[0]):(q=q,q.indexOf(",")>0&&(q=q.replace(/ /g,""),q=q.split(","),q=s(q),q=q[0])),dataEasing=a(" > div",v).eq(y).attr("data-easing"),mobileEasing=a(" > div",v).eq(y).attr("data-mobileEasing"),I=t()&&""!=e.mobileEasing&&"default"!=e.mobileEasing?"undefined"!=typeof mobileEasing&&mobileEasing!==!1&&"default"!==mobileEasing?mobileEasing:e.mobileEasing:"undefined"!=typeof dataEasing&&dataEasing!==!1&&"default"!==dataEasing?dataEasing:e.easing,C=a(" > div",v).eq(y).attr("data-slideOn"),"undefined"!=typeof C&&C!==!1)j=C;else if("random"==e.slideOn){var j=new Array("next","prev");j=s(j),j=j[0]}else j=e.slideOn;var Q=a(" > div",v).eq(y).attr("data-time");F="undefined"!=typeof Q&&Q!==!1&&""!==Q?parseFloat(Q):e.time;var X=a(" > div",v).eq(y).attr("data-transPeriod");switch(S="undefined"!=typeof X&&X!==!1&&""!==X?parseFloat(X):e.transPeriod,a(v).hasClass("camerastarted")||(q="simpleFade",j="next",I="",S=400,a(v).addClass("camerastarted")),q){case"simpleFade":H=1,P=1;break;case"curtainTopLeft":H=0==e.slicedCols?e.cols:e.slicedCols,P=1;break;case"curtainTopRight":H=0==e.slicedCols?e.cols:e.slicedCols,P=1;break;case"curtainBottomLeft":H=0==e.slicedCols?e.cols:e.slicedCols,P=1;break;case"curtainBottomRight":H=0==e.slicedCols?e.cols:e.slicedCols,P=1;break;case"curtainSliceLeft":H=0==e.slicedCols?e.cols:e.slicedCols,P=1;break;case"curtainSliceRight":H=0==e.slicedCols?e.cols:e.slicedCols,P=1;break;case"blindCurtainTopLeft":P=0==e.slicedRows?e.rows:e.slicedRows,H=1;break;case"blindCurtainTopRight":P=0==e.slicedRows?e.rows:e.slicedRows,H=1;break;case"blindCurtainBottomLeft":P=0==e.slicedRows?e.rows:e.slicedRows,H=1;break;case"blindCurtainBottomRight":P=0==e.slicedRows?e.rows:e.slicedRows,H=1;break;case"blindCurtainSliceTop":P=0==e.slicedRows?e.rows:e.slicedRows,H=1;break;case"blindCurtainSliceBottom":P=0==e.slicedRows?e.rows:e.slicedRows,H=1;break;case"stampede":W="-"+S;break;case"mosaic":W=e.gridDifference;break;case"mosaicReverse":W=e.gridDifference;break;case"mosaicRandom":break;case"mosaicSpiral":W=e.gridDifference,D=1.7;break;case"mosaicSpiralReverse":W=e.gridDifference,D=1.7;break;case"topLeftBottomRight":W=e.gridDifference,D=6;break;case"bottomRightTopLeft":W=e.gridDifference,D=6;break;case"bottomLeftTopRight":W=e.gridDifference,D=6;break;case"topRightBottomLeft":W=e.gridDifference,D=6;break;case"scrollLeft":H=1,P=1;break;case"scrollRight":H=1,P=1;break;case"scrollTop":H=1,P=1;break;case"scrollBottom":H=1,P=1;break;case"scrollHorz":H=1,P=1}for(var Y,ee,te=0,ie=P*H,re=f-Math.floor(f/H)*H,oe=g-Math.floor(g/P)*P,se=0,ne=0,ce=new Array,le=new Array,de=new Array;ie>te;){ce.push(te),le.push(te),A.append('