als naechstes die Datenbank: Ich habs einfach mal mit der vom pboard versucht, die ich zum entwickeln verwendet habe.
perl script\mypboard_create.pl model PBoard DBIC::SchemaLoader dbi:mysql:dbname=pboard pboard pboard
# Verstehe nicht, wie ich an die Daten komme; ich komme lediglich an die Tabellennamen => Abbruch
esskar schrieb mir, er verwende Catalyst::Model::DBIC; ok, zurueck und mal damit versucht
Version 3, wieder komplett neu:
catalyst MyPBoard
cd MyPBoard
perl script\MyPBoard_create.pl view HTC HTML::Template::Compiled
perl script\mypboard_create.pl controller User
./root/static/myImages + styles + js kopiert
templates nach ./templates/ kopiert
lib\MyPBoard\view\HTC.pm angepasst wie oben, ebenso mypboard.yml
ebenso in User.pm die beiden subs von oben reinkopiert.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
sub register : Path('/user/register') {
my ($self, $c) = @_;
my (%params) = &_parseParametersIntoHash($c);
# --- if no params, assume it's executed for the first time
unless (scalar keys %params) {
my %data = ( template => 'user/register.tmpl',
title => 'Registrierung',
message => '',
username => '',
emailaddress => '',
);
while (my ($k, $v) = each %data) { $c->stash->{$k} = $v }
return;
} # unless
# --- else if mandatory parameters are submitted
my $message = "";
if( $params{username} =~ /^\s*$/ ) {
$message .= "<br />Bitte das Feld Benutzername ausfüllen";
} # if
if( $params{emailaddress} =~ /^\s*$/ ) {
$message .= "<br />Bitte das Feld E-Mai-Adresse ausfüllen";
} # if
if( $params{password} =~ /^\s*$/ or $params{passwordcheck} =~ /^\s*$/) {
$message .= "<br />Bitte beide Passwort-Felder ausfüllen";
} # if
unless( $params{agreeagb} ) {
$message .= "<br />Bitte die Bestimmungen akzeptieren";
} # if
if ($message) { # if a parameter is missing, prompt for it
my %data = ( template => 'user/register.tmpl',
title => 'Registrierung',
message => $message,
%params,
);
while (my ($k, $v) = each %data) { $c->stash->{$k} = $v }
return;
} # if
# shortcut
my $registerConf = $c->config->{register};
# --- check if params are valid
if( length $params{username} < $registerConf->{minUserNameLength} ) {
$message .= "<br />Der Benutzername muß mindestens "
. $registerConf->{minUserNameLength} . " Zeichen lang sein";
} # if
elsif( length $params{username} > $registerConf->{maxUserNameLength} ) {
$message .= "<br />Der Benutzername darf höchstens "
. $registerConf->{maxUserNameLength} . " Zeichen lang sein";
} # if
if( $params{password} ne $params{passwordcheck} ) {
$message .= "<br />die Passwörter sind nicht identisch";
} # if
elsif( length $params{password} < $registerConf->{minPasswordLength} ) {
$message .= "<br />Das Passwort muß mindestens "
. $registerConf->{minPasswordLength} . " Zeichen lang sein";
} # if
elsif( length $params{password} > $registerConf->{maxPasswordLength} ) {
$message .= "<br />Das Passwort darf höchstens "
. $registerConf->{maxPasswordLength} . " Zeichen lang sein";
} # if
unless( Mail::RFC822::Address::valid( $params{emailaddress} ) ) {
$message .= "<br />E-Mail '$params{emailaddress}' ungültig";
} # unless
# check db if username is free
# send mail
if ($message) { # if a parameter is invalid, prompt for it
my %data = ( template => 'user/register.tmpl',
title => 'Registrierung',
message => $message,
%params,
);
while (my ($k, $v) = each %data) { $c->stash->{$k} = $v }
return;
} # if
# else redirect to register_finished
my %data = ( template => 'user/register_finished.tmpl',
title => 'Registrierung',
message => '',
%params,
);
while (my ($k, $v) = each %data) { $c->stash->{$k} = $v }
} # register