📄 hmtlcontentbar.java
字号:
/* CVS ID: $Id: HMTLContentBar.java,v 1.3 2000/09/13 10:35:22 wastl Exp $ */import java.util.*;import net.wastl.webmail.ui.*;import net.wastl.webmail.ui.html.*;import net.wastl.webmail.ui.xml.*;import net.wastl.webmail.server.*;import net.wastl.webmail.server.http.HTTPRequestHeader;import net.wastl.webmail.misc.*;import net.wastl.webmail.exceptions.*;import gnu.regexp.*;/* * HMTLContentBar.java * * Created: Wed Sep 1 13:08:11 1999 * * Copyright (C) 1999-2000 Sebastian Schaffert * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *//** * The content bar on the left. * * provides: content bar * requires: * * @author Sebastian Schaffert * @version */public class HMTLContentBar implements ContentBar, Plugin, URLHandler { public static final String VERSION="1.1"; public static final String URL="/content"; String template; String bar; ContentProviderHeap providers; Storage store; public HMTLContentBar() { providers=new ContentProviderHeap(20); } public void register(WebMailServer parent) { this.store=parent.getStorage(); parent.setContentBar(this); parent.getURLHandler().registerHandler(URL,this); } public String getVersion() { return VERSION; } public String getName() { return "ContentBar"; } public String getDescription() { return "This is the content-bar on the left frame in the mailbox window. "+ "ContentProviders register with this content-bar to have a link and an icon added."; } public String getURL() { return URL; } public void registerContentItem(ContentProvider provider) { providers.insert(provider); initBar(); } protected void initBar() { bar=""; ContentProviderHeap tmp=providers.getClone(); while(!tmp.isEmpty()) { ContentProvider c=tmp.next(); bar+="<A HREF=\"<<BASE>>/SESS-<<SESSION>>"+c.getURL()+"\" TARGET=\""+c.getTarget()+"\" onMouseOver=\"self.status='"+ c.getDescription()+"';\"><IMG SRC=\"<<BASE>>"+c.getIconPath()+"\" BORDER=0 ALT=\""+c.getName()+"\"></A></BR>"; } } public HTMLDocument handleURL(String suburl, HTTPSession session, HTTPRequestHeader header) throws WebMailException { if(session == null) { throw new WebMailException("No session was given. If you feel this is incorrect, please contact your system administrator"); } WebMailSession sess=(WebMailSession)session;// if(store != null) {// template=store.getTextFile(store.getStringResource("content",sess.getLocale()),sess.getLocale());// try {// RE regexp2=new RE("<<CONTENTBAR>>",RE.REG_ICASE & RE.REG_MULTILINE);// REMatch[] matches=regexp2.getAllMatches(template);// for(int i=0;i<matches.length;i++) { // template=regexp2.substitute(template,bar,0);// }// } catch(Exception ex) {} // return new HTMLParsedDocument(sess,template);// } else {// return null;// } UserData user=sess.getUser(); return new XHTMLDocument(session.getModel(),store.getStylesheet("navbar.xsl",user.getPreferredLocale(),user.getTheme())); } public String provides() { return "content bar"; } public String requires() { return ""; }} // HMTLContentBar
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -