예제 #1
0
 /**
  * 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;
 }
예제 #2
0
 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;
 }