mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-19 18:32:52 +09:00
* 댓글알리미 module 추가 git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4326 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
56f7c52f7d
commit
de2b57c2d2
37 changed files with 1036 additions and 0 deletions
3
modules/tccommentnotify/ReleaseNote
Normal file
3
modules/tccommentnotify/ReleaseNote
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
2008.06.18 v0.1.3 queue에서 잘 안 빠지는 문제 수정
|
||||
2008.06.18 v0.1.2 page module로 들어오는 noti가 반영이 안되는 문제 수정
|
||||
2008.06.17 v0.1.1 tag strip안되는 문제 수정
|
||||
8
modules/tccommentnotify/conf/info.xml
Normal file
8
modules/tccommentnotify/conf/info.xml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<module version="0.2" category="accessory">
|
||||
<title xml:lang="ko">댓글알리미</title>
|
||||
<author email_address="haneul0318@gmail.com" link="http://seungyeop.kr" date="2008. 06. 02">
|
||||
<name xml:lang="ko">haneul</name>
|
||||
<description xml:lang="ko">댓글알리미 모듈입니다.</description>
|
||||
</author>
|
||||
</module>
|
||||
11
modules/tccommentnotify/conf/module.xml
Normal file
11
modules/tccommentnotify/conf/module.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<module>
|
||||
<grants />
|
||||
<actions>
|
||||
<action name="dispCommentNotifyAdminIndex" type="view" standalone="true" admin_index="true" />
|
||||
<action name="procCommentNotifyAdminDeleteChild" type="controller" standalone="true" />
|
||||
<action name="procCommentNotifyAdminDeleteParent" type="controller" standalone="true" />
|
||||
<action name="procCommentNotifyAdminDeleteChecked" type="controller" standalone="true" />
|
||||
<action name="procDoNotify" type="controller" standalone="true" />
|
||||
</actions>
|
||||
</module>
|
||||
5
modules/tccommentnotify/lang/ko.lang.php
Normal file
5
modules/tccommentnotify/lang/ko.lang.php
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<?php
|
||||
$lang->commentnotify = '댓글알리미';
|
||||
$lang->msg_checked_comment_is_deleted = '%d개의 알림글이 삭제되었습니다';
|
||||
$lang->cmd_delete_checked_comment = '선택삭제';
|
||||
?>
|
||||
8
modules/tccommentnotify/queries/deleteChild.xml
Normal file
8
modules/tccommentnotify/queries/deleteChild.xml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<query id="deleteChild" action="delete">
|
||||
<tables>
|
||||
<table name="tcnotifiedchildren" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="notified_srl" var="notified_srl" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
8
modules/tccommentnotify/queries/deleteChildren.xml
Normal file
8
modules/tccommentnotify/queries/deleteChildren.xml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<query id="deleteChild" action="delete">
|
||||
<tables>
|
||||
<table name="tcnotifiedchildren" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="parent_srl" var="parent_srl" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
8
modules/tccommentnotify/queries/deleteFromQueue.xml
Normal file
8
modules/tccommentnotify/queries/deleteFromQueue.xml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<query id="deleteFromQueue" action="delete">
|
||||
<tables>
|
||||
<table name="tcnotifyqueue" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="comment_srl" var="comment_srl" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
8
modules/tccommentnotify/queries/deleteParent.xml
Normal file
8
modules/tccommentnotify/queries/deleteParent.xml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<query id="deleteParent" action="delete">
|
||||
<tables>
|
||||
<table name="tcnotified" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="notified_srl" var="notified_srl" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
11
modules/tccommentnotify/queries/getChild.xml
Normal file
11
modules/tccommentnotify/queries/getChild.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<query id="getChild" action="select">
|
||||
<tables>
|
||||
<table name="tcnotifiedchildren" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="*" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="notified_srl" var="notified_srl" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
11
modules/tccommentnotify/queries/getChildren.xml
Normal file
11
modules/tccommentnotify/queries/getChildren.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<query id="getChildren" action="select">
|
||||
<tables>
|
||||
<table name="tcnotifiedchildren" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="*" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="parent_srl" var="parent_srl" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
10
modules/tccommentnotify/queries/getFromQueue.xml
Normal file
10
modules/tccommentnotify/queries/getFromQueue.xml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<query id="getFromQueue" action="select">
|
||||
<tables>
|
||||
<table name="tcnotifyqueue" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="*" />
|
||||
</columns>
|
||||
<conditions>
|
||||
</conditions>
|
||||
</query>
|
||||
26
modules/tccommentnotify/queries/getNotifiedList.xml
Normal file
26
modules/tccommentnotify/queries/getNotifiedList.xml
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
<query id="getNotifiedList" action="select">
|
||||
<tables>
|
||||
<table name="tcnotified" alias="tcnotified"/>
|
||||
<table name="tcnotifiedsites" alias="tcnotifiedsites" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="tcnotified.name" />
|
||||
<column name="title" />
|
||||
<column name="written" />
|
||||
<column name="tcnotified.url" alias="commenturl"/>
|
||||
<column name="tcnotifiedsites.url" alias="siteurl"/>
|
||||
<column name="entryurl" />
|
||||
<column name="entrytitle" />
|
||||
<column name="comment" />
|
||||
<column name="notified_srl" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="tcnotified.siteid" var="tcnotifiedsites.id" />
|
||||
</conditions>
|
||||
<navigation>
|
||||
<index var="sort_index" default="list_order" order="asc" />
|
||||
<list_count var="list_count" default="10" />
|
||||
<page_count var="page_count" default="10" />
|
||||
<page var="page" default="1" />
|
||||
</navigation>
|
||||
</query>
|
||||
14
modules/tccommentnotify/queries/getParentId.xml
Normal file
14
modules/tccommentnotify/queries/getParentId.xml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<query id="getParentId" action="select">
|
||||
<tables>
|
||||
<table name="tcnotified" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="notified_srl" alias="notified_srl"/>
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="entry" var="entry" notnull="notnull" />
|
||||
<condition operation="equal" column="siteid" var="siteid" notnull="notnull" pipe="and"/>
|
||||
<condition operation="equal" column="module_srl" var="module_srl" notnull="notnull" pipe="and"/>
|
||||
<condition operation="equal" column="remoteid" var="remoteid" notnull="notnull" pipe="and" />
|
||||
</conditions>
|
||||
</query>
|
||||
11
modules/tccommentnotify/queries/getSite.xml
Normal file
11
modules/tccommentnotify/queries/getSite.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<query id="getSite" action="select">
|
||||
<tables>
|
||||
<table name="tcnotifiedsites" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="id" alias="id"/>
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="url" var="url" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
25
modules/tccommentnotify/queries/insertCommentNotified.xml
Normal file
25
modules/tccommentnotify/queries/insertCommentNotified.xml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<query id="insertCommentNotified" action="insert">
|
||||
<tables>
|
||||
<table name="tcnotified" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="notified_srl" var="notified_srl" notnull="notnull" />
|
||||
<column name="module_srl" var="module_srl" notnull="notnull" />
|
||||
<column name="name" var="name" notnull="notnull" />
|
||||
<column name="entry" var="entry" notnull="notnull" />
|
||||
<column name="password" var="password" />
|
||||
<column name="homepage" var="homepage" />
|
||||
<column name="secret" var="secret" default="0" />
|
||||
<column name="comment" var="comment" notnull="notnull" />
|
||||
<column name="ip" var="ip" />
|
||||
<column name="isnew" var="isnew" default="1" />
|
||||
<column name="siteid" var="siteid" notnull="notnull" />
|
||||
<column name="remoteid" var="remoteid" default="0" />
|
||||
<column name="entrytitle" var="entrytitle" notnull="notnull" />
|
||||
<column name="entryurl" var="entryurl" notnull="notnull" />
|
||||
<column name="url" var="url" />
|
||||
<column name="written" var="written" default="curdate()" notnull="notnull" />
|
||||
<column name="modified" var="modified" default="curdate()" />
|
||||
<column name="list_order" var="list_order" notnull="notnull" />
|
||||
</columns>
|
||||
</query>
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<query id="insertCommentNotifiedChild" action="insert">
|
||||
<tables>
|
||||
<table name="tcnotifiedchildren" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="notified_srl" var="notified_srl" notnull="notnull" />
|
||||
<column name="module_srl" var="module_srl" notnull="notnull" />
|
||||
<column name="parent_srl" var="parent_srl" />
|
||||
<column name="name" var="name" notnull="notnull" />
|
||||
<column name="password" var="password" />
|
||||
<column name="homepage" var="homepage" />
|
||||
<column name="secret" var="secret" default="0" />
|
||||
<column name="comment" var="comment" notnull="notnull" />
|
||||
<column name="ip" var="ip" />
|
||||
<column name="isnew" var="isnew" default="1" />
|
||||
<column name="remoteid" var="remoteid" default="0" />
|
||||
<column name="url" var="url" />
|
||||
<column name="written" var="written" default="curdate()" notnull="notnull" />
|
||||
<column name="modified" var="modified" default="curdate()" />
|
||||
<column name="list_order" var="list_order" notnull="notnull" />
|
||||
</columns>
|
||||
</query>
|
||||
8
modules/tccommentnotify/queries/insertQueue.xml
Normal file
8
modules/tccommentnotify/queries/insertQueue.xml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<query id="insertQueue" action="insert">
|
||||
<tables>
|
||||
<table name="tcnotifyqueue" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="comment_srl" var="comment_srl" notnull="notnull" />
|
||||
</columns>
|
||||
</query>
|
||||
12
modules/tccommentnotify/queries/insertSite.xml
Normal file
12
modules/tccommentnotify/queries/insertSite.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<query id="insertSite" action="insert">
|
||||
<tables>
|
||||
<table name="tcnotifiedsites" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="id" var="id" notnull="notnull" />
|
||||
<column name="title" var="title" />
|
||||
<column name="name" var="name" />
|
||||
<column name="url" var="url" notnull="notnull" />
|
||||
<column name="modified" var="modified" default="curdate()" notnull="notnull" />
|
||||
</columns>
|
||||
</query>
|
||||
12
modules/tccommentnotify/queries/updateParent.xml
Normal file
12
modules/tccommentnotify/queries/updateParent.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<query id="updateParent" action="update">
|
||||
<tables>
|
||||
<table name="tcnotified" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="modified" var="modified" default="curdate()" notnull="notnull" />
|
||||
<column name="list_order" var="list_order" notnull="notnull" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="notified_srl" var="notified_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
20
modules/tccommentnotify/schemas/tcnotified.xml
Normal file
20
modules/tccommentnotify/schemas/tcnotified.xml
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<table name="tcnotified">
|
||||
<column name="notified_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" />
|
||||
<column name="module_srl" type="number" size="11" notnull="notnull" />
|
||||
<column name="entry" type="number" size="11" />
|
||||
<column name="name" type="varchar" size="80" notnull="notnull" />
|
||||
<column name="password" type="varchar" size="32" />
|
||||
<column name="homepage" type="varchar" size="80" />
|
||||
<column name="secret" type="number" size="1" notnull="notnull" />
|
||||
<column name="comment" type="bigtext" notnull="notnull" />
|
||||
<column name="ip" type="varchar" size="15" />
|
||||
<column name="isnew" type="number" size="1" notnull="notnull" />
|
||||
<column name="siteid" type="number" size="11" notnull="notnull" />
|
||||
<column name="remoteid" type="number" size="11" notnull="notnull" />
|
||||
<column name="entrytitle" type="varchar" size="255" notnull="notnull" />
|
||||
<column name="entryurl" type="varchar" size="255" notnull="notnull" />
|
||||
<column name="url" type="varchar" size="255" notnull="notnull" />
|
||||
<column name="written" type="date" notnull="notnull" />
|
||||
<column name="modified" type="date" notnull="notnull" />
|
||||
<column name="list_order" type="number" size="11" />
|
||||
</table>
|
||||
17
modules/tccommentnotify/schemas/tcnotifiedchildren.xml
Normal file
17
modules/tccommentnotify/schemas/tcnotifiedchildren.xml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<table name="tcnotifiedchildren">
|
||||
<column name="notified_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" />
|
||||
<column name="module_srl" type="number" size="11" notnull="notnull" />
|
||||
<column name="parent_srl" type="number" size="11" />
|
||||
<column name="name" type="varchar" size="80" notnull="notnull" />
|
||||
<column name="password" type="varchar" size="32" />
|
||||
<column name="homepage" type="varchar" size="80" />
|
||||
<column name="secret" type="number" size="1" notnull="notnull" />
|
||||
<column name="comment" type="bigtext" notnull="notnull" />
|
||||
<column name="ip" type="varchar" size="15" />
|
||||
<column name="isnew" type="number" size="1" notnull="notnull" />
|
||||
<column name="remoteid" type="number" size="11" notnull="notnull" />
|
||||
<column name="url" type="varchar" size="255" notnull="notnull" />
|
||||
<column name="written" type="date" notnull="notnull" />
|
||||
<column name="modified" type="date" notnull="notnull" />
|
||||
<column name="list_order" type="number" size="11" />
|
||||
</table>
|
||||
7
modules/tccommentnotify/schemas/tcnotifiedsites.xml
Normal file
7
modules/tccommentnotify/schemas/tcnotifiedsites.xml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<table name="tcnotifiedsites">
|
||||
<column name="id" type="number" size="11" notnull="notnull" primary_key="primary_key" />
|
||||
<column name="title" type="varchar" size="255" notnull="notnull" />
|
||||
<column name="name" type="varchar" size="255" notnull="notnull" />
|
||||
<column name="url" type="varchar" size="250" notnull="notnull" index="idx_url"/>
|
||||
<column name="modified" type="date" notnull="notnull" />
|
||||
</table>
|
||||
3
modules/tccommentnotify/schemas/tcnotifyqueue.xml
Normal file
3
modules/tccommentnotify/schemas/tcnotifyqueue.xml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<table name="tcnotifyqueue">
|
||||
<column name="comment_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" />
|
||||
</table>
|
||||
68
modules/tccommentnotify/tccommentnotify.admin.controller.php
Normal file
68
modules/tccommentnotify/tccommentnotify.admin.controller.php
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
<?php
|
||||
/**
|
||||
* @class commentnotifyAdminView
|
||||
* @author haneul (haneul0318@gmail.com)
|
||||
* @brief commentnotify 모듈의 Admin view class
|
||||
**/
|
||||
|
||||
class tccommentnotifyAdminController extends tccommentnotify {
|
||||
/**
|
||||
* @brief 초기화
|
||||
**/
|
||||
function init() {
|
||||
}
|
||||
|
||||
function procCommentNotifyAdminDeleteChecked()
|
||||
{
|
||||
$cart = Context::get('cart');
|
||||
if(!$cart) return $this->stop('msg_cart_is_null');
|
||||
$comment_srl_list= explode('|@|', $cart);
|
||||
$comment_count = count($comment_srl_list);
|
||||
if(!$comment_count) return $this->stop('msg_cart_is_null');
|
||||
|
||||
for($i=0;$i<$comment_count;$i++) {
|
||||
$notified_srl = trim($comment_srl_list[$i]);
|
||||
if(!$notified_srl) continue;
|
||||
|
||||
$output = $this->deleteParent($notified_srl);
|
||||
if(!$output->toBool()) continue;
|
||||
|
||||
$deleted_count ++;
|
||||
}
|
||||
|
||||
$this->setMessage( sprintf(Context::getLang('msg_checked_comment_is_deleted'), $deleted_count) );
|
||||
}
|
||||
|
||||
function deleteParent($parent_srl)
|
||||
{
|
||||
$args->notified_srl = $parent_srl;
|
||||
executeQuery('tccommentnotify.deleteParent', $args);
|
||||
$newargs->parent_srl = $args->notified_srl;
|
||||
return executeQuery('tccommentnotify.deleteChildren', $newargs);
|
||||
}
|
||||
|
||||
function procCommentNotifyAdminDeleteParent()
|
||||
{
|
||||
$notified_srl = Context::get('notified_srl');
|
||||
$this->deleteParent($notified_srl);
|
||||
}
|
||||
|
||||
function procCommentNotifyAdminDeleteChild()
|
||||
{
|
||||
$args->notified_srl = Context::get('notified_srl');
|
||||
$oModel = &getModel('tccommentnotify');
|
||||
$output = $oModel->GetChild($args->notified_srl);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return;
|
||||
}
|
||||
$parent_srl = $output->data->parent_srl;
|
||||
executeQuery('tccommentnotify.deleteChild', $args);
|
||||
if(!$oModel->GetChildren($parent_srl))
|
||||
{
|
||||
$newarg->notified_srl = $parent_srl;
|
||||
executeQuery('tccommentnotify.deleteParent', $newarg);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
64
modules/tccommentnotify/tccommentnotify.admin.view.php
Normal file
64
modules/tccommentnotify/tccommentnotify.admin.view.php
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
/**
|
||||
* @class commentnotifyAdminView
|
||||
* @author haneul (haneul0318@gmail.com)
|
||||
* @brief commentnotify 모듈의 Admin view class
|
||||
**/
|
||||
|
||||
class tccommentnotifyAdminView extends tccommentnotify {
|
||||
|
||||
/**
|
||||
* @brief 초기화
|
||||
**/
|
||||
function init() {
|
||||
// 템플릿 경로 지정
|
||||
$this->setTemplatePath($this->module_path.'tpl');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 관리자 페이지 초기화면
|
||||
**/
|
||||
function dispCommentNotifyAdminIndex() {
|
||||
$this->dispCommentNotifyAdminList();
|
||||
}
|
||||
|
||||
function dispCommentNotifyAdminList() {
|
||||
|
||||
// 목록을 구하기 위한 옵션
|
||||
$args->page = Context::get('page'); ///< 페이지
|
||||
|
||||
$args->sort_index = 'list_order'; ///< 소팅 값
|
||||
|
||||
$oCommentNotifyModel = &getModel('tccommentnotify');
|
||||
$output = $oCommentNotifyModel->GetNotifiedList($args);
|
||||
|
||||
Context::set('total_count', $output->total_count);
|
||||
Context::set('total_page', $output->total_page);
|
||||
Context::set('page', $output->page);
|
||||
$notify_list = array();
|
||||
if(!$output->data)
|
||||
{
|
||||
$output->data = array();
|
||||
}
|
||||
foreach($output->data as $notifyparent)
|
||||
{
|
||||
$item = null;
|
||||
$item->parent = $notifyparent;
|
||||
$item->children = $oCommentNotifyModel->GetChildren($notifyparent->notified_srl);
|
||||
$notify_list[] = $item;
|
||||
}
|
||||
Context::set('notify_list', $notify_list);
|
||||
Context::set('page_navigation', $output->page_navigation);
|
||||
|
||||
// 템플릿 지정
|
||||
$this->setTemplatePath($this->module_path.'tpl');
|
||||
$this->setTemplateFile('commentnotify_list');
|
||||
}
|
||||
|
||||
function dispCommentNotifyAdminDeleteChild()
|
||||
{
|
||||
$notified_srl = Context::get('notified_srl');
|
||||
$this->setTemplateFile('delete_child');
|
||||
}
|
||||
}
|
||||
?>
|
||||
61
modules/tccommentnotify/tccommentnotify.class.php
Normal file
61
modules/tccommentnotify/tccommentnotify.class.php
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
<?php
|
||||
/**
|
||||
* @class tccommentnotify
|
||||
* @author haneul (haneul0318@gmail.com)
|
||||
* @brief tccommentnotify module's class
|
||||
**/
|
||||
|
||||
class tccommentnotify extends ModuleObject {
|
||||
|
||||
var $cachedir = "./files/cache/tccommentnotify/";
|
||||
var $cachefile = "shouldnotify";
|
||||
var $lockfile = "notify.lock";
|
||||
|
||||
/**
|
||||
* @brief Install tccommentnotify module
|
||||
**/
|
||||
function moduleInstall() {
|
||||
// action forward에 등록 (관리자 모드에서 사용하기 위함)
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->insertActionForward('tccommentnotify', 'view', 'dispCommentNotifyAdminIndex');
|
||||
|
||||
// notify를 위한 트리거 추가
|
||||
$oModuleController->insertTrigger('comment.insertComment', 'tccommentnotify', 'controller', 'triggerInsertComment', 'after');
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 설치가 이상이 없는지 체크하는 method
|
||||
**/
|
||||
function checkUpdate() {
|
||||
$oModuleModel = &getModel('module');
|
||||
if(!$oModuleModel->getTrigger('comment.insertComment', 'tccommentnotify', 'controller', 'triggerInsertComment', 'after'))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 업데이트 실행
|
||||
**/
|
||||
function moduleUpdate() {
|
||||
$oModuleModel = &getModel('module');
|
||||
$oModuleController = &getController('module');
|
||||
if(!$oModuleModel->getTrigger('comment.insertComment', 'tccommentnotify', 'controller', 'triggerInsertComment', 'after'))
|
||||
{
|
||||
$oModuleController->insertTrigger('comment.insertComment', 'tccommentnotify', 'controller', 'triggerInsertComment', 'after');
|
||||
}
|
||||
|
||||
return new Object(0, 'success_updated');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 캐시 파일 재생성
|
||||
**/
|
||||
function recompileCache() {
|
||||
}
|
||||
}
|
||||
?>
|
||||
319
modules/tccommentnotify/tccommentnotify.controller.php
Normal file
319
modules/tccommentnotify/tccommentnotify.controller.php
Normal file
|
|
@ -0,0 +1,319 @@
|
|||
<?php
|
||||
/**
|
||||
* @class tccommentnotifier controller
|
||||
* @author haneul (haneul0318@gmail.com)
|
||||
* @brief tccommentnotifier 모듈의 controller class
|
||||
**/
|
||||
|
||||
|
||||
class tccommentnotifyController extends tccommentnotify {
|
||||
/**
|
||||
* @brief initialization
|
||||
**/
|
||||
|
||||
function init() {
|
||||
}
|
||||
|
||||
function insertSite($title, $name, $url)
|
||||
{
|
||||
$id = getNextSequence();
|
||||
$args->id = $id;
|
||||
$args->title = $title;
|
||||
$args->name = $name;
|
||||
$args->url = $url;
|
||||
$output = executeQuery("tccommentnotify.insertSite", $args);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return $id;
|
||||
}
|
||||
}
|
||||
|
||||
function insertParent($obj, $siteid, $module_srl)
|
||||
{
|
||||
$parentid = getNextSequence();
|
||||
$args->notified_srl = $parentid;
|
||||
$args->module_srl = $module_srl;
|
||||
$args->name = $obj->r1_name;
|
||||
$args->homepage = $obj->r1_homepage;
|
||||
$args->written = date('YmdHis', $obj->r1_regdate);
|
||||
$args->comment = $obj->r1_body;
|
||||
$args->entry = $obj->s_no;
|
||||
$args->siteid = $siteid;
|
||||
$args->url = $obj->r1_url;
|
||||
$args->remoteid = $obj->r1_no;
|
||||
$args->entrytitle = $obj->s_post_title;
|
||||
$args->entryurl = $obj->s_url;
|
||||
$args->list_order = $parentid * -1;
|
||||
$output = executeQuery("tccommentnotify.insertCommentNotified", $args);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
return $parentid;
|
||||
}
|
||||
|
||||
function procDoNotify()
|
||||
{
|
||||
$lockFilePath = $this->cachedir.$this->lockfile;
|
||||
if(file_exists($lockFilePath))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$fp = null;
|
||||
if(version_compare(PHP_VERSION, "4.3.2", '<'))
|
||||
{
|
||||
$fp = fopen($lockFilePath, "a");
|
||||
}
|
||||
else
|
||||
{
|
||||
$fp = fopen($lockFilePath, "x");
|
||||
if(!$fp)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
fwrite($fp, "lock");
|
||||
fclose($fp);
|
||||
|
||||
if( file_exists($this->cachedir.$this->cachefile) )
|
||||
{
|
||||
unlink($this->cachedir.$this->cachefile);
|
||||
}
|
||||
|
||||
$oModel = &getModel('tccommentnotify');
|
||||
$output = $oModel->GetCommentsFromNotifyQueue();
|
||||
if(!$output->toBool())
|
||||
{
|
||||
debugPrint("Error");
|
||||
debugPrint($output);
|
||||
}
|
||||
if($output->data)
|
||||
{
|
||||
foreach($output->data as $data)
|
||||
{
|
||||
$this->deleteFromQueue($data->comment_srl);
|
||||
$this->sendCommentNotify($data->comment_srl);
|
||||
}
|
||||
}
|
||||
unlink($lockFilePath);
|
||||
}
|
||||
|
||||
function deleteFromQueue($comment_srl)
|
||||
{
|
||||
$args->comment_srl = $comment_srl;
|
||||
executeQuery("tccommentnotify.deleteFromQueue", $args);
|
||||
}
|
||||
|
||||
function triggerInsertComment($obj)
|
||||
{
|
||||
$oCommentModel = &getModel('comment');
|
||||
$oComment = $oCommentModel->getComment($obj->comment_srl);
|
||||
if($oComment->get('parent_srl'))
|
||||
{
|
||||
$output = $this->insertCommentNotifyQueue($obj->comment_srl);
|
||||
if($output->toBool())
|
||||
{
|
||||
if(!file_exists($this->cachedir.$this->cachefile))
|
||||
{
|
||||
if(!file_exists($this->cachedir))
|
||||
{
|
||||
mkdir($this->cachedir);
|
||||
}
|
||||
$fp = fopen($this->cachedir.$this->cachefile, "w");
|
||||
fwrite($fp, "aa");
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
}
|
||||
return new Object();
|
||||
}
|
||||
|
||||
function insertCommentNotifyQueue($comment_srl)
|
||||
{
|
||||
$args->comment_srl = $comment_srl;
|
||||
return executeQuery("tccommentnotify.insertQueue", $args);
|
||||
}
|
||||
|
||||
function sendCommentNotify($comment_srl)
|
||||
{
|
||||
set_include_path("./libs/PEAR");
|
||||
require_once('PEAR.php');
|
||||
require_once('HTTP/Request.php');
|
||||
|
||||
$oCommentModel = &getModel('comment');
|
||||
$oChild = $oCommentModel->getComment($comment_srl);
|
||||
if(!$oChild->isExists())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$parent_srl = $oChild->get('parent_srl');
|
||||
if(!$parent_srl)
|
||||
{
|
||||
return;
|
||||
}
|
||||
$oParent = $oCommentModel->getComment($parent_srl);
|
||||
if(!$oParent->isExists())
|
||||
{
|
||||
return;
|
||||
}
|
||||
$parentHomepage = $oParent->getHomepageUrl();
|
||||
$oMemberModel = &getModel('member');
|
||||
if(!$parentHomepage)
|
||||
{
|
||||
$parent_member = $oParent->getMemberSrl();
|
||||
if(!$parent_member)
|
||||
return;
|
||||
$member_info = $oMemberModel->getMemberInfoByMemberSrl($parent_member);
|
||||
$parentHomepage = $member_info->homepage;
|
||||
if(!$parentHomepage)
|
||||
return;
|
||||
}
|
||||
|
||||
$childHomepage = $oChild->getHomepageUrl();
|
||||
if(!$childHomepage)
|
||||
{
|
||||
$child_member = $oChild->getMemberSrl();
|
||||
if($child_member)
|
||||
{
|
||||
$child_info = $oMemberModel->getMemberInfoByMemberSrl($child_member);
|
||||
$childHomepage = $member_info->homepage;
|
||||
}
|
||||
}
|
||||
|
||||
$document_srl = $oChild->get('document_srl');
|
||||
|
||||
$oDocumentModel = &getModel('document');
|
||||
$oDocument = $oDocumentModel->getDocument($document_srl);
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
$module_info = $oModuleModel->getModuleInfoByDocumentSrl($document_srl);
|
||||
if($this->SendNotifyRequest($parentHomepage, &$module_info, &$oDocument, &$oParent, $parentHomepage, &$oChild, $childHomepage) != 200)
|
||||
{
|
||||
$indexedPage = rtrim($parentHomepage, '/').'/index.php';
|
||||
$this->SendNotifyRequest($indexedPage, &$module_info, &$oDocument, &$oParent, $parentHomepage, &$oChild, $childHomepage);
|
||||
}
|
||||
}
|
||||
|
||||
function SendNotifyRequest($target, $module_info, $oDocument, $oParent, $parentHomepage, $oChild, $childHomepage)
|
||||
{
|
||||
$oReq = new HTTP_Request();
|
||||
$oReq->setURL($target);
|
||||
$oReq->setMethod("POST");
|
||||
$oReq->addHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
|
||||
$oReq->addPostData('mode', 'fb');
|
||||
$oReq->addPostData('url', getUrl('mid', $module_info->mid,'act','','module',''));
|
||||
$oReq->addPostData('s_home_title', $module_info->browser_title);
|
||||
$oReq->addPostData('s_post_title', $oDocument->getTitleText());
|
||||
$oReq->addPostData('s_name', $oDocument->getNickName());
|
||||
$oReq->addPostData('s_url', $oDocument->getPermanentUrl());
|
||||
$oReq->addPostData('s_no', $oDocument->document_srl);
|
||||
$oReq->addPostData('r1_name', $oParent->getNickName());
|
||||
$oReq->addPostData('r1_no', $oParent->comment_srl);
|
||||
$oReq->addPostData('r1_pno', $oDocument->document_srl);
|
||||
$oReq->addPostData('r1_rno', '0');
|
||||
$oReq->addPostData('r1_homepage', $parentHomepage);
|
||||
$oReq->addPostData('r1_regdate', ztime($oParent->get('regdate')));
|
||||
$oReq->addPostData('r1_url', sprintf("%s#comment_%s", $oDocument->getPermanentUrl(), $oParent->comment_srl));
|
||||
$oReq->addPostData('r2_name', $oChild->getNickName());
|
||||
$oReq->addPostData('r2_no', $oChild->comment_srl);
|
||||
$oReq->addPostData('r2_pno', $oDocument->document_srl);
|
||||
$oReq->addPostData('r2_rno', $oParent->comment_srl);
|
||||
$oReq->addPostData('r2_homepage', $childHomepage);
|
||||
$oReq->addPostData('r2_regdate', ztime($oChild->get('regdate')));
|
||||
$oReq->addPostData('r2_url', sprintf("%s#comment_%s", $oDocument->getPermanentUrl(), $oChild->comment_srl));
|
||||
$oReq->addPostData('r1_body', strip_tags($oParent->get('content')));
|
||||
$oReq->addPostData('r2_body', strip_tags($oChild->get('content')));
|
||||
|
||||
$oReq->sendRequest(false);
|
||||
$code = $oReq->getResponseCode();
|
||||
return $code;
|
||||
}
|
||||
|
||||
function insertCommentNotify($obj, $siteid, $parentid, $module_srl)
|
||||
{
|
||||
$myid = getNextSequence();
|
||||
$args->notified_srl = $myid;
|
||||
$args->module_srl = $module_srl;
|
||||
$args->parent_srl = $parentid;
|
||||
$args->name = $obj->r2_name;
|
||||
$args->homepage = $obj->r2_homepage;
|
||||
$args->written = date('YmdHis', $obj->r2_regdate);
|
||||
$args->comment = $obj->r2_body;
|
||||
$args->url = $obj->r2_url;
|
||||
$args->remoteid = $obj->r2_no;
|
||||
$args->list_order = $myid * -1;
|
||||
$output = executeQuery("tccommentnotify.insertCommentNotifiedChild", $args);
|
||||
$bRet = $output->toBool();
|
||||
return $bRet;
|
||||
}
|
||||
|
||||
function updateParent($parentid)
|
||||
{
|
||||
$args->notified_srl = $parentid;
|
||||
$args->list_order = -1 * getNextSequence();
|
||||
$output = executeQuery("tccommentnotify.updateParent", $args);
|
||||
}
|
||||
|
||||
function procNotifyReceived() {
|
||||
|
||||
$obj = Context::getRequestVars();
|
||||
$oModel = &getModel('tccommentnotify');
|
||||
|
||||
$oDB = &DB::getInstance();
|
||||
$oDB -> begin();
|
||||
$siteid = $oModel->GetSite( $obj->url );
|
||||
$module_info = Context::get('current_module_info');
|
||||
$module_srl = $module_info->module_srl;
|
||||
|
||||
if( $siteid == -2 )
|
||||
{
|
||||
$oDB->rollback();
|
||||
return;
|
||||
}
|
||||
else if( $siteid == -1 )
|
||||
{
|
||||
$siteid = $this->insertSite($obj->s_home_title, $obj->s_name, $obj->url);
|
||||
if($siteid == -1)
|
||||
{
|
||||
$oDB->rollback();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$parentid = $oModel->GetParentID( $obj->s_no, $siteid, $module_srl, $obj->r1_no );
|
||||
if( $parentid == -2 )
|
||||
{
|
||||
$oDB->rollback();
|
||||
return;
|
||||
}
|
||||
else if ( $parentid == -1 )
|
||||
{
|
||||
$parentid = $this->insertParent( &$obj, $siteid, $module_srl );
|
||||
if($parentid == -1)
|
||||
{
|
||||
$oDB->rollback();
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->updateParent($parentid);
|
||||
}
|
||||
|
||||
if(!$this->insertCommentNotify(&$obj, $siteid, $parentid, $module_srl))
|
||||
{
|
||||
$oDB->rollback();
|
||||
return;
|
||||
}
|
||||
|
||||
$oDB->commit();
|
||||
}
|
||||
}
|
||||
?>
|
||||
102
modules/tccommentnotify/tccommentnotify.model.php
Normal file
102
modules/tccommentnotify/tccommentnotify.model.php
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
<?php
|
||||
/**
|
||||
* @class tccommentnotifier controller
|
||||
* @author haneul (haneul0318@gmail.com)
|
||||
* @brief tccommentnotifier 모듈의 controller class
|
||||
**/
|
||||
|
||||
class tccommentnotifyModel extends tccommentnotify {
|
||||
|
||||
function init() {
|
||||
}
|
||||
|
||||
function checkShouldNotify()
|
||||
{
|
||||
if( file_exists($this->cachedir.$this->cachefile) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function GetSite($url)
|
||||
{
|
||||
if(!$url) return new Object(-1, "parameter error");
|
||||
|
||||
$args->url = $url;
|
||||
$output = executeQuery('tccommentnotify.getSite', $args);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return -2;
|
||||
}
|
||||
if(!$output->data)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
$siteid = $output->data->id;
|
||||
|
||||
if( is_array($siteid) )
|
||||
{
|
||||
$siteid = array_shift($siteid);
|
||||
}
|
||||
|
||||
return $siteid;
|
||||
}
|
||||
|
||||
function GetParentID( $entry, $siteid, $module_srl, $remoteid )
|
||||
{
|
||||
$args->entry = $entry;
|
||||
$args->siteid = $siteid;
|
||||
$args->module_srl = $module_srl;
|
||||
$args->remoteid = $remoteid;
|
||||
$output = executeQuery('tccommentnotify.getParentId', $args);
|
||||
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return -2;
|
||||
}
|
||||
if(!$output->data)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
$parentid = $output->data->notified_srl;
|
||||
|
||||
if( is_array($parentid) )
|
||||
{
|
||||
$parentid = array_shift($parentid);
|
||||
}
|
||||
return $parentid;
|
||||
}
|
||||
|
||||
function GetNotifiedList($args)
|
||||
{
|
||||
$args->parent_srl = 0;
|
||||
return executeQuery("tccommentnotify.getNotifiedList", $args);
|
||||
}
|
||||
|
||||
function GetChildren($parentid)
|
||||
{
|
||||
$args->parent_srl = $parentid;
|
||||
$output = executeQueryArray("tccommentnotify.getChildren", $args);
|
||||
return $output->data;
|
||||
}
|
||||
|
||||
function GetChild($notified_srl)
|
||||
{
|
||||
$args->notified_srl = $notified_srl;
|
||||
$output = executeQuery("tccommentnotify.getChild", $args);
|
||||
return $output;
|
||||
}
|
||||
|
||||
function GetCommentsFromNotifyQueue()
|
||||
{
|
||||
$output = executeQueryArray("tccommentnotify.getFromQueue");
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
?>
|
||||
82
modules/tccommentnotify/tpl/commentnotify_list.html
Normal file
82
modules/tccommentnotify/tpl/commentnotify_list.html
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
<!--#include("./header.html")-->
|
||||
<!--%import("js/commentnotify.js")-->
|
||||
<!--%import("filter/delete_child.xml")-->
|
||||
<!--%import("filter/delete_parent.xml")-->
|
||||
<!--%import("filter/delete_checked.xml")-->
|
||||
|
||||
<!-- 정보 -->
|
||||
<div class="tableSummaryType1">
|
||||
Total <strong>{number_format($total_count)}</strong>, Page <strong>{number_format($page)}</strong>/{number_format($total_page)}
|
||||
</div>
|
||||
|
||||
<form id="fo_list" action="./" method="get" onsubmit="return procFilter(this, delete_checked)">
|
||||
<input type="hidden" name="page" value="{$page}" />
|
||||
|
||||
<!-- 목록 -->
|
||||
<table cellspacing="0" class="adminTable">
|
||||
{@ $col_width = array(40,85, 150,65,0,45)}
|
||||
|
||||
<!--@foreach($col_width as $width)-->
|
||||
<col <!--@if($width)-->width="{$width}" <!--@end-->/>
|
||||
<!--@end-->
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"><input type="checkbox" onclick="checkboxSelectAll(this.form, 'cart'); return false;" /></th>
|
||||
<th scope="col">등록일자</th>
|
||||
<th scope="col">사이트명</th>
|
||||
<th scope="col">이름</th>
|
||||
<th scope="col">내용</th>
|
||||
<th scope="col">삭제</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@foreach($notify_list as $no => $val)-->
|
||||
{@ $parent = $val->parent; }
|
||||
<tr class="parent">
|
||||
<td><input type="checkbox" name="cart" value="{$parent->notified_srl}" /></td>
|
||||
<td class="date">{zdate($parent->written, "Y/m/d")}</td>
|
||||
<td><a href="{$parent->siteurl}">{$parent->title?$parent->title:"[No title]"}</a></td>
|
||||
<td>{$parent->name}</td>
|
||||
<td><a href="{$parent->entryurl}" class="blue">{$parent->entrytitle}</a> <a href="{$parent->commenturl}">{$parent->comment}</a></td>
|
||||
<td><a href="#" onclick="deleteParent('{$parent->notified_srl}');"><img src="images/buttonDeleteX.gif" /></a></td>
|
||||
</tr>
|
||||
<!--@foreach($val->children as $child)-->
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="date">{zdate($child->written, "Y/m/d")}</td>
|
||||
<td><a href="{$parent->siteurl}">{$parent->title?$parent->title:"[No title]"}</a></td>
|
||||
<td>{$child->name}</td>
|
||||
<td><img src="images/iconReplyArrow.gif" /> <a href="{$child->url}">{$child->comment}</a></td>
|
||||
<td><a href="#" onclick="deleteChild('{$child->notified_srl}');"><img src="images/buttonDeleteX.gif" /></a></td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
|
||||
<!--@end-->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- 버튼 -->
|
||||
<div class="fr gap1">
|
||||
<a href="javascript:checkboxSelectAll('fo_list', 'cart', false)" class="button"><span>{$lang->cmd_unselect_all}</span></a>
|
||||
<a href="javascript:checkboxSelectAll('fo_list', 'cart')" class="button"><span>{$lang->cmd_reverse_all}</span></a>
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_delete_checked_comment}" /></span>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
<form id="deleteChildForm" action="./" method="POST">
|
||||
<input type="hidden" id="notified" name="notified_srl" value="" />
|
||||
</form>
|
||||
|
||||
<!-- 페이지 네비게이션 -->
|
||||
<div class="pageNavigation">
|
||||
<a href="{getUrl('page','','module_srl','')}" class="goToFirst"><img src="../../admin/tpl/images/bottomGotoFirst.gif" alt="{$lang->first_page}" width="7" height="5" /></a>
|
||||
<!--@while($page_no = $page_navigation->getNextPage())-->
|
||||
<!--@if($page == $page_no)-->
|
||||
<span class="current">{$page_no}</span>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="goToLast"><img src="../../admin/tpl/images/bottomGotoLast.gif" alt="{$lang->last_page}" width="7" height="5" /></a>
|
||||
</div>
|
||||
|
||||
2
modules/tccommentnotify/tpl/css/commentnotify.css
Normal file
2
modules/tccommentnotify/tpl/css/commentnotify.css
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
.parent td { background-color : #fff9ff; }
|
||||
.date { font-size : 0.9em; }
|
||||
12
modules/tccommentnotify/tpl/filter/delete_checked.xml
Normal file
12
modules/tccommentnotify/tpl/filter/delete_checked.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<filter name="delete_checked" module="tccommentnotify" act="procCommentNotifyAdminDeleteChecked" confirm_msg_code="confirm_delete">
|
||||
<form>
|
||||
<node target="cart" required="true" />
|
||||
</form>
|
||||
<parameter>
|
||||
<param name="cart" target="cart" />
|
||||
</parameter>
|
||||
<response>
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
</response>
|
||||
</filter>
|
||||
13
modules/tccommentnotify/tpl/filter/delete_child.xml
Normal file
13
modules/tccommentnotify/tpl/filter/delete_child.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<filter name="delete_child" module="tccommentnotify" act="procCommentNotifyAdminDeleteChild" confirm_msg_code="confirm_delete">
|
||||
<form>
|
||||
<node target="notified_srl" required="true" />
|
||||
</form>
|
||||
<parameter>
|
||||
<param name="notified_srl" target="notified_srl" />
|
||||
</parameter>
|
||||
<response callback_func="completeDelete">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="page" />
|
||||
</response>
|
||||
</filter>
|
||||
13
modules/tccommentnotify/tpl/filter/delete_parent.xml
Normal file
13
modules/tccommentnotify/tpl/filter/delete_parent.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<filter name="delete_parent" module="tccommentnotify" act="procCommentNotifyAdminDeleteParent" confirm_msg_code="confirm_delete">
|
||||
<form>
|
||||
<node target="notified_srl" required="true" />
|
||||
</form>
|
||||
<parameter>
|
||||
<param name="notified_srl" target="notified_srl" />
|
||||
</parameter>
|
||||
<response callback_func="completeDelete">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="page" />
|
||||
</response>
|
||||
</filter>
|
||||
7
modules/tccommentnotify/tpl/header.html
Normal file
7
modules/tccommentnotify/tpl/header.html
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<!--%import("css/commentnotify.css")-->
|
||||
<h3>{$lang->commentnotify} <span class="gray">{$lang->cmd_management}</span></h3>
|
||||
|
||||
<div class="header4 gap1">
|
||||
<ul class="localNavigation">
|
||||
</ul>
|
||||
</div>
|
||||
BIN
modules/tccommentnotify/tpl/images/buttonDeleteX.gif
Normal file
BIN
modules/tccommentnotify/tpl/images/buttonDeleteX.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 61 B |
BIN
modules/tccommentnotify/tpl/images/iconReplyArrow.gif
Normal file
BIN
modules/tccommentnotify/tpl/images/iconReplyArrow.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 54 B |
25
modules/tccommentnotify/tpl/js/commentnotify.js
Normal file
25
modules/tccommentnotify/tpl/js/commentnotify.js
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
function deleteChild(notified_srl)
|
||||
{
|
||||
var e = xGetElementById('notified');
|
||||
e.value=notified_srl;
|
||||
var hF = xGetElementById("deleteChildForm");
|
||||
procFilter(hF, delete_child);
|
||||
}
|
||||
|
||||
function deleteParent(notified_srl)
|
||||
{
|
||||
var e = xGetElementById('notified');
|
||||
e.value=notified_srl;
|
||||
var hF = xGetElementById("deleteChildForm");
|
||||
procFilter(hF, delete_parent);
|
||||
}
|
||||
|
||||
function completeDelete(ret_obj)
|
||||
{
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
alert(message);
|
||||
|
||||
var url = current_url.setQuery('act','dispCommentNotifyAdminIndex');
|
||||
location.href = url;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue