/** * Returns numer of levels between root node level and $obUser max weight group node level * * @param RM_User_Object $obUser * @return int */ public function getLevelFromRootGroupByUser(RM_User_Object $obUser) { $root_id = iterFirst($this->_getRootNodes()->sort('weight', 'DESC'))->id(); $group_id = iterFirst($obUser->getUserGroups()->sort('weight', 'DESC'))->id(); $query = M('Db')->createQuery($this->table('group_tree'))->where('ancestor_id = ? AND descendent_id = ?', $root_id, $group_id); return iterFirst(M('Store')->requestQuery(M('Store')->factoryObject(), $query))->level; }
public function prepareBeforeFillForm(RM_User_Object $obUser) { $data = $obUser->props(); if (!$data['equipment']) { $data['equipment'] = 0; } if (!$data['equipment_removed']) { $data['equipment_removed'] = 0; } $data['panel_access'] = (int) (!$data['diary_access_disabled']); if ($data['payment_method'] == 4) { $data['payment_info_4'] = @unserialize($data['payment_info']); } else { $data['payment_info_' . $data['payment_method']] = $data['payment_info']; } if ($data['compensation_method'] == 4) { $data['compensation_info_4'] = @unserialize($data['compensation_info']); } else { $data['compensation_info_' . $data['compensation_method']] = $data['compensation_info']; } $data['new_groups'] = array(); foreach ($obUser->getUserGroups()->sort('weight', 'DESC') as $obGroup) { $data['new_groups'][$obGroup->id()] = 1; } /* print '<pre>'; print_r($data); exit;*/ return $data; }