summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2008-02-25 19:06:14 +0000
committerAndreas Brachold <vdr07@deltab.de>2008-02-25 19:06:14 +0000
commit1a974ba550824dd6afe602d4534ed665c7117bea (patch)
tree6106c84adb0216c12d30f36823f2cb895231c046 /lib
parent8cc206947676df6f2a2923e3fb68f9c9f7730897 (diff)
downloadxxv-1a974ba550824dd6afe602d4534ed665c7117bea.tar.gz
xxv-1a974ba550824dd6afe602d4534ed665c7117bea.tar.bz2
* AJAX: Message with state param.state:success or param.state:error
* xstyle/html: CONFIG - checkvalue, translate messages * AUTOTIMER: Don't display success, if try to delete a none exist autotimer
Diffstat (limited to 'lib')
-rw-r--r--lib/XXV/MODULES/AUTOTIMER.pm5
-rw-r--r--lib/XXV/MODULES/HTTPD.pm33
-rw-r--r--lib/XXV/OUTPUT/Ajax.pm27
3 files changed, 48 insertions, 17 deletions
diff --git a/lib/XXV/MODULES/AUTOTIMER.pm b/lib/XXV/MODULES/AUTOTIMER.pm
index 3641875..db2c02e 100644
--- a/lib/XXV/MODULES/AUTOTIMER.pm
+++ b/lib/XXV/MODULES/AUTOTIMER.pm
@@ -1047,8 +1047,9 @@ sub autotimerDelete {
my $sql = sprintf('DELETE FROM AUTOTIMER where Id in (%s)', join(',' => ('?') x @timers));
my $sth = $obj->{dbh}->prepare($sql);
- if(!$sth->execute(@timers)) {
- error sprintf("Couldn't execute query: %s.",$sth->errstr);
+ my $rows = $sth->execute(@timers);
+ if(!$rows || $rows eq "0E0") {
+ error sprintf("Couldn't execute query: %s.",$sth->errstr) unless($rows);
$console->err(sprintf gettext("The autotimer '%s' does not exist in the database."), join(',', @timers));
return 0;
}
diff --git a/lib/XXV/MODULES/HTTPD.pm b/lib/XXV/MODULES/HTTPD.pm
index d32feb3..5920e1a 100644
--- a/lib/XXV/MODULES/HTTPD.pm
+++ b/lib/XXV/MODULES/HTTPD.pm
@@ -273,12 +273,20 @@ sub communicator
or exists $console->{USER}->{Level})) {
$console->setCall('nothing');
- if($data->{Request} eq '/' and not $data->{Query}) {
+ if(not $data->{Query} and
+ ($data->{Request} eq '/' or -d sprintf('%s/%s', $htmlRootDir,$data->{Request}))) {
+ my $request = $htmlRootDir;
+ $request .= '/';
+ $request .= $data->{Request};
+ $request .= '/';
+ $request =~ s/\.\.\///g;
+ $request =~ s/\/\.\.//g;
+ $request =~ s/\/+/\//g;
# Send the first page (index.html)
- if(-r sprintf('%s/index.tmpl', $htmlRootDir)) {
+ if(-r sprintf('%sindex.tmpl', $request)) {
$console->index;
} else {
- $console->datei(sprintf('%s/index.html', $htmlRootDir));
+ $console->datei(sprintf('%sindex.html', $request));
}
} elsif(my $typ = $mime->{lc((split('\.', $data->{Request}))[-1])}) {
# Send multimedia files (this must registered in $mime!)
@@ -597,19 +605,22 @@ sub checkvalue {
my $value = join(':',@query);
my $erg;
+ my $iserror;
# e.g. isdir:/tmp
if($check eq "isdir") {
if(-d $value) {
- $erg = "SUCCESS: directory found.";
+ $erg = gettext("Directory found.");
} else {
- $erg = "ERROR: directory not found.";
+ $erg = gettext("Directory not found.");
+ $iserror = 1;
}
# e.g. isfile:/bla/foobar
} elsif($check eq "isfile") {
if(-r $value) {
- $erg = "SUCCESS: file found.";
+ $erg = gettext("File found.");
} else {
- $erg = "ERROR: file not found.";
+ $erg = gettext("File not found.");
+ $iserror = 1;
}
# e.g. getip:localhost
} elsif($check eq "getip") {
@@ -617,14 +628,16 @@ sub checkvalue {
if($aton) {
$erg = inet_ntoa($aton);
} else {
- $erg = "ERROR: host does not exist.";
+ $erg = gettext("Host does not exist.");
+ $iserror = 1;
}
# Unknown query
} else {
- $erg = "ERROR: Query : " . $check . " not supported.";
+ $erg = sprintf(gettext("Query : '%s' not supported."),$check);
+ $iserror = 1;
}
- return $console->msg($erg)
+ return $console->msg($erg, $iserror)
if(ref $console);
}
diff --git a/lib/XXV/OUTPUT/Ajax.pm b/lib/XXV/OUTPUT/Ajax.pm
index 6c5ef41..9cd44b4 100644
--- a/lib/XXV/OUTPUT/Ajax.pm
+++ b/lib/XXV/OUTPUT/Ajax.pm
@@ -211,20 +211,37 @@ sub msg {
my $data = shift || 0;
my $err = shift || 0;
-
+ my $state = $err ? 'error' : 'success';
my $msg;
- if(! $err and $data) {
- $msg = $data;
+ if(ref $data eq 'ARRAY') {
+ $msg = join("\r\n",@{$data});
} else {
- $msg = sprintf('ERROR:%s (%s)', $data);
+ $msg = $data;
}
- $self->out( $msg, 0, 'msg' );
+ $self->out( $msg, { state => $state }, 'msg' );
$self->{call} = '';
}
# ------------------
+sub message {
+# ------------------
+ my $self = shift || return error('No object defined!');
+ my $data = shift || 0;
+ return $self->msg($data);
+}
+
+# ------------------
+sub err {
+# ------------------
+ my $self = shift || return error('No object defined!');
+ my $data = shift || 0;
+ return $self->msg($data,1);
+}
+
+
+# ------------------
sub typ {
# ------------------
my $self = shift || return error('No object defined!');