Example #1
0
 /**
  * 保存用户组信息
  */
 public function dosaveAction()
 {
     list($groupType, $groupName, $groupPoints, $groupImage, $newGroupName, $newGroupPoints, $newGroupImage) = $this->getInput(array('grouptype', 'groupname', 'grouppoints', 'groupimage', 'newgroupname', 'newgrouppoints', 'newgroupimage'), 'post');
     $userGroupService = Wekit::load('usergroup.PwUserGroups');
     /* @var $userGroupService PwUserGroups */
     Wind::import('SRV:usergroup.dm.PwUserGroupDm');
     is_array($groupName) || ($groupName = array());
     is_array($groupPoints) || ($groupPoints = array());
     is_array($groupImage) || ($groupImage = array());
     if ('member' == $groupType) {
         $_allPointTmp = array_merge($groupPoints, (array) $newGroupPoints);
         if (count($_allPointTmp) != count(array_unique($_allPointTmp))) {
             $this->showError('USER:groups.info.save.points.fail');
         }
     }
     //保存已有用户组
     $updateGroups = array();
     //待更新用户组Dm
     foreach ($groupName as $k => $v) {
         $userGroupModel = new PwUserGroupDm($k);
         $userGroupModel->setGroupName($v);
         $userGroupModel->setGroupPoints($groupPoints[$k]);
         $userGroupModel->setGroupImage($groupImage[$k]);
         $userGroupModel->setGroupType($groupType);
         $result = $userGroupModel->beforeUpdate();
         if ($result instanceof PwError) {
             $this->showError($result->getError());
         }
         $updateGroups[] = $userGroupModel;
     }
     //新增用户组
     $addGroups = array();
     //待添加用户组Dm
     foreach ($newGroupName as $k => $v) {
         if (!$v) {
             continue;
         }
         $userGroupModel = new PwUserGroupDm();
         $userGroupModel->setGroupName($v);
         $userGroupModel->setGroupPoints($newGroupPoints[$k]);
         $userGroupModel->setGroupImage($newGroupImage[$k]);
         $userGroupModel->setGroupType($groupType);
         $result = $userGroupModel->beforeAdd();
         if ($result instanceof PwError) {
             $this->showError($result->getError());
         }
         $addGroups[] = $userGroupModel;
     }
     //执行更新
     $userGroupService->updateGroups($updateGroups);
     //执行新增
     foreach ($addGroups as $v) {
         $userGroupService->addGroup($v);
     }
     $this->showMessage('USER:groups.info.save.success', 'u/groups/run');
     //$this->forwardRedirect(WindUrlHelper::createUrl('u/groups/run'));
 }
Example #2
0
 /**
  * 更新用户组信息
  *
  * @param PwUserGroupDm $dm 
  * @return bool
  */
 public function updateGroup($dm)
 {
     if (($result = $dm->beforeUpdate()) !== true) {
         return $result;
     }
     $gid = $dm->getGroupId();
     $result = $this->_getDao()->updateGroup($gid, $dm->getData());
     PwSimpleHook::getInstance('PwUserGroups_update')->runDo(array($gid));
     return $result;
 }