YaWK  24.1
Yet another WebKit
user-groups.php
Go to the documentation of this file.
1 <?php
2 
3 use YAWK\alert;
4 use YAWK\backend;
5 use YAWK\db;
6 use YAWK\language;
7 
8 /** @var $db db */
9 /** @var $lang language */
10 // TEMPLATE WRAPPER - HEADER & breadcrumbs
11 
12 echo "
13  <!-- Content Wrapper. Contains page content -->
14  <div class=\"content-wrapper\" id=\"content-FX\">
15  <!-- Content Header (Page header) -->
16  <section class=\"content-header\">";
17 /* draw Title on top */
18 echo backend::getTitle($lang['GROUPS'], $lang['GROUPS_SETUP']);
19 echo"<ol class=\"breadcrumb\">
20  <li><a href=\"index.php\" title=\"$lang[DASHBOARD]\"><i class=\"fa fa-dashboard\"></i> $lang[DASHBOARD]</a></li>
21  <li><a href=\"index.php?page=users\" title=\"$lang[USERS]\"> $lang[USERS]</a></li>
22  <li><a href=\"index.php?page=user-groups\" class=\"active\" title=\"$lang[GROUPS_SETUP]\"> $lang[GROUPS_SETUP]</a></li>
23  </ol>
24  </section>
25  <!-- Main content -->
26  <section class=\"content\">";
27 /* page content start here */
28 
29 
30 if(isset($_POST['update']))
31 {
32  if (isset($_POST['groupname']))
33  { // groups sent from form
34  $data = array_combine($_POST['id'], $_POST['groupname']);
35  foreach ($data as $gid => $group)
36  { // update user groups
37  if (!$db->query("UPDATE {user_groups} SET value='".$group."' WHERE id = '".$gid."'"))
38  { // q failed, throw error
39  echo alert::draw("danger", "$lang[ERROR]", " $lang[GROUP_NAMES_SAVE_FAILED]","page=user-groups","4800");
40  exit;
41  }
42  }
43  }
44 }
45 if(isset($_GET['signup']) && (isset($_GET['gid'])))
46 { // signup group settings
47  if ($_GET['signup'] === '1')
48  { // signup not allowed
49  $gid = $_GET['gid'];
50  if (!$db->query("UPDATE {user_groups} SET signup_allowed='0' WHERE id = '".$gid."'"))
51  {
52  echo alert::draw("danger", "$lang[ERROR]", "$lang[GID_SET_FAILED] $gid","page=user-groups","4800");
53  exit;
54  }
55  }
56  else
57  { // signup allowed
58  $gid = $_GET['gid'];
59  if (!$db->query("UPDATE {user_groups} SET signup_allowed='1' WHERE id = '".$gid."'"))
60  {
61  echo alert::draw("danger", "$lang[ERROR]", "$lang[GID_SET_FAILED] $gid","page=user-groups","4800");
62  exit;
63  }
64  }
65 }
66 if(isset($_GET['backend']) && (isset($_GET['gid'])))
67 { // backend not allowed for this group (gid)
68  if ($_GET['backend'] === '1')
69  {
70  $gid = $_GET['gid'];
71  if (!$db->query("UPDATE {user_groups} SET backend_allowed='0' WHERE id = '".$gid."'"))
72  {
73  echo alert::draw("danger", "$lang[ERROR]", "$lang[GID_SET_FAILED] $gid","page=user-groups","4800");
74  exit;
75  }
76  }
77  else
78  { // backend login allowed for this group (gid)
79  $gid = $_GET['gid'];
80  if (!$db->query("UPDATE {user_groups} SET backend_allowed='1' WHERE id = '".$gid."'"))
81  {
82  echo alert::draw("danger", "$lang[ERROR]", "$lang[GID_SET_FAILED] $gid", "page=user-groups","4800");
83  exit;
84  }
85  }
86 }
87 ?>
88 <script type="text/javascript">
89  $(document).ready(function() {
90  $('#table-sort').dataTable( {
91  "bPaginate": false,
92  "bLengthChange": false,
93  "bFilter": true,
94  "bSort": true,
95  "bInfo": true,
96  "bAutoWidth": false
97  } );
98  } );
99 </script>
100 
101 <div class="box box-default">
102  <div class="box-body">
103 <form role="form" method="POST" action="index.php?page=user-groups">
104  <!-- save btn -->
105  <button type="submit" class="btn btn-success pull-right">
106  <i class="fa fa-save"></i> &nbsp;<?php print $lang['SETTINGS_SAVE']; ?>
107  </button>
108 <!-- users btn -->
109 <a class="btn btn-default pull-right" href="index.php?page=users">
110 <i class="fa fa-user"></i> &nbsp;<?php print $lang['USERS_SETUP']; ?></a>
111 <!-- signup plg btn -->
112 <a class="btn btn-default pull-right" href="index.php?plugin=signup">
113 <i class="fa fa-plug"></i> &nbsp;<?php print $lang['SIGNUP_PLUGIN']; ?></a>
114 <table style="width:100%;" class="table table-striped table-hover table-responsive" id="table-sort">
115  <thead>
116  <tr>
117  <td style="width: 5%;"><strong><?php echo $lang['ID']; ?></strong></td>
118  <td style="width: 20%;"><strong><?php echo $lang['GROUP_RENAME']; ?></strong></td>
119  <td style="width: 30%;"><strong><?php echo $lang['ADMIN_ACCESS']; ?></strong> <small><?php echo $lang['BE_CAREFUL']; ?></small></td>
120  <td style="width: 30%;"><strong><?php echo $lang['FRONTEND_SIGNUP_ALLOWED']; ?></strong> <small><?php echo $lang['THIS_GROUP']; ?></small></td>
121  <td style="width: 15%;" class="text-center"><strong><?php echo $lang['COLOR']; ?></strong></td>
122  </tr>
123  </thead>
124  <tbody>
125  <?php
126  if ($res = $db->query("SELECT * FROM {user_groups} ORDER BY id"))
127  {
128  while($row = mysqli_fetch_assoc($res)){
129 
130  if ($row['backend_allowed'] === '1')
131  {
132  $backendhtml = "success";
133  $backend_allowedtext ="<i class=\"fa fa-unlock\"></i>&nbsp;&nbsp;$lang[BACKEND] $lang[LOGIN] $lang[ALLOWED]";
134  }
135  else {
136  $backendhtml = "danger";
137  $backend_allowedtext = "<i class=\"fa fa-exclamation-triangle\"></i>&nbsp;&nbsp;$lang[BACKEND] $lang[LOGIN] $lang[FORBIDDEN]";
138  }
139 
140  if ($row['signup_allowed'] === '1')
141  {
142  $signuphtml = "success";
143  $signuptext="<i class=\"fa fa-check\"></i>&nbsp;&nbsp;$lang[ALLOWED]";
144  }
145  else {
146  $signuphtml = "danger";
147  $signuptext = "<i class=\"fa fa-times\"></i>&nbsp;&nbsp;$lang[FORBIDDEN]";
148  }
149 
150  echo "<tr>
151  <td><input type=\"text\" name=\"placeholder\" value=\"".$row['id']."\" class=\"form-control\" disabled>
152  <input type=\"hidden\" name=\"id[]\" value=\"".$row['id']."\">
153  </td>
154  <td><input type=\"text\" name=\"groupname[]\" value=\"".$row['value']."\" class=\"form-control\"></a></td>
155  <td>
156  <a title=\"$lang[TOGGLE_STATUS]\" href=\"index.php?page=user-groups&backend=".$row['backend_allowed']."&gid=".$row['id']."\">
157  <span class=\"label label-$backendhtml\">$backend_allowedtext</span></a>&nbsp;
158  </td>
159 
160  <td>
161  <a title=\"$lang[TOGGLE_STATUS]\" href=\"index.php?page=user-groups&signup=".$row['signup_allowed']."&gid=".$row['id']."\">
162  <span class=\"label label-$signuphtml\">$signuptext</span></a>&nbsp;</td>
163 
164  <td class=\"text-center\"><p class=\"text-$row[color]\">$row[color]</p></td>
165 
166  </tr>";
167  }
168  }
169 
170  ?>
171  </tbody>
172 </table>
173  <input type="hidden" name="update" value="1">
174 </form>
175  </div>
176 </div>
$data
Definition: stats.php:78
Throws a fancy Bootstrap Alert (success, info, warning or danger)
Definition: alert.php:19
Backend class serves a few useful functions for the admin backend.
Definition: backend.php:27
Mysqli database class; returns db connection object.
Definition: db.php:16
The language class - support multilingual backend.
Definition: language.php:17
function a
Definition: browser.js:14
type
Definition: menu-new.php:35
exit
print $_GET['id']
Definition: page-edit.php:357
function i(e, t)
Definition: plyr.js:1
<!-- backend language -->< h3 >< i class="fa fa-language"></i > & nbsp
$template name
if(isset($_POST['update'])) if(isset($_GET['signup']) &&(isset($_GET['gid']))) if(isset($_GET['backend']) &&(isset($_GET['gid']))) print $lang['SETTINGS_SAVE']
Definition: user-groups.php:66
$gid
Definition: user-new.php:104
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 &ouml;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);});})