function login_ad($user_, $pass_, $tipo_) { //Comienzo la conexión al servidor para tomar los datos de active directory $host = get_config('host'); $puerto = get_config('puerto'); $filter = "sAMAccountName=" . $user_ . "*"; $attr = array("displayname", "mail", "givenname", "sn", "useraccountcontrol"); $dn = get_config('dn'); $conex = ldap_connect($host, $puerto) or die("No ha sido posible conectarse al servidor"); if (!ldap_set_option($conex, LDAP_OPT_PROTOCOL_VERSION, 3)) { echo "<br>Failed to set protocol version to 3"; } if ($conex) { $dominio = get_config("dominio"); $r = @ldap_bind($conex, $user_ . $dominio, $pass_); $existe = get_perfil($user_, $tipo_); if ($r && count($existe) > 0) { //LOGIN CORRECTO $result = ldap_search($conex, $dn, $filter, $attr); $entries = ldap_get_entries($conex, $result); for ($i = 0; $i < $entries["count"]; $i++) { $nombre = fix_data(utf8_decode($entries[$i]["givenname"][0])); $apellidos = fix_data(utf8_decode($entries[$i]["sn"][0])); $email = fix_data($entries[$i]["mail"][0]); //Acutalizar información desde AD en la tabla de empleados $s_ = "update empleados set nombre='{$nombre}', apellidos='{$apellidos}', mail='{$email}' where id='{$existe['id']}'"; $r_ = mysql_query($s_); session_name("loginUsuario"); session_start(); $_SESSION['NAME'] = $nombre . " " . $apellidos; $_SESSION['USER'] = $user_; $_SESSION['IDEMP'] = $existe['id']; $_SESSION['AUSENCIA'] = get_ausencia($existe['id']); $_SESSION['DEPTO'] = $existe['depto']; $_SESSION['TYPE'] = $tipo_; } switch ($tipo_) { case "administrador": header("Location: admin/inicio.php"); break; case "capturista": header("Location: capturista/inicio.php"); break; case "autorizador": header("Location: autorizador/scrap_firmar.php"); break; case "reportes": header("Location: reportes/rep_general.php?op=listado"); break; } } else { echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL=index.php?error=2&user_={$user_}&tipo_={$tipo_}\">"; exit; } ldap_close($conex); } else { echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL=index.php?error=3&user_={$user_}&tipo_={$tipo_}\">"; exit; } }
function update($id_, $nombre, $apellidos, $usuario, $password1, $email, $ac_di, $f_acdi, $f_userid, $f_depto, $f_pagina) { $nombre = fix_data(utf8_decode($nombre)); $apellidos = fix_data(utf8_decode($apellidos)); $usuario = trim(strtolower($usuario)); $password1 = trim($password1); $email = fix_data(utf8_decode($email)); if ($ac_di == 'NO') { $s_1 = "update empleados set nombre='{$nombre}', apellidos='{$apellidos}', usuario='{$usuario}', mail='{$email}', active_directory='{$ac_di}' "; if ($password1) { $s_1 = $s_1 . ", password='******'"; } } if ($ac_di == 'SI') { $s_1 = "update empleados set usuario='{$usuario}', password='', active_directory='{$ac_di}' "; } $s_1 = $s_1 . " where id='{$id_}'"; $r_1 = mysql_query($s_1); }
} $permalink = get_permalink($post->ID); } wp_reset_query(); } ?> <?php /** * 入力チェック */ $flag_check = false; if (!empty($INPUT_mode) && $INPUT_mode == 'check') { // データの整形 $_POST = fix_data($_POST); // 必須項目のチェック include 'php/check.php'; // 入力エラー処理 list($error_html, $error_css) = input_error($error_blank, $error_injustice); if (!$error_html && !$error_css) { $flag_check = true; } if ($flag_check) { // チケット発行 if (empty($_SESSION['ticket'])) { $_SESSION['ticket'] = md5(uniqid() . mt_rand()); } // 不可視フィールドを生成 $hidden = hidden_field(); // URLは自動リンク