kopia lustrzana https://github.com/jprochazka/adsb-receiver
				
				
				
			Web admin login and password change added.
							rodzic
							
								
									58f3546c82
								
							
						
					
					
						commit
						fd14a859c7
					
				| 
						 | 
					@ -0,0 +1,72 @@
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    session_start();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    echo "Authenticated: ".$_SESSION['authenticated'].'<br />';
 | 
				
			||||||
 | 
					    echo "Login: ".$_SESSION['login'].'<br />';
 | 
				
			||||||
 | 
					    echo "First Login: ".$_SESSION['firstLogin'].'<br />';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Load the require PHP classes.
 | 
				
			||||||
 | 
					    require_once('classes/common.class.php');
 | 
				
			||||||
 | 
					    require_once('classes/account.class.php');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    $common = new common();
 | 
				
			||||||
 | 
					    $account = new account();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Check if the user is logged in.
 | 
				
			||||||
 | 
					    if (!$account->isAuthenticated()) {
 | 
				
			||||||
 | 
					        // The user is not logged in so forward them to the login page.
 | 
				
			||||||
 | 
					        header ("Location: login.php?origin=".urlencode('account.php'));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if ($common->postBack()) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        echo "POSTBACK!";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Check that the user supplied a password matching the one currently stored in administrators.xml.
 | 
				
			||||||
 | 
					        $authenticated = $account->authenticate($_SESSION['login'], $_POST['password'], FALSE, FALSE);
 | 
				
			||||||
 | 
					        // Check that the supplied passwords match.
 | 
				
			||||||
 | 
					        if ($authenticated && $_POST['password1'] == $_POST['password2']) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            echo "AUTHENTICATED!";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Change the password stored in administrators.xml related to this users login.
 | 
				
			||||||
 | 
					            $account->changePassword($_SESSION['login'], $_POST['password1']);
 | 
				
			||||||
 | 
					            // Since the password has changed we will log the user out to clear older session variables.
 | 
				
			||||||
 | 
					            $account->logout();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    require_once('includes/header.include.php');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /////////////////////
 | 
				
			||||||
 | 
					    // BEGIN HTML BODY //
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
 | 
					        <div>You must change your current password before continuing.</div>
 | 
				
			||||||
 | 
					        <div>The password for this account has been changed successfully.</div>
 | 
				
			||||||
 | 
					        <div>You must supply the correct current password for this account.</div>
 | 
				
			||||||
 | 
					        <div>The passwords supplied for the new password did not match.</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <form method="post" action="account.php">
 | 
				
			||||||
 | 
					            <div>
 | 
				
			||||||
 | 
					                <label for="password">Current Password:</label>
 | 
				
			||||||
 | 
					                <input type="password" name="password">
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div>
 | 
				
			||||||
 | 
					                <label for="password1">New Password:</label>
 | 
				
			||||||
 | 
					                <input type="password" name="password1">
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div>
 | 
				
			||||||
 | 
					                <label for="password2">Confirm Password:</label>
 | 
				
			||||||
 | 
					                <input type="password" name="password2">
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <input type="submit" value="Change Password">
 | 
				
			||||||
 | 
					        </form>
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // END HTML BODY //
 | 
				
			||||||
 | 
					    ///////////////////
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    require_once('includes/footer.include.php');
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,97 @@
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					    class account {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					        // Check if the administrator is authenticated or not.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function isAuthenticated() {
 | 
				
			||||||
 | 
					            // Check if the remeber me cookie is set and if so set sessions variables using the stored values.
 | 
				
			||||||
 | 
					            if (isset($_COOKIE['login']) && isset($_COOKIE['authenticated']) && isset($_COOKIE['firstLogin']) && $_COOKIE['authenticated']) {
 | 
				
			||||||
 | 
					                $_SESSION['authenticated'] = TRUE;
 | 
				
			||||||
 | 
					                $_SESSION['login'] = $_COOKIE['login'];
 | 
				
			||||||
 | 
					                $_SESSION['firstLogin'] = $_COOKIE['firstLogin'];
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                // Unset any cookies pertaining to user authentication since something is wrong or missing.
 | 
				
			||||||
 | 
					                unset($_COOKIE["authenticated"]);
 | 
				
			||||||
 | 
					                unset($_COOKIE["login"]);
 | 
				
			||||||
 | 
					                unset($_COOKIE["firstLogin"]);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            // Make sure that the session variable Authenticated is set to TRUE and that the session Login variable is set.
 | 
				
			||||||
 | 
					            if (isset($_SESSION['login']) && isset($_SESSION['authenticated']) && isset($_SESSION['firstLogin']) && $_SESSION['authenticated']) {
 | 
				
			||||||
 | 
					                if ($_SESSION['firstLogin'] && basename($_SERVER['PHP_SELF']) != "account.php") {
 | 
				
			||||||
 | 
					                    header ("Location: account.php");
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                return TRUE;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return FALSE;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					        // Authenticate an administrator by comparing their supplied login and password with the ones stored in administrators.xml.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function authenticate($login, $password, $remember = FALSE, $forward = TRUE, $origin = NULL) {
 | 
				
			||||||
 | 
					            $common = new common();
 | 
				
			||||||
 | 
					            // Get all the administrators from the administrators.xml file.
 | 
				
			||||||
 | 
					            $administrators = simplexml_load_file("../data/administrators.xml") or die("Error: Cannot create administrators object");
 | 
				
			||||||
 | 
					            foreach ($administrators as $administrator) {
 | 
				
			||||||
 | 
					                // If or when we get to a matching login compare the supplied password to the one stored inadministrators.xml.
 | 
				
			||||||
 | 
					                if ($administrator->login == $login) {
 | 
				
			||||||
 | 
					                    if (password_verify($password, $administrator->password)) {
 | 
				
			||||||
 | 
					                        // Set the session variable Authenticated to TRUE and assign the variable Login the supplied login.
 | 
				
			||||||
 | 
					                        $_SESSION['authenticated'] = TRUE;
 | 
				
			||||||
 | 
					                        $_SESSION['login'] = $login;
 | 
				
			||||||
 | 
					                        $_SESSION['firstLogin'] = $common->stringToBoolean($administrator->firstLogin);
 | 
				
			||||||
 | 
					                        // If the user wishes to be remembered set a cookie containg the authenticated and login variables.
 | 
				
			||||||
 | 
					                        if ($remember) {
 | 
				
			||||||
 | 
					                            setcookie("authenticated", TRUE, time() + (10 * 365 * 24 * 60 * 60));
 | 
				
			||||||
 | 
					                            setcookie("login", $login, time() + (10 * 365 * 24 * 60 * 60));
 | 
				
			||||||
 | 
					                            setcookie("firstLogin", $common->stringToBoolean($administrator->firstLogin), time() + (10 * 365 * 24 * 60 * 60));
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        // Forward the user if the $forward variable is set to TRUE.
 | 
				
			||||||
 | 
					                        if ($forward) {
 | 
				
			||||||
 | 
					                            if (isset($origin)) {
 | 
				
			||||||
 | 
					                                // Redirect the authenticated visitor to their original destination.
 | 
				
			||||||
 | 
					                                header ("Location: ".urldecode($origin));
 | 
				
			||||||
 | 
					                            } else {
 | 
				
			||||||
 | 
					                                // Redirect the user to the administration homepage.
 | 
				
			||||||
 | 
					                                header ("Location: index.php");
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        return TRUE;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            // If things got this far authentication failed.
 | 
				
			||||||
 | 
					            return FALSE;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //////////////////////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					        // Logs the user out by deleting current session varialbes related to administrative functions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function logout() {
 | 
				
			||||||
 | 
					            // Unset any session variables pertaining to user authentication.
 | 
				
			||||||
 | 
					            unset($_SESSION['authenticated']);
 | 
				
			||||||
 | 
					            unset($_SESSION['login']);
 | 
				
			||||||
 | 
					            unset($_SESSION['firstLogin']);
 | 
				
			||||||
 | 
					            // Unset any cookies pertaining to user authentication.
 | 
				
			||||||
 | 
					            unset($_COOKIE["authenticated"]);
 | 
				
			||||||
 | 
					            unset($_COOKIE["login"]);
 | 
				
			||||||
 | 
					            unset($_COOKIE["firstLogin"]);
 | 
				
			||||||
 | 
					            // Redirect the user to the main homepage.
 | 
				
			||||||
 | 
					            header ("Location: login.php");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ////////////////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					        // Change a password stored for an existing administrator in the file administrators.xml.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function changePassword($login, $password) {
 | 
				
			||||||
 | 
					            $administrators = simplexml_load_file("../data/administrators.xml") or die("Error: Cannot create administrators object");
 | 
				
			||||||
 | 
					            foreach ($administrators->xpath("administrator[login='".$login."']") as $administrator) {
 | 
				
			||||||
 | 
					                $administrator->password = password_hash($password, PASSWORD_DEFAULT);
 | 
				
			||||||
 | 
					                $administrator->firstLogin = "FALSE";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            file_put_contents("../data/administrators.xml", $administrators->asXML());
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,32 @@
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					     class common {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ////////////////////////////////////////
 | 
				
			||||||
 | 
					        // Check if page load is a post back.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function postBack() {
 | 
				
			||||||
 | 
					            if (empty($_SERVER['HTTP_REFERER'])) {
 | 
				
			||||||
 | 
					                return FALSE;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            $methodUsed = strtoupper($_SERVER['REQUEST_METHOD']);
 | 
				
			||||||
 | 
					            $referer = strtolower(basename($_SERVER['HTTP_REFERER']));
 | 
				
			||||||
 | 
					            $thisScript = strtolower(basename($_SERVER['SCRIPT_NAME']));
 | 
				
			||||||
 | 
					            if ($methodUsed == 'POST' && $referer == $thisScript) {
 | 
				
			||||||
 | 
					                return TRUE;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return FALSE;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /////////////////////////////////////
 | 
				
			||||||
 | 
					        // Return a boolean from a string.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function stringToBoolean($value) {
 | 
				
			||||||
 | 
					            switch(strtoupper($value)) {
 | 
				
			||||||
 | 
					                case 'TRUE': return TRUE;
 | 
				
			||||||
 | 
					                case 'FALSE': return FALSE;
 | 
				
			||||||
 | 
					                default: return NULL;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					        <script type="text/javascript" src="//code.jquery.com/jquery-2.1.4.min.js"></script>
 | 
				
			||||||
 | 
					        <script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
 | 
				
			||||||
 | 
					    </body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="en">
 | 
				
			||||||
 | 
					    <head>
 | 
				
			||||||
 | 
					        <meta charset="utf-8" />
 | 
				
			||||||
 | 
					        <title></title>
 | 
				
			||||||
 | 
					        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
 | 
				
			||||||
 | 
					        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" />
 | 
				
			||||||
 | 
					    </head>
 | 
				
			||||||
 | 
					    <body>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,32 @@
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    session_start();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Load the require PHP classes.
 | 
				
			||||||
 | 
					    require_once('classes/common.class.php');
 | 
				
			||||||
 | 
					    require_once('classes/account.class.php');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    $common = new common();
 | 
				
			||||||
 | 
					    $account = new account();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Check if the user is logged in.
 | 
				
			||||||
 | 
					    if (!$account->isAuthenticated()) {
 | 
				
			||||||
 | 
					        // The user is not logged in so forward them to the login page.
 | 
				
			||||||
 | 
					        header ("Location: login.php");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    echo "Authenticated: ".$_SESSION['authenticated'].'<br />';
 | 
				
			||||||
 | 
					    echo "Login: ".$_SESSION['login'].'<br />';
 | 
				
			||||||
 | 
					    echo "First Login: ".$_SESSION['firstLogin'].'<br />';
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="en">
 | 
				
			||||||
 | 
					    <head>
 | 
				
			||||||
 | 
					        <meta charset="utf-8" />
 | 
				
			||||||
 | 
					        <title></title>
 | 
				
			||||||
 | 
					    </head>
 | 
				
			||||||
 | 
					    <body>
 | 
				
			||||||
 | 
					        index.php
 | 
				
			||||||
 | 
					    </body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,86 @@
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ///////////////////////////////
 | 
				
			||||||
 | 
					    // Default Login Information //
 | 
				
			||||||
 | 
					    ///////////////////////////////
 | 
				
			||||||
 | 
					    // Login: admin              //
 | 
				
			||||||
 | 
					    // Password: adsbfeeder      //
 | 
				
			||||||
 | 
					    ///////////////////////////////
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    session_start();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Load the require PHP classes.
 | 
				
			||||||
 | 
					    require_once('classes/common.class.php');
 | 
				
			||||||
 | 
					    require_once('classes/account.class.php');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    $common = new common();
 | 
				
			||||||
 | 
					    $account = new account();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Check if the user is already logged in.
 | 
				
			||||||
 | 
					    if ($account->isAuthenticated()) {
 | 
				
			||||||
 | 
					        if (isset($_REQUEST['origin'])) {
 | 
				
			||||||
 | 
					            // Redirect the authenticated visitor to their original destination.
 | 
				
			||||||
 | 
					            header ("Location: ".urldecode($_REQUEST['origin']));
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            // Redirect the user to the administration homepage.
 | 
				
			||||||
 | 
					            header ("Location: index.php");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if ($common->postBack()) {
 | 
				
			||||||
 | 
					        // Try to authenticate the user using the credentials supplied.
 | 
				
			||||||
 | 
					        $remember = (isset($_POST['remember']) ? TRUE : FALSE);
 | 
				
			||||||
 | 
					        $origin = (isset($_REQUEST['origin']) ? $_REQUEST['origin'] : NULL);
 | 
				
			||||||
 | 
					        $authenticated = $account->authenticate($_POST['login'], $_POST['password'], $remember, TRUE, $origin);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /////////////////////
 | 
				
			||||||
 | 
					    // BEGIN HTML BODY //
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="en">
 | 
				
			||||||
 | 
					    <head>
 | 
				
			||||||
 | 
					        <meta charset="utf-8" />
 | 
				
			||||||
 | 
					        <title></title>
 | 
				
			||||||
 | 
					        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
 | 
				
			||||||
 | 
					        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" />
 | 
				
			||||||
 | 
					        <link rel="stylesheet" href="../assets/css/admin.login.css" />
 | 
				
			||||||
 | 
					    </head>
 | 
				
			||||||
 | 
					    <body>
 | 
				
			||||||
 | 
					        <div class="container">
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					    // If authentication failed display the following error message.
 | 
				
			||||||
 | 
					    if ($common->postBack() && !$authenticated) {
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
 | 
					            <div>The supplied login and/or password did not match.</div>
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
 | 
					            <form class="form-signin" method="post" action="login.php">
 | 
				
			||||||
 | 
					                <h2 class="form-signin-heading">ADS-B Feeder Login</h2>
 | 
				
			||||||
 | 
					                <div>
 | 
				
			||||||
 | 
					                    <label for="login" class="sr-only">Login</label>
 | 
				
			||||||
 | 
					                    <input type="text" id="login" name="login" class="form-control" placeholder="Login" required autofocus>
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					                <div>
 | 
				
			||||||
 | 
					                    <label for="password" class="sr-only">Password</label>
 | 
				
			||||||
 | 
					                    <input type="password" id="password" name="password" class="form-control" placeholder="Password" required autofocus>
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					                <div class="checkbox">
 | 
				
			||||||
 | 
					                    <label>
 | 
				
			||||||
 | 
					                        <input type="checkbox" name="remember" value="TRUE"> Remember me
 | 
				
			||||||
 | 
					                    </label>
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					                <input type="submit" value="Login" class="btn btn-lg btn-primary btn-block">
 | 
				
			||||||
 | 
					            </form>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <script type="text/javascript" src="//code.jquery.com/jquery-2.1.4.min.js"></script>
 | 
				
			||||||
 | 
					        <script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
 | 
				
			||||||
 | 
					    </body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // END HTML BODY //
 | 
				
			||||||
 | 
					    ///////////////////
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,38 @@
 | 
				
			||||||
 | 
					body {
 | 
				
			||||||
 | 
					  padding-top: 40px;
 | 
				
			||||||
 | 
					  padding-bottom: 40px;
 | 
				
			||||||
 | 
					  background-color: #eee;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.form-signin {
 | 
				
			||||||
 | 
					  max-width: 330px;
 | 
				
			||||||
 | 
					  padding: 15px;
 | 
				
			||||||
 | 
					  margin: 0 auto;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.form-signin .form-signin-heading, .form-signin .checkbox {
 | 
				
			||||||
 | 
					  margin-bottom: 10px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.form-signin .checkbox {
 | 
				
			||||||
 | 
					  font-weight: normal;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.form-signin .form-control {
 | 
				
			||||||
 | 
					  position: relative;
 | 
				
			||||||
 | 
					  height: auto;
 | 
				
			||||||
 | 
					  -webkit-box-sizing: border-box;
 | 
				
			||||||
 | 
					     -moz-box-sizing: border-box;
 | 
				
			||||||
 | 
					          box-sizing: border-box;
 | 
				
			||||||
 | 
					  padding: 10px;
 | 
				
			||||||
 | 
					  font-size: 16px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.form-signin .form-control:focus {
 | 
				
			||||||
 | 
					  z-index: 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.form-signin input[type="email"] {
 | 
				
			||||||
 | 
					  margin-bottom: -1px;
 | 
				
			||||||
 | 
					  border-bottom-right-radius: 0;
 | 
				
			||||||
 | 
					  border-bottom-left-radius: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.form-signin input[type="password"] {
 | 
				
			||||||
 | 
					  margin-bottom: 10px;
 | 
				
			||||||
 | 
					  border-top-left-radius: 0;
 | 
				
			||||||
 | 
					  border-top-right-radius: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?> <administrators>
 | 
				
			||||||
 | 
					    <administrator>
 | 
				
			||||||
 | 
					        <login>admin</login>
 | 
				
			||||||
 | 
					        <password>$2y$10$uDSOA6NhbgmtMAiNp.QAROD/PG6RUQE/m0xp6fRgo5/TBkMWxReBq</password>
 | 
				
			||||||
 | 
					        <firstLogin>TRUE</firstLogin>
 | 
				
			||||||
 | 
					    </administrator>
 | 
				
			||||||
 | 
					</administrators>
 | 
				
			||||||
		Ładowanie…
	
		Reference in New Issue