diff --git a/e107_handlers/admin_ui.php b/e107_handlers/admin_ui.php index 0b4a1efab..1670b36a0 100644 --- a/e107_handlers/admin_ui.php +++ b/e107_handlers/admin_ui.php @@ -1586,7 +1586,7 @@ class e_admin_dispatcher } elseif(deftrue('e_CURRENT_PLUGIN')) { - $icon = e107::getPlugin()->getIcon(e_CURRENT_PLUGIN, 32, ''); + $icon = e107::getPlug()->load(e_CURRENT_PLUGIN)->getIcon(32); } return e107::getNav()->admin($icon."<span>".$this->menuTitle."</span>", $selected, $var); diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php index ee9e391bc..12ef29819 100644 --- a/e107_handlers/form_handler.php +++ b/e107_handlers/form_handler.php @@ -955,11 +955,15 @@ class e_form } else { - $title = LAN_EDIT; + $title = LAN_EDIT; } + $class = !empty($extras['class']) ? $extras['class']." " : ''; + $title = !empty($extras['title']) ? $extras['title'] : $title; + + // $ret = "<a title=\"{$title}\" rel='external' class='e-dialog' href='".$url."'>".$label."</a>"; // using colorXXXbox. - $ret = "<a title=\"{$title}\" class='e-modal' data-modal-caption='".LAN_EFORM_007."' data-cache='false' data-target='#uiModal' href='".$url."'>".$label."</a>"; // using bootstrap. + $ret = "<a title=\"{$title}\" class='".$class."e-modal' data-modal-caption='".LAN_EFORM_007."' data-cache='false' data-target='#uiModal' href='".$url."'>".$label."</a>"; // using bootstrap. // $footer = "<div style=\'padding:5px;text-align:center\' <a href=\'#\' >Save</a></div>"; @@ -1114,7 +1118,7 @@ class e_form /** - * FIXME {IMAGESELECTOR} rewrite + * Image Picker * @param string $name input name * @param string $default default value @@ -1141,6 +1145,10 @@ class e_form if(strpos($sc_parameters, '=') === false) $sc_parameters = 'media='.$sc_parameters; parse_str($sc_parameters, $sc_parameters); } + elseif(empty($sc_parameters)) + { + $sc_parameters = array(); + } if(empty($sc_parameters['media'])) @@ -1204,17 +1212,18 @@ class e_form $ret = "<div class='imgselector-container' style='display:block;width:64px;min-height:64px'>"; $thpath = isset($sc_parameters['nothumb']) || vartrue($hide) ? $default : $default_thumb; - $label = "<div id='{$name_id}_prev' class='text-center well well-small image-selector img-responsive img-fluid' >"; + $label = "<div id='{$name_id}_prev' class='text-center well well-small image-selector icon-selector img-responsive img-fluid' >"; $label .= $tp->toIcon($default_url,array('class'=>'img-responsive img-fluid')); //$label = "<div id='{$name_id}_prev' class='text-center well well-small image-selector' >"; //$label .= $tp->toIcon($default_url); - $label .= " - </div>"; + $label .= "</div>"; // $label = "<img id='{$name_id}_prev' src='{$default_url}' alt='{$default_url}' class='well well-small image-selector' style='{$style}' />"; - + + + $ret = $this->mediaUrl($cat, $label, $name_id, $sc_parameters); } else // Images { @@ -1235,35 +1244,40 @@ class e_form $cat = $cat . "_image"; } + $sc_parameters['class'] = 'btn btn-sm btn-default'; - } + if($blank === true) + { + $sc_parameters['title'] = LAN_ADD; + $editIcon = $this->mediaUrl($cat, $tp->toGlyph('fa-plus', array('fw'=>1)), $name_id,$sc_parameters); + $previewIcon = ''; - if(!empty($previewURL)) - { - $default_url = $previewURL; + // @todo drag-n-drop upload code in here. + } + else + { + $editIcon = $this->mediaUrl($cat, $tp->toGlyph('fa-edit', array('fw'=>1)), $name_id,$sc_parameters); + $previewIcon = "<a title='".LAN_PREVIEW."' class='btn btn-sm btn-default e-modal' data-modal-caption='".LAN_PREVIEW."' href='".$default_url."'>".$tp->toGlyph('fa-search', array('fw'=>1))."</a>"; + } + + $ret .= $label; // image + + $ret .= '<div class="overlay"> + <div class="text">'.$editIcon.$previewIcon.'</div> + </div>'; } - $ret .= $this->mediaUrl($cat, $label,$name_id,$sc_parameters); - - if($cat != '_icon' && $blank == false) // ICONS - { - $ret .= "<div class='text-right'><a title='".LAN_PREVIEW."' class='btn btn-sm btn-default btn-block e-modal' data-modal-caption='".LAN_PREVIEW."' href='".$default_url."'>".$tp->toGlyph('fa-search')."</a></div>"; - } $ret .= "</div>\n"; $ret .= "<input type='hidden' name='{$name}' id='{$name_id}' value='{$default}' />"; $ret .= "<input type='hidden' name='mediameta_{$name}' id='{$meta_id}' value='' />"; - // $ret .= $this->text($name,$default); // to be hidden eventually. - return $ret; - - - - - // ---------------- + return $ret; } + + private function imagepickerDefault($path, $parms=array()) { $tp = e107::getParser(); diff --git a/e107_themes/bootstrap3/admin_style.css b/e107_themes/bootstrap3/admin_style.css index eeafc5171..1305d4238 100644 --- a/e107_themes/bootstrap3/admin_style.css +++ b/e107_themes/bootstrap3/admin_style.css @@ -261,8 +261,52 @@ td.right, th.right { text-align:right } #cboxTitle { font-weight:bold; color: black } .chzn-container { border: 1px solid #ddd; } + +/* image picker */ + +.imgselector-container { + position: relative; +} + +.imgselector-container .overlay { + position: absolute; + bottom: 100%; + left: 0; + right: 0; + background-color: rgba(0,0,0,0.8); + overflow: hidden; + width: 100%; + height:0; + transition: .5s ease; + border-radius: 4px; +} + +.imgselector-container:hover .overlay { + bottom: 0; + height: 100%; +} + +.imgselector-container .text { + white-space: nowrap; + color: white; + font-size: 30px; + position: absolute; + overflow: hidden; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); +} + +.imgselector-container .text .btn-sm { + font-size: 20px; +} + + + + /* icon-picker */ -div.image-selector { width:100px; height:60px ; font-size:32px; line-height:40px } +div.image-selector.icon-selector { width: 64px; height:64px; margin-bottom:0; font-size:32px; line-height:40px } div.imgselector-container a { color: inherit; } #link-button_prev i { line-height:40px; }