aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xjs/main.js7
-rw-r--r--mod/pretheme.php6
-rwxr-xr-xview/field_themeselect.tpl9
-rwxr-xr-xview/settings.tpl2
4 files changed, 23 insertions, 1 deletions
diff --git a/js/main.js b/js/main.js
index 2b4b13791..0b5fb5cdc 100755
--- a/js/main.js
+++ b/js/main.js
@@ -588,3 +588,10 @@ Array.prototype.remove = function(item) {
return this.push.apply(this, rest);
};
+function previewTheme(elm) {
+ theme = $(elm).val();
+ $.getJSON('pretheme?f=&theme=' + theme,function(data) {
+ $('#theme-preview').html('<a href="' + data.img + '"><img src="' + data.img + '" width="320" height="240" alt="' + theme + '" /></a>');
+ });
+
+} \ No newline at end of file
diff --git a/mod/pretheme.php b/mod/pretheme.php
new file mode 100644
index 000000000..5a71bbe53
--- /dev/null
+++ b/mod/pretheme.php
@@ -0,0 +1,6 @@
+<?php
+
+function pretheme_init(&$a) {
+ if($_REQUEST['theme']) echo json_encode(array('img' => get_theme_screenshot($_REQUEST['theme'])));
+ killme();
+}
diff --git a/view/field_themeselect.tpl b/view/field_themeselect.tpl
new file mode 100755
index 000000000..f9f99492c
--- /dev/null
+++ b/view/field_themeselect.tpl
@@ -0,0 +1,9 @@
+
+ <div class='field select'>
+ <label for='id_$field.0'>$field.1</label>
+ <select name='$field.0' id='id_$field.0' onchange="previewTheme(this);" >
+ {{ for $field.4 as $opt=>$val }}<option value="$opt" {{ if $opt==$field.2 }}selected="selected"{{ endif }}>$val</option>{{ endfor }}
+ </select>
+ <span class='field_help'>$field.3</span>
+ <div id="theme-preview"></div>
+ </div>
diff --git a/view/settings.tpl b/view/settings.tpl
index 2b739c968..75225a0f1 100755
--- a/view/settings.tpl
+++ b/view/settings.tpl
@@ -28,7 +28,7 @@ $nickname_block
{{inc field_custom.tpl with $field=$timezone }}{{endinc}}
{{inc field_input.tpl with $field=$defloc }}{{endinc}}
{{inc field_checkbox.tpl with $field=$allowloc }}{{endinc}}
-{{inc field_select.tpl with $field=$theme }}{{endinc}}
+{{inc field_themeselect.tpl with $field=$theme }}{{endinc}}
{{inc field_input.tpl with $field=$ajaxint }}{{endinc}}
{{inc field_input.tpl with $field=$itemspage_network }}{{endinc}}
{{inc field_checkbox.tpl with $field=$nosmile}}{{endinc}}