⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 viewcoder.java

📁 野蔷薇论坛源码 java 自己看看吧。 学习用
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* 
 * Created on 2007-3-22
 * Last modified on 2007-7-3
 * Powered by YeQiangWei.com
 */
package com.yeqiangwei.club.view.util;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import com.yeqiangwei.club.module.music.service.ConfigService;
import com.yeqiangwei.club.param.FavoriteParameter;
import com.yeqiangwei.club.service.ServiceLocator;
import com.yeqiangwei.club.service.ServiceWrapper;
import com.yeqiangwei.club.service.forum.FavoriteForumService;
import com.yeqiangwei.club.service.forum.ForumService;
import com.yeqiangwei.club.service.model.FavoriteForumModel;
import com.yeqiangwei.club.service.model.ForumModel;
import com.yeqiangwei.club.service.security.UserPower;
import com.yeqiangwei.club.service.user.UserLogin;
import com.yeqiangwei.club.service.user.UserService;
import com.yeqiangwei.club.service.util.BasicInfoService;
import com.yeqiangwei.club.service.util.NoAllowedCharService;
import com.yeqiangwei.club.util.BeanUtils;
import com.yeqiangwei.club.view.model.ForumLabelView;
import com.yeqiangwei.club.view.model.ForumView;
import com.yeqiangwei.club.view.model.ReplyView;
import com.yeqiangwei.club.view.model.TopicView;
import com.yeqiangwei.club.view.model.UserView;
import com.yeqiangwei.html.OutPrint;
import com.yeqiangwei.util.FormatDateTime;
import com.yeqiangwei.util.ParamUtils;
import com.yeqiangwei.util.StringHelper;
import com.yeqiangwei.util.TypeChange;
import com.yeqiangwei.util.Validator;

public class ViewCoder {
	
	private static UserPower USER_POWER;
	
	public static String signaturesFilter(String str){
		str = StringHelper.htmlEncoder(str); //过滤为安全字符
		str = EnCoder.simpleTag(str);
		/*
		str = EnCoder.ubbPattern(str, "\\[img\\](.*?)\\[/img\\]"
				,"<img onload=\"javascript:if(this.width > screen.width-350){this.width = screen.width-350};\" onerror=\"javascript:this.src='/club/images/imgErr.gif'\" src=\"$1\" />"); 
        str = EnCoder.ubbPattern(str, "\\[url\\](.*?)\\[/url\\]","$1");
        str = EnCoder.ubbPattern(str, "\\[url=(.*?)\\](.*?)\\[/url\\]","$2");
        */
		str = EnCoder.ubbPattern(str, "\\[bg=(.*?)\\](.*?)\\[/bg\\]","<span style=\"$1\">$2</span>");
        str = EnCoder.ubbPattern(str,"\\[move\\](.*?)\\[/move\\]","<marquee scrollamount=\"3\" delay=\"3\" direction=\"left\" onmouseout='start()' onmouseover='stop()'>$1</marquee>");
        str = EnCoder.ubbPattern(str,"\\[fly\\](.*?)\\[/fly\\]","<marquee scrollamount=\"3\" delay=\"3\" direction=\"left\" onmouseout='start()' onmouseover='stop()'>$1</marquee>");
		return str;
	}
	
	public static String getStorey(int storey){
		StringBuffer sb = new StringBuffer();
    	switch(storey){
    		case 0:
    			sb.append("楼主");
    		break;
			case 1:
				sb.append("沙发");
			break;
			case 2:
				sb.append("板凳");
			break;
			case 3:
				sb.append("地板");
			break;
			default:
				sb.append(storey);
				sb.append("楼");
			break;
		}
    	return sb.toString();
	}
    
	public static String copyright(byte b){
    	StringBuffer sb = new StringBuffer();
		 sb.append("<div class=\"copyright\">");
  		 switch(b){
  		 	case 1:
  		 		sb.append("作者声明:该文版权归作者个人所有,");
  		 		sb.append(getBasicInfoService().findOnly().getName());
  		 		sb.append("享有网络发表权,其他网站、媒体未经书面许可,不得以任何形式转载!"); 
  			break;
  		 	case 2:
      			sb.append("作者声明:该文版权为网络共享,大家喜欢的话可以任意转载,传抄,谢绝传统媒体转载!"); 
      		break;
  		 	case 3:
      			sb.append("作者声明:该文在未经商业用途的情况下,可任意转载,传抄……"); 
      		break;
  		 }
  		 sb.append("</div>");
  		 return sb.toString();
    }
	
	public static String favoriteForum(HttpServletRequest request, ForumView forum){
		StringBuffer sb = new StringBuffer("");
		int forumId = 0;
		if(!Validator.isEmpty(forum)){
			forumId = forum.getForumId();
		}else{
			forumId = ParamUtils.getIntParameter(request,"forumId");
		}
		FavoriteParameter param = new FavoriteParameter();
		param.setForumId(forumId);
		long i =  ViewCoder.getFavoriteForumService().countByParameter(param);
		FavoriteForumModel model = getFavoriteForumService().findOnlyByUserIdAndForumId(UserLogin.getUserId(request),forumId);
		if(Validator.isEmpty(model)){
			sb.append("<a href=\"forum.do?act=doFavorite&forumId=");
			sb.append(forumId);
			sb.append("\">订阅本版</a><span class=\"gray\">(已有");
			sb.append(i);
			sb.append("人订阅)</span>");
		}else{
			sb.append("<a href=\"favoriteForum.jsp?forumId=");
			sb.append(forumId);
			sb.append("\">有");
			sb.append(i);
			sb.append("个人订阅了本版</a>");
		}
		return sb.toString();
	}
	
	public static String photo(HttpServletRequest request, UserView user, String rel){
		StringBuffer sb = new StringBuffer();
		if(!Validator.isEmpty(user)){
	       	sb.append("<a href=\"");
	    	sb.append(UrlUtils.getUrl(UrlUtils.USER,user.getUserId(),0,request));
	    	if(Validator.isEmpty(rel)){
	    		sb.append("\">");
	    	}else{
	    		sb.append("\" "+rel+">");
	    	}
    		if(!Validator.isEmpty(user.getPhoto())){
    			sb.append("<img src=\"");
    			sb.append(user.getPhoto());
    			sb.append("\" alt=\""+user.getUserName()+"\"/>");
    		}else{
    			sb.append("<img src=\"/club/images/nophoto.gif\" alt=\""+user.getUserName()+"暂无头像\"/>");
    		}
    		sb.append("</a>");
    	}else{
    		sb.append("<img src=\"/club/images/nophoto.gif\" alt=\"\"/>");
    	}
		return sb.toString();
	}
	
	public static String userMenu(HttpServletRequest request, UserView user, String defaultStr){
		String uri = request.getRequestURI();
		if(!Validator.isEmpty(user)&&user.getUserId()>0){
			StringBuffer sb = new StringBuffer();
	       	sb.append("<a href=\"");
	    	sb.append(UrlUtils.getUrl(UrlUtils.USER,user.getUserId(),0,request));
	    	sb.append("\">");
	    	sb.append(user.getUserName());
	    	sb.append("</a>");
			sb.append("<span><span class=\"umenu\" ");
			sb.append(" onclick=\"uu.menu(this.parentNode,");
			sb.append(user.getUserId());
			sb.append(",'");
			sb.append(user.getUserName());
			sb.append("'");
			if(uri.equals("/club/friend.jsp")){
				sb.append(",'','','上次上站:");
				sb.append(FormatDateTime.decodeTime(user.getLastLoginDateTime()));
				sb.append("'");
			}
			else if(!uri.equals("/club/thread.jsp")
					&&!uri.equals("/club/favoriteForum.jsp")
					&&!uri.equals("/club/friend.jsp")
			){
				sb.append(",'");
				sb.append(user.getPhoto());
				sb.append("'");
			}
			else{
				sb.append(",''");
				sb.append(",'");
				sb.append(user.getCredit());
				sb.append(",");
				sb.append(user.getScore());
				sb.append(",");
				sb.append(user.getMoney());
				sb.append("'");
			}
			sb.append(");\"");
			sb.append("><img name=\"mlist\" src=\"/club/images/mlist.gif\" align=\"absmiddle\" border=\"0\" alt=\"展开(");
			sb.append(user.getUserName());
			sb.append(")的相关操作\"/></span></span>");
			return sb.toString();
		}else{
			return defaultStr;
		}		
	}
	
	/**
	 * 
	 * @param content
	 * @param isDeleted 逻辑删除
	 * @param power 强行浏览
	 * @return
	 */
	public static String getContent(HttpServletRequest request, String content, boolean isDeleted, boolean escapeXml)
	{
		if(isDeleted&&!ViewCoder.getUserPower().canAccess(request,UserPower.ADMINPOWER,1)/*查看删帖权限*/){
			content = "<font class=\"del\">该帖已被删除!</font>";
		}
		else if(!ViewCoder.getUserPower().canAccess(request,UserPower.BROWSEPOWER,12)/*浏览文章内容*/){
			if(Validator.isEmpty(UserLogin.getUserModel(request))){
				content = "<div class=\"hint\">系统可能需要您<a href=\"/club/login.jsp\">登录</a>后才能查看文章详细内容!</div>";
			}else{
				content = "<div class=\"hint\">您所在的用户组目前无权浏览文章内容!<br/>你可以到社区事务版或直接联系管理员提出申请加入更高级用户组!</div>";
			}
		}
		else{
			if(escapeXml){
				content = StringHelper.htmlEncoder(content);
				content = EnCoder.advancedTag(content);
				content = EnCoder.ubbMedia(content);
				content = content.replaceAll("\\{music\\}",getConfigService().findOnly().getTempPath());
			}else{
				content = StringHelper.htmlEncoder(content);
				content = EnCoder.simpleTag(content);
			}
			if(isDeleted)
			content = "<font class=\"del\">该帖已被删除!<br/>=============================<br/></font>"+content;
		}
		//content = getNoAllowedCharForumService().replaceOfTopic(content);
		return getNoAllowedCharForumService().replaceOfTopic(content);
	}
	
	public static String getContent(HttpServletRequest request, ReplyView v, boolean escapeUBB)
	{
		return getContent(request, v.getContent(),v.getIsDeleted(),escapeUBB);
	}
	
	public static String getContent(HttpServletRequest request, TopicView v, boolean escapeUBB)
	{
		return getContent(request, v.getContent(),v.getIsDeleted(),escapeUBB);
	}
	
	/**
	 * 
	 * @param request
	 * @param forumId
	 * @param topicId
	 * @param replyId 
	 * @param storey 页面回帖楼层
	 * @param type 按钮链接类型
	 * @return
	 */
	public static String topicMenu(HttpServletRequest request
			, int forumId, int topicId, int replyId, int storey, int type)
	{
		StringBuffer sb = new StringBuffer();
		int f = ParamUtils.getIntParameter(request,"forumId",0);
		if(f>0){
			forumId = f;
		}
		switch(type){
			case 1:
				sb.append("<a href=\"post.jsp?forumId=");
				sb.append(forumId);
				sb.append("&topicId=");
				sb.append(topicId);
				sb.append("&replyId=");
				sb.append(replyId);
				sb.append("&page=");
				sb.append(ParamUtils.getStringParameter(request,"page","1"));
				sb.append("&lpage=");
				sb.append(ParamUtils.getStringParameter(request,"lpage","1"));
				sb.append("&act=");
				sb.append("addreply");
				sb.append("\">回复</a>");
			break;
			case 2:
				sb.append("<a href=\"post.jsp?forumId=");
				sb.append(forumId);
				sb.append("&topicId=");
				sb.append(topicId);
				//if(replyId>0){
					sb.append("&replyId=");
					sb.append(replyId);
				//}
				sb.append("&act=");
				if(replyId==0){
					sb.append("edittopic");
				}else{
					sb.append("editreply");
				}
				sb.append("&page=");
				sb.append(ParamUtils.getStringParameter(request,"page","1"));
				sb.append("&lpage=");
				sb.append(ParamUtils.getStringParameter(request,"lpage","1"));
				sb.append("\">编辑</a>");
			break;
			case 3:
				sb.append("<a href=\"topicAdmin.jsp?forumId=");
				sb.append(forumId);
				sb.append("&topicId=");
				sb.append(topicId);
				//if(replyId>0){
					sb.append("&replyId=");
					sb.append(replyId);
				//}
				sb.append("&act=");
				if(replyId==0){
					sb.append("trashtopic");
				}else{
					sb.append("trashreply");
				}
				sb.append("\">");
				sb.append("删除</a>");
			break;
			case 4:
				if(replyId==0){
					sb.append("<a href=\"topicAdmin.jsp?forumId=");
					sb.append(forumId);
					sb.append("&topicId=");
					sb.append(topicId);
					sb.append("&act=");
					sb.append("movetopic");
					sb.append("\">");
					sb.append("移动</a>");
				}else{
					sb.append("");
				}
			break;
			case 5:
				if(replyId==0){

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -