Changeset 1025


Ignore:
Timestamp:
Jun 5, 2017, 5:30:08 PM (8 years ago)
Author:
Herwig Bauernfeind
Message:

GUITools: EVFSGUI implement ACLS browser

Location:
trunk/guitools/evfsgui
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/guitools/evfsgui/evfsgui.vrp

    r1016 r1025  
    55VXOFile: VRSPLIT
    66ClassFile: VRSPLITB.DLL
    7 MacroPath: VRM:G:\netlabs\svn\samba\trunk\guitools\evfsgui
     7MacroPath: VRM:U:\Develop\Samba\trunk\guitools\evfsgui
    88EXEPath:
    9 RunParameters: -NDFS
    10 RunDirectory: G:\netlabs\svn\samba\trunk\guitools\evfsgui
    11 VRXWindow: __VREMainWindow,1,1831,2457,1012,7841
    12 VRXWindow: __VREFileListWindow,1,711,14020,2665,3358
    13 VRXWindow: __VRESectionListWindow,1,1421,15659,12238,6914
    14 VRXWindow: __VREToolsWindow,1,2951,12479,6986,1661
    15 VRXWindow: __VREWindListWindow,1,566,10262,4963,3150
     9RunParameters:
     10RunDirectory: U:\Develop\Samba\trunk\guitools\evfsgui
     11VRXWindow: __VREMainWindow,1,2891,5637,1012,8000
     12VRXWindow: __VREFileListWindow,1,3300,14695,2665,3358
     13VRXWindow: __VRESectionListWindow,1,2867,14020,10889,5035
     14VRXWindow: __VREToolsWindow,1,4011,4963,6992,1669
     15VRXWindow: __VREWindListWindow,1,458,14695,4866,3150
    1616UserFile: 1
    1717UserWindow: Main,1
    18 UserWindow: SW_ADVANCED,1
    19 UserWindow: SW_PROGRESS,1
    20 UserWindow: SW_MOUNTPOINT,1
    21 UserWindow: SW_INFO,1
     18UserWindow: SW_SMBTREE,1
     19UserWindow: SW_ACLS,1
  • trunk/guitools/evfsgui/evfsgui.vrx

    r1016 r1025  
    342342                fmonth   = word(infoline,wn-3)
    343343                fwday    = word(infoline,wn-4)
    344                 pos_attr = pos(fwday,infoline)-16
     344                /* FIXME: This is flaky! */
     345                pos_attr = max(pos(fwday,infoline)-16,4)
    345346                fsize    = word(infoline,wn-5)
    346347                fattr    = substr(infoline,pos_attr,6)
     
    522523    ok = VRSet("Menu_Selected_Retry",            "Visible", 0) /* CN_CONDET */
    523524    ok = VRSet("Menu_Selected_Connect",          "Visible", 0) /* CN_SMBTREE */
     525    ok = VRSet("Menu_Selected_ACLS",             "Visible", 0) /* CN_SMBTREE */
    524526    ok = VRSet("Menu_Selected_Sep1",             "Visible", 0) /* CN_SMBTREE */
    525527    ok = VRSet("Menu_Selected_Info",             "Visible", 0) /* CN_SMBTREE */
     
    532534    ok = VRSet("Menu_Selected_DetailsView","Visible",1)
    533535 */
     536say SMBObj.udatatype
    534537    select
    535538        when SMBObj.udatatype = "DISK" then do
     
    552555            /* CALL VRMessage 'Main', NLVGetMessage( 62 ), NLVGetMessage( 5 ), 'E' */
    553556        end
    554         otherwise nop /* FILE DIRECTORY */
     557        when SMBObj.udatatype = "DIRECTORY" then do
     558            ok = VRSet("Menu_Selected_ACLS",             "Visible", 1)
     559        end
     560        when SMBObj.udatatype = "FILE" then do
     561            ok = VRSet("Menu_Selected_ACLS",             "Visible", 1)
     562        end
     563        otherwise nop /* No other value known */
    555564    end
    556565return
     
    24552464    if options.!debug == 1 then say time()' CN_SMBTREE_ContextMenu started'
    24562465
     2466    call _ContextMenuSelectedSet
     2467
    24572468    call _dropdeprecated
    24582469    call _GetSmbObjectProperties VRInfo('Record')
    24592470
    2460     call _ContextMenuSelectedSet
     2471    BrowsePath = _browsebuildpath(SMBObj.rh)
     2472
     2473    call _BrowseResetObject(SmbObj.rh)
     2474
     2475    parse var browsepath '\\'machine'\'sharename '\' browsepath
     2476
    24612477    ok = VRMethod( "Menu_Selected", "Popup", , , "", "" )
    24622478
     
    36623678Menu_Help_Extended_Click:
    36633679    ok = VRMethod( "Main", "InvokeHelp" )
     3680return
     3681
     3682/*:VRX         Menu_Selected_ACLS_Click
     3683*/
     3684Menu_Selected_ACLS_Click:
     3685    if options.!debug == 1 then say '  List ACLS for  "'SMBObj.udatatype'"'
     3686    window = VRLoadSecondary( "SW_ACLS", "W" )
    36643687return
    36653688
     
    41484171return
    41494172
     4173/*:VRX         PB_ACLS_OK_Click
     4174*/
     4175PB_ACLS_OK_Click:
     4176    call SW_ACLS_Close
     4177return
     4178
    41504179/*:VRX         PB_ADVANCED_APPLY_Click
    41514180*/
     
    50295058return
    50305059
     5060/*:VRX         SW_ACLS_Close
     5061*/
     5062SW_ACLS_Close:
     5063    call SW_ACLS_Fini
     5064return
     5065
     5066/*:VRX         SW_ACLS_Create
     5067*/
     5068SW_ACLS_Create:
     5069    call SW_ACLS_Init
     5070
     5071    ok = VRSet("SW_ACLS","Caption",'ACLS \\'machine'\'sharename' "'browsepath'"')
     5072
     5073    ACL.typeFH  = VRMethod( "CN_ACLS", "AddField", "String", "Type" )
     5074    ACL.valueFH = VRMethod( "CN_ACLS", "AddField", "String", "Value" )
     5075
     5076    /* Make sure credentials are usable */
     5077    if UserCred   = 'USERCRED'   | UserCred = '' | UserCred = '--user=%' then UserCred = '-N'
     5078
     5079    /* We have to remove the double % for smbclient.exe - not entirely clear why */
     5080    OldUserCred = ""
     5081    if pos('%%',UserCred) > 0 & pos("4OS2", value("COMSPEC",,"OS2ENVIRONMENT")) = 0  then do
     5082        OldUserCred = UserCred
     5083        parse var UserCred '--user='username'%%'password
     5084        UserCred = '--user='username'%'password
     5085        say "  Strip double %%!!!"
     5086    end
     5087
     5088    /* FIXME: We do not show a logon failure - just nothing */
     5089    say '  'samba.!smbcaclsexe' \\'machine'\'sharename' "'browsepath'" 'UserCred
     5090    address cmd samba.!smbcaclsexe' \\'machine'\'sharename' "'browsepath'" 'UserCred' 'debuglevel' 2>NUL 1>'samba.!msg
     5091
     5092    do until lines(samba.!msg) = 0
     5093        infoline = linein(samba.!msg)
     5094        parse var infoline aclstype':'aclsvalue
     5095        DummyRH = VRMethod('CN_ACLS', 'AddRecord')
     5096        ok = VRMethod("CN_ACLS", "SetFieldData", DummyRH, ACL.typeFH, aclstype, ACL.valueFH, aclsvalue)
     5097    end
     5098    ok = stream(samba.!msg,'c','close')
     5099    ok = SysFileDelete(samba.!msg)
     5100return
     5101
     5102/*:VRX         SW_ACLS_Fini
     5103*/
     5104SW_ACLS_Fini:
     5105    window = VRInfo( "Window" )
     5106    call VRDestroy window
     5107    drop window
     5108return
     5109/*:VRX         SW_ACLS_Init
     5110*/
     5111SW_ACLS_Init:
     5112    window = VRInfo( "Object" )
     5113    if( \VRIsChildOf( window, "Notebook" ) ) then do
     5114        call VRMethod window, "CenterWindow"
     5115        call VRSet window, "Visible", 1
     5116        call VRMethod window, "Activate"
     5117    end
     5118    drop window
     5119return
     5120
    50315121/*:VRX         SW_ADVANCED_Close
    50325122*/
Note: See TracChangeset for help on using the changeset viewer.