Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 60d0f05f

Von Moritz Bunkus vor mehr als 8 Jahren hinzugefügt

  • ID 60d0f05f9fe667d2c309175d8849428393c6739f
  • Vorgänger 459574b9
  • Nachfolger 464bf573

SimpleSystemSetting: Umstellung von »Sprachen«

Unterschiede anzeigen:

SL/AM.pm
return 1;
}
sub language {
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form, $return_list) = @_;
my $dbh = SL::DB->client->dbh;
my $query =
"SELECT id, description, template_code, article_code, " .
" output_numberformat, output_dateformat, output_longdates " .
"FROM language ORDER BY description";
my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
my $ary = [];
while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
push(@{ $ary }, $ref);
}
$sth->finish;
$main::lxdebug->leave_sub();
if ($return_list) {
return @{$ary};
} else {
$form->{ALL} = $ary;
}
}
sub get_language {
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
my $dbh = SL::DB->client->dbh;
my $query =
"SELECT description, template_code, article_code, " .
" output_numberformat, output_dateformat, output_longdates " .
"FROM language WHERE id = ?";
my $sth = $dbh->prepare($query);
$sth->execute($form->{"id"}) || $form->dberror($query . " ($form->{id})");
my $ref = $sth->fetchrow_hashref("NAME_lc");
map { $form->{$_} = $ref->{$_} } keys %$ref;
$sth->finish;
$main::lxdebug->leave_sub();
}
sub get_language_details {
$main::lxdebug->enter_sub();
......
return @res;
}
sub save_language {
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
SL::DB->client->with_transaction(sub {
my $dbh = SL::DB->client->dbh;
my (@values, $query);
map({ push(@values, $form->{$_}); }
qw(description template_code article_code
output_numberformat output_dateformat output_longdates));
# id is the old record
if ($form->{id}) {
$query =
"UPDATE language SET " .
" description = ?, template_code = ?, article_code = ?, " .
" output_numberformat = ?, output_dateformat = ?, " .
" output_longdates = ? " .
"WHERE id = ?";
push(@values, $form->{id});
} else {
$query =
"INSERT INTO language (" .
" description, template_code, article_code, " .
" output_numberformat, output_dateformat, output_longdates" .
") VALUES (?, ?, ?, ?, ?, ?)";
}
do_query($form, $dbh, $query, @values);
1;
}) or do { die SL::DB->client->error };
$main::lxdebug->leave_sub();
}
sub delete_language {
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
my $query;
SL::DB->client->with_transaction(sub {
my $dbh = SL::DB->client->dbh;
foreach my $table (qw(generic_translations units_language)) {
$query = qq|DELETE FROM $table WHERE language_id = ?|;
do_query($form, $dbh, $query, $form->{"id"});
}
$query = "DELETE FROM language WHERE id = ?";
do_query($form, $dbh, $query, $form->{"id"});
1;
}) or do { die SL::DB->client->error };
$main::lxdebug->leave_sub();
}
sub prepare_template_filename {
$main::lxdebug->enter_sub();

Auch abrufbar als: Unified diff