import_ips.pl 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #!/usr/bin/perl
  2. #
  3. # Copyright (C) Roman Dmitiriev, rnd@rajven.ru
  4. #
  5. #Import ip to user
  6. use utf8;
  7. use open ":encoding(utf8)";
  8. use FindBin '$Bin';
  9. use lib "/opt/Eye/scripts";
  10. use Data::Dumper;
  11. use eyelib::config;
  12. use eyelib::main;
  13. use eyelib::database;
  14. use eyelib::net_utils;
  15. use strict;
  16. use warnings;
  17. sub add_auth {
  18. my $db = shift;
  19. my $comment = shift;
  20. my $ip = shift;
  21. my $user_id = shift;
  22. my $ip_aton=StrToIp($ip);
  23. my $record=get_record_sql($db,'SELECT id FROM User_auth WHERE `deleted`=0 AND `ip_int`='.$ip_aton);
  24. if ($record->{id}) { return $record->{id}; }
  25. my $user_record=get_record_sql($db,"SELECT * FROM User_list WHERE id=$user_id");
  26. my $new_record;
  27. $new_record->{ip_int}=$ip_aton;
  28. $new_record->{ip}=$ip;
  29. $new_record->{user_id}=$user_id;
  30. $new_record->{save_traf}="$save_detail";
  31. $new_record->{deleted}="0";
  32. $new_record->{created_by}='manual';
  33. $new_record->{ou_id}=$user_record->{ou_id};
  34. $new_record->{filter_group_id}=$user_record->{filter_group_id};
  35. $new_record->{queue_id}=$user_record->{queue_id};
  36. $new_record->{enabled}="$user_record->{enabled}";
  37. $new_record->{comments}=$comment;
  38. my $cur_auth_id=insert_record($db,'User_auth',$new_record);
  39. return $cur_auth_id;
  40. }
  41. my $user_id =$ARGV[0];
  42. exit if (!$user_id);
  43. print "Stage 0: Read ip list for user_id: $user_id\n";
  44. binmode(STDOUT,':utf8');
  45. if (-e "1") {
  46. my @nSQL=read_file("1");
  47. foreach my $row (@nSQL) {
  48. my ($user_name,$auth_ip) = split(/[\,|\;|\s]/,$row);
  49. next if (!$auth_ip);
  50. print "Add: $user_name $auth_ip";
  51. my $ret = add_auth($dbh,$user_name,$auth_ip,$user_id);
  52. if ($ret) { print "...OK\n"; } else { print "...Fail\n"; }
  53. }
  54. }
  55. print "Done!\n";
  56. exit;