diff --git a/classes/db/DB.class.php b/classes/db/DB.class.php index 26937e7ad..67f860af1 100644 --- a/classes/db/DB.class.php +++ b/classes/db/DB.class.php @@ -372,6 +372,7 @@ break; case 'number' : case 'numbers' : + if(is_array($val)) $val = join(',', $val); if(!preg_match('/^(-?)[0-9]+(,\-?[0-9]+)*$/is', $val)) return new Object(-1, sprintf($lang->filter->invalid_number, $lang->{$key} ? $lang->{$key} : $key)); break; case 'alpha' : diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index b973eeb6e..f29ff0c5f 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -294,6 +294,13 @@ $this->module_info->module_type = $type; $oModule->setModuleInfo($this->module_info, $xml_info); + if($type == "view" && $this->module_info->use_mobile == "Y" && Mobile::isMobileCheckByAgent()) + { + global $lang; + $footer = '
'.$lang->msg_pc_to_mobile.' '.$lang->cmd_move.'
{$lang->msg_pc_to_mobile} {$lang->cmd_move}
';
-
- $output = $oModuleController->updateModule($module_info);
- if(!$output->toBool()) return $output;
-
- // insertFirstModule
- $site_args->site_srl = 0;
- $site_args->index_module_srl = $module_srl;
- $oModuleController->updateSite($site_args);
-
- }
}
?>
diff --git a/modules/install/script/ko.install.php b/modules/install/script/ko.install.php
new file mode 100644
index 000000000..7222774ca
--- /dev/null
+++ b/modules/install/script/ko.install.php
@@ -0,0 +1,107 @@
+
+ // ko/en/...
+ $lang = Context::getLangType();
+
+ // insertMenu
+ $menu_args->site_srl = 0;
+ $menu_args->title = 'welcome_menu';
+ $menu_srl = $menu_args->menu_srl = getNextSequence();
+ $menu_args->listorder = $menu_srl * -1;
+
+ $output = executeQuery('menu.insertMenu', $menu_args);
+ if(!$output->toBool()) return $output;
+
+ // insertMenuItem
+ // create 1depth menuitem
+ $item_args->menu_srl = $menu_srl;
+ $item_args->name = 'menu1';
+ $parent_srl = $item_args->menu_item_srl = getNextSequence();
+ $item_args->listorder = -1*$item_args->menu_item_srl;
+
+ $output = executeQuery('menu.insertMenuItem', $item_args);
+ if(!$output->toBool()) return $output;
+
+ // create 2depth menuitem
+ unset($item_args);
+ $item_args->menu_srl = $menu_srl;
+ $item_args->parent_srl = $parent_srl;
+ $item_args->url = 'welcome_page';
+ $item_args->name = 'menu1-1';
+ $item_args->menu_item_srl = getNextSequence();
+ $item_args->listorder = -1*$item_args->menu_item_srl;
+
+ $output = executeQuery('menu.insertMenuItem', $item_args);
+ if(!$output->toBool()) return $output;
+
+ // XML 파일을 갱신
+ $oMenuAdminController = &getAdminController('menu');
+ $oMenuAdminController->makeXmlFile($menu_srl);
+
+ // create Layout
+ //extra_vars init
+ $extra_vars->colorset = 'default';
+ $extra_vars->main_menu = $menu_srl;
+ $extra_vars->bottom_menu = $menu_srl;
+ $extra_vars->menu_name_list = array();
+ $extra_vars->menu_name_list[$menu_srl] = 'welcome_menu';
+
+ $args->site_srl = 0;
+ $layout_srl = $args->layout_srl = getNextSequence();
+ $args->layout = 'xe_official';
+ $args->title = 'welcome_layout';
+ $args->layout_type = 'P';
+
+ $oLayoutAdminController = &getAdminController('layout');
+ $output = $oLayoutAdminController->insertLayout($args);
+ if(!$output->toBool()) return $output;
+
+ // update Layout
+ $args->extra_vars = serialize($extra_vars);
+ $output = $oLayoutAdminController->updateLayout($args);
+ if(!$output->toBool()) return $output;
+
+ // insertPageModule
+ $page_args->layout_srl = $layout_srl;
+ $page_args->module = 'page';
+ $page_args->mid = 'welcome_page';
+ $page_args->module_category_srl = 0;
+ $page_args->page_caching_interval = 0;
+
+ $oModuleController = &getController('module');
+ $output = $oModuleController->insertModule($page_args);
+
+ if(!$output->toBool()) return $output;
+
+ $module_srl = $output->get('module_srl');
+
+ // insert PageContents - widget
+ $oTemplateHandler = &TemplateHandler::getInstance();
+
+ $oDocumentModel = &getModel('document');
+ $oDocumentController = &getController('document');
+
+ $obj->module_srl = $module_srl;
+ Context::set('version', __ZBXE_VERSION__);
+ $obj->title = 'welcome_document';
+
+ $obj->content = $oTemplateHandler->compile('./modules/install/script/welcome_content', 'welcome_content_'.$lang);
+
+ $output = $oDocumentController->insertDocument($obj);
+ if(!$output->toBool()) return $output;
+
+ $document_srl = $output->get('document_srl');
+
+ // save PageWidget
+ $oModuleModel = &getModel('module');
+ $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
+ $module_info->content = '
';
+
+ $output = $oModuleController->updateModule($module_info);
+ if(!$output->toBool()) return $output;
+
+ // insertFirstModule
+ $site_args->site_srl = 0;
+ $site_args->index_module_srl = $module_srl;
+ $oModuleController->updateSite($site_args);
+
+?>
diff --git a/modules/install/tpl/welcome_content/welcome_content_en.html b/modules/install/script/welcome_content/welcome_content_en.html
similarity index 100%
rename from modules/install/tpl/welcome_content/welcome_content_en.html
rename to modules/install/script/welcome_content/welcome_content_en.html
diff --git a/modules/install/tpl/welcome_content/welcome_content_es.html b/modules/install/script/welcome_content/welcome_content_es.html
similarity index 100%
rename from modules/install/tpl/welcome_content/welcome_content_es.html
rename to modules/install/script/welcome_content/welcome_content_es.html
diff --git a/modules/install/tpl/welcome_content/welcome_content_fr.html b/modules/install/script/welcome_content/welcome_content_fr.html
similarity index 100%
rename from modules/install/tpl/welcome_content/welcome_content_fr.html
rename to modules/install/script/welcome_content/welcome_content_fr.html
diff --git a/modules/install/tpl/welcome_content/welcome_content_jp.html b/modules/install/script/welcome_content/welcome_content_jp.html
similarity index 100%
rename from modules/install/tpl/welcome_content/welcome_content_jp.html
rename to modules/install/script/welcome_content/welcome_content_jp.html
diff --git a/modules/install/tpl/welcome_content/welcome_content_ko.html b/modules/install/script/welcome_content/welcome_content_ko.html
similarity index 100%
rename from modules/install/tpl/welcome_content/welcome_content_ko.html
rename to modules/install/script/welcome_content/welcome_content_ko.html
diff --git a/modules/install/tpl/welcome_content/welcome_content_mn.html b/modules/install/script/welcome_content/welcome_content_mn.html
similarity index 100%
rename from modules/install/tpl/welcome_content/welcome_content_mn.html
rename to modules/install/script/welcome_content/welcome_content_mn.html
diff --git a/modules/install/tpl/welcome_content/welcome_content_ru.html b/modules/install/script/welcome_content/welcome_content_ru.html
similarity index 100%
rename from modules/install/tpl/welcome_content/welcome_content_ru.html
rename to modules/install/script/welcome_content/welcome_content_ru.html
diff --git a/modules/install/tpl/welcome_content/welcome_content_tr.html b/modules/install/script/welcome_content/welcome_content_tr.html
similarity index 100%
rename from modules/install/tpl/welcome_content/welcome_content_tr.html
rename to modules/install/script/welcome_content/welcome_content_tr.html
diff --git a/modules/install/tpl/welcome_content/welcome_content_vi.html b/modules/install/script/welcome_content/welcome_content_vi.html
similarity index 100%
rename from modules/install/tpl/welcome_content/welcome_content_vi.html
rename to modules/install/script/welcome_content/welcome_content_vi.html
diff --git a/modules/install/tpl/welcome_content/welcome_content_zh-CN.html b/modules/install/script/welcome_content/welcome_content_zh-CN.html
similarity index 100%
rename from modules/install/tpl/welcome_content/welcome_content_zh-CN.html
rename to modules/install/script/welcome_content/welcome_content_zh-CN.html
diff --git a/modules/install/tpl/welcome_content/welcome_content_zh-TW.html b/modules/install/script/welcome_content/welcome_content_zh-TW.html
similarity index 100%
rename from modules/install/tpl/welcome_content/welcome_content_zh-TW.html
rename to modules/install/script/welcome_content/welcome_content_zh-TW.html
diff --git a/modules/widget/widget.controller.php b/modules/widget/widget.controller.php
index 8047c29bc..16567be2e 100644
--- a/modules/widget/widget.controller.php
+++ b/modules/widget/widget.controller.php
@@ -537,6 +537,7 @@
if($args) {
foreach($args as $key => $val) {
if(in_array($key, array('class','style','widget_padding_top','widget_padding_right','widget_padding_bottom','widget_padding_left','widget','widgetstyle','document_srl'))) continue;
+ if(!is_numeric($val) && (!is_string($val) || strlen($val)==0)) continue;
if(strpos($val,'|@|')>0) $val = str_replace('|@|',',',$val);
$attribute[] = sprintf('%s="%s"', $key, str_replace('"','\"',$val));
}
@@ -557,10 +558,10 @@
// args 정리
$attribute = array();
if($args) {
+ $allowed_key = array('class','style','widget_padding_top','widget_padding_right','widget_padding_bottom','widget_padding_left','widget');
foreach($args as $key => $val) {
- if(!is_string($val . "")) continue;
- if(in_array($key, array('class','style','widget_padding_top','widget_padding_right','widget_padding_bottom','widget_padding_left','widget'))) continue;
- if(!is_string($val) || strlen($val)==0) continue;
+ if(in_array($key, $allowed_key)) continue;
+ if(!is_numeric($val) && (!is_string($val) || strlen($val)==0)) continue;
if(strpos($val,'|@|')>0) $val = str_replace('|@|',',',$val);
$attribute[] = sprintf('%s="%s"', $key, str_replace('"','\"',$val));
}