<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "[v2.1.8]修正刪除文章時需一併刪除該文章的評分（Karma）"]]></title>
		<link>https://forum.andowson.com/posts/list/7.page</link>
		<description><![CDATA[Latest messages posted in the topic "[v2.1.8]修正刪除文章時需一併刪除該文章的評分（Karma）"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>[v2.1.8]修正刪除文章時需一併刪除該文章的評分（Karma）</title>
				<description><![CDATA[ 1.修改generic_queries.sql，加上KarmaModel.deletePostKarma 
<br>
[code=sql]# ########### 
<br>
# KarmaModel 
<br>
# ########### 
<br>
... 
<br>
KarmaModel.deletePostKarma = DELETE FROM jforum_karma WHERE post_id = ? 
<br>
... 
<br>
[/code] 
<br>
<br>
2.修改net/jforum/dao/KarmaDao.java，加上deletePostKarma(int postId) method宣告 
<br>
[code]public interface KarmaDAO 
<br>
{ 
<br>
... 
<br>
 /** 
<br>
 * Deletes the karma belonging to some post. 
<br>
 * This method will remove the post's karma from the 
<br>
 * karma table. 
<br>
 * 
<br>
 * @param postId The id of the post to delete 
<br>
 */ 
<br>
 public void deletePostKarma(int postId) ; 
<br>
... 
<br>
}[/code] 
<br>
<br>
3.修改net/jforum/dao/generic/GenericKarmaDao.java，加上deletePostKarma(int postId) method實做 
<br>
[code]public class GenericKarmaDAO implements net.jforum.dao.KarmaDAO 
<br>
{ 
<br>
... 
<br>
 /** 
<br>
 * @see net.jforum.dao.KarmaDAO#deletePostKarma(int) 
<br>
 */ 
<br>
 public void deletePostKarma(int postId) 
<br>
 { 
<br>
 PreparedStatement p = null; 
<br>
 try { 
<br>
 p = JForumExecutionContext.getConnection() 
<br>
 .prepareStatement(SystemGlobals.getSql("KarmaModel.deletePostKarma")); 
<br>
 p.setInt(1, postId); 
<br>
 p.executeUpdate(); 
<br>
 } 
<br>
 catch (SQLException e) { 
<br>
 throw new DatabaseException(e); 
<br>
 } 
<br>
 finally { 
<br>
 DbUtils.close(p); 
<br>
 } 
<br>
 } 
<br>
...[/code] 
<br>
<br>
4.修改net/jforum/view/forum/PostAction.java，修改delete() method，在Karma處理部分插入karmaDao.deletePostKarma(p.getId());在重算Karma之前 
<br>
[code]public class PostAction extends Command 
<br>
{ 
<br>
... 
<br>
 public void delete() 
<br>
 { 
<br>
 ... 
<br>
 // Karma 
<br>
 KarmaDAO karmaDao = DataAccessDriver.getInstance().newKarmaDAO(); 
<br>
 karmaDao.deletePostKarma(p.getId()); 
<br>
 karmaDao.updateUserKarma(p.getUserId()); 
<br>
 ... 
<br>
 } 
<br>
... 
<br>
}[/code] 
<br>
<br>
5.重新編譯，並重新載入JForum]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/298/556.page</guid>
				<link>https://forum.andowson.com/posts/preList/298/556.page</link>
				<pubDate><![CDATA[Fri, 16 Jan 2009 07:26:07]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
	</channel>
</rss>