/** * Atualiza dados do usuário no WebContatos * @param WP_User $user * @param unknown $permissao * @param unknown $grupo * @return boolean */ function webcontatos_update_user($user, $pass, $permissao, $grupo) { try { $opt = webcontatos_get_config(); $client = new SoapClient($opt['webcontatos_url'] . '/index.php?servicos=ServicoContatos.wsdl'); $auth = $client->__soapCall('doLogin', array('nome' => $opt['webcontatos_user'], 'password' => $opt['webcontatos_pass']), array(), null, $output_headers); if (!$auth) { return false; } $ret = $client->__soapCall('UpdateUsuario', array('nome' => $user->user_login, 'pass' => $pass, 'grupo' => $grupo, 'permissao' => $permissao, 'nomeCompleto' => $user->first_name . ' ' . $user->last_name), array(), null, $output_headers); } catch (Exception $e) { webcontatos_report_error(print_r($e, true), $opt); } }
/** * * @param WP_User $user */ function webcontatos_user_panel_update($user) { if (!current_user_can('create_users') && !current_user_can('promote_users')) { return; } if (is_int($user)) { $user = get_user_by('id', $user); } if (!is_object($user)) { wp_die(__('can not locate a valid user', 'WebContatos')); } $opt = webcontatos_get_config(); if ($user->user_login == $opt['webcontatos_user']) { return; } $perm = "D"; if (array_key_exists('user_webcontatos', $_POST)) { $perm = $_POST['user_webcontatos']; } if (array_key_exists('grupo_webcontatos', $_POST)) { if (!is_object($user)) { $user = get_user_by('id', $user); } if ($user !== false) { update_user_meta($user->ID, 'grupo_webcontatos', $_POST['grupo_webcontatos']); update_user_meta($user->ID, 'user_webcontatos', $perm); //update_user_meta($user->ID. 'webcontatos_pass', $_POST['webcontatos_pass']); // TODO Campo para Senha $pass = uniqid(); update_user_meta($user->ID, 'webcontatos_pass', md5($pass)); webcontatos_update_user($user, $pass, $perm, $_POST['grupo_webcontatos']); } } }