#!/usr/bin/perl # view_table.cgi # Display all data in some table if (-r 'mysql-lib.pl') { require './mysql-lib.pl'; } else { require './postgresql-lib.pl'; } if ($config{'charset'}) { $main::force_charset = $config{'charset'}; } if ($ENV{'CONTENT_TYPE'} !~ /boundary=/) { &ReadParse(); } else { &ReadParseMime(); } &can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'}); @str = &table_structure($in{'db'}, $in{'table'}); foreach $s (@str) { $keyed++ if ($s->{'key'} eq 'PRI'); } if (!$keyed && $module_name eq "postgresql") { # Can use oid as key eval { $main::error_must_die = 1; $d = &execute_sql($in{'db'}, "select oid from ". "e_table($in{'table'}). " where 0 = 1"); }; if (!$@) { # Has an OID, so use it $use_oids = 1; $keyed = 1; } } # Get search SQL ($search, $searchhids, $searchargs, $advcount) = &get_search_args(\%in); # Work out start position $d = &execute_sql_safe($in{'db'}, "select count(*) from "."e_table($in{'table'})." ".$search); $total = int($d->{'data'}->[0]->[0]); if ($in{'jump'} > 0) { $in{'start'} = int($in{'jump'} / $displayconfig{'perpage'}) * $displayconfig{'perpage'}; if ($in{'start'} >= $total) { $in{'start'} = $total - $displayconfig{'perpage'}; $in{'start'} = int(($in{'start'} / $displayconfig{'perpage'}) + 1) * $displayconfig{'perpage'}; } } else { $in{'start'} = int($in{'start'}); } if ($in{'new'} && $total > $displayconfig{'perpage'}) { # go to the last screen for adding a row $in{'start'} = $total - $displayconfig{'perpage'}; $in{'start'} = int(($in{'start'} / $displayconfig{'perpage'}) + 1) * $displayconfig{'perpage'}; } # Get limiting and sorting SQL $limitsql = &get_search_limit(\%in); ($sortsql, $sorthids, $sortargs) = &get_search_sort(\%in); # Work out where clause for rows we are operating on $where_select = "select ".($use_oids ? "oid" : "*"). " from "."e_table($in{'table'})." $search $sortsql $limitsql"; if ($in{'delete'}) { # Deleting selected rows $d = &execute_sql($in{'db'}, $where_select); @t = map { $_->{'field'} } @str; $count = 0; foreach $r (split(/\0/, $in{'row'})) { local @where; local @r = @{$d->{'data'}->[$r]}; if ($use_oids) { # Where clause just uses OID push(@where, "oid = $r[0]"); } else { # Where clause uses keys for($i=0; $i<@t; $i++) { if ($str[$i]->{'key'} eq 'PRI') { if ($r[$i] eq 'NULL') { push(@where, "estr($t[$i]). " is null"); } else { $r[$i] =~ s/'/''/g; push(@where, "estr($t[$i]). " = '$r[$i]'"); } } } } &execute_sql_logged($in{'db'}, "delete from "."e_table($in{'table'}). " where ".join(" and ", @where)); $count++; } &webmin_log("delete", "data", $count, \%in); &redirect("view_table.cgi?db=$in{'db'}&". "table=".&urlize($in{'table'})."&start=$in{'start'}". $searchargs.$sortargs); } elsif ($in{'save'}) { # Update edited rows $d = &execute_sql($in{'db'}, $where_select); @t = map { $_->{'field'} } @str; $count = 0; for($j=0; $j<$displayconfig{'perpage'}; $j++) { next if (!defined($in{"${j}_$t[0]"})); local (@where, @set); local @r = @{$d->{'data'}->[$j]}; local @params; if ($use_oids) { # Where clause just uses OID push(@where, "oid = $r[0]"); } for($i=0; $i<@t; $i++) { if (!$use_oids) { # Where clause uses keys if ($str[$i]->{'key'} eq 'PRI') { if ($r[$i] eq 'NULL') { push(@where, "estr($t[$i]). " is null"); } else { $r[$i] =~ s/'/''/g; push(@where, "estr($t[$i]). " = '$r[$i]'"); } } } local $ij = $in{"${j}_$t[$i]"}; local $ijnull = $in{"${j}_$t[$i]_null"}; local $ijdef = $in{"${j}_$t[$i]_def"}; next if ($ijdef || !defined($ij)); if (!$displayconfig{'blob_mode'} || !&is_blob($str[$i])) { $ij =~ s/\r//g; } push(@set, "estr($t[$i])." = ?"); push(@params, $ijnull ? undef : $ij); } &execute_sql_logged($in{'db'}, "update "."e_table($in{'table'})." set ". join(" , ", @set)." where ". join(" and ", @where), @params); $count++; } &webmin_log("modify", "data", $count, \%in); &redirect("view_table.cgi?db=$in{'db'}&". "table=".&urlize($in{'table'})."&start=$in{'start'}". $searchargs.$sortargs); } elsif ($in{'savenew'}) { # Adding a new row for($j=0; $j<@str; $j++) { if (!$displayconfig{'blob_mode'} || !&is_blob($str[$j])) { $in{$j} =~ s/\r//g; } push(@set, $in{$j."_null"} ? undef : $in{$j}); } &execute_sql_logged($in{'db'}, "insert into "."e_table($in{'table'}). " values (".join(" , ", map { "?" } @set).")", @set); &redirect("view_table.cgi?db=$in{'db'}&". "table=".&urlize($in{'table'})."&start=$in{'start'}". $searchargs.$sortargs); &webmin_log("create", "data", undef, \%in); } elsif ($in{'cancel'} || $in{'new'}) { undef($in{'row'}); } $desc = &text('table_header', "<tt>$in{'table'}</tt>", "<tt>$in{'db'}</tt>"); &ui_print_header($desc, $text{'view_title'}, ""); if ($in{'start'} || $total > $displayconfig{'perpage'}) { print "<center>\n"; if ($in{'start'}) { printf "<a href='view_table.cgi?db=%s&table=%s&start=%s%s%s'>". "<img src=../images/left.gif border=0 align=middle></a>\n", $in{'db'}, $in{'table'}, $in{'start'} - $displayconfig{'perpage'}, $searchargs, $sortargs; } print "<font size=+1>",&text('view_pos', $in{'start'}+1, $in{'start'}+$displayconfig{'perpage'} > $total ? $total : $in{'start'}+$displayconfig{'perpage'}, $total),"</font>\n"; if ($in{'start'}+$displayconfig{'perpage'} < $total) { printf "<a href='view_table.cgi?db=%s&table=%s&start=%s%s%s'>". "<img src=../images/right.gif border=0 align=middle></a> ", $in{'db'}, $in{'table'}, $in{'start'} + $displayconfig{'perpage'}, $searchargs, $sortargs; } print "</center>\n"; } print "<table width=100% cellspacing=0 cellpadding=0>\n"; if ($in{'field'}) { # Show details of simple search my $msg = $in{'match'} == 2 || $in{'match'} == 3 ? 'view_searchheadnot' : 'view_searchhead'; print "<tr> <td><b>",&text($msg, "<tt>$in{'for'}</tt>", "<tt>$in{'field'}</tt>"),"</b></td>\n"; print "<td align=right><a href='view_table.cgi?db=$in{'db'}&", "table=$in{'table'}$sortargs'>$text{'view_searchreset'}</a></td> </tr>\n"; } elsif ($in{'advanced'}) { # Show details of advanced search print "<tr> <td><b>",&text('view_searchhead2', $advcount),"</b></td>\n"; print "<td align=right><a href='view_table.cgi?db=$in{'db'}&", "table=$in{'table'}$sortargs'>$text{'view_searchreset'}</a></td> </tr>\n"; } if ($in{'sortfield'}) { # Show current sort order print "<tr> <td><b>",&text($in{'sortdir'} ? 'view_sorthead2' : 'view_sorthead1', "<tt>$in{'sortfield'}</tt>"),"</b></td>\n"; print "<td align=right><a href='view_table.cgi?db=$in{'db'}&", "table=$in{'table'}$searchargs'>$text{'view_sortreset'}</a></td> </tr>\n"; } print "</table>\n"; if ($displayconfig{'blob_mode'}) { print &ui_form_start("view_table.cgi", "form-data"); } else { print &ui_form_start("view_table.cgi", "post"); } print &ui_hidden("db", $in{'db'}),"\n"; print &ui_hidden("table", $in{'table'}),"\n"; print &ui_hidden("start", $in{'start'}),"\n"; print $searchhids; print $sorthids; $check = !defined($in{'row'}) && !$in{'new'} && $keyed; if ($total || $in{'new'}) { # Get the rows of data, and show the table header $sql = "select * from "."e_table($in{'table'}). " $search $sortsql $limitsql"; $d = &execute_sql_safe($in{'db'}, $sql); @data = @{$d->{'data'}}; @tds = $check ? ( "width=5" ) : ( ); ($has_blob) = grep { &is_blob($_) } @str; @rowlinks = $check ? ( &select_all_link("row"), &select_invert_link("row") ) : ( ); print &ui_links_row(\@rowlinks); print &ui_columns_start([ $check ? ( "" ) : ( ), map { &column_sort_link($_->{'field'}) } @str ], 100, 0, \@tds); # Add an empty row for inserting $realrows = scalar(@data); if ($in{'new'}) { push(@data, [ map { $_->{'default'} eq 'NULL' ? '' : $_->{'default'} eq 'CURRENT_TIMESTAMP' ? '': $_->{'default'} } @str ]); $row{$realrows} = 1; } # Show the rows, some of which may be editable map { $row{$_}++ } split(/\0/, $in{'row'}); $w = int(100 / scalar(@str)); $w = 10 if ($w < 10); for($i=0; $i<@data; $i++) { local @d = map { $_ eq "NULL" ? undef : $_ } @{$data[$i]}; if ($row{$i} && ($displayconfig{'add_mode'} || $has_blob)) { # Show multi-line row editor $et = "<table border>\n"; $et .= "<tr $tb> <td><b>$text{'view_field'}</b></td> ". "<td><b>$text{'view_data'}</b></td> </tr>\n"; for($j=0; $j<@str; $j++) { local $nm = $i == $realrows ? $j : "${i}_$str[$j]->{'field'}"; $et .= "<tr $cb> <td><b>$str[$j]->{'field'}</b></td> <td>\n"; if ($displayconfig{'blob_mode'} && &is_blob($str[$j]) && $d[$j]) { # Show as keep/upload inputs $et .= &ui_radio($nm."_def", 1, [ [ 1, $text{'view_keep'} ], [ 0, $text{'view_set'} ] ])." ". &ui_upload($nm); } elsif ($displayconfig{'blob_mode'} && &is_blob($str[$j])) { # Show upload input $et .= &ui_upload($nm); } elsif ($str[$j]->{'type'} =~ /^enum\((.*)\)$/) { # Show as enum list $et .= &ui_select($nm, $d[$j], [ [ "", " " ], map { [ $_ ] } &split_enum($1) ], 1, 0, 1); } elsif ($str[$j]->{'type'} =~ /\((\d+)\)/) { # Show as known-size text if ($1 > 255) { # Too big, use text area $et .= &ui_textarea( $nm, $d[$j], 5, 70); } else { # Text box local $nw = $1 > 70 ? 70 : $1; $et .= &ui_textbox( $nm, $d[$j], $nw); } } elsif (&is_blob($str[$j])) { # Show as multiline text $et .= &ui_textarea($nm, $d[$j], 5, 70); } else { # Show as fixed-size text $et .= &ui_textbox($nm, $d[$j], 30); } if ($str[$j]->{'null'} eq 'YES') { # Checkbox for null value, if allowed $et .= " ".&ui_checkbox($nm."_null", 1, "NULL?", $i != $realrows && !defined($d[$j])); } $et .= "</td></tr>\n"; } $et .= "</table>"; print &ui_columns_row([ $check ? ( "" ) : ( ), $et ], [ @tds, "colspan=".scalar(@d) ] ); } elsif ($row{$i}) { # Show one-line row-editor local @cols; for($j=0; $j<@d; $j++) { local $l = $d[$j] =~ tr/\n/\n/; local $nm = $i == $realrows ? $j : "${i}_$d->{'titles'}->[$j]"; local $ui; if ($displayconfig{'blob_mode'} && &is_blob($str[$j])) { # Cannot edit this blob $ui = ""; } elsif ($str[$j]->{'type'} =~ /^enum\((.*)\)$/) { # Show as enum list $ui = &ui_select($nm, $d[$j], [ [ "", " " ], map { [ $_ ] } &split_enum($1) ], 1, 0, 1); } elsif ($str[$j]->{'type'} =~ /\((\d+)\)/) { # Show as known-size text local $nw = $1 > 70 ? 70 : $1; $ui = &ui_textbox($nm, $d[$j], $nw); } elsif ($l) { # Show as multiline text $l++; $ui = &ui_textarea($nm, $d[$j], $l, $w); } else { # Show as known size text $ui = &ui_textbox($nm, $d[$j], $w); } if ($ui && $str[$j]->{'null'} eq 'YES') { # Checkbox for null value, if allowed $ui .= " ".&ui_checkbox($nm."_null", 1, "NULL?", $i != $realrows && !defined($d[$j])); } push(@cols, $ui); } print &ui_columns_row([ $check ? ( "" ) : ( ), @cols ], \@tds); } else { # Show row contents local @cols; local $j = 0; foreach $c (@d) { if (!defined($c)) { # Show as null push(@cols, "<i>NULL</i>"); } elsif ($displayconfig{'blob_mode'} && &is_blob($str[$j]) && $c ne '') { # Show download link for blob push(@cols, &ui_link("download.cgi?db=$in{'db'}&table=$in{'table'}&start=$in{'start'}".$searchargs.$sortargs."&row=$i&col=$j",$text{'view_download'})); } else { # Just show text (up to limit) if ($config{'max_text'} && length($c) > $config{'max_text'}) { $c = substr($c, 0, $config{'max_text'})." ..."; } push(@cols, &html_escape($c)); } $j++; } if ($check) { print &ui_checked_columns_row(\@cols, \@tds, "row", $i); } else { print &ui_columns_row(\@cols, \@tds); } } } print &ui_columns_end(); print &ui_links_row(\@rowlinks); print &text('view_sqlrun', "<tt>".&html_escape($sql)."</tt>")."<p>\n"; } else { print "<b>$text{'view_none'}</b> <p>\n"; } # Show buttons to edit / delete rows if (!$keyed) { print "<b>$text{'view_nokey'}</b><p>\n"; print &ui_form_end(); } elsif (!$check) { if ($in{'new'}) { print &ui_form_end([ [ "savenew", $text{'save'} ], [ "cancel", $text{'cancel'} ] ]); } else { print &ui_form_end([ [ "save", $text{'save'} ], [ "cancel", $text{'cancel'} ] ]); } } elsif ($total) { print &ui_form_end([ [ "edit", $text{'view_edit'} ], [ "new", $text{'view_new'} ], [ "delete", $text{'view_delete'} ], [ "refresh", $text{'view_refresh'} ] ]); } else { print &ui_form_end([ [ "new", $text{'view_new'} ] ]); } if (!$in{'field'} && $total > $displayconfig{'perpage'}) { # Show search and jump buttons print &ui_hr(); print &ui_form_start("view_table.cgi"); print &ui_hidden("search", 1); print &ui_hidden("db", $in{'db'}); print &ui_hidden("table", $in{'table'}); $sel = &ui_select("field", undef, [ map { [ $_->{'field'}, $_->{'field'} ] } @str ]); $match = &ui_select("match", 0, [ map { [ $_, $text{'view_match'.$_} ] } (0.. 5) ]); print &text('view_search2', &ui_textbox("for", "", 20), $sel, $match),"\n"; print &ui_submit($text{'view_searchok'}); print &ui_form_end(); # Advanced search form print &ui_form_start("search_form.cgi"); print &ui_hidden("db", $in{'db'}); print &ui_hidden("table", $in{'table'}); print &ui_submit($text{'view_adv'}); print &ui_form_end(); print "<p>\n"; # Jump to a row print &ui_form_start("view_table.cgi"); print "<b>$text{'view_jump'}</b>\n"; print &ui_hidden("db", $in{'db'}); print &ui_hidden("table", $in{'table'}); print &ui_textbox("jump", "", 6); print &ui_submit($text{'view_go'}); print &ui_form_end(); } if ($access{'edonly'}) { &ui_print_footer("edit_dbase.cgi?db=$in{'db'}",$text{'dbase_return'}, &get_databases_return_link($in{'db'}), $text{'index_return'}); } else { &ui_print_footer("edit_table.cgi?db=$in{'db'}&table=". &urlize($in{'table'}), $text{'table_return'}, "edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'}, &get_databases_return_link($in{'db'}), $text{'index_return'}); } # column_sort_link(name) # Returns HTML for a link to switch sorting mode sub column_sort_link { local ($field) = @_; local $dir = $in{'sortfield'} eq $field ? !$in{'sortdir'} : 0; local $img = $in{'sortfield'} eq $field && $dir ? "sortascgrey.gif" : $in{'sortfield'} eq $field && !$dir ? "sortdescgrey.gif" : $dir ? "sortasc.gif" : "sortdesc.gif"; return "<a href='view_table.cgi?db=$in{'db'}&table=". &urlize($in{'table'})."&start=$in{'start'}&sortfield=$field&sortdir=$dir$searchargs'>". "<b>$field</b><img valign=middle src=../images/$img border=0>"; }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 8.12 KB | 0644 |
|
acl_security.pl | File | 4.43 KB | 0755 |
|
backup.pl | File | 4.17 KB | 0755 |
|
backup_config.pl | File | 1.01 KB | 0755 |
|
backup_db.cgi | File | 8.07 KB | 0755 |
|
backup_form.cgi | File | 6.78 KB | 0755 |
|
cgi_args.pl | File | 577 B | 0755 |
|
config | File | 522 B | 0644 |
|
config-AlmaLinux-7.0-ALL | File | 418 B | 0644 |
|
config-Amazon-Linux-2-ALL | File | 403 B | 0644 |
|
config-CentOS-Linux-7.0-ALL | File | 418 B | 0644 |
|
config-CentOS-Stream-Linux-8.0-ALL | File | 418 B | 0644 |
|
config-CloudLinux-8.0-ALL | File | 418 B | 0644 |
|
config-Oracle-Linux-8.0-ALL | File | 418 B | 0644 |
|
config-Redhat-Enterprise-Linux-7.0-ALL | File | 418 B | 0644 |
|
config-Rocky-Linux-7.0-ALL | File | 418 B | 0644 |
|
config-Scientific-Linux-7.0-ALL | File | 403 B | 0644 |
|
config-Ubuntu-Linux-16.04-17.99 | File | 453 B | 0644 |
|
config-Ubuntu-Linux-18.04-ALL | File | 420 B | 0644 |
|
config-aix | File | 479 B | 0644 |
|
config-cobalt-linux | File | 417 B | 0644 |
|
config-coherent-linux | File | 419 B | 0644 |
|
config-debian-linux | File | 416 B | 0644 |
|
config-debian-linux-10.0-ALL | File | 420 B | 0644 |
|
config-debian-linux-2.2-9.0 | File | 436 B | 0644 |
|
config-freebsd | File | 479 B | 0644 |
|
config-freebsd-8-ALL | File | 516 B | 0644 |
|
config-gentoo-linux | File | 413 B | 0644 |
|
config-mandrake-linux | File | 399 B | 0644 |
|
config-mandrake-linux-10.1-ALL | File | 401 B | 0644 |
|
config-msc-linux | File | 421 B | 0644 |
|
config-netbsd | File | 431 B | 0644 |
|
config-open-linux | File | 417 B | 0644 |
|
config-openSUSE-Linux-15.0-ALL | File | 403 B | 0644 |
|
config-openmamba-linux | File | 417 B | 0644 |
|
config-pardus-linux | File | 346 B | 0644 |
|
config-redhat-linux | File | 417 B | 0644 |
|
config-redhat-linux-24.0 | File | 421 B | 0644 |
|
config-redhat-linux-25.0-ALL | File | 418 B | 0644 |
|
config-redhat-linux-7.0-23.0 | File | 419 B | 0644 |
|
config-slackware-linux-8.0-ALL | File | 449 B | 0644 |
|
config-sol-linux | File | 455 B | 0644 |
|
config-solaris-10 | File | 440 B | 0644 |
|
config-solaris-11-ALL | File | 490 B | 0644 |
|
config-solaris-9 | File | 498 B | 0644 |
|
config-suse-linux | File | 409 B | 0644 |
|
config-suse-linux-7.1-ALL | File | 407 B | 0644 |
|
config-syno-linux | File | 528 B | 0755 |
|
config-trustix-linux | File | 407 B | 0644 |
|
config-turbo-linux | File | 417 B | 0644 |
|
config-united-linux | File | 407 B | 0644 |
|
config-windows | File | 568 B | 0644 |
|
config.info | File | 1.58 KB | 0644 |
|
config.info.bg | File | 2.74 KB | 0644 |
|
config.info.ca | File | 1.7 KB | 0644 |
|
config.info.cs | File | 1.46 KB | 0644 |
|
config.info.de | File | 1.62 KB | 0644 |
|
config.info.es | File | 813 B | 0644 |
|
config.info.fi | File | 0 B | 0644 |
|
config.info.fr | File | 1.85 KB | 0644 |
|
config.info.hu | File | 1.32 KB | 0644 |
|
config.info.it | File | 1.54 KB | 0644 |
|
config.info.ja | File | 1.7 KB | 0644 |
|
config.info.nl | File | 1.67 KB | 0644 |
|
config.info.no | File | 1.54 KB | 0644 |
|
config.info.pl | File | 808 B | 0644 |
|
config.info.pt_BR | File | 1.68 KB | 0644 |
|
config.info.ru | File | 1.27 KB | 0644 |
|
config.info.sv | File | 677 B | 0644 |
|
config.info.tr | File | 1.13 KB | 0644 |
|
config.info.uk | File | 1.31 KB | 0644 |
|
config.info.zh | File | 320 B | 0644 |
|
config.info.zh_TW | File | 891 B | 0644 |
|
config_info.pl | File | 575 B | 0755 |
|
cpan_modules.pl | File | 84 B | 0755 |
|
create_table.cgi | File | 1.02 KB | 0755 |
|
csv.cgi | File | 2.26 KB | 0755 |
|
csv_form.cgi | File | 1.67 KB | 0755 |
|
defaultacl | File | 85 B | 0644 |
|
delete_cprivs.cgi | File | 1.15 KB | 0755 |
|
delete_dbs.cgi | File | 1.04 KB | 0755 |
|
delete_fields.cgi | File | 665 B | 0755 |
|
delete_hosts.cgi | File | 1018 B | 0755 |
|
delete_tprivs.cgi | File | 1.1 KB | 0755 |
|
delete_users.cgi | File | 941 B | 0755 |
|
download.cgi | File | 1.07 KB | 0755 |
|
drop_dbase.cgi | File | 1.86 KB | 0755 |
|
drop_dbases.cgi | File | 1.39 KB | 0755 |
|
drop_table.cgi | File | 1.27 KB | 0755 |
|
drop_tables.cgi | File | 1.75 KB | 0755 |
|
edit_cnf.cgi | File | 2.92 KB | 0755 |
|
edit_cpriv.cgi | File | 2.34 KB | 0755 |
|
edit_db.cgi | File | 1.73 KB | 0755 |
|
edit_dbase.cgi | File | 6.46 KB | 0755 |
|
edit_field.cgi | File | 4.99 KB | 0755 |
|
edit_host.cgi | File | 1.48 KB | 0755 |
|
edit_index.cgi | File | 1.83 KB | 0755 |
|
edit_manual.cgi | File | 952 B | 0755 |
|
edit_ssl.cgi | File | 1.59 KB | 0755 |
|
edit_table.cgi | File | 2.85 KB | 0755 |
|
edit_tpriv.cgi | File | 2.21 KB | 0755 |
|
edit_user.cgi | File | 4.64 KB | 0755 |
|
edit_view.cgi | File | 2.17 KB | 0755 |
|
exec.cgi | File | 1.53 KB | 0755 |
|
exec_file.cgi | File | 2.48 KB | 0755 |
|
exec_form.cgi | File | 3.63 KB | 0755 |
|
import.cgi | File | 1.99 KB | 0755 |
|
index.cgi | File | 10.83 KB | 0755 |
|
install_check.pl | File | 549 B | 0755 |
|
kill_procs.cgi | File | 385 B | 0755 |
|
list_cprivs.cgi | File | 2.21 KB | 0755 |
|
list_dbs.cgi | File | 1.89 KB | 0755 |
|
list_hosts.cgi | File | 1.76 KB | 0755 |
|
list_procs.cgi | File | 1.42 KB | 0755 |
|
list_tprivs.cgi | File | 2.03 KB | 0755 |
|
list_users.cgi | File | 2.73 KB | 0755 |
|
list_vars.cgi | File | 1.72 KB | 0755 |
|
log_parser.pl | File | 3.25 KB | 0755 |
|
login.cgi | File | 819 B | 0755 |
|
module.info | File | 190 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 131 B | 0644 |
|
module.info.ar | File | 0 B | 0644 |
|
module.info.ar.auto | File | 211 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 204 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 215 B | 0644 |
|
module.info.ca | File | 127 B | 0644 |
|
module.info.ca.auto | File | 14 B | 0644 |
|
module.info.cs | File | 34 B | 0644 |
|
module.info.cs.auto | File | 103 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 127 B | 0644 |
|
module.info.de | File | 127 B | 0644 |
|
module.info.de.auto | File | 14 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 226 B | 0644 |
|
module.info.es | File | 40 B | 0644 |
|
module.info.es.auto | File | 110 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 134 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 198 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 140 B | 0644 |
|
module.info.fr | File | 43 B | 0644 |
|
module.info.fr.auto | File | 138 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 167 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 153 B | 0644 |
|
module.info.hu | File | 35 B | 0644 |
|
module.info.hu.auto | File | 113 B | 0644 |
|
module.info.it | File | 33 B | 0644 |
|
module.info.it.auto | File | 102 B | 0644 |
|
module.info.ja | File | 43 B | 0644 |
|
module.info.ja.auto | File | 128 B | 0644 |
|
module.info.ko | File | 40 B | 0644 |
|
module.info.ko.auto | File | 128 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 172 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 133 B | 0644 |
|
module.info.ms | File | 142 B | 0644 |
|
module.info.ms.auto | File | 14 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 137 B | 0644 |
|
module.info.nl | File | 30 B | 0644 |
|
module.info.nl.auto | File | 98 B | 0644 |
|
module.info.no | File | 29 B | 0644 |
|
module.info.no.auto | File | 98 B | 0644 |
|
module.info.pl | File | 34 B | 0644 |
|
module.info.pl.auto | File | 103 B | 0644 |
|
module.info.pt | File | 40 B | 0644 |
|
module.info.pt.auto | File | 116 B | 0644 |
|
module.info.pt_BR | File | 0 B | 0644 |
|
module.info.pt_BR.auto | File | 166 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 155 B | 0644 |
|
module.info.ru | File | 47 B | 0644 |
|
module.info.ru.auto | File | 165 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 141 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 135 B | 0644 |
|
module.info.sv | File | 28 B | 0644 |
|
module.info.sv.auto | File | 104 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 292 B | 0644 |
|
module.info.tr | File | 35 B | 0644 |
|
module.info.tr.auto | File | 110 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 210 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 229 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 184 B | 0644 |
|
module.info.zh | File | 33 B | 0644 |
|
module.info.zh.auto | File | 92 B | 0644 |
|
module.info.zh_TW | File | 36 B | 0644 |
|
module.info.zh_TW.auto | File | 98 B | 0644 |
|
mysql-lib.pl | File | 51.37 KB | 0755 |
|
newdb.cgi | File | 1.07 KB | 0755 |
|
newdb_form.cgi | File | 1.45 KB | 0755 |
|
postinstall.pl | File | 192 B | 0644 |
|
prefs.info | File | 69 B | 0644 |
|
root_form.cgi | File | 855 B | 0755 |
|
save_cnf.cgi | File | 2.83 KB | 0755 |
|
save_cpriv.cgi | File | 2.67 KB | 0755 |
|
save_db.cgi | File | 2.68 KB | 0755 |
|
save_field.cgi | File | 4.72 KB | 0755 |
|
save_host.cgi | File | 2.35 KB | 0755 |
|
save_index.cgi | File | 1.39 KB | 0755 |
|
save_manual.cgi | File | 526 B | 0755 |
|
save_root.cgi | File | 1.04 KB | 0755 |
|
save_ssl.cgi | File | 2.03 KB | 0755 |
|
save_sync.cgi | File | 454 B | 0755 |
|
save_tpriv.cgi | File | 2.6 KB | 0755 |
|
save_user.cgi | File | 4.85 KB | 0755 |
|
save_vars.cgi | File | 755 B | 0755 |
|
save_view.cgi | File | 1.84 KB | 0755 |
|
search_form.cgi | File | 1.38 KB | 0755 |
|
start.cgi | File | 218 B | 0755 |
|
stop.cgi | File | 203 B | 0755 |
|
syslog_logs.pl | File | 1.11 KB | 0755 |
|
table_form.cgi | File | 1.95 KB | 0755 |
|
useradmin_update.pl | File | 2.6 KB | 0755 |
|
view-lib.pl | File | 3.56 KB | 0755 |
|
view_table.cgi | File | 15.06 KB | 0755 |
|