diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php
index 506c79929..20e827cd1 100644
--- a/e107_handlers/form_handler.php
+++ b/e107_handlers/form_handler.php
@@ -5384,6 +5384,14 @@ class e_form
case 'video':
case 'image': //TODO - thumb, image list shortcode, js tooltip...
$label = varset($parms['label'], 'LAN_EDIT');
+
+ if(!empty($parms['optArray']))
+ {
+
+ return $this->imageradio($key,$value,$parms);
+ }
+
+
unset($parms['label']);
if($attributes['type'] === 'video')
@@ -5392,6 +5400,7 @@ class e_form
$parms['w'] = 280;
}
+
$ret = $this->imagepicker($key, $value, defset($label, $label), $parms);
break;
@@ -5733,6 +5742,46 @@ class e_form
return $ret;
}
+
+ private function imageradio($name,$value,$parms)
+ {
+
+ if(!empty($parms['path']))
+ {
+ $parms['legacy'] = $parms['path'];
+ }
+
+
+ $text = '
';
+
+
+
+ foreach($parms['optArray'] as $key=>$val)
+ {
+ $thumbnail = e107::getParser()->toImage($val,$parms);
+
+ // $thumbnail = "

";
+
+
+ $selected = ($val == $value) ? " checked" : "";
+
+ $text .= "
+
";
+
+ }
+
+ $text .= "
";
+
+ return $text;
+
+ }
+
+
+
/**
* Generic List Form, used internally by admin UI
* Expected options array format:
diff --git a/e107_themes/bootstrap3/admin_style.css b/e107_themes/bootstrap3/admin_style.css
index 5d7dbb120..e301afbce 100644
--- a/e107_themes/bootstrap3/admin_style.css
+++ b/e107_themes/bootstrap3/admin_style.css
@@ -95,6 +95,16 @@ cursor: help;
}
+ .e-image-radio { padding-left:0;}
+
+ .e-image-radio label > input { visibility: hidden; position: absolute; }
+ .e-image-radio label > input + div{ cursor:pointer; border:2px solid transparent; border-radius:4px;height: 60px; padding: 5px; vertical-align: middle; }
+ .e-image-radio label > input:checked + div { border:2px solid #337ab7; }
+ .e-image-radio label > input + div span { visibility: hidden; float:right; margin-right:10px; color:#337ab7 }
+ .e-image-radio label > input:checked + div span { visibility: initial; }
+
+
+
/* TODO - use col-xx-x markup where core-mainpanel-block occurs. ? */
@media (max-width: 1700px){
.core-mainpanel-block { width:25%; }