feat: GSP 1.0 baseline – module versions, FAQ refresh, XML editor validation, Obsidian theme
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/40ca313f-3f17-4f62-8f05-ba72540a8d30 Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
This commit is contained in:
parent
1b3b79447f
commit
d564476d1c
178 changed files with 3327 additions and 44 deletions
44
themes/Obsidian/modules/settings/themes.css
Normal file
44
themes/Obsidian/modules/settings/themes.css
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
.beta {
|
||||
z-index: 100;
|
||||
background-color: #e07600;
|
||||
padding: .2em .6em .3em;
|
||||
font-size: 78%;
|
||||
font-weight: 700 !important;
|
||||
color: #fff !important;
|
||||
border-radius: .25em;
|
||||
margin-left: 3px;
|
||||
margin-top: 3px;
|
||||
position: absolute;
|
||||
}
|
||||
.preview-f {
|
||||
display: none;
|
||||
background: #0f1a26;
|
||||
padding: 3px;
|
||||
border-radius: 4px;
|
||||
position: absolute;
|
||||
margin-top: -22px;
|
||||
margin-left: -4px;
|
||||
}
|
||||
.preview-l img,.preview-lb img,.preview-f img {
|
||||
max-height: 80px;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
.preview-l,.preview-lb {
|
||||
z-index: 1000;
|
||||
display: none;
|
||||
background: #0f1a26;
|
||||
padding: 3px;
|
||||
border-radius: 4px;
|
||||
position: absolute;
|
||||
margin-top: 0px;
|
||||
margin-left: 16px;
|
||||
}
|
||||
#lp:hover .preview-l {
|
||||
display: inline !important;
|
||||
}
|
||||
#fp:hover .preview-f {
|
||||
display: inline !important;
|
||||
}
|
||||
#lbp:hover .preview-lb {
|
||||
display: inline !important;
|
||||
}
|
||||
91
themes/Obsidian/modules/settings/themes.js
Normal file
91
themes/Obsidian/modules/settings/themes.js
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
$(document).ready(function() {
|
||||
$('form[action="?m=settings&p=themes"] tr:nth-child(5)').hide();
|
||||
$('form[action="?m=settings&p=themes"]').after('<br><h2>Extra Options</h2><table class="center more-option"><tbody></tbody></table>');
|
||||
$('.more-option tbody').append('<tr><td align="right"><label><a href="#"><i class="fa fa-eye" id="fp" aria-hidden="true"><span class="preview-f"><img src="" /></span></i></a> Favicon:</label></td><td align="left"><input id="favicon" name="favicon" type="text" size="50"></td><td><div class="image-tip" original-title="The Favicon Icon URL."><img src="themes/Obsidian/images/icon_help_small.png"></div></td></tr>');
|
||||
$('.more-option tbody').append('<tr><td align="right"><label><a href="#"><i class="fa fa-eye" id="lbp" aria-hidden="true"><span class="preview-lb"><img src="" /></span></i></a> Login Background Image:</label></td><td align="left"><input id="loginbg" name="loginbg" type="text" size="50"></td><td><div class="image-tip" original-title="The Login Page\'s Background Image URL."><img src="themes/Obsidian/images/icon_help_small.png"></div></td></tr>');
|
||||
$('.more-option tbody').append('<tr><td align="right"><label>Background Blur Effect:</label></td><td align="left"><select id="bgblur" name="bgblur"><option value="1">Enable</option><option value="0">Disable</option></select></td><td><div class="image-tip" title="Enables/Disable Blur Effect of Login/Register Background."><img src="themes/Obsidian/images/icon_help_small.png"></div></td></tr>');
|
||||
$('.more-option tbody').append('<tr><td align="right"><label><a href="#"><i class="fa fa-eye" id="lp" aria-hidden="true"><span class="preview-l"><img src="" /></span></i></a> Logo:</label></td><td align="left"><input id="logo" name="logo" type="text" size="50"></td><td><div class="image-tip" original-title="The Logo image URL."><img src="themes/Obsidian/images/icon_help_small.png"></div></td></tr>');
|
||||
$('.more-option tbody').append('<tr><td align="right"><label>Loading Bar:</label></td><td align="left"><select id="pace" name="pace"><option value="default">Default</option><option value="big-counter">Big Counter</option><option value="bounce">Bounce</option><<option value="center-circle">Center Circle</option><option value="center-radar">Center Radar</option><option value="center-simple">Center Simple</option><option value="corner-indicator">Corner Indicator</option><option value="center-rotate">Center Rotate</option><option value="material">Material</option></select></td><td><div class="image-tip" title="Change style of Loading Bar."><img src="themes/Obsidian/images/icon_help_small.png"></div></td></tr>');
|
||||
$('.more-option tbody').append('<tr><td align="right"><label>Responsive Mode:</label></td><td align="left"><select id="responsive" name="responsive"><option value="1">Enable</option><option value="0">Disable</option></select><span class="beta">Beta - unstable</span></td><td><div class="image-tip" title="Enables/Disable Responsiveness for the whole theme."><img src="themes/Obsidian/images/icon_help_small.png"></div></td></tr>');
|
||||
$('.more-option').after('<p class="center update_options"><img id="op_load" style="display: none;" src="images/loading.gif" /><button id="update_options">Update Options</button></p>');
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: "themes/Obsidian/config/config.xml",
|
||||
dataType: "xml",
|
||||
success: function (xml) {
|
||||
|
||||
// Parse the xml file and get data
|
||||
var xmlDoc = $.parseXML(xml),
|
||||
$xml = $(xmlDoc);
|
||||
var favicon = $(xml).find('favicon').text();
|
||||
var loginbg = $(xml).find('loginbg').text();
|
||||
var bgblur = $(xml).find('bgblur').text();
|
||||
var logo = $(xml).find('logo').text();
|
||||
var pace = $(xml).find('pace').text();
|
||||
var responsive = $(xml).find('responsive').text();
|
||||
$('#favicon').attr('value', favicon);
|
||||
$('#loginbg').attr('value', loginbg);
|
||||
if(bgblur == 1) {
|
||||
$('#bgblur option[value="1"]').attr('selected', 'selected');
|
||||
} else if(bgblur == 0) {
|
||||
$('#bgblur option[value="0"]').attr('selected', 'selected');
|
||||
}
|
||||
$('#logo').attr('value', logo);
|
||||
$('#pace option[value="' + pace + '"]').attr('selected', 'selected');
|
||||
if(responsive == 1) {
|
||||
$('#responsive option[value="1"]').attr('selected', 'selected');
|
||||
} else if(responsive == 0) {
|
||||
$('#responsive option[value="0"]').attr('selected', 'selected');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$('#update_options').click(function(){
|
||||
$('#update_options').hide();
|
||||
$('#op_load').show();
|
||||
var favicon = $('#favicon').val();
|
||||
var loginbg = $('#loginbg').val();
|
||||
var bgblur = $('#bgblur').val();
|
||||
var logo = $('#logo').val();
|
||||
var pace = $('#pace').val();
|
||||
var responsive = $('#responsive').val();
|
||||
$.ajax({
|
||||
url: 'themes/Obsidian/config/config.php',
|
||||
type: 'POST',
|
||||
data: {
|
||||
favicon:favicon,
|
||||
loginbg:loginbg,
|
||||
bgblur:bgblur,
|
||||
logo:logo,
|
||||
pace:pace,
|
||||
responsive:responsive
|
||||
},
|
||||
success: function(data) {
|
||||
$('#op_load').hide();
|
||||
$('#update_options').show();
|
||||
alert('Updated Options successfully');
|
||||
},
|
||||
error: function(xhr, textStatus, error){
|
||||
console.log(xhr.statusText);
|
||||
console.log(textStatus);
|
||||
console.log(error);
|
||||
$('#op_load').hide();
|
||||
$('#update_options').show();
|
||||
alert("Failed to Update Options");
|
||||
}
|
||||
});
|
||||
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
$('#fp').hover(function(){
|
||||
$('.preview-f img').attr('src', $('#favicon').val() + '?' + Math.random() );
|
||||
});
|
||||
$('#lbp').hover(function(){
|
||||
$('.preview-lb img').attr('src', $('#loginbg').val() + '?' + Math.random() );
|
||||
});
|
||||
$('#lp').hover(function(){
|
||||
$('.preview-l img').attr('src', $('#logo').val() + '?' + Math.random() );
|
||||
});
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue