php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /usr/libexec/webmin/shorewall/ |
files >> //usr/libexec/webmin/shorewall/save.cgi |
#!/usr/bin/perl # save.cgi # Updated, modify or delete a table entry require './shorewall-lib.pl'; &ReadParse(); &get_clean_table_name(\%in); &can_access($in{'table'}) || &error($text{'list_ecannot'}); $pfunc = &get_parser_func(\%in); &error_setup($text{$in{'tableclean'}."_err"}); &lock_table($in{'table'}); if ($in{'delete'}) { # Just delete one row &delete_table_row($in{'table'}, $pfunc, $in{'idx'}); } else { # Validate inputs $vfunc = $in{'tableclean'}."_validate"; @row = &$vfunc(); $jfunc = $in{'tableclean'}."_join"; if (defined(&$jfunc)) { $line = &$jfunc(@row); } else { $line = join("\t", @row); } # Update or add if ($in{'new'}) { local $where = $in{'before'} ne '' ? $in{'before'} : $in{'after'} ne '' ? $in{'after'}+1 : undef; &create_table_row($in{'table'}, $pfunc, $line, $where); } else { # Updating &modify_table_row($in{'table'}, $pfunc, $in{'idx'}, $line); } } &unlock_table($in{'table'}); &webmin_log($in{'new'} ? "create" : $in{'delete'} ? "delete" : "modify", "table", $in{'table'}); &redirect("list.cgi?table=$in{'table'}");y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`