From: <abe...@us...> - 2016-02-10 17:29:50
|
Revision: 7513 http://sourceforge.net/p/astlinux/code/7513 Author: abelbeck Date: 2016-02-10 17:29:48 +0000 (Wed, 10 Feb 2016) Log Message: ----------- web interface, add Prefs tab options to enable staff user 'DNS Hosts' and 'XMPP Users' tabs Modified Paths: -------------- branches/1.0/package/webinterface/altweb/admin/dnshosts.php branches/1.0/package/webinterface/altweb/admin/prefs.php branches/1.0/package/webinterface/altweb/admin/xmpp.php branches/1.0/package/webinterface/altweb/common/functions.php branches/1.0/package/webinterface/altweb/common/header.php Modified: branches/1.0/package/webinterface/altweb/admin/dnshosts.php =================================================================== --- branches/1.0/package/webinterface/altweb/admin/dnshosts.php 2016-02-09 19:21:57 UTC (rev 7512) +++ branches/1.0/package/webinterface/altweb/admin/dnshosts.php 2016-02-10 17:29:48 UTC (rev 7513) @@ -1,6 +1,6 @@ <?php -// Copyright (C) 2008-2013 Lonnie Abelbeck +// Copyright (C) 2008-2016 Lonnie Abelbeck // This is free software, licensed under the GNU General Public License // version 3 as published by the Free Software Foundation; you can // redistribute it and/or modify it under the terms of the GNU @@ -10,6 +10,7 @@ // 01-05-2009 // 12-10-2010, Added IPv6 support // 07-22-2013, Reorganize to force unique IP's +// 02-10-2016, Added Staff support // // System location of /mnt/kd/rc.conf.d directory $DNSHOSTSCONFDIR = '/mnt/kd/rc.conf.d'; @@ -122,7 +123,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $result = 1; - if (! $global_admin) { + if (! ($global_admin || $global_staff_enable_dnshosts)) { $result = 999; } elseif (isset($_POST['submit_save'])) { $n = count($db['data']); @@ -161,7 +162,7 @@ header('Location: '.$myself.'?result='.$result); exit; } else { // Start of HTTP GET -$ACCESS_RIGHTS = 'admin'; +$ACCESS_RIGHTS = $global_staff_enable_dnshosts ? 'staff' : 'admin'; require_once '../common/header.php'; putHtml("<center>"); Modified: branches/1.0/package/webinterface/altweb/admin/prefs.php =================================================================== --- branches/1.0/package/webinterface/altweb/admin/prefs.php 2016-02-09 19:21:57 UTC (rev 7512) +++ branches/1.0/package/webinterface/altweb/admin/prefs.php 2016-02-10 17:29:48 UTC (rev 7513) @@ -493,6 +493,14 @@ $value = 'tab_network_show = no'; fwrite($fp, $value."\n"); } + if (! isset($_POST['dnshosts_disable_staff'])) { + $value = 'tab_dnshosts_disable_staff = no'; + fwrite($fp, $value."\n"); + } + if (! isset($_POST['xmpp_disable_staff'])) { + $value = 'tab_xmpp_disable_staff = no'; + fwrite($fp, $value."\n"); + } if (! isset($_POST['tab_edit'])) { $value = 'tab_edit_show = no'; fwrite($fp, $value."\n"); @@ -1204,7 +1212,14 @@ putHtml('<tr class="dtrow1"><td style="text-align: right;">'); $sel = (getPREFdef($global_prefs, 'tab_network_show') !== 'no') ? ' checked="checked"' : ''; putHtml('<input type="checkbox" value="tab_network" name="tab_network"'.$sel.' /></td><td colspan="5">Show Network Tab</td></tr>'); + putHtml('<tr class="dtrow1"><td> </td><td colspan="5">'); + $sel = (getPREFdef($global_prefs, 'tab_dnshosts_disable_staff') !== 'no') ? ' checked="checked"' : ''; + putHtml('<input type="checkbox" value="dnshosts_disable_staff" name="dnshosts_disable_staff"'.$sel.' /> Disable DNS Hosts Tab for "staff" user</td></tr>'); + putHtml('<tr class="dtrow1"><td> </td><td colspan="5">'); + $sel = (getPREFdef($global_prefs, 'tab_xmpp_disable_staff') !== 'no') ? ' checked="checked"' : ''; + putHtml('<input type="checkbox" value="xmpp_disable_staff" name="xmpp_disable_staff"'.$sel.' /> Disable XMPP Users Tab for "staff" user</td></tr>'); + putHtml('<tr class="dtrow1"><td style="text-align: right;">'); $sel = (getPREFdef($global_prefs, 'tab_edit_show') !== 'no') ? ' checked="checked"' : ''; putHtml('<input type="checkbox" value="tab_edit" name="tab_edit"'.$sel.' /></td><td colspan="5">Show Edit Tab</td></tr>'); Modified: branches/1.0/package/webinterface/altweb/admin/xmpp.php =================================================================== --- branches/1.0/package/webinterface/altweb/admin/xmpp.php 2016-02-09 19:21:57 UTC (rev 7512) +++ branches/1.0/package/webinterface/altweb/admin/xmpp.php 2016-02-10 17:29:48 UTC (rev 7513) @@ -1,6 +1,6 @@ <?php -// Copyright (C) 2013 Lonnie Abelbeck +// Copyright (C) 2013-2016 Lonnie Abelbeck // This is free software, licensed under the GNU General Public License // version 3 as published by the Free Software Foundation; you can // redistribute it and/or modify it under the terms of the GNU @@ -8,6 +8,7 @@ // xmpp.php for AstLinux // 11-01-2013 +// 02-10-2016, Added Staff support // // System location of /mnt/kd/rc.conf.d directory $XMPPCONFDIR = '/mnt/kd/rc.conf.d'; @@ -77,8 +78,14 @@ // Function: saveXMPPsettings // function saveXMPPsettings($conf_dir, $conf_file) { + global $global_admin; $result = 11; + // Don't save settings if 'staff' user. + if (! $global_admin) { + return($result); + } + if (! is_dir($conf_dir)) { return(3); } @@ -235,7 +242,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $result = 1; - if (! $global_admin) { + if (! ($global_admin || $global_staff_enable_xmpp)) { $result = 999; } elseif (isset($_POST['submit_save'])) { $ok = 0; @@ -299,7 +306,7 @@ header('Location: '.$myself.'?result='.$result); exit; } else { // Start of HTTP GET -$ACCESS_RIGHTS = 'admin'; +$ACCESS_RIGHTS = $global_staff_enable_xmpp ? 'staff' : 'admin'; require_once '../common/header.php'; putHtml('<center>'); @@ -314,7 +321,7 @@ } elseif ($result == 10) { putHtml('<p style="color: green;">XMPP Server'.statusPROCESS('prosody').'.</p>'); } elseif ($result == 11) { - putHtml('<p style="color: green;">Settings saved, click "Restart Server" to apply any changed settings.</p>'); + putHtml('<p style="color: green;">Settings saved'.($global_admin ? ', click "Restart Server" to apply any changed settings.' : '.').'</p>'); } elseif ($result == 12) { putHtml('<p style="color: red;">Missing Password, User not added or changed.</p>'); } elseif ($result == 13) { @@ -363,6 +370,7 @@ putHtml('<table width="100%" class="stdtable">'); putHtml('<tr class="dtrow0"><td width="180"> </td><td> </td></tr>'); +if ($global_admin) { if (! is_file('/mnt/kd/ssl/sip-tls/keys/server.crt') || ! is_file('/mnt/kd/ssl/sip-tls/keys/server.key')) { putHtml('<tr class="dtrow0"><td class="dialogText" style="text-align: left;" colspan="2">'); putHtml('<strong>Missing SIP-TLS Server Certificate:</strong> <i>(Shared with XMPP)</i>'); @@ -535,6 +543,7 @@ } putHtml('</select>'); putHtml('</td></tr>'); +} // if global_admin if (is_file('/mnt/kd/prosody/prosody.cfg.lua')) { putHtml('<tr class="dtrow0"><td class="dialogText" style="text-align: left;" colspan="2">'); Modified: branches/1.0/package/webinterface/altweb/common/functions.php =================================================================== --- branches/1.0/package/webinterface/altweb/common/functions.php 2016-02-09 19:21:57 UTC (rev 7512) +++ branches/1.0/package/webinterface/altweb/common/functions.php 2016-02-10 17:29:48 UTC (rev 7513) @@ -995,4 +995,6 @@ $global_staff_disable_followme = ($global_user === 'staff' && (getPREFdef($global_prefs, 'tab_followme_disable_staff') === 'yes')); $global_staff_enable_sqldata = ($global_user === 'staff' && (getPREFdef($global_prefs, 'tab_sqldata_disable_staff') === 'no')); $global_staff_disable_staff = ($global_user === 'staff' && (getPREFdef($global_prefs, 'tab_staff_disable_staff') === 'yes')); +$global_staff_enable_dnshosts = ($global_user === 'staff' && (getPREFdef($global_prefs, 'tab_dnshosts_disable_staff') === 'no')); +$global_staff_enable_xmpp = ($global_user === 'staff' && (getPREFdef($global_prefs, 'tab_xmpp_disable_staff') === 'no')); ?> Modified: branches/1.0/package/webinterface/altweb/common/header.php =================================================================== --- branches/1.0/package/webinterface/altweb/common/header.php 2016-02-09 19:21:57 UTC (rev 7512) +++ branches/1.0/package/webinterface/altweb/common/header.php 2016-02-10 17:29:48 UTC (rev 7513) @@ -250,6 +250,12 @@ if ($global_staff && (getPREFdef($global_prefs, 'tab_netstat_show') === 'yes')) { putHtml('<li><a href="/admin/netstat.php"><span>NetStat</span></a></li>'); } + if ($global_staff_enable_dnshosts) { + putHtml('<li><a href="/admin/dnshosts.php"><span>DNS Hosts</span></a></li>'); + } + if ($global_staff_enable_xmpp) { + putHtml('<li><a href="/admin/xmpp.php"><span>XMPP Users</span></a></li>'); + } if (! is_null($custom_tabs = getCUSTOMtabs($global_prefs))) { foreach ($custom_tabs as $tab) { if ($tab['access'] === 'all' || ($global_staff && $tab['access'] === 'staff') This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |