📄 bookmarkchannel.java
字号:
/* www.365d0.com 个人定制模块 2000.7.12
*
*/
import java.io.*;
import java.text.*;
import java.util.*;
import java.sql.*;
/*
* 从Channel派生的书签类
*
* @author Liyan
*/
public class BookmarkChannel extends Channel
{
//在构造函数中命名本频道
BookmarkChannel()
{
channelName = "书签";
}
public boolean editChannel(Person p,HtmlOuter Html)
{
return true;
}
//实现makeChannel方法
public void makeChannel(Person p,TemplateList tempList,HtmlOut desHtml)
{
//定义单个模板
SingleTemplate st,st2;
//在全局变量tempList中找到"频道"模板
st = tempList.searchTemplate("频道2");
if(st==null) return ;
int nKey = st.getKeyNum ();
String sKey ;
for(int j=0;j<nKey;j++){
desHtml.addString (st.getStringAt (j));
sKey = st.getKeyAt (j);
if( sKey.compareTo("cgi-path")==0 )
desHtml.addString (CommonMethods.sHostNameCGI);
if( sKey.compareTo("标题")==0 )
desHtml.addString ( channelName );
if( sKey.compareTo("链接")==0 )
desHtml.addString ( "BookmarkServlet" );
if( sKey.compareTo("名称")==0 )
desHtml.addString ( "我的书签" );
if( sKey.compareTo("CloseCGI")==0 )
desHtml.addString("CloseChannel?channel=bookmark" );
if( sKey.compareTo("内容")==0 ) {
//另外一个模板:
String channelContent = "",sName[],sLink[],sAddition[];
int nLarge=5;
st2 = tempList.searchTemplate("书签");
if(st2==null) {
return ;
}
sName=new String[nLarge];
sLink=new String[nLarge];
//sAddition=new String[4];
int nKey2 = st2.getKeyNum (),i=1;
//读sName和sLink
Bookmark bookmark=new Bookmark();
bookmark.setQuery("attrib","link");
bookmark.query(p.getName());
for(i=0;i<nLarge;i++) {
if(bookmark.read()) {
sName[i]=bookmark.getName();
sLink[i]=bookmark.getContent();
} else {
break;
}
}
bookmark.clear();
String sKey2 ;
for(int l=0;l<i;l++){
for(int k=0;k<nKey2;k++){
desHtml.addString (st2.getStringAt (k));
sKey2 = st2.getKeyAt (k);
if( sKey2.compareTo("cgi-path")==0 )
desHtml.addString (CommonMethods.sHostNameCGI);
if( sKey2.compareTo("链接")==0 )
desHtml.addString("BookmarkServlet?link="+sLink[l]);
if( sKey2.compareTo("名称")==0 )
desHtml.addString(sName[l]);
}
desHtml.addString (st2.getEndString());
}
}
}
desHtml.addString (st.getEndString());
return;
}
public void makeChannelContents(Person p,TemplateList tempList,HtmlOut desHtml)
{
return ;
}
//书签自己的主函数:
public void makeBookmark_Main(Person p,TemplateList tempList,HtmlOut desHtml,
String sFindItem,String sFindValue,String sAdd)
{
SingleTemplate st,st2;
String channelContent = "",sFolderName="";
st = tempList.searchTemplate("ROOT");
if(st==null) {
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
"","模板错误","Login");
return ;
}
TemplateList tempList2=CommonMethods.getBookmark_ShowTemplate();
st2= tempList2.searchTemplate("ROOT");
if(st2==null) {
return ;
}
Bookmark bookmark = new Bookmark();
if(sFindItem.compareTo("")!=0) {
if(sFindValue==null||sFindValue=="")
sFindValue="0";
bookmark.setQuery(sFindItem,sFindValue);
}
bookmark.query(p.getName());
String sName[],sAttrib[],sContent[],sAddition[];
int nBookmarkID[],nParentID=0,nPage=100;
nBookmarkID=new int[nPage];
sName=new String[nPage];
sAttrib=new String[nPage];
sAddition=new String[nPage];
sContent=new String[nPage];
int j=1;
while (bookmark.read())
{
if (j>nPage-1) break;
nBookmarkID[j]=bookmark.getBookmarkId();
sName[j]=bookmark.getName();
sAttrib[j]=bookmark.getAttrib();
sContent[j]=bookmark.getContent();
sAddition[j]=bookmark.getAddition();
j++;
}
bookmark.clear();
//取得上层目录号:
bookmark.setQuery("BookmarkID",sFindValue);
bookmark.query(p.getName());
if(bookmark.read()) {
nParentID=bookmark.getParentID();
sFolderName=bookmark.getName()+">";
}
bookmark.clear();
int n=nParentID;
while (n!=0)
{
bookmark.setQuery("BookmarkID",""+n);
bookmark.query(p.getName());
if(bookmark.read()) {
n=bookmark.getParentID();
String sTemp=bookmark.getName();
sFolderName=sTemp+">"+sFolderName;
}
bookmark.clear();
if(n==0) break;
}
sFolderName="我的书签>"+sFolderName;
int nKey = st.getKeyNum();
int n2Key = st2.getKeyNum();
String sKey,s2Key;
for(int i=0;i<nKey;i++) {
desHtml.addString (st.getStringAt (i));
sKey = st.getKeyAt (i);
if( sKey.compareTo("cgi-path")==0 )
desHtml.addString (CommonMethods.sHostNameCGI);
if( sKey.compareTo("内容")==0 )
{
for(int l=1;l<j;l++) {
for(int k=0;k<n2Key;k++) {
desHtml.addString (st2.getStringAt (k));
s2Key = st2.getKeyAt (k);
if( s2Key .compareTo("cgi-path")==0 )
desHtml.addString (CommonMethods.sHostNameCGI);
if( s2Key.compareTo("BookmarkID")==0 )
desHtml.addString (""+nBookmarkID[l]);
if( s2Key.compareTo("图标属性")==0 ) {
//desHtml.addString (sAttrib[l]);
if(sAttrib[l].trim().compareTo("folder")==0)
desHtml.addString("<img src=/img/folder.gif>");
else
desHtml.addString("<img src=/img/file.gif>");
}
if( s2Key.compareTo("名称")==0 )
desHtml.addString (sName[l]);
if( s2Key.compareTo("简要说明")==0 )
desHtml.addString (sAddition[l]);
if(sAttrib[l].trim().compareTo("folder")==0)
{
if( s2Key.compareTo("标记")==0 )
desHtml.addString ("parentID");
if( s2Key.compareTo("链接")==0 )
desHtml.addString (""+nBookmarkID[l]);
} else {
if( s2Key.compareTo("标记")==0 )
desHtml.addString ("link");
if( s2Key.compareTo("链接")==0 )
desHtml.addString (sContent[l]+" target=_blank");
}
}
desHtml.addString(st2.getEndString());
}
}
if( sKey.compareTo("上层目录")==0 )
desHtml.addString (""+nParentID);
if( sKey.compareTo("当前目录")==0 )
desHtml.addString (sFindValue);
if( sKey.compareTo("当前目录名")==0 )
desHtml.addString (sFolderName);
//添加界面的显示:
if(sKey.compareTo("添加")==0)
desHtml.addString(sAdd);
}
desHtml.addString(st.getEndString());
return;
}
//书签的编辑界面:
public void makeBookmark_Edit(Person p,TemplateList tempList,
HtmlOut desHtml,String[] sArray)
{
SingleTemplate st;
String sKey="";
st = tempList.searchTemplate("ROOT");
if(st==null) {
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
"","模板错误","Login");
return ;
}
int nKey=st.getKeyNum();
for(int i=0;i<nKey;i++) {
desHtml.addString(st.getStringAt(i));
sKey=st.getKeyAt(i);
if(sKey.compareTo("cgi-path")==0){
desHtml.addString(CommonMethods.sHostNameCGI);
}
if(sKey.compareTo("bookmarkID")==0)
desHtml.addString(sArray[1]);
if(sKey.compareTo("name")==0)
desHtml.addString(sArray[2]);
if(sKey.compareTo("attrib")==0)
desHtml.addString(sArray[3]);
if(sKey.compareTo("parentID")==0)
desHtml.addString(sArray[4]);
if(sKey.compareTo("content")==0)
desHtml.addString(sArray[5]);
if(sKey.compareTo("addition")==0)
desHtml.addString(sArray[6]);
}
desHtml.addString(st.getEndString());
}
public boolean editChannel(Person p,HtmlOut Html){
return true;
}
//书签添加界面:
public void makeBookmark_Add(Person p,TemplateList tempList,
HtmlOut desHtml,String sFlag,String sCurrentFolder)
{
SingleTemplate st;
String channelContent = "",cardStr = "";
st = tempList.searchTemplate("ROOT");
if(st==null) {
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
"","模板错误","Login");
return ;
}
desHtml.addString(st.getEndString());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -