/[pub]/suikawiki/script/lib/SuikaWiki/Plugin/WikiResource.wp2
Suika

Contents of /suikawiki/script/lib/SuikaWiki/Plugin/WikiResource.wp2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations) (download)
Mon Dec 1 07:31:52 2003 UTC (22 years, 7 months ago) by wakaba
Branch: MAIN
Changes since 1.1: +59 -4 lines
Try & catch formatter text error

1 #?SuikaWikiConfig/2.0
2
3 Plugin:
4 @Name: WikiResource
5 @Description:
6 @@@: Wiki resource text support
7 @@lang:en
8 @License: %%GPL%%
9 @Author:
10 @@Name:
11 @@@@: Wakaba
12 @@@lang:ja
13 @@@script:Latn
14 @@Mail[list]: w@suika.fam.cx
15 @Date.RCS: $Date: 2003/11/25 12:39:40 $
16 @Use:
17 use Message::Util::Error;
18
19 PluginConst:
20 @NS_XHTML1:
21 http://www.w3.org/1999/xhtml
22
23 FormattingRule:
24 @Category[list]:
25 view
26 view-resource
27 page-link
28 form-input
29 form-template
30 @Name: res
31 @Description:
32 @@@: Resource
33 @@lang: en
34 @Parameter:
35 @@Name: name
36 @@Type: CDATA
37 @@Default: #REQUIRED
38 @@Description:
39 @@@@: Resource name
40 @@@lang:en
41 @Formatting:
42 __ATTRTEXT:%name__;
43 ## TODO:
44 try {
45 SuikaWiki::Plugin->formatter ('view-resource')
46 ->replace (SuikaWiki::Plugin->resource ($p->{name}),
47 param => $o, -parent => $p->{-parent});
48 } catch Message::Util::Formatter::error with {
49 my $err = shift;
50 if ($err->{-formatter}->{-category_name} eq 'view_resource') {
51 my $wiki = $err->{-option}->{param}->{wiki};
52 __FUNCPACK__->logging_template_error ($err, $wiki,
53 resource_name => $p->{name});
54 undef;
55 } else {
56 $err->throw;
57 }
58 };
59
60 Function:
61 @Name: logging_template_error
62 @Description:
63 @@@:
64 Logging formatting-template-text error
65 @@lang:en
66 @Main:
67 my (undef, $err, $wiki, %opt) = @_;
68 my $error = {};
69 my $dl = $error->{description}
70 = new Message::Markup::XML::Node
71 (type => '#element',
72 namespace_uri => $NS_XHTML1,
73 local_name => 'dl');
74 ## TODO: Use resource
75 $dl->append_new_node (type => '#element',
76 namespace_uri => $NS_XHTML1,
77 local_name => 'dt')
78 ->append_text ('Resource name');
79 $dl->append_new_node (type => '#element',
80 namespace_uri => $NS_XHTML1,
81 local_name => 'dd')
82 ->append_text ($opt{resource_name});
83 $dl->append_new_node (type => '#element',
84 namespace_uri => $NS_XHTML1,
85 local_name => 'dt')
86 ->append_text ('Error condition');
87 $dl->append_new_node (type => '#element',
88 namespace_uri => $NS_XHTML1,
89 local_name => 'dd')
90 ->append_text ($err->text);
91 $dl->append_new_node (type => '#element',
92 namespace_uri => $NS_XHTML1,
93 local_name => 'dt')
94 ->append_text ('Formatting context');
95 $dl->append_new_node (type => '#element',
96 namespace_uri => $NS_XHTML1,
97 local_name => 'dd')
98 ->append_text (qq($err->{-formatter}->{-category_name}));
99
100 push @{$wiki->{var}->{error}||=[]}, $error;

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24