Location: PHPKode > projects > Course-manager > courseman-0.1.1/superuser_change_password.php
<?php
  require('global-php.php');
  header('Content-type: text/xml; charset=utf-8');
  $verbindung = database_connection(
  	      "<status>" . $lang_database_failure[$language] . "</status>");
  $PHP_AUTH_USER = $_SERVER["PHP_AUTH_USER"];
  $PHP_AUTH_PW = $_SERVER["PHP_AUTH_PW"];
  $ergebnis = db_exec($verbindung,
			"SELECT * FROM staff_authorization,superuser,"
					. "capability "
				. "WHERE superuser.account"
				. "=staff_authorization.id "
				. "AND superuser.capability=capability.id "
				. "AND capability.name='users' "
				. "AND "
				. login_query_clauses(
					$PHP_AUTH_USER,
					$PHP_AUTH_PW)
				. ";");
  if (pg_numrows($ergebnis) < 1) {
    header('WWW-Authenticate: Basic realm="Kursverwaltung"');
    header("HTTP/1.0 401 Unauthorized");
    echo '<status>' . $lang_authentication_failure[$language] . '</status>';
    db_close($verbindung);
    exit;
  }
  $account = intval($_REQUEST["account"]);
  $passwort = pg_escape_string($_REQUEST["passwort"]);
  $passwort_gleich = pg_escape_string($_REQUEST["passwort_gleich"]);
  $salt = generated_password(64);
  $ergebnis = db_exec($verbindung, "SELECT hashed_password "
  					. "FROM staff_authorization "
					. "WHERE id=$account;");
  $old_hash = pg_result($ergebnis,0,0);
  db_exec($verbindung, "UPDATE staff_authorization "
  			. "SET salt='$salt',"
			. "hashed_password=md5('$salt'||'$passwort') "
			. "WHERE id=$account "
			. "AND '$passwort'='$passwort_gleich';");
  $ergebnis = db_exec($verbindung, "SELECT hashed_password "
  					. "FROM staff_authorization "
					. "WHERE id=$account;");
  $new_hash = pg_result($ergebnis,0,0);
  if ($old_hash == $new_hash) {
?>
<status><?=$lang_password_not_set[$language]?></status>
<?php
  } else {
    $ergebnis = db_exec($verbindung, "SELECT name "
    					. "FROM staff_authorization "
					. "WHERE id=$account;");
    print("<status>" . lang_password_set($language,pg_result($ergebnis,0,0))
			. "</status>");
  }
  db_close($verbindung);
?>
Return current item: Course-manager