diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index df1ea43dc..e8d6da225 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -1172,6 +1172,14 @@ class memberAdminController extends member function insertGroup($args) { if(!$args->site_srl) $args->site_srl = 0; + + // Call trigger (before) + $trigger_output = ModuleHandler::triggerCall('member.insertGroup', 'before', $args); + if(!$trigger_output->toBool()) + { + return $trigger_output; + } + // Check the value of is_default. if($args->is_default != 'Y') { @@ -1193,6 +1201,9 @@ class memberAdminController extends member $output = executeQuery('member.insertGroup', $args); $this->_deleteMemberGroupCache($args->site_srl); + // Call trigger (after) + ModuleHandler::triggerCall('member.insertGroup', 'after', $args); + return $output; } @@ -1204,8 +1215,16 @@ class memberAdminController extends member function updateGroup($args) { if(!$args->site_srl) $args->site_srl = 0; - // Check the value of is_default. if(!$args->group_srl) return new Object(-1, 'lang->msg_not_founded'); + + // Call trigger (before) + $trigger_output = ModuleHandler::triggerCall('member.updateGroup', 'before', $args); + if(!$trigger_output->toBool()) + { + return $trigger_output; + } + + // Check the value of is_default. if($args->is_default!='Y') { $args->is_default = 'N'; @@ -1218,6 +1237,10 @@ class memberAdminController extends member $output = executeQuery('member.updateGroup', $args); $this->_deleteMemberGroupCache($args->site_srl); + + // Call trigger (after) + ModuleHandler::triggerCall('member.updateGroup', 'after', $args); + return $output; } @@ -1238,6 +1261,13 @@ class memberAdminController extends member if(!$group_info) return new Object(-1, 'lang->msg_not_founded'); if($group_info->is_default == 'Y') return new Object(-1, 'msg_not_delete_default'); + + // Call trigger (before) + $trigger_output = ModuleHandler::triggerCall('member.deleteGroup', 'before', $group_info); + if(!$trigger_output->toBool()) + { + return $trigger_output; + } // Get groups where is_default == 'Y' $columnList = array('site_srl', 'group_srl'); @@ -1251,6 +1281,14 @@ class memberAdminController extends member $args->group_srl = $group_srl; $output = executeQuery('member.deleteGroup', $args); $this->_deleteMemberGroupCache($site_srl); + if (!$output->toBool()) + { + return $output; + } + + // Call trigger (after) + ModuleHandler::triggerCall('member.deleteGroup', 'after', $group_info); + return $output; } diff --git a/modules/point/point.admin.controller.php b/modules/point/point.admin.controller.php index 3754bfab5..59f5c825f 100644 --- a/modules/point/point.admin.controller.php +++ b/modules/point/point.admin.controller.php @@ -71,7 +71,8 @@ class pointAdminController extends point $oMemberModel = getModel('member'); $group_list = $oMemberModel->getGroups(); - + $config->point_group = array(); + // Per-level group configurations foreach($group_list as $group) { @@ -95,10 +96,6 @@ class pointAdminController extends point } $config->point_group[$group_srl] = $args->{'point_group_'.$group_srl}; } - else - { - unset($config->point_group[$group_srl]); - } } $config->group_reset = $args->group_reset; diff --git a/modules/point/point.class.php b/modules/point/point.class.php index ef40999d4..305e6a094 100644 --- a/modules/point/point.class.php +++ b/modules/point/point.class.php @@ -85,6 +85,7 @@ class point extends ModuleObject $oModuleController->insertTrigger('file.downloadFile', 'point', 'controller', 'triggerBeforeDownloadFile', 'before'); $oModuleController->insertTrigger('file.downloadFile', 'point', 'controller', 'triggerDownloadFile', 'after'); $oModuleController->insertTrigger('member.doLogin', 'point', 'controller', 'triggerAfterLogin', 'after'); + $oModuleController->insertTrigger('member.deleteGroup', 'point', 'controller', 'triggerDeleteGroup', 'after'); $oModuleController->insertTrigger('module.dispAdditionSetup', 'point', 'view', 'triggerDispPointAdditionSetup', 'after'); $oModuleController->insertTrigger('document.updateReadedCount', 'point', 'controller', 'triggerUpdateReadedCount', 'after'); // Add a trigger for voting up and down 2008.05.13 haneul @@ -121,6 +122,7 @@ class point extends ModuleObject if(!$oModuleModel->getTrigger('file.downloadFile', 'point', 'controller', 'triggerBeforeDownloadFile', 'before')) return true; if(!$oModuleModel->getTrigger('file.downloadFile', 'point', 'controller', 'triggerDownloadFile', 'after')) return true; if(!$oModuleModel->getTrigger('member.doLogin', 'point', 'controller', 'triggerAfterLogin', 'after')) return true; + if(!$oModuleModel->getTrigger('member.deleteGroup', 'point', 'controller', 'triggerDeleteGroup', 'after')) return true; if(!$oModuleModel->getTrigger('module.dispAdditionSetup', 'point', 'view', 'triggerDispPointAdditionSetup', 'after')) return true; if(!$oModuleModel->getTrigger('document.updateReadedCount', 'point', 'controller', 'triggerUpdateReadedCount', 'after')) return true; // Add a trigger for voting up and down 2008.05.13 haneul @@ -169,6 +171,8 @@ class point extends ModuleObject $oModuleController->insertTrigger('file.downloadFile', 'point', 'controller', 'triggerDownloadFile', 'after'); if(!$oModuleModel->getTrigger('member.doLogin', 'point', 'controller', 'triggerAfterLogin', 'after')) $oModuleController->insertTrigger('member.doLogin', 'point', 'controller', 'triggerAfterLogin', 'after'); + if(!$oModuleModel->getTrigger('member.deleteGroup', 'point', 'controller', 'triggerDeleteGroup', 'after')) + $oModuleController->insertTrigger('member.deleteGroup', 'point', 'controller', 'triggerDeleteGroup', 'after'); if(!$oModuleModel->getTrigger('module.dispAdditionSetup', 'point', 'view', 'triggerDispPointAdditionSetup', 'after')) $oModuleController->insertTrigger('module.dispAdditionSetup', 'point', 'view', 'triggerDispPointAdditionSetup', 'after'); if(!$oModuleModel->getTrigger('document.updateReadedCount', 'point', 'controller', 'triggerUpdateReadedCount', 'after')) diff --git a/modules/point/point.controller.php b/modules/point/point.controller.php index 5253957cd..0fcd42236 100644 --- a/modules/point/point.controller.php +++ b/modules/point/point.controller.php @@ -60,6 +60,25 @@ class pointController extends point return new Object(); } + /** + * @brief Member group deletion trigger + */ + function triggerDeleteGroup(&$obj) + { + // Get the point module config + $config = getModel('module')->getModuleConfig('point'); + // Get the group_srl of the deleted group + $group_srl = $obj->group_srl; + // Exclude deleted group from point/level/group integration + if($config->point_group && isset($config->point_group[$group_srl])) + { + unset($config->point_group[$group_srl]); + getController('module')->insertModuleConfig('point', $config); + } + + return new Object(); + } + /** * @brief A trigger to add points to the member for creating a post */