home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / ftpser1a / useropts.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1999-08-24  |  13.6 KB  |  475 lines

  1. VERSION 5.00
  2. Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
  3. Begin VB.Form UserOpts 
  4.    AutoRedraw      =   -1  'True
  5.    BorderStyle     =   3  'Fixed Dialog
  6.    Caption         =   "User Options"
  7.    ClientHeight    =   5730
  8.    ClientLeft      =   45
  9.    ClientTop       =   330
  10.    ClientWidth     =   7245
  11.    LinkTopic       =   "Form1"
  12.    MaxButton       =   0   'False
  13.    MinButton       =   0   'False
  14.    ScaleHeight     =   5730
  15.    ScaleWidth      =   7245
  16.    ShowInTaskbar   =   0   'False
  17.    StartUpPosition =   1  'CenterOwner
  18.    Begin MSComDlg.CommonDialog CommonDialog1 
  19.       Left            =   4560
  20.       Top             =   5280
  21.       _ExtentX        =   847
  22.       _ExtentY        =   847
  23.       _Version        =   393216
  24.    End
  25.    Begin VB.CommandButton UsrDone 
  26.       Caption         =   "Done"
  27.       Height          =   375
  28.       Left            =   2640
  29.       TabIndex        =   25
  30.       Top             =   5280
  31.       Width           =   1575
  32.    End
  33.    Begin VB.Frame Frame1 
  34.       Caption         =   "Setup"
  35.       Height          =   5175
  36.       Left            =   2520
  37.       TabIndex        =   4
  38.       Top             =   0
  39.       Width           =   4575
  40.       Begin VB.TextBox UsrName 
  41.          Height          =   285
  42.          Left            =   1080
  43.          TabIndex        =   27
  44.          Top             =   240
  45.          Width           =   2655
  46.       End
  47.       Begin VB.TextBox HomeDir 
  48.          Height          =   285
  49.          Left            =   1080
  50.          TabIndex        =   24
  51.          Top             =   960
  52.          Width           =   2655
  53.       End
  54.       Begin VB.TextBox Pword 
  55.          Height          =   285
  56.          Left            =   1080
  57.          TabIndex        =   21
  58.          Top             =   600
  59.          Width           =   2655
  60.       End
  61.       Begin VB.Frame frm1 
  62.          Caption         =   "File/Dir Access Rules"
  63.          Height          =   3495
  64.          Left            =   120
  65.          TabIndex        =   5
  66.          Top             =   1560
  67.          Width           =   4335
  68.          Begin VB.CommandButton FDUpdate 
  69.             Caption         =   "Update"
  70.             Height          =   375
  71.             Left            =   1920
  72.             TabIndex        =   26
  73.             Top             =   3000
  74.             Width           =   735
  75.          End
  76.          Begin VB.CheckBox FRead 
  77.             Caption         =   "Read"
  78.             Height          =   255
  79.             Left            =   3000
  80.             TabIndex        =   17
  81.             Top             =   480
  82.             Width           =   855
  83.          End
  84.          Begin VB.CheckBox FWrite 
  85.             Caption         =   "Write"
  86.             Height          =   255
  87.             Left            =   3000
  88.             TabIndex        =   16
  89.             Top             =   720
  90.             Width           =   735
  91.          End
  92.          Begin VB.CheckBox FDelete 
  93.             Caption         =   "Delete"
  94.             Height          =   255
  95.             Left            =   3000
  96.             TabIndex        =   15
  97.             Top             =   960
  98.             Width           =   855
  99.          End
  100.          Begin VB.CheckBox FEx 
  101.             Caption         =   "Execute"
  102.             Height          =   255
  103.             Left            =   3000
  104.             TabIndex        =   14
  105.             Top             =   1200
  106.             Width           =   975
  107.          End
  108.          Begin VB.CheckBox DList 
  109.             Caption         =   "List"
  110.             Height          =   255
  111.             Left            =   3000
  112.             TabIndex        =   13
  113.             Top             =   1800
  114.             Width           =   615
  115.          End
  116.          Begin VB.CheckBox DMake 
  117.             Caption         =   "Make"
  118.             Height          =   255
  119.             Left            =   3000
  120.             TabIndex        =   12
  121.             Top             =   2040
  122.             Width           =   735
  123.          End
  124.          Begin VB.CheckBox DRemove 
  125.             Caption         =   "Remove"
  126.             Height          =   255
  127.             Left            =   3000
  128.             TabIndex        =   11
  129.             Top             =   2280
  130.             Width           =   975
  131.          End
  132.          Begin VB.CheckBox DSub 
  133.             Caption         =   "Inherit Subs"
  134.             Height          =   255
  135.             Left            =   3000
  136.             TabIndex        =   10
  137.             Top             =   2520
  138.             Width           =   1215
  139.          End
  140.          Begin VB.ListBox AccsList 
  141.             Height          =   2595
  142.             ItemData        =   "UserOpts.frx":0000
  143.             Left            =   120
  144.             List            =   "UserOpts.frx":0002
  145.             TabIndex        =   9
  146.             Top             =   240
  147.             Width           =   2655
  148.          End
  149.          Begin VB.CommandButton FDAdd 
  150.             Caption         =   "Add"
  151.             Height          =   375
  152.             Left            =   240
  153.             TabIndex        =   8
  154.             Top             =   3000
  155.             Width           =   615
  156.          End
  157.          Begin VB.CommandButton FDEdit 
  158.             Caption         =   "Edit"
  159.             Height          =   375
  160.             Left            =   1080
  161.             TabIndex        =   7
  162.             Top             =   3000
  163.             Width           =   615
  164.          End
  165.          Begin VB.CommandButton FDRemove 
  166.             Caption         =   "Remove"
  167.             Height          =   375
  168.             Left            =   2880
  169.             TabIndex        =   6
  170.             Top             =   3000
  171.             Width           =   735
  172.          End
  173.          Begin VB.Label Label1 
  174.             Caption         =   "Files"
  175.             Height          =   255
  176.             Left            =   2880
  177.             TabIndex        =   19
  178.             Top             =   240
  179.             Width           =   495
  180.          End
  181.          Begin VB.Label Label2 
  182.             Caption         =   "Directories"
  183.             Height          =   255
  184.             Left            =   2880
  185.             TabIndex        =   18
  186.             Top             =   1560
  187.             Width           =   975
  188.          End
  189.       End
  190.       Begin VB.Label Label5 
  191.          Caption         =   "Home Dir:"
  192.          Height          =   255
  193.          Left            =   120
  194.          TabIndex        =   23
  195.          Top             =   960
  196.          Width           =   855
  197.       End
  198.       Begin VB.Label Label4 
  199.          Caption         =   "Username:"
  200.          Height          =   255
  201.          Left            =   120
  202.          TabIndex        =   22
  203.          Top             =   240
  204.          Width           =   855
  205.       End
  206.       Begin VB.Label Label3 
  207.          Caption         =   "Password:"
  208.          Height          =   255
  209.          Left            =   120
  210.          TabIndex        =   20
  211.          Top             =   600
  212.          Width           =   855
  213.       End
  214.    End
  215.    Begin VB.Frame Frame2 
  216.       Caption         =   "Users"
  217.       Height          =   5175
  218.       Left            =   120
  219.       TabIndex        =   0
  220.       Top             =   0
  221.       Width           =   2295
  222.       Begin VB.CommandButton UsrRemove 
  223.          Caption         =   "Remove"
  224.          Height          =   375
  225.          Left            =   1320
  226.          TabIndex        =   3
  227.          Top             =   4560
  228.          Width           =   855
  229.       End
  230.       Begin VB.CommandButton UsrAdd 
  231.          Caption         =   "Add"
  232.          Height          =   375
  233.          Left            =   120
  234.          TabIndex        =   2
  235.          Top             =   4560
  236.          Width           =   855
  237.       End
  238.       Begin VB.ListBox UserList 
  239.          Height          =   4155
  240.          ItemData        =   "UserOpts.frx":0004
  241.          Left            =   120
  242.          List            =   "UserOpts.frx":0006
  243.          TabIndex        =   1
  244.          Top             =   240
  245.          Width           =   2055
  246.       End
  247.    End
  248. Attribute VB_Name = "UserOpts"
  249. Attribute VB_GlobalNameSpace = False
  250. Attribute VB_Creatable = False
  251. Attribute VB_PredeclaredId = True
  252. Attribute VB_Exposed = False
  253. Option Explicit
  254. Dim uItem As Integer
  255. Dim aItem As Integer
  256. Dim tStrng As String
  257. Dim uUser As Integer
  258. Dim Pcnt As Integer
  259. Private Type Priv
  260.   Path As String
  261.   Accs As String '[R]ead,[W]rite,[D]elete,e[X]ecute > Files
  262.                  '[L]ist,[M]ake,[K]ill,[S]ubs       > Dirs
  263. End Type
  264. Private Privs(20) As Priv
  265. Private Sub FDAdd_Click()
  266.   tStrng = Get_Path("")
  267.   If tStrng <> "" Then
  268.     AccsList.AddItem (tStrng)
  269.     Pcnt = Pcnt + 1
  270.     UserIDs.No(uUser).Priv(Pcnt).Path = tStrng
  271.     FDUpdate.Enabled = True
  272.     FDRemove.Enabled = True
  273.   End If
  274.   AccsList_False
  275. End Sub
  276. Private Sub FDEdit_Click()
  277.   tStrng = Get_Path(AccsList.Text)
  278.   If tStrng <> "" Then
  279.     AccsList.List(aItem) = tStrng
  280.     UserIDs.No(uUser).Priv(aItem + 1).Path = tStrng
  281.   End If
  282.   AccsList_False
  283. End Sub
  284. Private Sub FDRemove_Click()
  285. Dim z As Integer
  286.   For z = (aItem + 1) To UserIDs.No(uUser).Pcnt
  287.     UserIDs.No(uUser).Priv(z).Path = UserIDs.No(uUser).Priv(z + 1).Path
  288.     UserIDs.No(uUser).Priv(z).Accs = UserIDs.No(uUser).Priv(z + 1).Accs
  289.   Next
  290.   UserIDs.No(uUser).Pcnt = UserIDs.No(uUser).Pcnt - 1
  291.   AccsList.RemoveItem (aItem)
  292.   AccsList_False
  293. End Sub
  294. Private Sub FDUpdate_Click()
  295. Dim z As Integer, s As String
  296.   UserIDs.No(uUser).Name = UsrName
  297.   UserIDs.No(uUser).Pass = Pword
  298.   UserIDs.No(uUser).Home = HomeDir
  299.   UserIDs.No(uUser).Pcnt = Pcnt
  300.   s = ""
  301.   z = aItem + 1
  302.   If FRead.Value = 1 Then s = s & "R"
  303.   If FWrite.Value = 1 Then s = s & "W"
  304.   If FDelete.Value = 1 Then s = s & "D"
  305.   If FEx.Value = 1 Then s = s & "X"
  306.   If DList.Value = 1 Then s = s & "L"
  307.   If DMake.Value = 1 Then s = s & "M"
  308.   If DRemove.Value = 1 Then s = s & "K"
  309.   If DSub.Value = 1 Then s = s & "S"
  310.   Privs(z).Accs = s
  311.   UserIDs.No(uUser).Priv(z).Accs = s
  312.   AccsList_False
  313. End Sub
  314. Private Sub Form_Load()
  315. Dim x As Integer, y As Integer
  316.   y = UserIDs.Count
  317.   If (y > 0) Then
  318.     For x = 1 To UserIDs.Count
  319.       UserList.AddItem UserIDs.No(x).Name
  320.     Next
  321.   End If
  322.   aItem = -1
  323.   uItem = -1
  324.   AccsList_False
  325.   UserList_False
  326.   FDAdd.Enabled = False
  327. End Sub
  328. Private Sub Form_Terminate()
  329.   Unload Me
  330. End Sub
  331. Private Sub UserList_LostFocus()
  332.   ' If uItem >= 0 Then UserList_False
  333. End Sub
  334. Private Sub UsrDone_Click()
  335. Dim z As Integer
  336.   Form_Terminate
  337. End Sub
  338. Private Sub UsrRemove_Click()
  339. Dim z As Integer, i As Integer
  340.   z = UserIDs.Count
  341.   For i = uUser To z
  342.     UserIDs.No(i) = UserIDs.No(i + 1)
  343.   Next
  344.   UserList.RemoveItem (uItem)
  345.   UserIDs.Count = z - 1
  346.   AccsList.Clear
  347.   ClearAccs
  348.   UsrName = ""
  349.   Pword = ""
  350.   HomeDir = ""
  351.   aItem = -1
  352.   UserList_False
  353. End Sub
  354. Private Sub UsrAdd_Click()
  355. Dim i As Integer, S1 As String
  356.   S1 = "New User"
  357.   UsrName = S1
  358.   UserList.AddItem S1
  359.   i = UserIDs.Count + 1
  360.   UserIDs.No(i).Name = S1
  361.   UserIDs.Count = i
  362.   UserList_False
  363. End Sub
  364. Private Sub UserList_Click()
  365. Dim x As Integer, z As Integer
  366.   uItem = UserList.ListIndex
  367.   Debug.Print "User List Item = " & uItem
  368.   '[R]ead,[W]rite,[D]elete,e[X]ecute > Files
  369.   '[L]ist,[M]ake,[K]ill,[S]ubs       > Dirs
  370.   uUser = uItem + 1
  371.   AccsList.Clear
  372.   ClearAccs
  373.   Pword = ""
  374.   HomeDir = ""
  375.   aItem = -1
  376.   UserList_True
  377.   AccsList_False
  378.   FDAdd.Enabled = True
  379.   UsrName = UserIDs.No(uUser).Name
  380.   Pword = UserIDs.No(uUser).Pass
  381.   HomeDir = UserIDs.No(uUser).Home
  382.   Pcnt = UserIDs.No(uUser).Pcnt
  383.   For z = 1 To Pcnt
  384.     Privs(z).Path = UserIDs.No(uUser).Priv(z).Path
  385.     Privs(z).Accs = UserIDs.No(uUser).Priv(z).Accs
  386.     AccsList.AddItem Privs(z).Path
  387.   Next
  388. End Sub
  389. Private Sub AccsList_Click()
  390. Dim x As Integer, z As Integer
  391.   aItem = AccsList.ListIndex
  392.   Debug.Print "Access List Item = " & aItem
  393.   ClearAccs
  394.   AccsList_True
  395.   z = aItem + 1
  396.   Debug.Print UserIDs.No(uUser).Priv(z).Accs
  397.   If InStr(Privs(z).Accs, "R") Then
  398.     FRead.Value = 1
  399.   End If
  400.   If InStr(Privs(z).Accs, "W") Then
  401.     FWrite.Value = 1
  402.   End If
  403.   If InStr(Privs(z).Accs, "D") Then
  404.     FDelete.Value = 1
  405.   End If
  406.   If InStr(Privs(z).Accs, "X") Then
  407.     FEx.Value = 1
  408.   End If
  409.   If InStr(Privs(z).Accs, "L") Then
  410.     DList.Value = 1
  411.   End If
  412.   If InStr(Privs(z).Accs, "M") Then
  413.     DMake.Value = 1
  414.   End If
  415.   If InStr(Privs(z).Accs, "K") Then
  416.     DRemove.Value = 1
  417.   End If
  418.   If InStr(Privs(z).Accs, "S") Then
  419.     DSub.Value = 1
  420.   End If
  421. End Sub
  422. Private Sub AccsList_DblClick()
  423.   aItem = AccsList.ListIndex
  424.   tStrng = Get_Path(AccsList.Text)
  425.   If tStrng <> "" Then
  426.     AccsList.List(aItem) = tStrng
  427.     UserIDs.No(uUser).Priv(aItem + 1).Path = tStrng
  428.   End If
  429.   AccsList.Selected(aItem) = False
  430. End Sub
  431. Private Sub UserList_True()
  432.   UsrRemove.Enabled = True
  433. End Sub
  434. Private Sub UserList_False()
  435.   Debug.Print "uItem=" & uItem
  436.   UsrRemove.Enabled = False
  437.   If uItem >= 0 Then
  438.     UserList.Selected(uItem) = False
  439.     uItem = -1
  440.   End If
  441. End Sub
  442. Private Sub AccsList_True()
  443.   FDEdit.Enabled = True
  444.   FDRemove.Enabled = True
  445.   FDUpdate.Enabled = True
  446. End Sub
  447. Private Sub AccsList_False()
  448.   Debug.Print "aItem=" & aItem
  449.   FDEdit.Enabled = False
  450.   FDRemove.Enabled = False
  451.   FDUpdate.Enabled = False
  452.   If aItem >= 0 Then
  453.     AccsList.Selected(aItem) = False
  454.     aItem = -1
  455.   End If
  456. End Sub
  457. Private Sub ClearAccs()
  458.   FRead.Value = 0
  459.   FWrite.Value = 0
  460.   FDelete.Value = 0
  461.   FEx.Value = 0
  462.   DList.Value = 0
  463.   DMake.Value = 0
  464.   DRemove.Value = 0
  465.   DSub.Value = 0
  466. End Sub
  467. Function Get_Path(olds As String) As String
  468.   AddEditDir.DirPath = olds
  469.   AddEditDir.Show 1
  470.   If Tag <> "" Then
  471.     Get_Path = Tag
  472.     Tag = ""
  473.   End If
  474. End Function
  475.