1 <script
type=
"text/javascript">
2 $(document).
ready(
function() {
3 $(
'#table-sort').dataTable( {
5 "bLengthChange":
false,
31 $user->setUserTemplate(
$db, 0, settings::getSetting(
$db,
"selectedTemplate"), $user->id);
32 $user->overrideTemplate = 0;
34 if (isset(
$_GET[
'toggle']) && (
$_GET[
'toggle'] ===
"1"))
36 if (isset(
$_GET[
'templateID']) && (is_numeric(
$_GET[
'templateID'])))
39 if (settings::setSetting(
$db,
"selectedTemplate",
$_GET[
'templateID'],
$lang))
41 template::setTemplateActive(
$db,
$_GET[
'templateID']);
42 $user->setUserTemplate(
$db, 0,
$_GET[
'templateID'], $user->id);
43 $user->overrideTemplate = 0;
47 alert::draw(
"warning",
"$lang[TPL_SWITCH_FAILED]",
"$lang[TPL_SWITCH_FAILED_SUBTEXT]",
"page=template-manage", 3000);
55 if (isset(
$_GET[
'templateID']) && (is_numeric(
$_GET[
'templateID'])))
58 if (template::deleteTemplate(
$db,
$_GET[
'templateID']))
60 alert::draw(
"success",
"<i class=\"fa fa-trash-o\"></i> $lang[TPL] $lang[DELETED]",
"$lang[SUCCESS]",
"", 3000);
64 alert::draw(
"danger",
"$lang[TPL_FAILED_TO_DELETE] $_GET[templateID]",
"$lang[PLEASE_TRY_AGAIN]",
"", 3000);
73 <!-- Content Wrapper. Contains page content -->
74 <div class=\"content-wrapper\" id=\"content-FX\">
75 <!-- Content Header (Page header) -->
76 <section class=\"content-header\">";
78 echo backend::getTitle(
$lang[
'TPL_MANAGER'],
$lang[
'TEMPLATES_SUBTEXT']);
79 echo
"<ol class=\"breadcrumb\">
80 <li><a href=\"index.php\" title=\"$lang[DASHBOARD]\"><i class=\"fa fa-dashboard\"></i> $lang[DASHBOARD]</a></li>
81 <li><a href=\"index.php?page=template-manage\" class=\"active\" title=\"$lang[TPL_MANAGER]\"> $lang[TPL_MANAGER]</a></li>
85 <section class=\"content\">";
88 <div
class=
"box box-default">
89 <div
class=
"box-body">
91 <
a class=
"btn btn-success" href=
"#" style=
"float:right;">
92 <
i class=
"glyphicon glyphicon-plus"></
i> &
nbsp;<?php print
$lang[
'TEMPLATE']; ?></
a>
94 <table style=
"width:100%;" class=
"table table-striped table-hover table-responsive" id=
"table-sort">
97 <td style=
"width:3%;"><strong>&
nbsp;</strong></td>
98 <td style=
"width:3%;"><strong><?php echo
$lang[
'ID']; ?></strong></td>
99 <td style=
"width:20%;"><strong><
i class=
"fa fa-caret-down"></
i> <?php print
$lang[
'TEMPLATE']; ?></strong></td>
100 <td style=
"width:40%;"><strong><
i class=
"fa fa-caret-down"></
i> <?php print
$lang[
'DESCRIPTION']; ?></strong></td>
101 <td style=
"width:24%;"><strong><?php print
$lang[
'SCREENSHOT']; ?></strong></td>
102 <td style=
"width: 10%;" class=
"text-center"><strong><?php print
$lang[
'ACTIONS']; ?></strong></td>
113 if (
$res =
$db->query(
"SELECT * FROM {templates} ORDER BY active DESC"))
116 while($row = mysqli_fetch_assoc(
$res))
118 $activeTemplateId = settings::getSetting(
$db,
"selectedTemplate");
120 if ($row[
'id'] === $activeTemplateId)
122 $pub =
"success"; $pubtext=
"$lang[ONLINE]";
125 $deleteIcon =
"<i class=\"fa fa-ban\" title=\"$lang[TPL_DEL_FAILED_DUE_ACTIVE]\"></i>";
127 else if ($row[
'id'] ===
"1" && ($activeTemplateId !== $row[
'id']))
129 $pub =
"danger"; $pubtext =
"$lang[OFFLINE]";
130 $deleteIcon =
"<i class=\"fa fa-ban\" title=\"$lang[TPL_DEL_DEFAULT_FAILED]\"></i>";
134 $pub =
"danger"; $pubtext =
"$lang[OFFLINE]";
137 $deleteIcon =
"<a class=\"fa fa-trash-o\" role=\"dialog\" data-confirm=\"$lang[TPL_DEL_CONFIRM] «".$row[
'name'].
" / ".$row[
'id'].
"»\"
138 title=\"".
$lang[
'DELETE'].
"\" href=\"index.php?page=template-manage&delete=1&templateID=".$row[
'id'].
"\">
143 $screenshot =
"../system/templates/".$activeTemplate.
"/img/screenshot.jpg";
144 if (!file_exists($screenshot))
146 $screenshot =
"$lang[NO_SCREENSHOT]";
150 $screenshot =
"<img src=\"../system/templates/".$activeTemplate.
"/img/screenshot.jpg\" width=\"200\" class=\"img-rounded\">";
153 $row[
'positions'] = str_replace(
':',
'<br>',$row[
'positions']);
155 <td class=\"text-center\">
156 <a title=\"toggle status\" href=\"index.php?page=template-manage&toggle=1&templateID=".$row[
'id'].
"\">
157 <span class=\"label label-$pub\">$pubtext</span></a> </td>
158 <td>".$row[
'id'].
"</td>
159 <td><a href=\"index.php?page=template-edit&overrideTemplate=1&id=".$row[
'id'].
"\"><div style=\"width:100%\">".$row[
'name'].
"</div></a></td>
160 <td><a href=\"index.php?page=template-edit&id=".$row[
'id'].
"\" style=\"color: #7A7376;\"><div style=\"width:100%\">".$row[
'description'].
"<br><small>".$row[
'positions'].
"</small></div></a></td>
161 <td><a href=\"index.php?page=template-edit&id=".$row[
'id'].
"\" title=\"$lang[EDIT]: ".$row[
'name'].
"\">".$screenshot.
"</a></td>
162 <td class=\"text-center\">
Throws a fancy Bootstrap Alert (success, info, warning or danger)
Backend class serves a few useful functions for the admin backend.
Mysqli database class; returns db connection object.
The language class - support multilingual backend.
Settings class: get and set YaWK system settings.
The template controller - get and set template settings.
The default user class. Provide all functions to handle the user object.
<!-- backend language -->< h3 >< i class="fa fa-language"></i > & nbsp
document ready(function() { $('a[data-confirm]').click(function(ev) { modal='#dataConfirmModal';var href=$(this).attr('href');var title=$(this).attr('title');var icon=$(this).attr('data-icon');if(!icon) { icon='fa fa-trash-o';} if(!$(modal).length) { $('body').append('< div id="dataConfirmModal" class="modal fade" role="dialog" aria-labelledby="dataConfirmLabel" aria-hidden="true">< div class="modal-dialog">< div class="modal-content">< div class="modal-header">< button type="button" class="close" data-dismiss="modal" aria-hidden="true">< i class="fa fa-times"></i ></button >< br >< div class="col-md-1">< h3 class="modal-title">< i class="'+icon+'"></i ></h3 ></div >< div class="col-md-11">< h3 class="modal-title" id="dataConfirmLabel">'+title+'</h3 ></div ></h3 ></div >< div class="modal-body"></div >< div class="modal-footer">< button type="button" class="btn btn-default" data-dismiss="modal" aria-hidden="true">Abbrechen</button >< a type="button" class="btn btn-danger" id="dataConfirmOK">< i class="'+icon+'"></i > L öschen</a ></div ></div ></div ></div >');} $(modal).find('.modal-body').text($(this).attr('data-confirm'));$('#dataConfirmOK').attr('href', href);$(modal).modal({show:true});return false;});$('#terminateUser').click(function() { var terminate=window.confirm("ACHTUNG!\nDas wird Deinen Account permanent deaktivieren.\n"+"Bist Du Dir sicher, dass Du das tun willst?");if(terminate===true) { var terminateUser=window.confirm("Bist Du Dir wirklich ganz sicher?\n"+"Diese Aktion kann nicht rueckgaengig gemacht werden.");if(terminateUser===true) { $.get('system/templates/YaWK-bootstrap3/js/terminate-user.php', function(data) { if(data==="true") { setTimeout("window.location='logout.html'", 0);} else { alert("Fehler: "+data);} });} } });function dismissNotifications() { $.ajax({ url:'js/dismiss-notifications.php', type:'POST', success:function(data) { if(!data) { alert('Something went wrong!');return false;} } });$("#bell-label").fadeOut();$('#notification-header').html('You have 0 notifications');$('#notification-menu').fadeOut();} $("#dismiss").click(function() { dismissNotifications();});function disableButtons(delay) { $('#loginButton').removeClass().addClass('btn btn-success disabled').attr('id', 'LOGIN_FORBIDDEN');$('#resetPasswordButton').removeClass().addClass('btn btn-danger disabled');setTimeout(function() { $('#LOGIN_FORBIDDEN').attr('id', 'loginButton').removeClass().addClass('btn btn-success');$('#resetPasswordButton').removeClass().addClass('btn btn-danger');}, delay);} $("#loginButton").click(function(){ if($('#loginButton').length > 0) { if($('#loginButton').hasClass('btn') &&$('#loginButton').hasClass('btn-success') &&$('#loginButton').hasClass('disabled')) { } else { $("#loginForm").submit();disableButtons(10000);} } else if($('#LOGIN_FORBIDDEN').length > 0) { if($('#LOGIN_FORBIDDEN').hasClass('btn') &&$('#LOGIN_FORBIDDEN').hasClass('btn-success') &&$('#LOGIN_FORBIDDEN').hasClass('disabled')) { } else { } } });$("#blockedBtn").hover(function() { $("#blockedBtn").hide();$("#askBtn").fadeIn(820);});})