diff --git a/modules/layout/ruleset/codeUpdate.xml b/modules/layout/ruleset/codeUpdate.xml
index 0c7e5501a..d20389403 100644
--- a/modules/layout/ruleset/codeUpdate.xml
+++ b/modules/layout/ruleset/codeUpdate.xml
@@ -1,10 +1,7 @@
-
-
-
-
+
diff --git a/modules/layout/ruleset/deleteLayout.xml b/modules/layout/ruleset/deleteLayout.xml
new file mode 100644
index 000000000..1d29b70f9
--- /dev/null
+++ b/modules/layout/ruleset/deleteLayout.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/modules/layout/ruleset/imageUpload.xml b/modules/layout/ruleset/imageUpload.xml
index 0c7e5501a..e00d16354 100644
--- a/modules/layout/ruleset/imageUpload.xml
+++ b/modules/layout/ruleset/imageUpload.xml
@@ -4,7 +4,7 @@
-
+
diff --git a/modules/layout/tpl/css/adminEdit.css b/modules/layout/tpl/css/adminEdit.css
new file mode 100644
index 000000000..fe84194c6
--- /dev/null
+++ b/modules/layout/tpl/css/adminEdit.css
@@ -0,0 +1,3 @@
+.uploaded_image_list {list-style: none; margin: 0; padding: 0;}
+.uploaded_image_list li {display: inline-block; margin-right: 10px;}
+.uploaded_image_list img {border: 1px #ccc solid; padding: 3px; width: 96px; height: 96px;}
\ No newline at end of file
diff --git a/modules/layout/tpl/header.html b/modules/layout/tpl/header.html
index 7f8ee133c..d61aaf0d1 100644
--- a/modules/layout/tpl/header.html
+++ b/modules/layout/tpl/header.html
@@ -1,17 +1,5 @@
-
+{$lang->installed_layout}
-{$lang->layout_management}
-
-{nl2br($lang->about_layout)}
-
-
-
-
-
+
+
{$XE_VALIDATOR_MESSAGE}
+
\ No newline at end of file
diff --git a/modules/layout/tpl/installed_layout_list.html b/modules/layout/tpl/installed_layout_list.html
new file mode 100644
index 000000000..cba868120
--- /dev/null
+++ b/modules/layout/tpl/installed_layout_list.html
@@ -0,0 +1,57 @@
+
+
diff --git a/modules/layout/tpl/js/adminEdit.js b/modules/layout/tpl/js/adminEdit.js
new file mode 100644
index 000000000..c0ffa12e3
--- /dev/null
+++ b/modules/layout/tpl/js/adminEdit.js
@@ -0,0 +1,24 @@
+jQuery(document).ready(function($){
+ $('.uploaded_image').css('cursor', 'pointer');
+ $('.uploaded_image_path').hide();
+ $('.uploaded_image').bind('click', function(e){
+ var path = $(this).siblings('.uploaded_image_path').html();
+ var html = '' + path + '
';
+
+ $('.selected_image_path').remove();
+ $('.uploaded_image_list').after(html);
+ });
+});
+
+function doPreviewLayoutCode()
+{
+ var $form = jQuery('#fo_layout'), $act = $form.find('input[name=act]');
+ var og_act = $act.val();
+
+ $form.attr('target', '_LayoutPreview');
+ $act.val('dispLayoutPreview');
+ $form.submit();
+
+ $form.removeAttr('target');
+ $act.val(og_act);
+}
\ No newline at end of file
diff --git a/modules/layout/tpl/js/adminList.js b/modules/layout/tpl/js/adminList.js
new file mode 100644
index 000000000..9610f3ff0
--- /dev/null
+++ b/modules/layout/tpl/js/adminList.js
@@ -0,0 +1,8 @@
+var ConfirmCheck = xe.createPlugin('confirm_check', {
+ API_BEFORE_VALIDATE: function(sender, params){
+ return confirm(xe.lang.confirm_delete);
+ }
+});
+
+var Validator = xe.getApp('Validator')[0];
+Validator.registerPlugin(new ConfirmCheck());
\ No newline at end of file
diff --git a/modules/layout/tpl/layout_edit.html b/modules/layout/tpl/layout_edit.html
index 924c23d2d..14c40e641 100644
--- a/modules/layout/tpl/layout_edit.html
+++ b/modules/layout/tpl/layout_edit.html
@@ -1,127 +1,102 @@
-
-
+
+
+
-
-{$selected_layout->layout_title}
+{$selected_layout->layout_title}
-
+{$selected_layout->title} ver {$selected_layout->version} ({$selected_layout->layout})
+{nl2br($lang->about_layout_code)}
-{$selected_layout->title} ver {$selected_layout->version} ({$selected_layout->layout})
-{nl2br($lang->about_layout_code)}
+{$lang->layout_image_repository}
+{nl2br($lang->about_layout_image_repository)}
-{$lang->layout_image_repository}
-{nl2br($lang->about_layout_image_repository)}
+
-
-
+
+ {$lang->layout_migration}
+ {nl2br($lang->about_layout_migration)}
+
+
+ {$lang->layout_export} |
+
+ {$lang->layout_btn_export}
+ {$lang->about_layout_export}
+ |
+
+
+ {$lang->layout_import} |
+
+
+ {$lang->about_layout_import}
+ |
+
+
+
-
-{$lang->layout_migration}
-{nl2br($lang->about_layout_migration)}
-
-
- {$lang->layout_export} |
-
- {$lang->layout_btn_export}
- {$lang->about_layout_export}
- |
-
-
- {$lang->layout_import} |
-
-
- {$lang->about_layout_import}
- |
-
-
-
-
-
-
-
-
diff --git a/modules/layout/tpl/layout_instance_list.html b/modules/layout/tpl/layout_instance_list.html
new file mode 100644
index 000000000..1dd4ad4e6
--- /dev/null
+++ b/modules/layout/tpl/layout_instance_list.html
@@ -0,0 +1,43 @@
+
+
+
+
+
+{$layout_info->title} ver {$layout_info->version} ({$layout_info->layout})
+
+
\ No newline at end of file
diff --git a/modules/layout/tpl/layout_modify.html b/modules/layout/tpl/layout_modify.html
index d38be7994..9d705bb50 100644
--- a/modules/layout/tpl/layout_modify.html
+++ b/modules/layout/tpl/layout_modify.html
@@ -1,184 +1,145 @@
-
+
-
+{$selected_layout->layout_title}
+{$selected_layout->title}
-{$selected_layout->layout_title}
-
-
-
-
{$XE_VALIDATOR_MESSAGE}
-
-
-
-
+
\ No newline at end of file