주제: 센터_최신 댓글 플러그인 수정 질문입니다.
태터툴즈가 1.1로 업데이트 하면서(?) 예전에 사용했던 유진아비님의 최신 댓글에서 답변글 제외 플러그인이 작동하지 않아서 J.Parker님에게 플러그인을 의뢰했었지만 결자해지로 직접 삽질 중입니다.
센터의 최근 댓글 플러그인을 수정해서 만들려고 하는데, 프로그래밍이나 코딩 쪽과는 거리가 멀고 예전 클래식 수정할 때의 삽질실력으로 이리저리 수정했는데 막히는게 있어서 질문드립니다.
먼저 수정한 코드를 보여 드리겠습니다.
function _getRecentComments($owner) {
global $skinSetting, $database, $configVal, $pluginURL;
$data = fetchConfigVal($configVal);
$comments = array();
$repliesChk = ($data['repliesChk'] == 1)?"":" AND replier is NULL ";
$limitLine = ($data['repliesList'])?$data['repliesList']:$skinSetting['commentsOnRecent'];
$sql = "SELECT * FROM {$database['prefix']}Comments WHERE owner = {$owner} AND entry>0 AND isFiltered = 0 {$repliesChk} ORDER BY written DESC LIMIT {$limitLine}";
if ($result = mysql_query($sql)) {
while ($comment = mysql_fetch_array($result)) {
if ($data['repliesChk'] == 2) {
$row = DBQuery::queryCell("select count(*) from {$database['prefix']}Comments where owner = $owner AND parent = ".$comment['id']);
$comment['replier'] = ($row)?"":"";
}else{$comment['replier'] = "";}
$comment['secret'] = ($comment['secret'] == 1)?"<img src=\"{$pluginURL}/secret.gif\" width=\"9\" height=\"11\" style=\"margin-left:2px;\"/>":"";
array_push($comments, $comment);
}
}
return $comments;
}
// lib/view/view.php : 906 line
function _getRecentCommentsView($comments, $template) {
requireComponent("Eolin.PHP.Core");
requireComponent("Tattertools.Function.misc");
global $blogURL, $skinSetting;
ob_start();
foreach ($comments as $comment) {
$view = "$template";
misc::dress('rctrp_rep_link', "$blogURL/{$comment['entry']}#comment{$comment['id']}", $view);
misc::dress('rctrp_rep_desc', htmlspecialchars(UTF8::lessenAsEm($comment['comment'], 30)), $view);
misc::dress('rctrp_rep_time', fireEvent('ViewRecentCommentDate', Timestamp::formatTime($comment['written'])), $view);
misc::dress('rctrp_rep_name', htmlspecialchars(UTF8::lessenAsEm($comment['name'],10)).$comment['secret'].$comment['replier'], $view);
print $view;
}
$view = ob_get_contents();
ob_end_clean();
return $view;
}
// lib/piece/blog/end.php : 48 line
function RecentRP($target) {
global $owner;
$target .= '<ol>'.CRLF;
$target .= _getRecentCommentsView(_getRecentComments($owner),' <li><a href="[##_rctrp_rep_link_##]">[##_rctrp_rep_desc_##]</a><br /><div class="info"><span class="name">[##_rctrp_rep_name_##]</span> - <span class="date">[##_rctrp_rep_time_##]</span></div></li>'.CRLF);
$target .= ' </ol>'.CRLF;
return $target;
}
function RecentRP_DataSet($DATA){
requireComponent('Tattertools.Function.misc');
$cfg = misc::fetchConfigVal($DATA);
return true;
}
조금씩만 수정했습니다만, 왠만큼 기본틀은 나오는데 원래 관리자 플러그인이어서 그런지 비밀댓글도 그냥 출력해 버리는 문제가 있으며, 댓글 앞의 숫자를 없애는 방법을 모르겠습니다. 많은 도움 부탁 드립니다.
DARKLiCH (2007-02-20 19:36:36)에 의해 마지막으로 수정