summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStephen Beaver <sbeaver@netgate.com>2016-03-16 10:54:22 -0400
committerStephen Beaver <sbeaver@netgate.com>2016-03-16 10:54:53 -0400
commit28f38270fddb7e10d4060af4f5efa1c7ac27d317 (patch)
treed5b7d9ca9d797d8c36810ff2b22b06b5c07402e5 /src
parent91d598815528b71ec9842fed6e5c11ddd6e30438 (diff)
downloadpfsense-28f38270fddb7e10d4060af4f5efa1c7ac27d317.zip
pfsense-28f38270fddb7e10d4060af4f5efa1c7ac27d317.tar.gz
LDAP test pop-up replaced with Bootstrap styled modal
Diffstat (limited to 'src')
-rw-r--r--src/etc/pfSense.obsoletedfiles1
-rw-r--r--src/usr/local/www/system_usermanager_settings.php119
-rwxr-xr-xsrc/usr/local/www/system_usermanager_settings_test.php139
3 files changed, 111 insertions, 148 deletions
diff --git a/src/etc/pfSense.obsoletedfiles b/src/etc/pfSense.obsoletedfiles
index d3778e2..9903a4b 100644
--- a/src/etc/pfSense.obsoletedfiles
+++ b/src/etc/pfSense.obsoletedfiles
@@ -867,6 +867,7 @@
/usr/local/www/system_firmware_settings.php
/usr/local/www/system_firmware_restorefullbackup.php
/usr/local/www/system_usermanager_addcert.php
+/usr/local/www/system_usermanager_settings_test.php
/usr/local/www/themes
/usr/local/www/ticker.js
/usr/local/www/tree-images
diff --git a/src/usr/local/www/system_usermanager_settings.php b/src/usr/local/www/system_usermanager_settings.php
index 0ef51b0..79c28bb 100644
--- a/src/usr/local/www/system_usermanager_settings.php
+++ b/src/usr/local/www/system_usermanager_settings.php
@@ -62,13 +62,75 @@
##|-PRIV
require("guiconfig.inc");
+require_once("auth.inc");
+
+// Test LDAP setting in response to an ajax request from this page.
+if ($_REQUEST['ajax']) {
+
+ if (isset($config['system']['authserver'][0]['host'])) {
+ $auth_server = $config['system']['authserver'][0]['host'];
+ $authserver = $_REQUEST['authserver'];
+ $authcfg = auth_get_authserver($authserver);
+ }
+
+ if (!$authcfg) {
+ printf(gettext("%sError: Could not find settings for %s%s"), '<span class="text-danger">', htmlspecialchars($authserver), "</span>");
+ exit;
+ } else {
+ print("<pre>");
+
+ print('<table class="table table-hover table-striped table-condensed">');
+
+ print("<tr><td>" . sprintf(gettext("Attempting connection to %s%s%s"), "<td><center>", htmlspecialchars($auth_server), "</center></td>"));
+ if (ldap_test_connection($authcfg)) {
+ print("<td><span class=\"text-center text-success\">" . gettext("OK") . "</span></td></tr>");
+
+ print("<tr><td>" . sprintf(gettext("Attempting bind to %s%s%s"), "<td><center>", htmlspecialchars($auth_server), "</center></td>"));
+ if (ldap_test_bind($authcfg)) {
+ print("<td><span class=\"text-center text-success\">" . gettext("OK") . "</span></td></tr>");
+
+ print("<tr><td>" . sprintf(gettext("Attempting to fetch Organizational Units from %s%s%s"), "<td><center>", htmlspecialchars($auth_server), "</center></td>"));
+ $ous = ldap_get_user_ous(true, $authcfg);
+ if (count($ous)>1) {
+ print("<td><span class=\"text-center text-success\">" . gettext("OK") . "</span></td></tr>");
+ print('<tr ><td colspan="3">');
+ if (is_array($ous)) {
+ print("<b>" . gettext("Organization units found") . "</b>");
+ print('<table class="table table-hover">');
+ foreach ($ous as $ou) {
+ print("<tr><td>" . $ou . "</td></tr>");
+ }
+ print("</td></tr>");
+ print("</table>");
+ }
+ } else {
+ print("<td><span class=\"text-alert\">" . gettext("failed") . "</span></td></tr>");
+ }
+
+ print("</table><p/>");
+
+ } else {
+ print("<td><span class=\"text-alert\">" . gettext("failed") . "</span></td></tr>");
+ print("</table><p/>");
+ }
+ } else {
+ print("<td><span class=\"text-alert\">" . gettext("failed") . "</span></td></tr>");
+ print("</table><p/>");
+ }
+
+ print("</pre>");
+ exit;
+ }
+}
$pconfig['session_timeout'] = &$config['system']['webgui']['session_timeout'];
+
if (isset($config['system']['webgui']['authmode'])) {
$pconfig['authmode'] = &$config['system']['webgui']['authmode'];
} else {
$pconfig['authmode'] = "Local Database";
}
+
$pconfig['backend'] = &$config['system']['webgui']['backend'];
// Page title for main admin
@@ -130,15 +192,6 @@ if ($savemsg) {
print_info_box($savemsg, 'success');
}
-if ($save_and_test) {
- echo "<script>\n";
- echo "//<![CDATA[\n";
- echo "myRef = window.open('system_usermanager_settings_test.php?authserver=".$pconfig['authmode']."','mywin','left=20,top=20,width=700,height=550,toolbar=1,resizable=0');\n";
- echo "if (myRef==null || typeof(myRef)=='undefined') alert('" . gettext("Popup blocker detected. Action aborted.") ."');\n";
- echo "//]]>\n";
- echo "</script>\n";
-}
-
$tab_array = array();
$tab_array[] = array(gettext("Users"), false, "system_usermanager.php");
$tab_array[] = array(gettext("Groups"), false, "system_groupmanager.php");
@@ -185,6 +238,54 @@ $form->addGlobal(new Form_Button(
))->addClass('btn-info');
$form->add($section);
+
+$modal = new Modal("LDAP settings", "testresults", true);
+
+$modal->addInput(new Form_StaticText(
+ 'Test results',
+ '<span id="ldaptestop">Testing pfSense LDAP settings... One moment please...' . $g['product_name'] . '</span>'
+));
+
+$form->add($modal);
+
print $form;
+
+
+if ($save_and_test) {
+?>
+<script type="text/javascript">
+//<![CDATA[
+events.push(function() {
+
+ function test_LDAP() {
+ var ajaxRequest;
+ var authserver = $('#authmode').val();
+
+ ajaxRequest = $.ajax(
+ {
+ url: "/system_usermanager_settings.php",
+ type: "post",
+ data: {
+ ajax: "ajax",
+ authserver: authserver
+ }
+ }
+ );
+
+ // Deal with the results of the above ajax call
+ ajaxRequest.done(function (response, textStatus, jqXHR) {
+ $('#ldaptestop').html(response);
+ });
+ }
+
+ $('#testresults').modal('show');
+
+ test_LDAP();
+});
+</script>
+<?php
+
+}
+
include("foot.inc");
diff --git a/src/usr/local/www/system_usermanager_settings_test.php b/src/usr/local/www/system_usermanager_settings_test.php
deleted file mode 100755
index 983f22a..0000000
--- a/src/usr/local/www/system_usermanager_settings_test.php
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-/*
- system_usermanager_settings_test.php
-*/
-/* ====================================================================
- * Copyright (c) 2004-2015 Electric Sheep Fencing, LLC. All rights reserved.
- * Copyright (c) 2014 Silvio Giunge <desenvolvimento@bluepex.com>
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
- * "This product includes software developed by the pfSense Project
- * for use in the pfSense software distribution. (http://www.pfsense.org/).
- *
- * 4. The names "pfSense" and "pfSense Project" must not be used to
- * endorse or promote products derived from this software without
- * prior written permission. For written permission, please contact
- * coreteam@pfsense.org.
- *
- * 5. Products derived from this software may not be called "pfSense"
- * nor may "pfSense" appear in their names without prior written
- * permission of the Electric Sheep Fencing, LLC.
- *
- * 6. Redistributions of any form whatsoever must retain the following
- * acknowledgment:
- *
- * "This product includes software developed by the pfSense Project
- * for use in the pfSense software distribution (http://www.pfsense.org/).
- *
- * THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE pfSense PROJECT OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * ====================================================================
- *
- */
-
-##|+PRIV
-##|*IDENT=page-system-usermanager-settings-testldap
-##|*NAME=System: User Manager: Settings: Test LDAP
-##|*DESCR=Allow access to the 'System: User Manager: Settings: Test LDAP' page.
-##|*MATCH=system_usermanager_settings_test.php*
-##|-PRIV
-
-require("guiconfig.inc");
-require_once("auth.inc");
-
-if (isset($config['system']['authserver'][0]['host'])) {
- $auth_server = $config['system']['authserver'][0]['host'];
- $authserver = $_GET['authserver'];
- $authcfg = auth_get_authserver($authserver);
-}
-
-?><!DOCTYPE html>
-<html lang="en">
-<head>
- <link rel="stylesheet" href="/bootstrap/css/pfSense.css" />
- <link rel="stylesheet" href="/font-awesome/css/font-awesome.min.css" />
- <title><?=gettext("Test Authentication server"); ?></title>
-</head>
-<body id="system_usermanager_settings_test" class="no-menu">
- <div id="jumbotron">
- <div class="container">
- <div class="col-sm-offset-3 col-sm-6 col-xs-12">
- <pre>
-<?php
-
-if (!$authcfg) {
- printf(gettext("Could not find settings for %s%s"), htmlspecialchars($authserver), "<p/>");
-} else {
- echo "<b>" . sprintf(gettext("Testing %s LDAP settings... One moment please..."), $g['product_name']) . "</b>";
-
- echo "<table>";
-
- echo "<tr><td>" . sprintf(gettext("Attempting connection to %s%s%s"), "<td><center>", htmlspecialchars($auth_server), "</center></td>");
- if (ldap_test_connection($authcfg)) {
- echo "<td><span class=\"text-center text-success\">" . gettext("OK") . "</span></td></tr>";
-
- echo "<tr><td>" . sprintf(gettext("Attempting bind to %s%s%s"), "<td><center>", htmlspecialchars($auth_server), "</center></td>");
- if (ldap_test_bind($authcfg)) {
- echo "<td><span class=\"text-center text-success\">" . gettext("OK") . "</span></td></tr>";
-
- echo "<tr><td>" . sprintf(gettext("Attempting to fetch Organizational Units from %s%s%s"), "<td><center>", htmlspecialchars($auth_server), "</center></td>");
- $ous = ldap_get_user_ous(true, $authcfg);
- if (count($ous)>1) {
- echo "<td><span class=\"text-center text-success\">" . gettext("OK") . "</span></td></tr>";
- echo "</table>";
- if (is_array($ous)) {
- echo "<br/>";
- echo "<b>" . gettext("Organization units found") . "</b>";
- echo "<table width='100%'>";
- foreach ($ous as $ou) {
- echo "<tr><td onmouseover=\"this.style.backgroundColor='#ffffff';\" onmouseout=\"this.style.backgroundColor='#dddddd';\">" . $ou . "</td></tr>";
- }
- }
- } else {
- echo "<td><span class=\"text-alert\">" . gettext("failed") . "</span></td></tr>";
- }
-
- echo "</table><p/>";
-
- } else {
- echo "<td><span class=\"text-alert\">" . gettext("failed") . "</span></td></tr>";
- echo "</table><p/>";
- }
- } else {
- echo "<td><span class=\"text-alert\">" . gettext("failed") . "</span></td></tr>";
- echo "</table><p/>";
- }
-}
-
-?>
- </pre>
-
- <a href="javascript:window.close();" class="btn btn-info"><i class="fa fa-undo icon-embed-btn"></i><?=gettext("Return")?></a>
- </div>
- </div>
- </div>
-</body>
-</html>
OpenPOWER on IntegriCloud