diff options
| author | Andreas Brachold <vdr07@deltab.de> | 2008-02-25 19:06:14 +0000 |
|---|---|---|
| committer | Andreas Brachold <vdr07@deltab.de> | 2008-02-25 19:06:14 +0000 |
| commit | 1a974ba550824dd6afe602d4534ed665c7117bea (patch) | |
| tree | 6106c84adb0216c12d30f36823f2cb895231c046 /lib | |
| parent | 8cc206947676df6f2a2923e3fb68f9c9f7730897 (diff) | |
| download | xxv-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.pm | 5 | ||||
| -rw-r--r-- | lib/XXV/MODULES/HTTPD.pm | 33 | ||||
| -rw-r--r-- | lib/XXV/OUTPUT/Ajax.pm | 27 |
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!'); |
