From 95b5ec74a915eaf71bfaaed48b590495b58f97fb Mon Sep 17 00:00:00 2001 From: tumashu1 Date: Sat, 8 Dec 2018 04:08:38 -0400 Subject: [PATCH] fail to inject IkiWiki::showform --- ...i::showform_can_not_be_injected__63__.mdwn | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 doc/bugs/IkiWiki::showform_can_not_be_injected__63__.mdwn diff --git a/doc/bugs/IkiWiki::showform_can_not_be_injected__63__.mdwn b/doc/bugs/IkiWiki::showform_can_not_be_injected__63__.mdwn new file mode 100644 index 000000000..fd63f3eef --- /dev/null +++ b/doc/bugs/IkiWiki::showform_can_not_be_injected__63__.mdwn @@ -0,0 +1,71 @@ +I want inject IkiWiki::showform and use replace submit button with translated button, +but it seem no effect in cgi, does IkiWiki::showfrom can not be injectd when run as cgi? + +by the way, what about add a post-showform hook to ikiwiki? + +the below is my code: + + #!/usr/bin/perl + package IkiWiki::Plugin::chinesize; + + use warnings; + use strict; + use IkiWiki 3.00; + + inject(name => 'IkiWiki::showform', call => \&myshowform); + + sub myshowform ($$$$;@) { + my $form=prepform(@_); + shift; + my $buttons=shift; + my $session=shift; + my $cgi=shift; + + my $str=cgitemplate($cgi, $form->title, + $form->render(submit => $buttons), @_); + + my %names = ("Save Page" => "保存页面", + "Preview" => "预览", + "Cancel" => "取消", + "Diff" => "差异比较", + "Rename" => "重命名", + "Remove" => "删除", + "Login" => "登录", + "Register" => "注册", + "Logout" => "退出", + "Setup" => "设置", + "Users" => "所有用户", + "Name" => "用户名", + "Password" => "密码", + "Email" => "电子邮件", + "Save Preferences" => "保存选项", + "Confirm Password" => "再次输入密码", + "Create Account" => "创建帐户", + "Reset Password" => "重置密码", + "Insert Links" => "插入链接", + "Rename Attachment" => "重命名附件", + "Remove Attachments" => "删除附件", + "FormattingHelp" => "格式帮助", + "Reset" => "重置", + "Save Setup" => "保存设置", + "Advanced Mode" => "高级模式", + "Account Creation Password" => "请输入帐户创建密码(管理员预设)" + ); + + foreach my $old_name (keys(%names)) + { + my $new_name = Encode::decode_utf8($names{$old_name}); + $str =~ s//