/** * @param xPDOObject|modAccessResourceGroup $object * @return array */ public function prepareRow(xPDOObject $object) { $objectArray = $object->toArray(); if (empty($objectArray['name'])) { $objectArray['name'] = '(' . $this->modx->lexicon('none') . ')'; } $objectArray['authority_name'] = !empty($objectArray['role_name']) ? $objectArray['role_name'] . ' - ' . $objectArray['authority'] : $objectArray['authority']; /* get permissions list */ $data = $objectArray['policy_data']; unset($objectArray['policy_data']); $data = $this->modx->fromJSON($data); if (!empty($data)) { $permissions = array(); foreach ($data as $perm => $v) { $permissions[] = $perm; } $objectArray['permissions'] = implode(', ', $permissions); } $cls = ''; if (($objectArray['target'] == 'web' || $objectArray['target'] == 'mgr') && $objectArray['policy_name'] == 'Administrator' && ($this->userGroup && $this->userGroup->get('name') == 'Administrator')) { } else { $cls .= 'pedit premove'; } $objectArray['cls'] = $cls; $objectArray['menu'] = array(array('text' => $this->modx->lexicon('access_rgroup_update'), 'handler' => 'this.updateAcl'), '-', array('text' => $this->modx->lexicon('access_rgroup_remove'), 'handler' => 'this.confirm.createDelegate(this,["remove"])')); return $objectArray; }
public function process() { $fields = $this->getProperties(); if (!$this->validate($fields)) { return $this->failure(); } /* create membership */ /** @var modUserGroupMember $membership */ $membership = $this->modx->newObject('modUserGroupMember'); $membership->set('user_group', $this->userGroup->get('id')); $membership->set('member', $this->user->get('id')); $membership->set('role', $fields['role']); $rank = $this->getNewRank(); $membership->set('rank', $rank); /* save membership */ if ($membership->save() == false) { return $this->failure($this->modx->lexicon('user_group_member_err_save')); } /* set as primary group if the only group for user */ if ($rank == 0) { $this->user->set('primary_group', $this->userGroup->get('id')); $this->user->save(); } return $this->success('', $membership); }
/** * @param xPDOObject|modAccessContext $object * @return array */ public function prepareRow(xPDOObject $object) { $objectArray = $object->toArray(); if (empty($objectArray['name'])) { $objectArray['name'] = '(' . $this->modx->lexicon('none') . ')'; } $objectArray['authority_name'] = !empty($objectArray['role_name']) ? $objectArray['role_name'] . ' - ' . $objectArray['authority'] : $objectArray['authority']; /* get permissions list */ $data = $objectArray['policy_data']; unset($objectArray['policy_data']); $data = $this->modx->fromJSON($data); if (!empty($data)) { $permissions = array(); foreach ($data as $perm => $v) { $permissions[] = $perm; } $objectArray['permissions'] = implode(', ', $permissions); } $cls = ''; if (($objectArray['target'] == 'web' || $objectArray['target'] == 'mgr') && $objectArray['policy_name'] == 'Administrator' && ($this->userGroup && $this->userGroup->get('name') == 'Administrator')) { } else { $cls .= 'pedit premove'; } $objectArray['cls'] = $cls; return $objectArray; }
/** * Return the pagetitle * * @return string */ public function getPageTitle() { $ugName = $this->userGroup ? $this->userGroup->get('name') : $this->modx->lexicon('anonymous'); return $this->modx->lexicon('user_group') . ': ' . $ugName; }
/** * Prepare a user for listing * * @param modUser $user * @return array */ public function prepareUser(modUser $user) { return array('text' => $user->get('username'), 'id' => 'n_user_' . $user->get('id') . '_' . $this->userGroup->get('id'), 'leaf' => true, 'type' => 'user', 'cls' => 'icon-user'); }
public function __construct(xPDO &$xpdo) { parent::__construct($xpdo); $this->set('class_key', 'vnewsUsers'); }
public function getPageTitle() { return $this->modx->lexicon('discuss.usergroup') . ': ' . $this->userGroup->get('name'); }
/** * Prepare a User Group for listing * * @param modUserGroup $group * @return array */ public function prepareGroup(modUserGroup $group) { $cls = 'padduser pcreate pupdate'; if ($group->get('id') != 1) { $cls .= ' premove'; } $c = $this->modx->newQuery('modUserGroup'); $c->where(array('parent' => $group->get('id'))); $c->limit(1); $count = $this->modx->getCount('modUserGroup', $c); return array('text' => $group->get('name') . ' (' . $group->get('id') . ')', 'id' => 'n_ug_' . $group->get('id'), 'leaf' => $count > 0 ? false : true, 'type' => 'usergroup', 'qtip' => $group->get('description'), 'cls' => $cls, 'iconCls' => 'icon icon-group'); }