1 <script
type=
"text/javascript" src=
"../system/engines/jquery/bootstrap-tabcollapse.js"></script>
14 if(isset($_POST[
'save']))
16 foreach ($_POST as $property =>
$value)
18 if ($property !=
"save")
20 if (substr($property, -5, 5) ==
'-long')
22 if (!settings::setLongSetting(
$db, $property,
$value))
24 alert::draw(
"warning",
"Error",
"Long Settings: Could not set long value <b>$value</b> of property <b>$property</b>",
"plugin=signup",
"4800");
34 sys::setTimeout(
"index.php?page=settings-webmail", 0);
41 <!-- Content Wrapper. Contains page content -->
42 <div class=\"content-wrapper\" id=\"content-FX\">
43 <!-- Content Header (Page header) -->
44 <section class=\"content-header\">";
46 echo backend::getTitle(
$lang[
'SETTINGS'],
$lang[
'WEBMAIL']);
47 echo backend::getSettingsBreadcrumbs(
$lang);
48 echo
"</section><!-- Main content -->
49 <section class=\"content\">";
52 <form
id=
"settings-webmail" action=
"index.php?page=settings-webmail" method=
"POST">
54 <div
class=
"box-body">
55 <div
class=
"col-md-10">
56 <?php echo
"<h4><i class=\"fa fa-envelope-o\"></i> $lang[WEBMAIL] $lang[WEBMAIL_SUBTEXT]</h4>"; ?>
58 <div
class=
"col-md-2">
59 <button
class=
"btn btn-success pull-right" id=
"savebutton" name=
"save" style=
"margin-top:2px;"><
i class=
"fa fa-check" id=
"savebuttonIcon"></
i>&
nbsp;&
nbsp;<?php echo
$lang[
'SAVE_SETTINGS']; ?></button>
64 <ul
class=
"nav nav-tabs" id=
"tabs" role=
"tablist">
65 <li
class=
"active"><
a href=
"#overview" aria-controls=
"overview" role=
"tab" data-toggle=
"tab"><
i class=
"fa fa-gear"></
i>&
nbsp; <?php echo
$lang[
'HEADING_WEBMAIL_ACTIVE'] ?></
a></li>
66 <li><
a href=
"#imap" aria-controls=
"imap" role=
"tab" data-toggle=
"tab"><
i class=
"fa fa-chevron-down"></
i>&
nbsp; <?php echo
$lang[
'HEADING_WEBMAIL_IMAP_SERVER'] ?></
a></li>
67 <li><
a href=
"#smtp" aria-controls=
"smtp" role=
"tab" data-toggle=
"tab"><
i class=
"fa fa-chevron-up"></
i>&
nbsp; <?php echo
$lang[
'HEADING_WEBMAIL_SMTP_SERVER'] ?></
a></li>
68 <li><
a href=
"#status" aria-controls=
"status" role=
"tab" data-toggle=
"tab"><
i class=
"fa fa-question-circle-o"></
i>&
nbsp; <?php echo
$lang[
'STATUS'] ?></
a></li>
72 <div
class=
"tab-content">
74 <div role=
"tabpanel" class=
"tab-pane active" id=
"overview">
76 <div
class=
"row animated fadeIn">
77 <!-- email account and imap server
settings -->
78 <div
class=
"col-md-4">
80 <div
class=
"box-body">
86 <!-- webmail / mailbox
settings box -->
87 <div
class=
"col-md-4">
89 <div
class=
"box-body">
96 <div
class=
"col-md-4">
98 <div
class=
"box-body">
99 <h3><
i class=
"fa fa-question-circle-o"></
i> <?php echo
$lang[
'MAILBOX_STATUS']; ?></h3>
103 if (settings::getSetting(
$db,
"webmail_active") ==
true)
105 $server = settings::getSetting(
$db,
"webmail_imap_server");
106 $username = settings::getSetting(
$db,
"webmail_imap_username");
107 $password = settings::getSetting(
$db,
"webmail_imap_password");
109 $port =
":". settings::getSetting(
$db,
"webmail_imap_port").
"";
110 $novalidate = settings::getSetting(
$db,
"webmail_imap_novalidate");
117 echo
"<h4 class=\"text-success\"><b>".$lang[
"CONNECTION_SUCCESSFUL"].
"</b><br>
121 echo
"<br><a href=\"index.php?page=webmail\" class=\"btn btn-success\" target=\"_self\" style=\"color:#fff; width:100%;\">
122 <i class=\"fa fa-envelope-o\"></i> ".$lang[
"WEBMAIL_SHOW"].
"</a><br><br><hr>";
125 echo
"<h4>".$lang[
"MAILBOX_DETAILS"].
"</h4>";
128 $status = imap_status(
$imap,
"{".
$server.
"}INBOX", SA_ALL);
132 echo
"Messages: " . $status->messages .
"<br />\n";
133 echo
"Unseen: " . $status->unseen .
"<br />\n";
134 echo
"Recent: " . $status->recent .
"<br />\n";
135 echo
"UIDnext: " . $status->uidnext .
"<br />\n";
136 echo
"UIDvalidity:" . $status->uidvalidity .
"<br />\n";
140 echo
"".$lang[
"IMAP_STATUS_FAILED"].
" : " . imap_last_error() .
"\n";
144 $check = imap_mailboxmsginfo(
$imap);
149 echo
"Date: " . $check->Date .
"<br />\n" ;
150 echo
"Driver: " . $check->Driver .
"<br />\n" ;
151 echo
"Mailbox: " . $check->Mailbox .
"<br />\n" ;
155 echo
"".$lang[
"IMAP_STATUS_FAILED"].
" : " . imap_last_error() .
"<br />\n";
163 echo
"<h4 class=\"text-danger\"><b>".$lang[
"CONNECTION_FAILED"].
"</b><br>
164 <br><small>".
$lang[
"IMAP_DEBUG"].
"</small><br>
165 ".imap_last_error().
"";
170 echo
"<div id=\"mailboxStatusInfo\">".$lang[
"WEBMAIL_NOT_ACTIVATED"].
"</div>";
180 <div role=
"tabpanel" class=
"tab-pane" id=
"imap">
182 <div
class=
"box-body">
183 <!-- imap server seettings -->
189 <div role=
"tabpanel" class=
"tab-pane" id=
"smtp">
191 <div
class=
"box-body">
192 <!-- smtp server seettings -->
198 <div role=
"tabpanel" class=
"tab-pane" id=
"status">
199 <!-- insert content here... -->
206 <script
type=
"text/javascript">
207 $(document).
ready(
function()
209 function saveHotkey() {
212 if (!(
event.which === 115 && (navigator.platform.match(
"Mac") ?
event.metaKey :
event.ctrlKey)) && !(
event.which === 19))
return true;
213 event.preventDefault();
218 $(document).keydown(
function (
event) {
219 if (
event.which === 83 && (navigator.platform.match(
"Mac") ?
event.metaKey :
event.ctrlKey)) {
220 event.preventDefault();
221 $(
'#savebutton').click();
232 var savebutton = (
'#savebutton');
233 var savebuttonIcon = (
'#savebuttonIcon');
236 $(savebutton).click(
function()
238 $(savebutton).removeClass(
'btn btn-success').addClass(
'btn btn-warning disabled');
239 $(savebuttonIcon).removeClass(
'fa fa-check').addClass(
'fa fa-spinner fa-spin fa-fw');
243 $(
'#tabs').tabCollapse({
244 tabsClass:
'hidden-sm hidden-xs',
245 accordionClass:
'visible-sm visible-xs'
print $lang['FILEMAN_UPLOAD']
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 sys class - handles yawk's system core functions.
<!-- backend language -->< h3 >< i class="fa fa-language"></i > & nbsp
if(isset($_POST['save'])) $settings
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);});})