0001768: Login Company Select Box to EditBox Switch Flag + Fix
authorJoe Hunt <joe.hunt.consulting@gmail.com>
Sat, 8 Sep 2012 06:21:24 +0000 (08:21 +0200)
committerJoe Hunt <joe.hunt.consulting@gmail.com>
Sat, 8 Sep 2012 06:21:24 +0000 (08:21 +0200)
access/login.php
config.default.php
includes/session.inc

index 3bbf0060ec37fcab5ebe32d4a7ee4ad04be2267a..ebedcc921aa07c2d09a119e6b25999b9c1d94df2 100644 (file)
@@ -89,10 +89,16 @@ function defaultCompany()
                        $coy =  $_SESSION['wa_current_user']->company;
                else
                        $coy = $def_coy;
-               echo "<tr><td>"._("Company")."</td><td><select name='company_login_name'>\n";
-               for ($i = 0; $i < count($db_connections); $i++)
-                       echo "<option value=$i ".($i==$coy ? 'selected':'') .">" . $db_connections[$i]["name"] . "</option>";
-               echo "</select>\n";
+               if ($AllowCompanySelectionBox) {
+                       echo "<tr><td>"._("Company")."</td><td><select name='company_login_name'>\n";
+                       for ($i = 0; $i < count($db_connections); $i++)
+                               echo "<option value=$i ".($i==$coy ? 'selected':'') .">" . $db_connections[$i]["name"] . "</option>";
+                       echo "</select>\n";
+                       echo "</td></tr>";
+               } else {
+//                     $coy = $def_coy;
+                       text_row(_("Company"), "company_login_nickname", "", 20, 30);
+               }
                start_row();
                label_cell($demo_text, "colspan=2 align='center'");
                end_row();
index 161fec2537346e8df51a7206a46622fd1c88b4d9..a039fc20e4311c8951e3b528f969bf66c2e34dcb 100644 (file)
@@ -240,4 +240,11 @@ if (!defined('ICON_EDIT'))
        define("ICON_ESCAPE", "escape.png");    
 }
 
+/* 
+       Display a dropdown select box for choosing Company to login if true.
+       Show a blank editbox only if false where the Company NickName
+       will have to be manually entered. This is when privacy is needed.
+*/
+       $AllowCompanySelectionBox  = true;
+
 ?>
\ No newline at end of file
index 25921a5aa079f0cd9400b7381484632cb7147472..81e743c8fbc0757a621139c729837b9c5bfe5b8b 100644 (file)
@@ -368,7 +368,15 @@ if (strstr($_SERVER['PHP_SELF'], 'logout.php') == false){
                                $Ajax->activate('_page_body');
                        exit;
                } else {
-
+                       if (isset($_POST["company_login_nickname"]) && !isset($_POST["company_login_name"])) {
+                               for ($i = 0; $i < count($db_connections); $i++) {
+                                       if ($db_connections[$i]["name"] == $_POST["company_login_nickname"]) {
+                                               $_POST["company_login_name"] = $i;
+                                               unset($_POST["company_login_nickname"]);
+                                               break 1; // cannot pass variables to break from PHP v5.4 onwards
+                                       }
+                               }
+                       }
                        $succeed = isset($db_connections[$_POST["company_login_name"]]) &&
                                $_SESSION["wa_current_user"]->login($_POST["company_login_name"],
                                $_POST["user_name_entry_field"], $_POST["password"]);