#!/usr/local/bin/perl # Author fsmendoza 2017-March-11 use strict; use warnings; use Tk; my $mainwindow = MainWindow->new(); $mainwindow->geometry("600x150"); $mainwindow->title("Add/Delete/Reset Password"); # Disable the window Resize $mainwindow->resizable(0,0); my $main_menu = $mainwindow->Menu(); $mainwindow->configure(-menu => $main_menu); # Reset user text variable my $label_resetp; my $entry_resetp; my $button_resetp; # Add user text variable my $label_adduser; my $entry_adduser; my $button_adduser; # delete user text variable my $label_deleteuser; my $entry_deleteuser; my $button_deleteuser; #clear all my $clearpass = 0; my $clearadd = 0; my $cleardel = 0; # File my $menu_menu = $main_menu->cascade(-label=>"Menu", -underline => 0, -tearoff=>0); $menu_menu->command(-label=>"Password Reset for users", -underline=>0, -command=>\&Show_ResetPassword_menu); $menu_menu->command(-label=>"Add User", -underline=>0, -command=>\&Show_AddUser_menu); $menu_menu->command(-label=>"Delete User", -underline=>0, -command=>\&Show_DeleteUser_menu); $menu_menu->command(-label=>"Exit", -underline=>0, -command=>sub{exit}); # About $main_menu->command(-label=>"About", -command=>sub{$mainwindow->messageBox(-title=> "About", -message=>"Version 3.0.0", -type => "ok")}); MainLoop(); #text variable my $user; #Passwowrd Reset sub password_reset { my $answer = $mainwindow -> messageBox( -message=>"Password Reset for user: $user", -title=> "Password", -type=>"YesNoCancel", -icon=>"info"); if ($answer =~ /yes/i) { # code to reset password goes here.... # whatever log messasges you want print "PASSWORD RESET SUCEEDED: $user\n"; # a log entry? } else { print "PASSWORD RESET ABORTED: $user\n"; # a log entry? } $user=''; # clear the user name entry field } # ADD new user sub adduser { # your code here print "adduser"; } # Delete User sub deleteuser { # your code here print "deleteuser"; } sub clearall { if ($clearpass == 1) { $label_resetp->packForget(); $entry_resetp->packForget(); $button_resetp->packForget(); $clearpass = 0; } if ($clearadd == 1) { $label_adduser->packForget(); $entry_adduser->packForget(); $button_adduser->packForget(); $clearadd = 0; } if ($cleardel == 1) { $label_deleteuser->packForget(); $entry_deleteuser->packForget(); $button_deleteuser->packForget(); $cleardel = 0; } } sub Show_ResetPassword_menu { clearall(); $label_resetp = $mainwindow->Label(-text=>"Password Reset for user ", -width => 40) -> pack ( -side=>'left'); $entry_resetp = $mainwindow->Entry(-width => 30, -textvariable =>\$user )->pack(-side => 'left'); $entry_resetp->bind("", \&password_reset); $button_resetp = $mainwindow->Button(-text=>"Click to reset", -command => \&password_reset , -width => 15) -> pack ( -side=>'bottom' ); # Enable Password Reset tracking $clearpass = 1; } sub Show_AddUser_menu { clearall(); $label_adduser = $mainwindow->Label(-text=>"Add user ", -width => 40) -> pack ( -side=>'left'); $entry_adduser = $mainwindow->Entry(-width => 30,)->pack(-side => 'left'); $entry_adduser->bind("", \&adduser); $button_adduser = $mainwindow->Button(-text=>"Click to Add user", -command => \&adduser, -width => 15) -> pack ( -side=>'bottom' ); # Enable AddUser Reset tracking $clearadd = 1; } sub Show_DeleteUser_menu { clearall(); $label_deleteuser = $mainwindow->Label(-text=>"Delete user ", -width => 40) -> pack ( -side=>'left'); $entry_deleteuser = $mainwindow->Entry(-width => 30)->pack(-side => 'left'); $entry_deleteuser->bind("", \&deleteuser); $button_deleteuser = $mainwindow->Button(-text=>"Click to Delete", -command => \&deleteuser, -width => 15) -> pack ( -side=>'bottom' ); # Enable Delete Reset tracking $cleardel = 1; }