Ejemplo n.º 1
0
    public static function htaccessErzeugen()
    {
        $fehler = FALSE;
        $out = '';
        $titel = 'Bitte geben Sie die zugangsdaten ein';
        $users = '';
        $passwords = '';
        if (isset($GLOBALS['TSFE']->fe_user->user["username"])) {
            $username = $GLOBALS['TSFE']->fe_user->user["username"];
            $bereich = strtolower(tx_he_personen_util::gibProfilWert($username, 'hb_sva'));
        } else {
            $username = '';
            $bereich = '';
        }
        if (isset($_POST['bereich'])) {
            $bereich = $_POST['bereich'];
        }
        if (isset($_POST['htaccess-anfordern'])) {
            $out .= 'AuthName "' . $_POST['AuthName'] . '"' . "\n";
            $out .= 'AuthUserFile ' . $_POST['AuthUserFile'] . "\n";
            $out .= 'AuthType ' . $_POST['AuthType'] . "\n";
            $out .= 'require ' . $_POST['require'];
            $dateiname = '.htaccess';
            header("Content-type: application/text");
            header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
            header('Content-Disposition: attachment; filename="' . $dateiname . '"');
            header('Pragma: no-cache');
            print $out;
            exit;
        } else {
            if (isset($_POST['htpasswd-anfordern'])) {
                $out = $_POST['postDaten'];
                $dateiname = '.htpasswd';
                header("Content-type: application/text");
                header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
                header('Content-Disposition: attachment; filename="' . $dateiname . '"');
                header('Pragma: no-cache');
                print $out;
                exit;
            } else {
                if ($_POST['dateien-erzeugen']) {
                    if (!empty($_POST['username']) && !empty($_POST['users']) && !empty($_POST['passwords']) && !empty($_POST['titel']) && !empty($_POST['bereich'])) {
                        $users = $_POST['users'];
                        $passwords = $_POST['passwords'];
                        $username = $_POST['username'];
                        $titel = $_POST['titel'];
                        $u = explode("\n", $users);
                        $pw = explode("\n", $passwords);
                        $AuthName = $titel;
                        $AuthUserFile = '/home/rsns01/staff/' . $bereich . '/' . $username . '/unix/.htpasswd';
                        $AuthType = 'Basic';
                        $require = 'valid-user';
                        $downloadHtaccess = '<form name="getHtaccess" method="post" action="">
				  <input type="hidden" name="AuthName" value="' . $AuthName . '" />
				  <input type="hidden" name="AuthUserFile" value="' . $AuthUserFile . '" />
				  <input type="hidden" name="AuthType" value="' . $AuthType . '" />
				  <input type="hidden" name="require" value="' . $require . '" />
			    <input type="submit" name="htaccess-anfordern" value=".htaccess-Datei anfordern">
			    </form>
			      ';
                        $out .= 'Die folgenden Zeilen bitte in die Datei .htaccess kopieren 
			        oder auf den folgenden Button klicken, um die erzeugte Datei herunterzuladen.' . $downloadHtaccess . '<br>';
                        $out .= 'AuthName ' . $AuthName . '<br>';
                        $out .= 'AuthUserFile ' . $AuthUserFile . '<br>';
                        $out .= 'AuthType ' . $AuthType . '<br>';
                        $out .= 'require ' . $require . '<br>';
                        $out .= '<br><hr><br>';
                        $postDaten = '';
                        $ausgabe = '';
                        for ($i = 0; $i < count($u); $i++) {
                            if (isset($u[$i]) && isset($pw[$i])) {
                                $password = crypt(trim($pw[$i]), base64_encode(CRYPT_STD_DES));
                                $zeile = trim($u[$i]) . ':' . $password;
                                $postDaten .= $zeile . "\n";
                                $ausgabe .= $zeile . '<br>';
                            }
                        }
                        $downloadHtpasswd = '<form name="getHtpasswd" method="post" action="">
				  <input type="hidden" name="postDaten" value="' . $postDaten . '" />
			    <input type="submit" name="htpasswd-anfordern" value=".htpasswd-Datei anfordern">
			    </form>
			      ';
                        $out .= 'Diese Daten bitte in die Datei .httpasswd kopieren
			        	oder auf den folgenden Button klicken, um die erzeugte Datei herunterzuladen.<br>
			        	Bitte speichern Sie diese Datei bitte direkt in Ihrem Home-Verzeichnis (Laufwerk S).' . $downloadHtpasswd . '<br>' . $ausgabe . '<br><hr><br>';
                    } else {
                        $out .= '<h3 class="rot">Bitte füllen Sie alle Felder aus!</h3>';
                        $fehler = TRUE;
                    }
                }
            }
        }
        $out .= '
		<form name="form1" method="post" action="">';
        if ($fehler && empty($titel)) {
            $out .= '<label class="rot" for=titel">Titel des Loginfensters:</label>';
        } else {
            $out .= '<label for=titel">Titel des Loginfensters:</label>';
        }
        $out .= '<br/><input id="titel" name="titel" size="40"  value="' . $titel . '"/>
						<br/>';
        if ($fehler && empty($username)) {
            $out .= '<label class="rot" for=username">Ihr Benutzername an der Hochschule Esslingen:</label>';
        } else {
            $out .= '<label for=username">Ihr Benutzername an der Hochschule Esslingen:</label>';
        }
        $out .= '<br/><input id="username" name="username" size="20"  value="' . $username . '"/>
						 <br/>';
        if ($fehler && empty($bereich)) {
            $out .= '<label class="rot" for=bereich">Fakultätskürzel:</label>';
        } else {
            $out .= '<label for=bereich">Fakultätskürzel:</label>';
        }
        $out .= '<br/><input id="bereich" name="bereich" size="8" value="' . $bereich . '" />
						 <br/><br/>
						 <span class="rot">Achtung! Bitte Benutzernamen und Passwörter wählen, die NICHT an der Hochschule verwendet werden
						  und notfalls geknackt werden können (z.B. welche, die auch sonst im Internet für weniger wichtige Dinge verwendet werden).</span>
						 <br/>';
        if ($fehler && empty($users)) {
            $out .= '<label class="rot" for=users">Bitte geben Sie einen Benutzernamen pro Zeile an:</label>';
        } else {
            $out .= '<label for=users">Bitte geben Sie einen Benutzernamen pro Zeile an:</label>';
        }
        $out .= '<br/><textarea id="users" name="users" rows="8" cols="60">' . $users . '</textarea>
						 <br/>';
        if ($fehler && empty($passwords)) {
            $out .= '<label class="rot" for=passwords">Bitte geben Sie für jeden Benutzernamen ein Passwort pro Zeile an:</label>';
        } else {
            $out .= '<label for=passwords">
			Bitte geben Sie für jeden Benutzernamen ein Passwort pro Zeile an<br/>
			</label>';
        }
        $out .= '<br/><textarea id="passwords" name="passwords" rows="8" cols="60">' . $passwords . '</textarea>
							<br/>
							<input type="submit" name="dateien-erzeugen" value=".htpasswd und .htaccess erzeugen">
							</form>
							';
        return $out;
    }