Пример #1
0
 public function bdTagMe_actionSave(XenForo_DataWriter_UserGroup $dw)
 {
     $isTaggable = $this->_input->filterSingle('bdTagMe_isTaggable', XenForo_Input::BINARY);
     $userGroup = $dw->getMergedData();
     $engine = bdTagMe_Engine::getInstance();
     $engine->setTaggableUserGroup($userGroup, $isTaggable, $dw);
     unset($GLOBALS['bdTagMe_XenForo_ControllerAdmin_UserGroup#actionSave']);
 }
Пример #2
0
 public function setTaggableUserGroup(array $userGroup, $isTaggable, XenForo_DataWriter_UserGroup $dw)
 {
     $taggableUserGroups = $this->getTaggableUserGroups();
     $isChanged = false;
     if ($isTaggable) {
         // get users and update into the taggable list
         /** @var bdTagMe_XenForo_Model_User $userModel */
         $userModel = $dw->getModelFromCache('XenForo_Model_User');
         $taggableUserGroups[$userGroup['user_group_id']] = array('user_group_id' => $userGroup['user_group_id'], 'title' => $userGroup['title'], 'userIds' => $userModel->bdTagMe_getUserIdsByUserGroupId($userGroup['user_group_id']));
         ksort($taggableUserGroups);
         $isChanged = true;
     } else {
         // unset this user group if needed
         foreach (array_keys($taggableUserGroups) as $taggableUserGroupId) {
             if ($taggableUserGroupId == $userGroup['user_group_id']) {
                 unset($taggableUserGroups[$taggableUserGroupId]);
                 $isChanged = true;
             }
         }
     }
     if ($isChanged) {
         XenForo_Application::setSimpleCacheData(self::SIMPLE_CACHE_KEY_TAGGABLE_USER_GROUPS, $taggableUserGroups);
     }
 }