diff --git a/modules/ncenterlite/ncenterlite.class.php b/modules/ncenterlite/ncenterlite.class.php index 8711d2aa3..6e874de84 100644 --- a/modules/ncenterlite/ncenterlite.class.php +++ b/modules/ncenterlite/ncenterlite.class.php @@ -81,6 +81,12 @@ class Ncenterlite extends ModuleObject return true; } + // Extra data column + if (!$oDB->isColumnExists('ncenterlite_notify', 'data')) + { + return true; + } + $config = getModel('ncenterlite')->getConfig(); $member_config = getModel('member')->getMemberConfig(); @@ -187,6 +193,12 @@ class Ncenterlite extends ModuleObject $oDB->dropIndex('ncenterlite_notify', 'idx_notify'); } + // Extra data column + if (!$oDB->isColumnExists('ncenterlite_notify', 'data')) + { + $oDB->addColumn('ncenterlite_notify', 'data', 'longtext', null, null, false, 'target_url'); + } + $config = getModel('ncenterlite')->getConfig(); if(!$config) { diff --git a/modules/ncenterlite/ncenterlite.controller.php b/modules/ncenterlite/ncenterlite.controller.php index 1fc60ae5c..b375abf7e 100644 --- a/modules/ncenterlite/ncenterlite.controller.php +++ b/modules/ncenterlite/ncenterlite.controller.php @@ -39,10 +39,13 @@ class NcenterliteController extends Ncenterlite if (is_object($message)) { - $args->target_body = $message->subject; - $args->target_url = $message->url ?: $args->target_url; - $args->extra_content = $message->content; - $args->extra_data = $message->data ?: []; + $args->target_body = $message->subject ?? ''; + $args->target_url = empty($message->url) ? $args->target_url : $message->url; + $args->extra_content = $message->content ?? ''; + if (isset($message->data)) + { + $args->extra_data = is_object($message->data) ? get_object_vars($message->data) : (array)($message->data); + } } else { @@ -1428,6 +1431,11 @@ class NcenterliteController extends Ncenterlite return $trigger_output; } + if (isset($args->extra_data) && $args->extra_data) + { + $args->data = serialize($args->extra_data); + } + $output = executeQuery('ncenterlite.insertNotify', $args); if($output->toBool()) { diff --git a/modules/ncenterlite/ncenterlite.model.php b/modules/ncenterlite/ncenterlite.model.php index 44d4efd2a..dfbe36843 100644 --- a/modules/ncenterlite/ncenterlite.model.php +++ b/modules/ncenterlite/ncenterlite.model.php @@ -281,6 +281,7 @@ class NcenterliteModel extends Ncenterlite $v->text = $this->getNotificationText($v); $v->ago = $this->getAgo($v->regdate); $v->url = getUrl('','act','procNcenterliteRedirect', 'notify', $v->notify); + $v->data = isset($v->data) ? unserialize($v->data) : []; if($v->target_member_srl < 0) { diff --git a/modules/ncenterlite/queries/insertNotify.xml b/modules/ncenterlite/queries/insertNotify.xml index 3e435ebd9..ba041339f 100644 --- a/modules/ncenterlite/queries/insertNotify.xml +++ b/modules/ncenterlite/queries/insertNotify.xml @@ -6,20 +6,21 @@ + + + + - - - - + + + - - diff --git a/modules/ncenterlite/schemas/ncenterlite_notify.xml b/modules/ncenterlite/schemas/ncenterlite_notify.xml index aeb46b9f2..dfd33de73 100644 --- a/modules/ncenterlite/schemas/ncenterlite_notify.xml +++ b/modules/ncenterlite/schemas/ncenterlite_notify.xml @@ -16,6 +16,7 @@ +