2 # Show an HTML editor window
4 $trust_unknown_referers = 1;
5 require './file-lib.pl';
7 $disallowed_buttons{'edit'} && &error($text{'ebutton'});
10 # Work out editing mode
11 if ($in{'text'} || $in{'file'} && !&is_html_file($in{'file'})) {
15 &popup_header($in{'file'} ? $text{'html_title'} : $text{'html_title2'},
16 undef, $text_mode ? undef : "onload='xinha_init()'");
18 # Output HTMLarea init code
20 <script type="text/javascript">
21 _editor_url = "$gconfig{'webprefix'}/$module_name/xinha/";
24 <script type="text/javascript" src="xinha/XinhaCore.js"></script>
26 <script type="text/javascript">
27 xinha_init = function()
29 xinha_editors = [ "body" ];
31 xinha_config = new Xinha.Config();
32 xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
33 Xinha.startEditors(xinha_editors);
39 &switch_acl_uid_and_chroot();
40 $data = &read_file_contents($in{'file'});
43 print &ui_form_start("save_html.cgi", "form-data");
44 print &ui_hidden("text", $text_mode);
46 # Editing existing file
47 print &ui_hidden("file", $in{'file'});
51 # Creating new, so prompt for path
52 print $text{'edit_filename'}," ",
53 &ui_textbox("file", $in{'dir'}, 70),"<br>\n";
58 print "<textarea rows=20 cols=80 style='width:100%;height:$pc%' name=body>";
59 print &html_escape($data);
60 print "</textarea>\n";
61 print &ui_submit($text{'html_save'});
65 print "<textarea rows=20 cols=80 style='width:100%;height:$pc%' name=body id=body>";
66 print &html_escape($data);
67 print "</textarea>\n";
68 print "<table width=100%><tr>\n";
69 print "<td>",&ui_submit($text{'html_save'}),"</td>\n";
70 print "<td align=right><a href='edit_html.cgi?file=".
71 &urlize($in{'file'})."&text=1'>$text{'edit_textmode'}</a></td>\n";
72 print "</tr> </table>\n";
81 local @exts = split(/\s+/, $userconfig{'htmlexts'} || $config{'htmlexts'});
82 @exts = ( ".htm", ".html", ".shtml" ) if (!@exts);
83 foreach my $e (@exts) {
84 return 1 if ($file =~ /\Q$e\E$/i);