24 if (isset(
$_GET[
'toggleItem']))
26 if (isset(
$_GET[
'published']) && (isset(
$_GET[
'menu']) && (
$_GET[
'id'])))
28 if (is_numeric(
$_GET[
'published'])
29 && (is_numeric(
$_GET[
'menu'])
30 && (is_numeric(
$_GET[
'id']))))
37 $menu->parent =
$db->quote(
$_GET[
'menu']);
39 $menu->published =
$db->quote(
$_GET[
'published']);
42 if ($menu->published ===
'1') {
44 $status =
$lang[
'OFFLINE'];
49 $status =
$lang[
'ONLINE'];
53 if($menu->toggleItemOffline(
$db, $menu->id, $menu->published, $menu->parent))
55 alert::draw(
"$color",
"$lang[MENU_ITEM] $lang[IS_NOW] $status",
"$lang[MENU_ITEM] $lang[TOGGLED_TO] $status.",
"", 800);
59 alert::draw(
"danger",
"$lang[ERROR]",
"$lang[FAILED] $lang[TOGGLE] $lang[MENU_ITEM] $status.",
"",5800);
67 if (isset(
$_GET[
'del']) && (
$_GET[
'del'] ===
"1")) {
68 switch (
$_GET[
'deleteitem'])
71 $menuID =
$_GET[
'menu'];
72 $entry =
$_GET[
'entry'];
73 if (
YAWK\menu::deleteEntry(
$db, $menuID, $entry) ===
true)
75 alert::draw(
"success",
"$lang[ITEM] $lang[DELETED].",
"$lang[MENU_ITEM] $lang[DELETED]",
"", 800);
79 alert::draw(
"danger",
"$lang[MENU_ITEM] $lang[DELETE] $lang[FAILED].",
"$lang[DATABASE] $lang[ERROR].",
"", 5800);
85 if(isset($_POST[
'changetitle'])) {
86 if (!
$res = menu::changeTitle(
$db,
$db->quote(
$_GET[
'menu']),
$db->quote($_POST[
'menutitle'])))
88 alert::draw(
"warning",
"$lang[WARNING]!",
"$lang[MENU_CHANGE_FAILED]",
"page=menu-edit&menu=$_GET[menu]",
"4200");
93 if(isset($_POST[
'changeLanguage'])) {
94 if (!
$res = menu::changeLanguage(
$db,
$db->quote(
$_GET[
'menu']),
$db->quote($_POST[
'menuLanguage'])))
96 alert::draw(
"warning",
"$lang[WARNING]!",
"$lang[MENU_CHANGE_FAILED]",
"page=menu-edit&menu=$_GET[menu]",
"4200");
101 if(isset($_POST[
'add'])) {
102 $_POST[
'newtitle'] = trim($_POST[
'newtitle']);
103 $_POST[
'newurl'] = trim($_POST[
'newurl']);
104 if (!
$res =
YAWK\menu::addEntry(
$db,
$db->quote(
$_GET[
'menu']),
$db->quote($_POST[
'newtitle']),
$db->quote($_POST[
'newurl'])))
106 alert::draw(
"danger",
"$lang[ERROR]",
"$lang[MENU_ADD_FAILED].",
"page=menu-edit&menu=$_GET[menu]",
"2200");
110 else if(isset($_POST[
'save'])) {
112 foreach ($_POST as $param =>
$value) {
114 if (substr($param, -4, 4) ===
"_gid") {
115 $key = substr($param, 0, -4);
116 $entries[$key][
'gid'] =
$value;
118 $suffixes = array(
'_href',
'_target',
'_text',
'_title',
'_sort',
'_published',
'_parentID',
'_divider',
'_icon');
119 foreach ($suffixes as $suffix) {
120 if (substr($param, -strlen($suffix), strlen($suffix)) === $suffix) {
121 $key = substr($param, 0, -strlen($suffix));
122 $entries[$key][substr($suffix, 1)] =
$value;
129 foreach($entries as
$id=>$params){
133 $params[
'text'] =
$db->quote($params[
'text']);
134 $params[
'title'] =
$db->quote($params[
'title']);
135 $params[
'href'] =
$db->quote($params[
'href']);
136 $params[
'sort'] =
$db->quote($params[
'sort']);
137 $params[
'gid'] =
$db->quote($params[
'gid']);
138 $params[
'published'] =
$db->quote($params[
'published']);
139 if (isset($params[
'parentID']) && (!empty($params[
'parentID'])))
140 { $params[
'parentID'] =
$db->quote($params[
'parentID']); }
else { $params[
'parentID'] = 0; }
141 $params[
'target'] =
$db->quote($params[
'target']);
150 $params[
'published'],
157 foreach($_POST as $param=>
$value){
158 if(strlen($param) >= 8){
159 if(substr($param,-7,7) ===
"_delete"){
166 <!-- iconpicker css + JS -->
167 <link href=
"../system/engines/iconpicker/css/fontawesome-iconpicker.min.css" rel=
"stylesheet">
168 <script src=
"../system/engines/iconpicker/js/fontawesome-iconpicker.min.js"></script>
170 <!-- data tables JS -->
171 <script
type=
"text/javascript">
172 $(document).
ready(
function() {
173 var iconField = $(
'[role="iconpicker"]');
174 iconField.each(
function () {
175 $(
this).iconpicker();
178 $(
'#table-sort').dataTable( {
180 "bLengthChange":
false,
188 function saveHotkey() {
191 if (!(
event.which === 115 && (navigator.platform.match(
"Mac") ?
event.metaKey :
event.ctrlKey)) && !(
event.which === 19))
return true;
192 event.preventDefault();
197 $(document).keydown(
function (
event) {
198 if (
event.which === 83 && (navigator.platform.match(
"Mac") ?
event.metaKey :
event.ctrlKey)) {
199 event.preventDefault();
200 $(
'#savebutton').click();
210 <!-- Content Wrapper. Contains page content -->
211 <div
class=
"content-wrapper" id=
"content-FX">
212 <!-- Content Header (Page header) -->
213 <section
class=
"content-header">
220 <ol
class=
"breadcrumb">
221 <li><
a href=
"./" title=
"<?php echo $lang['DASHBOARD']; ?>"><
i class=
"fa fa-dashboard"></
i> <?php echo
$lang[
'DASHBOARD']; ?></
a></li>
222 <li><
a href=
"index.php?page=menus" title=
"<?php echo $lang['MENUS']; ?>"> <?php echo
$lang[
'MENUS']; ?></
a></li>
223 <li
class=
"active"><
a href=
"index.php?page=menu-edit&menu=<?php echo $_GET['menu']; ?>" title=
"<?php echo $lang['EDIT_MENU']; ?>"> <?php echo
$lang[
'EDIT_MENU']; ?></
a></li>
226 <!-- Main content -->
227 <section
class=
"content">
228 <!-- START CONTENT HERE -->
229 <form role=
"form" action=
"index.php?page=menu-edit&menu=<?php echo $_GET['menu']; ?>" method=
"POST">
230 <div
class=
"box box-default">
231 <div
class=
"box-body">
235 class=
"btn btn-success pull-right"
236 type=
"submit"><
i class=
"fa fa-save"></
i>&
nbsp; <?php echo
$lang[
'MENU_SAVE']; ?>
239 <
a class=
"btn btn-default pull-right" href=
"index.php?page=menus">
240 <
i class=
"glyphicon glyphicon-backward"></
i> &
nbsp;<?php print
$lang[
'BACK']; ?></
a>
252 <div
class=
"col-md-6">
253 <div
class=
"box default">
254 <div
class=
"box-header with border">
255 <h3
class=
"box-title"><?php echo
$lang[
'ENTRY_ADD']; ?></h3>
257 <div
class=
"box-body">
258 <label
for=
"newtitle"><?php echo
$lang[
'TITLE']; ?></label><input
type=
"text"
263 placeholder=
"<?php echo $lang['TITLE']; ?>">
264 <label
for=
"newurl"><?php echo
$lang[
'LINK_OR_FILENAME']; ?></label><input
type=
"text"
269 placeholder=
"<?php echo $lang['LINK_OR_FILENAME']; ?>">
272 style=
"margin-top:5px;"
273 class=
"btn btn-default pull-right"
275 value=
"<?php echo $lang['ADD']; ?>">
280 <div
class=
"col-md-6">
281 <div
class=
"box default">
282 <div
class=
"box-header with border">
283 <h3
class=
"box-title"><?php echo
$lang[
'MENU_TITLE_CHANGE']; ?></h3>
285 <div
class=
"box-body">
286 <label
for=
"menutitle"><?php echo
$lang[
'TITLE']; ?></label>
292 value=
"<?php echo $menuName; ?>">
294 <input
name=
"changetitle"
295 style=
"margin-top:5px;"
297 class=
"btn btn-default pull-right"
299 value=
"<?php echo $lang['SAVE']; ?>">
302 <div
class=
"box default">
303 <div
class=
"box-header with border">
304 <h3
class=
"box-title"><?php echo
$lang[
'MENU_LANGUAGE_CHANGE']; ?></h3>
306 <div
class=
"box-body">
307 <label
for=
"menuLanguage"><?php echo
$lang[
'LANGUAGE']; ?></label>
308 <select
id=
"menuLanguage" name=
"menuLanguage" class=
"form-control">
314 echo
"<option value=".$menuLanguage.
" selected>$menuLanguage</option>";
316 echo language::drawLanguageSelectOptions();
319 <input
name=
"changeLanguage"
320 style=
"margin-top:5px;"
322 class=
"btn btn-default pull-right"
324 value=
"<?php echo $lang['SAVE']; ?>">
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.
The default pages class. Provide all functions to handle static pages.
The sys class - handles yawk's system core functions.
static getMenuName($db, $id)
returns menu name for given menu ID
This class serves methods to create backup from files.
<!-- 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);});})