#!perl BEGIN { chdir('..'); } use strict; use warnings; use IO::File; use CGI ':standard'; use CGI::Carp 'fatalsToBrowser'; use File::Copy; require "lib_pl"; our ($program, $submit_i, $file_i, $password_i); our $debug = 0; our $common_conf; set_program_name("the admin interface"); # session variables our $session_data = {}; our ($uid, $password, $token, $session_code, $authenticated); our ($user); load_session(); $user = auth(); hdr("Edit Config File"); if (!$user->{is_admin}) { logout(); # die "what the!?"; # param("logout", 1); # undef $token; # undef $authenticated; # $uid = "__admin__"; # load_session(); # } my $filename = param("filename"); if (!$filename || param("back")) { file_chooser(); } else { file_editor($filename); } ftr(); exit; #sub get_pass { # print tbl_tsv(<Edit a file"); print tbl_tsv(< $filename, Content => textarea(-name=>'data', -columns=>80, -rows=>20, default=>$data), '' => buttons("save", "back")); } sub save_data { my ($filename, $data) = @_; -e $filename and copy($filename, "$filename~") || die "can't make backup file $filename~"; $data =~ tr/\r//d; $data =~ s/\t/ /g; belch($filename, $data); msg("saved changes"); } sub strip_dot_conf { my ($a) = @_; $a =~ s/\.conf$//; return $a; }