0) { $user_updates = ['ou_id' => $a_ou_id]; $auth_updates_for_all = ['ou_id' => $a_ou_id]; $log_msg = "For user id: " . $cur_auth['user_id'] . " login: " . ($user_info['login'] ?? '') . " set: ou_id = " . $a_ou_id; LOG_INFO($db_link, $log_msg); // Обновляем user_list $ret = update_record($db_link, "user_list", "id = ?", $user_updates, [(int)$cur_auth['user_id']]); if (!$ret) $all_ok = false; // Обновляем все записи user_auth для этого пользователя $ret = update_records($db_link, "user_auth", "user_id = ?", $auth_updates_for_all, [(int)$cur_auth['user_id']]); if (!$ret) $all_ok = false; } // Правило привязки MAC if (getPOST("e_bind_mac", $page_url) !== null) { if ($cur_auth && !empty($cur_auth['mac'])) { if ($a_bind_mac) { $user_rule = get_record_sql($db_link, "SELECT * FROM auth_rules WHERE user_id = ? AND rule_type = 2", [(int)$cur_auth['user_id']]); $mac_rule = get_record_sql($db_link, "SELECT * FROM auth_rules WHERE rule = ? AND rule_type = 2", [$cur_auth['mac']]); if (!$user_rule && !$mac_rule) { $new_rule = [ 'user_id' => (int)$cur_auth['user_id'], 'rule_type' => 2, 'rule' => $cur_auth['mac'] ]; insert_record($db_link, "auth_rules", $new_rule); LOG_INFO($db_link, "Created auto rule for user_id: " . $cur_auth['user_id'] . " and mac " . $cur_auth['mac']); } else { LOG_INFO($db_link, "Auto rule for user_id: " . $cur_auth['user_id'] . " and mac " . $cur_auth['mac'] . " already exists"); } } else { run_sql($db_link, "DELETE FROM auth_rules WHERE user_id = ? AND rule_type = 2", [(int)$cur_auth['user_id']]); LOG_INFO($db_link, "Remove auto rule for user_id: " . $cur_auth['user_id'] . " and mac " . $cur_auth['mac']); } } else { LOG_ERROR($db_link, "Auto rule for user_id: " . ($cur_auth['user_id'] ?? 'N/A') . " not created. Record not found or empty mac."); } } // Правило привязки IP if (getPOST("e_bind_ip", $page_url) !== null) { if ($cur_auth && !empty($cur_auth['ip'])) { if ($a_bind_ip) { $user_rule = get_record_sql($db_link, "SELECT * FROM auth_rules WHERE user_id = ? AND rule_type = 1", [(int)$cur_auth['user_id']]); $ip_rule = get_record_sql($db_link, "SELECT * FROM auth_rules WHERE rule = ? AND rule_type = 1", [$cur_auth['ip']]); if (!$user_rule && !$ip_rule) { $new_rule = [ 'user_id' => (int)$cur_auth['user_id'], 'rule_type' => 1, 'rule' => $cur_auth['ip'] ]; insert_record($db_link, "auth_rules", $new_rule); LOG_INFO($db_link, "Created auto rule for user_id: " . $cur_auth['user_id'] . " and ip " . $cur_auth['ip']); } else { LOG_INFO($db_link, "Auto rule for user_id: " . $cur_auth['user_id'] . " and ip " . $cur_auth['ip'] . " already exists"); } } else { run_sql($db_link, "DELETE FROM auth_rules WHERE user_id = ? AND rule_type = 1", [(int)$cur_auth['user_id']]); LOG_INFO($db_link, "Remove auto rule for user_id: " . $cur_auth['user_id'] . " and ip " . $cur_auth['ip']); } } else { LOG_ERROR($db_link, "Auto rule for user_id: " . ($cur_auth['user_id'] ?? 'N/A') . " not created. Record not found or empty ip."); } } } if ($all_ok) { print "Success!"; } else { print "Fail!"; } } ?>