練功房推薦書單

  • 猛虎出柙雙劍合璧版--最新 OCA / OCP Java SE 7 Programmer 專業認證 (電子書)
  • 流浪教師存零股存到3000萬(全新增修版)(書+DVD)
  • 開始在關西自助旅行(京都‧大阪‧神戶‧奈良)(全新增訂版)
  • 不敗教主的300張股票存股術

[v2.1.8]修正刪除文章時需一併刪除該文章的評分(Karma) RSS feed
討論區首頁 » JForum中文社群 JForum Chinese Users Community
發表人 內容
andowson

七段學員
[Avatar]

註冊時間: 2007/1/2
文章: 711
來自: 台北
離線
1.修改generic_queries.sql,加上KarmaModel.deletePostKarma
# ###########

# KarmaModel
# ###########
...
KarmaModel.deletePostKarma = DELETE FROM jforum_karma WHERE post_id = ?
...


2.修改net/jforum/dao/KarmaDao.java,加上deletePostKarma(int postId) method宣告
public interface KarmaDAO

{
...
/**
* Deletes the karma belonging to some post.
* This method will remove the post's karma from the
* karma table.
*
* @param postId The id of the post to delete
*/
public void deletePostKarma(int postId) ;
...
}


3.修改net/jforum/dao/generic/GenericKarmaDao.java,加上deletePostKarma(int postId) method實做
public class GenericKarmaDAO implements net.jforum.dao.KarmaDAO

{
...
/**
* @see net.jforum.dao.KarmaDAO#deletePostKarma(int)
*/
public void deletePostKarma(int postId)
{
PreparedStatement p = null;
try {
p = JForumExecutionContext.getConnection()
.prepareStatement(SystemGlobals.getSql("KarmaModel.deletePostKarma"));
p.setInt(1, postId);
p.executeUpdate();
}
catch (SQLException e) {
throw new DatabaseException(e);
}
finally {
DbUtils.close(p);
}
}
...


4.修改net/jforum/view/forum/PostAction.java,修改delete() method,在Karma處理部分插入karmaDao.deletePostKarma(p.getId());在重算Karma之前
public class PostAction extends Command 

{
...
public void delete()
{
...
// Karma
KarmaDAO karmaDao = DataAccessDriver.getInstance().newKarmaDAO();
karmaDao.deletePostKarma(p.getId());
karmaDao.updateUserKarma(p.getUserId());
...
}
...
}


5.重新編譯,並重新載入JForum

分享經驗 累積智慧
[WWW]
 
討論區首頁 » JForum中文社群 JForum Chinese Users Community
前往:   
行動版