use utf8;
use warnings; no warnings "redefine";
use strict;
use Dbase::Globals qw(find_descr content def_or_minus);
use Dbase::Help qw(Do DoFn qquote);
use Fehler qw(problem warnung);
use Loader qw(line_in log_update);

sub set_person_redirect($) {
	my ($pers) = @_;

	content( my $redirect = line_in 'Redirect: ' ) or return;

	if ( $redirect eq '-' ) { undef $redirect }
	elsif ( $redirect !~ /^https?:\/\// ) {
		return problem 'Hier sind nur absolute HTTP- und HTTPS-URLs erlaubt.';
	}

	log_update
		person => id => $pers,
		undef, 'redirect', undef,
		def_or_minus(DoFn("SELECT redirect FROM person WHERE id = $pers"));
	Do "UPDATE person SET redirect=${\qquote $redirect} WHERE id = $pers";

	if ( defined $redirect && defined( my $flag_www = find_descr pwdomain => 'www' ) ) {
		warnung <<_ if DoFn "SELECT 1 FROM person WHERE id = $pers AND pwuse & ( 1 << $flag_www )";
Bitte nimm zur Kenntnis, dass dieses Redirect-Ziel fuer die Tonne ist, solange
hier ein www-Flag gesetzt ist, weil dadurch ein "echter" Web-Space entsteht.
_
	}
}

1;
