mirror of
https://github.com/e107inc/e107.git
synced 2025-10-10 20:44:48 +02:00
Theme Manager for Admin area, now displays previews of each admin skin.
This commit is contained in:
@@ -6809,6 +6809,44 @@ var_dump($select_options);*/
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $name
|
||||
* @param $value
|
||||
* @param $parms
|
||||
* @return string
|
||||
*/
|
||||
public function radioImage($name,$value,$parms)
|
||||
{
|
||||
if(!empty($parms['path']))
|
||||
{
|
||||
$parms['legacy'] = $parms['path'];
|
||||
}
|
||||
|
||||
$text = '<div class="clearfix">';
|
||||
$class = varset($parms['block-class'],'col-md-2');
|
||||
|
||||
foreach($parms['optArray'] as $key=>$val)
|
||||
{
|
||||
|
||||
$thumbnail = e107::getParser()->toImage($val['thumbnail'],$parms);
|
||||
$selected = ($key === $value) ? " checked='checked'" : '';
|
||||
$active = ($key === $value) ? ' active' : '';
|
||||
|
||||
$text .= "<div class='e-image-radio ".$class."' >
|
||||
<label class='theme-selection".$active."' title=\"".varset($val['title'])."\"><input type='radio' name='".$name."' value='".$key."' required='required' $selected />
|
||||
<div>".$thumbnail. "</div></label>
|
||||
";
|
||||
|
||||
$text .= isset($val['label']) ? "<div class='e-image-radio-label'>".$val['label']."</div>" : '';
|
||||
$text .= "
|
||||
</div>";
|
||||
|
||||
}
|
||||
|
||||
$text .= '</div>';
|
||||
|
||||
return $text;
|
||||
}
|
||||
|
||||
private function imageradio($name,$value,$parms)
|
||||
{
|
||||
@@ -6818,26 +6856,22 @@ var_dump($select_options);*/
|
||||
$parms['legacy'] = $parms['path'];
|
||||
}
|
||||
|
||||
|
||||
$text = '<div class="clearfix">';
|
||||
|
||||
|
||||
|
||||
foreach($parms['optArray'] as $key=>$val)
|
||||
{
|
||||
|
||||
$thumbnail = e107::getParser()->toImage($val,$parms);
|
||||
|
||||
// $thumbnail = "<img class='img-responsive img-fluid thumbnail' src='".$preview ."' alt='".$val."' />";
|
||||
|
||||
|
||||
$selected = ($val == $value) ? ' checked' : '';
|
||||
|
||||
$text .= "
|
||||
$selected = ($val == $value) ? ' checked' : '';
|
||||
$text .= "
|
||||
<div class='col-md-2 e-image-radio' >
|
||||
<label class='theme-selection' title=\"".$key."\"><input type='radio' name='".$name."' value='{$val}' required='required' $selected />
|
||||
<div>".$thumbnail. '</div>
|
||||
</label>
|
||||
</div>';
|
||||
<label class='theme-selection' title=\"".varset($parms['titles'][$key],$key)."\"><input type='radio' name='".$name."' value='{$val}' required='required' $selected />
|
||||
<div>".$thumbnail. "</div>
|
||||
</label>";
|
||||
|
||||
$text .= isset($parms['labels'][$key]) ? "<div class='e-image-radio-label'>".$parms['labels'][$key]."</div>" : '';
|
||||
$text .= "
|
||||
</div>";
|
||||
|
||||
}
|
||||
|
||||
|
@@ -2270,6 +2270,7 @@ class themeHandler
|
||||
|
||||
|
||||
|
||||
$theme['css'] = $this->filterStylesheets($mode, $theme);
|
||||
$price = '';
|
||||
|
||||
|
||||
@@ -2290,9 +2291,26 @@ class themeHandler
|
||||
$previewPath = e_BASE."index.php?themepreview.".$theme['id'];
|
||||
$class = 'admin-theme-nopreview';
|
||||
}
|
||||
|
||||
if($mode === self::RENDER_ADMINPREFS)
|
||||
{
|
||||
foreach($theme['css'] as $val)
|
||||
{
|
||||
if(($pref['admincss'] === $val['name']) && !empty($val['thumbnail']) )
|
||||
{
|
||||
$thumbPath = e_THEME.$theme['path'] ."/".$val['thumbnail'];
|
||||
$previewPath = $thumbPath;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$thumbnail = "<img class='".$class."' src='".$thumbPath."' style='max-width:100%' alt='' />";
|
||||
|
||||
|
||||
|
||||
$preview_icon = "<a class='e-modal btn btn-default btn-secondary btn-sm btn-small btn-inverse' title=' ".TPVLAN_70." ".$theme['name']."' data-modal-caption=\"".$theme['name']." ".$theme['version']."\" rel='external' href='".$previewPath."'>".$tp->toGlyph('fa-search',array('size'=>'2x'))."</a>";
|
||||
|
||||
|
||||
@@ -2305,7 +2323,7 @@ class themeHandler
|
||||
// load customn theme configuration fields.
|
||||
$this->loadThemeConfig();
|
||||
|
||||
$text = '';
|
||||
$text = '<div style="padding-bottom:100px">';
|
||||
|
||||
$text .= "
|
||||
|
||||
@@ -2550,12 +2568,39 @@ class themeHandler
|
||||
$text .= varset($itext);
|
||||
|
||||
|
||||
$theme['css'] = $this->filterStylesheets($mode, $theme);
|
||||
|
||||
|
||||
if(array_key_exists("multipleStylesheets", $theme) && $mode && !empty($theme['css']))
|
||||
// Render skin previews.
|
||||
if(self::RENDER_ADMINPREFS === $mode)
|
||||
{
|
||||
$pLabel = (self::RENDER_ADMINPREFS === $mode) ? TPVLAN_95 : TPVLAN_22;
|
||||
$parms = [];
|
||||
$parms['path'] = e_THEME.$theme['path'].'/';
|
||||
$parms['block-class'] = 'admin-css-selector col-md-3';
|
||||
|
||||
foreach($theme['css'] as $val)
|
||||
{
|
||||
$kid = $val['name'];
|
||||
// $val['description'];
|
||||
$parms['optArray'][$kid] = array(
|
||||
'thumbnail' => $val['thumbnail'],
|
||||
'label' => $val['info']."<br /><small>".$val['description']."</small>",
|
||||
);
|
||||
}
|
||||
|
||||
$text .= "<tr><td style='vertical-align:top;'><b>".TPVLAN_95.":</b></td>
|
||||
<td colspan='2' style='vertical-align:top'>
|
||||
";
|
||||
$text .= e107::getForm()->radioImage('admincss', vartrue($pref['admincss']), $parms);
|
||||
$text .= "</td></tr>";
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if(array_key_exists("multipleStylesheets", $theme) && $mode && !empty($theme['css']) && self::RENDER_SITEPREFS === $mode)
|
||||
{
|
||||
$pLabel = TPVLAN_22;
|
||||
|
||||
$text .= "
|
||||
<tr><td style='vertical-align:top;'><b>".$pLabel.":</b></td>
|
||||
@@ -2572,28 +2617,12 @@ class themeHandler
|
||||
|
||||
$text2 = "";
|
||||
|
||||
switch($mode)
|
||||
{
|
||||
case self::RENDER_ADMINPREFS: // admin mode.
|
||||
$for = $frm->name2id("admincss-".$css['name']);
|
||||
$text2 = "<td class='center'>";
|
||||
$text2 .= $frm->radio('admincss', $css['name'], vartrue($pref['admincss'])== $css['name'], array('id'=>$for));
|
||||
$text2 .= "</td>";
|
||||
$text2 .= "<td><label for='".$for."' title=\"".$css['name']."\">".$css['info']."</label></td>";
|
||||
$text2 .= "<td>".($css['description'] ? $css['description'] : '')."</td>\n";
|
||||
break;
|
||||
|
||||
case self::RENDER_SITEPREFS: // front 'sitetheme' mode.
|
||||
|
||||
$text2 = "
|
||||
<td class='center'>
|
||||
<input id='".$frm->name2id($css['name'])."' type='radio' name='themecss' value='".$css['name']."' ".($pref['themecss'] == $css['name'] || (!$pref['themecss'] && $css['name'] == "style.css") ? " checked='checked'" : "")." />
|
||||
</td>
|
||||
<td><label for='".$frm->name2id($css['name'])."' >".$css['name']."</lable></td>
|
||||
<td>".($css['info'] ? $css['info'] : ($css['name'] == "style.css" ? TPVLAN_23 : TPVLAN_24))."</td>\n";
|
||||
break;
|
||||
|
||||
}
|
||||
$text2 = "
|
||||
<td class='center'>
|
||||
<input id='".$frm->name2id($css['name'])."' type='radio' name='themecss' value='".$css['name']."' ".($pref['themecss'] == $css['name'] || (!$pref['themecss'] && $css['name'] == "style.css") ? " checked='checked'" : "")." />
|
||||
</td>
|
||||
<td><label for='".$frm->name2id($css['name'])."' >".$css['name']."</lable></td>
|
||||
<td>".($css['info'] ? $css['info'] : ($css['name'] == "style.css" ? TPVLAN_23 : TPVLAN_24))."</td>\n";
|
||||
|
||||
$text .= ($text2) ? "<tr>".$text2."</tr>" : "";
|
||||
|
||||
@@ -2661,6 +2690,7 @@ class themeHandler
|
||||
|
||||
$text .= "</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
\n";
|
||||
|
||||
|
Reference in New Issue
Block a user