// detailconsult can be accessed without user_id (-> display current user) if (($action == 'detailconsult') && (! $params['user_id'])) $params['user_id'] = $obm['uid']; get_user_action(); $perm->check_permissions($module, $action); update_last_visit('user', $params['user_id'], $action); page_close(); $customFields = new OBM_Form_Field('user'); // get Profile list (name and id) $params['profiles'] = get_all_profiles(false); $params = get_user_params_mail_server_id($params); /////////////////////////////////////////////////////////////////////////////// // External calls (main menu not displayed) // /////////////////////////////////////////////////////////////////////////////// if ($action == 'ext_get_ids') { $display['search'] = html_user_search_form($params); if ($_SESSION['set_display'] == 'yes') { $display['result'] = dis_user_search_list($params); } else { $display['msg'] .= display_info_msg($l_no_display); } } elseif ($action == 'ext_get_id') { /////////////////////////////////////////////////////////////////////////////// $display['search'] = html_user_search_form($params); if ($_SESSION['set_display'] == 'yes') {
/** * Set default values for user data. * @param $data An associative array returns by _buildInternalUserData. * @param $login A login. * @param $domain_id A valid domain identifier. * @return Array User data with default value sets, or false. */ function _setDefaultUserData ($data, $login, $domain_id) { global $obm, $cgp_use; if (!is_array($data)) return false; $backup['obm_domain_id'] = $obm['domain_id']; $obm['domain_id'] = $domain_id; foreach ($this->_sqlMap as $key => $key_obm) { $add = true; $value = null; if (!array_key_exists($key_obm, $data) || is_null($data[$key_obm])) { switch ($key) { case 'userobm_perms': $value = DEFAULT_USEROBM_PROFILE; break; case 'userobm_status': $value = DEFAULT_USEROBM_STATUS; break; case 'userobm_hidden': $value = DEFAULT_USEROBM_HIDDEN; break; case 'userobm_archive': $value = DEFAULT_USEROBM_ARCHIVE; break; case 'userobm_local': $value = DEFAULT_USEROBM_LOCAL; break; case 'userobm_domain_id': $value = $domain_id; break; case 'userobm_login': $value = $login; break; default: $add = false; break; } } if ($add && !is_null($value)) $data[$key_obm] = $value; } // // Post. We can not do this during previous loop, because default // settings could not be already setted. // // If email is set, must have a valid mail server. if ( $cgp_use['service']['mail'] && array_key_exists($this->_sqlMap['userobm_email'], $data)) { $params['mail_server_id'] = 'auto'; $params = get_user_params_mail_server_id($params); $data[$this->_sqlMap['userobm_mail_server_id']] = $params['mail_server_id']; $data[$this->_sqlMap['userobm_mail_perms']] = 1; } else { $data[$this->_sqlMap['userobm_mail_server_id']] = null; $data[$this->_sqlMap['userobm_mail_perms']] = null; } // Force profile to null (no need here). if (array_key_exists($this->_sqlMap['userobm_perms'], $data)) { if (!array_key_exists('profiles', $data)) { $data['profiles'] = Array( $data[$this->_sqlMap['userobm_perms']] => Array(), ); } } // User login should be just its username (no more @domain extension). if (array_key_exists($this->_sqlMap['userobm_login'], $data)) { $data[$this->_sqlMap['userobm_login']] = $login; } $obm['domain_id'] = $backup['obm_domain_id']; unset($backup); return $data; }