1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.tuigwaa.plugin.basic;
17
18 import org.seasar.tuigwaa.cms.core.CmsRequest;
19 import org.seasar.tuigwaa.cms.core.CmsResponse;
20 import org.seasar.tuigwaa.cms.core.wiki.base.WikiHelper;
21 import org.seasar.tuigwaa.plugin.AbstractPlugin;
22 import org.seasar.tuigwaa.plugin.PluginException;
23 import org.seasar.tuigwaa.plugin.PluginRequest;
24
25 import com.isenshi.util.HtmlBuffer;
26
27 /***
28 * @author someda
29 */
30 public class ImagelinkPlugin extends AbstractPlugin {
31
32 public String doHTMLView(CmsRequest request, CmsResponse response,
33 PluginRequest prequest) throws PluginException {
34
35 String[] args = prequest.getArgs();
36 if(!existArg(args,1)){
37 throw new PluginException("imagelink needs image URL and link URL");
38 }
39
40 String imageURL = args[0];
41 String linkURL = args[1];
42
43 if(!WikiHelper.isImage(imageURL)){
44 throw new PluginException(imageURL + " should be image URL");
45 }
46
47 HtmlBuffer buf = new HtmlBuffer();
48 buf.setNewline(false);
49 buf.setTab(false);
50 buf.appendStartTag("a");
51 buf.appendAttribute("href",linkURL);
52
53 buf.appendStartTag("img");
54 buf.appendAttribute("src",imageURL);
55
56 if(existArg(args,2)){
57 buf.appendAttribute("alt",args[2]);
58 }
59
60 if(existArg(args,3)){
61 buf.appendAttribute("width",args[3]);
62 }
63
64 if(existArg(args,4)){
65 buf.appendAttribute("height",args[4]);
66 }
67 buf.endTag();
68 buf.endTag();
69
70 return buf.toString();
71 }
72
73 }