Example #1
0
function force_login()
{
    if (!logged_in()) {
        gotop("index.php?q=login&destination=" . urlencode($_SERVER['REQUEST_URI']));
    }
}
            } else {
                unset($lectures[$lecture]);
            }
        }
        // Kurse aus der Datenbank, die es nicht mehr gibt, killen
        if ($lectures) {
            $database->exec('DELETE FROM user_feeds WHERE user_id = ' . user()->id . ' AND feed_id IN (' . implode(',', array_keys($lectures)) . ')');
        }
        status_message("Deine Kurse wurden erfolgreich gespeichert.");
        // Zur Startseite, falls das der erste Aufruf war.
        if ($was_empty) {
            gotop("index.php");
        }
    }
    // }}}
    gotop('index.php?q=feeds');
}
?>
<div id="content">
	<h2>Kurse auswählen</h2>
	<p>Bitte wähle die Kurse aus, die Du abbonieren möchtest.</p>
	<form class="feeds" method="post" action="index.php?q=feeds">
	<table id="kurse">
		<tr><th>&nbsp;</th><th>Kurs</th><th>Zettel</th><th>&nbsp;</th></tr>
		<?php 
$has_course = false;
if ($database->getAttribute(PDO::ATTR_DRIVER_NAME) == 'pgsql') {
    $query = 'SELECT id, "desc", public, update_timestamp, 
					(SELECT COUNT(*) FROM user_feeds WHERE feed_id = feeds.id AND user_id = ' . user()->id . ') AS checked,
					(SELECT COUNT(*) FROM data WHERE feed_id = feeds.id AND timestamp IS NOT NULL) AS count
					FROM feeds
<?php

$database->query('DELETE FROM user_autologin WHERE user_id = ' . user()->id);
setcookie('autologin', '', time() - 3600, dirname($_SERVER['REQUEST_URI']) == '/' ? '/' : dirname($_SERVER['REQUEST_URI']) . '/', null, false, true);
session_destroy();
gotop("index.php");
        $stmt->execute(array(serialize($code), $feed_id));
    }
    die;
}
if ($can_edit) {
    if ($_GET['action'] == "visibility" && user()->level >= 1) {
        $database->exec('UPDATE feeds SET public = ' . ($feed['public'] ? 0 : 1) . ' WHERE id = ' . $feed_id);
        gotop("index.php?q=details&f=" . $feed_id);
    }
    if ($_GET['action'] == "delete") {
        $database->exec('DELETE FROM feeds WHERE id = ' . $feed_id);
        $database->exec('DELETE FROM user_data WHERE data_id IN (SELECT id FROM data WHERE feed_id = ' . $feed_id . ')');
        $database->exec('DELETE FROM user_feeds WHERE feed_id = ' . $feed_id);
        $database->exec('DELETE FROM feed_links WHERE feed_id = ' . $feed_id);
        $database->exec('DELETE FROM data WHERE feed_id = ' . $feed_id);
        gotop("index.php?q=feeds");
    }
}
?>
<div id="content">
	<h2>Detailinformationen zum Kurs <em><?php 
echo htmlspecialchars($feed['desc']);
?>
</em></h2>
	<?php 
if ($can_edit) {
    ?>
	<p class="info nomargin can_edit"><em>Hinweis:</em> Klicke auf eine Eigenschaft, um sie zu bearbeiten. <noscript>Dafür benötigst Du
		Javascript!</noscript></p>
	<?php 
}
Example #5
0
            user()->pass = '';
            user()->salt = '';
            user_save();
            $database->query('DELETE FROM user_autologin WHERE user_id = ' . user()->id);
            session_destroy();
            session_start();
            status_message("Dein Account ist jetzt mit dem LDAP-Server verknüpft.");
            gotop("index.php");
        } else {
            status_message("Dein LDAP-Kennwort war nicht korrekt, oder Du hast keinen LDAP-Account");
        }
        gotop("index.php?q=acc");
    }
} elseif (!empty($_POST)) {
    status_message("Dein altes Kennwort war nicht korrekt.");
    gotop("index.php?q=acc");
}
?>
<div id="content">
	<h2>Mein Account</h2>
	<form method="post" action="index.php?q=acc">
		<fieldset>
			<legend>Kennwort bestätigen</legend>
			<p>Für alle Änderungen hier musst Du zunächst Dein altes Kennwort bestätigen.</p>
			<label><span>Altes Kennwort</span><input type="password" name="old_pass"></label>
		</fieldset>
		<fieldset>
			<legend>Kennwort ändern</legend>
			<?php 
if ((user()->flags & USER_FLAG_IS_LDAP_ACCOUNT) == 0 || !$ldap_server) {
    ?>
        }
        if ($_POST['action'] == 'Anmelden') {
            // Benutzer einloggen
            $user = user_load_authenticate($name, $pass);
            if (!$user) {
                $errPass = '******';
            } else {
                // Autologin-Cookie anlegen
                $autologin = sha1($user->salt . $secure_token . time() . $user->id . $_SERVER['REMOTE_ADDR']);
                $token = sha1($autologin . '-' . microtime() . '-' . rand());
                $database->query("INSERT INTO user_autologin (id, token, user_id) VALUES('" . $autologin . "',\n\t\t\t\t\t'" . $token . "', " . $user->id . ');');
                setcookie('autologin', $autologin . '-' . $token, time() + 15552000, dirname($_SERVER['REQUEST_URI']) == '/' ? '/' : dirname($_SERVER['REQUEST_URI']) . '/', null, false, true);
                // User ist nun eingeloggt. Zur Übersicht.
                $_SESSION['logged_in'] = true;
                $_SESSION['login'] = $user;
                gotop('index.php');
            }
        }
    }
}
// Formzielbehandlung
$support_mail_show = str_replace(array('@'), array(' auf '), $support_mail);
?>
<form action="index.php?q=login" method="post" id="login" accept-charset="utf-8">
	<div>
		<input type="hidden" name="destination" value="<?php 
echo htmlspecialchars($_REQUEST['destination']);
?>
">
		<?php 
if ($is_register) {
Example #7
0
$query->execute(array(time(), 3600 * 24 * 2, 'drucken.pdf', $final_cache_id));
// Je nach Aktion handeln
$action = $_POST['action'];
if ($action == "Drucken" && $ssh_printing_enabled) {
    // Per SSH an den Drucker übergeben
    if (!user()->ssh) {
        status_message("Für diese Funktion muss ein <a href='index.php?q=acc'>SSH-Zugang konfiguriert</a> sein.");
        gotop("index.php");
    } else {
        $pdf_data = file_get_contents($cache_dir . $final_cache_id);
        in_shell_execution(true);
        $ssh_program = popen("ssh -o PasswordAuthentication=no -i " . escapeshellarg($ssh_printing_privkey_file) . " -a -k -q -x " . escapeshellarg(user()->ssh['account']) . '@' . escapeshellarg($ssh_printing_host) . " lp", "w");
        fwrite($ssh_program, $pdf_data);
        $status = pclose($ssh_program);
        in_shell_execution(false);
        if ($status == 0) {
            status_message("Der Druckauftrag wurde erfolgreich weitergegeben");
            gotop("index.php");
        } else {
            if ($status == 1) {
                status_message("Fehler beim Drucken. Hast Du den Druckernamen richtig eingetippt?");
            } elseif ($status == 255) {
                status_message("Fehler beim Drucken. Hast Du die Anweisungen in der Email befolgt (Schlüssel eingetragen)?");
            }
            gotop("index.php");
        }
    }
} else {
    // PDF herunterladen
    gotop('cache.php?cache_id=' . $final_cache_id);
}
            admin_log("Benutzer " . htmlspecialchars($user->name) . " gelöscht");
            continue;
        }
        if ($change['pass']) {
            $user->pass = sha1($user->salt . $change['pass']);
            status_message("Passwort für Benutzer " . htmlspecialchars($user->name) . " geändert");
            admin_log("Passwort für Benutzer " . htmlspecialchars($user->name) . " geändert");
        }
        if (isset($change['level'])) {
            $user->level = intval($change['level']);
            status_message("Benutzerlevel für Benutzer " . htmlspecialchars($user->name) . " auf " . $user->level . " geändert");
            admin_log("Benutzerlevel für Benutzer " . htmlspecialchars($user->name) . " auf " . $user->level . " geändert");
        }
        user_save($user);
    }
    gotop("index.php?q=admin");
}
?>
<script type="text/javascript"><!--
	$(document).ready(function() {
		var fields = {};
		$("#users input, #users select").change(function() {
			if(((this.type == "checkbox" && !this.checked) || this.value == "") && this.name in fields) {
				fields[this.name].remove();
				delete fields[this.name];
				return;
			}
			if(this.name in fields) {
				fields[this.name].val(this.value);
			}
			else {