Kawai Wiki

Rev

Rev 142 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
140 soliveira 1
package org.kawai.tag;
2
 
3
import java.util.Locale;
4
 
5
import javax.servlet.jsp.JspException;
6
 
7
import org.kawai.model.Language;
8
import org.mentawai.i18n.LocaleManager;
9
import org.mentawai.tag.i18n.RewriteWithLoc;
10
import org.mentawai.tag.util.PrintTag;
11
 
12
public class ListFlags extends PrintTag {
13
 
157 soliveira 14
        @Override
140 soliveira 15
        public String getStringToPrint() throws JspException {
16
 
17
                /*
18
                <mtw:isLocale value="pt">
19
                <a href="<mtw:urlWithLoc loc="pt" tagsToExclude="revision" />"><img src="images/brazil.gif" border="0" width="20" height="13" style="border: 3px solid #ccc;" /></a>
20
                <a href="<mtw:urlWithLoc loc="en" tagsToExclude="revision" />"><img src="images/usa.gif" width="20" height="13" border="0" style="border: 3px solid #fff;" /></a>
21
        </mtw:isLocale>
22
        <mtw:isLocale value="en">
23
                <a href="<mtw:urlWithLoc loc="pt" tagsToExclude="revision" />"><img src="images/brazil.gif" border="0" width="20" height="13" style="border: 3px solid #fff;" /></a>
24
                <a href="<mtw:urlWithLoc loc="en" tagsToExclude="revision" />"><img src="images/usa.gif" width="20" height="13" border="0" style="border: 3px solid #ccc;" /></a>
25
        </mtw:isLocale>
26
                */
27
 
142 soliveira 28
                if (Language.all().size() == 1) return "";
29
 
140 soliveira 30
                LocaleManager.decideLocale(req, res); // force the locale to be chosen from param or cookie...
31
                Locale selectedLocale = LocaleManager.getLocale(req, false);
32
 
33
                String cp = req.getContextPath();
34
 
35
                StringBuilder sb = new StringBuilder(1024);
36
 
37
                for(Language lang : Language.all()) {
38
                        Locale loc = lang.getLocale();
39
                        boolean selected = lang.getLocale().equals(selectedLocale);
40
 
41
                        RewriteWithLoc tag = new RewriteWithLoc();
42
                        tag.setPageContext(pageContext);
43
                        tag.setLoc(loc.toString());
44
                        tag.setTagsToExclude("revision");
45
                        tag.doStartTag();
46
                        String href = tag.getStringToPrint();
47
 
48
                        sb.append("<a href=\"").append(href).append("\">");
49
                        sb.append("<img src=\"").append(cp).append("/uploads/images/").append(lang.getImageFile()).append("\" border=\"0\" width=\"20\" height=\"13\" style=\"border: 3px solid ");
50
                        if (selected) sb.append("#ccc");
51
                        else sb.append("#fff");
52
                        sb.append("; \" /></a>\n");
53
                }
54
                return sb.toString();
55
        }
56
}