#134180 - 2005-02-21 12:02 AM
Re: VarName indexer
NTDOC
Administrator
Registered: 2000-07-28
Posts: 11631
Loc: CA
Glenn, I'll get with you later on tonight if possible and get the script from you and test it out. Then if it can not be properly posted on Korg I'll host it in a zip file on my site. You can e-mail me the script when you're ready. ntdoc@kixhelp.com
Top
#134181 - 2005-02-21 01:15 AM
Re: VarName indexer
Bryce
KiX Supporter
Registered: 2000-02-29
Posts: 3167
Loc: Houston TX
it was the evil in the kix2html() udf... right??
Top
#134189 - 2005-02-23 07:57 AM
Re: VarName indexer
NTDOC
Administrator
Registered: 2000-07-28
Posts: 11631
Loc: CA
Here is a small UBB post test.
Break On
<b>;ADDDED THIS LINE 01 </b>
Dim $SO ,$Pause
$SO =SetOption ('Explicit' ,'On' )
$SO =SetOption ('NoVarsInStrings' ,'On' )
$SO =SetOption ('WrapAtEOL' ,'On' )
GetMACInfo (<b>@WKSTA</b> )
<b>;ADDDED THIS LINE 02 </b>
Color 'w+r'
? 'Completed, press a key to continue...'
Get $Pause
Function GetMACInfo(optional $sComputer )
<b>;ADDDED THIS LINE 03 </b>
If Not $sComputer $sComputer =<b>@WKSTA</b> EndIf
Dim $objWMIService ,$objItem ,$colItems ,$objShare ,$wbemFlagReturnImmediately ,$wbemFlagForwardOnly
Dim $strDefaultIPGateway ,$strDNSDomainSuffixSearchOrder ,$strDNSServerSearchOrder ,$strGatewayCostMetric
Dim $strIPAddress ,$strIPSecPermitIPProtocols ,$strIPSecPermitTCPPorts ,$strIPSecPermitUDPPorts ,$strIPSubnet
Dim $strIPXFrameType ,$strIPXNetworkNumber
$wbemFlagReturnImmediately =&10
$wbemFlagForwardOnly =&20
$objWMIService = GetObject ("winmgmts:\\" +$sComputer +"\root\CIMV2" )
$colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration" ,"WQL" ,$wbemFlagReturnImmediately +$wbemFlagForwardOnly )
For Each $objItem In $colItems
$strDefaultIPGateway =Join ($objItem.DefaultIPGateway ,"," )
$strDNSDomainSuffixSearchOrder =Join ($objItem.DNSDomainSuffixSearchOrder ,"," )
$strDNSServerSearchOrder =Join ($objItem.DNSServerSearchOrder ,"," )
$strGatewayCostMetric =Join ($objItem.GatewayCostMetric ,"," )
$strIPAddress =Join ($objItem.IPAddress ,"," )
$strIPSecPermitIPProtocols =Join ($objItem.IPSecPermitIPProtocols ,"," )
$strIPSecPermitTCPPorts =Join ($objItem.IPSecPermitTCPPorts ,"," )
$strIPSecPermitUDPPorts =Join ($objItem.IPSecPermitUDPPorts ,"," )
$strIPSubnet =Join ($objItem.IPSubnet ,"," )
$strIPXFrameType =Join ($objItem.IPXFrameType ,"," )
$strIPXNetworkNumber =Join ($objItem.IPXNetworkNumber ,"," )
? "Caption: " + $objItem.Caption
? "Description: " + $objItem.Description
? "Index: " + $objItem.Index
? "IPAddress: " + $strIPAddress
? "IPSubnet: " + $strIPSubnet
? "DefaultIPGateway: " + $strDefaultIPGateway
? "MACAddress: " + $objItem.MACAddress
? "DNSDomainSuffixSearchOrder: " + $strDNSDomainSuffixSearchOrder
? "DNSHostName: " + $objItem.DNSHostName
? "DNSServerSearchOrder: " + $strDNSServerSearchOrder
? "ServiceName: " + $objItem.ServiceName
? "WINSPrimaryServer: " + $objItem.WINSPrimaryServer
? "WINSSecondaryServer: " + $objItem.WINSSecondaryServer
?
Next
EndFunction
Edited by NTDOC (2005-02-23 08:00 AM )
Top
#134191 - 2005-02-23 08:11 AM
Re: VarName indexer
NTDOC_TEST
Lurker
Registered: 2005-02-23
Posts: 3
Okay testing with a test account
There is no choice for posting type when replying.
Okay, I logged on with a normal user account and you CAN NOT edit the HTML post as it will screw it up.
You can not add any text or anything, you can't delete all the text and add HTML as it will still destroy the code.
Currently logged on with an Admin account on Korg I can add/edit/delete and everything looks, works fine with PostPrep.
So the culprit appears to be even more weird coding behavior of UBB Threads and NOT PostPrep.
Well, appears to show/mean that at least Mods can use PostPrep and still come back and edit okay - or is it still only Admins
Break On
Dim $SO ,CHANGED THIS LINE WHILE LOGGED IN TO KORG WITH AN ADMIN ACCOUNT
$SO =SetOption ('Explicit' ,'On' )
$SO =SetOption ('NoVarsInStrings' ,'On' )
$SO =SetOption ('WrapAtEOL' ,'On' )
GetMACInfo (@WKSTA )
Color 'w+r'
? 'Completed, press a key to continue...'
Get $Pause
Function GetMACInfo(optional $sComputer )
If Not $sComputer $sComputer =@WKSTA EndIf
Dim $objWMIService ,$objItem ,$colItems ,$objShare ,$wbemFlagReturnImmediately ,$wbemFlagForwardOnly
Dim $strDefaultIPGateway ,$strDNSDomainSuffixSearchOrder ,$strDNSServerSearchOrder ,$strGatewayCostMetric
Dim $strIPAddress ,$strIPSecPermitIPProtocols ,$strIPSecPermitTCPPorts ,$strIPSecPermitUDPPorts ,$strIPSubnet
Dim $strIPXFrameType ,$strIPXNetworkNumber
$wbemFlagReturnImmediately =&10
$wbemFlagForwardOnly =&20
$objWMIService = GetObject ("winmgmts:\\" +$sComputer +"\root\CIMV2" )
$colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration" ,"WQL" ,$wbemFlagReturnImmediately +$wbemFlagForwardOnly )
For Each $objItem In $colItems
$strDefaultIPGateway =Join ($objItem.DefaultIPGateway ,"," )
$strDNSDomainSuffixSearchOrder =Join ($objItem.DNSDomainSuffixSearchOrder ,"," )
$strDNSServerSearchOrder =Join ($objItem.DNSServerSearchOrder ,"," )
$strGatewayCostMetric =Join ($objItem.GatewayCostMetric ,"," )
$strIPAddress =Join ($objItem.IPAddress ,"," )
$strIPSecPermitIPProtocols =Join ($objItem.IPSecPermitIPProtocols ,"," )
$strIPSecPermitTCPPorts =Join ($objItem.IPSecPermitTCPPorts ,"," )
$strIPSecPermitUDPPorts =Join ($objItem.IPSecPermitUDPPorts ,"," )
$strIPSubnet =Join ($objItem.IPSubnet ,"," )
$strIPXFrameType =Join ($objItem.IPXFrameType ,"," )
$strIPXNetworkNumber =Join ($objItem.IPXNetworkNumber ,"," )
? "Caption: " + $objItem.Caption
? "Description: " + $objItem.Description
? "Index: " + $objItem.Index
? "IPAddress: " + $strIPAddress
? "IPSubnet: " + $strIPSubnet
? "DefaultIPGateway: " + $strDefaultIPGateway
? "MACAddress: " + $objItem.MACAddress
? "DNSDomainSuffixSearchOrder: " + $strDNSDomainSuffixSearchOrder
? "DNSHostName: " + $objItem.DNSHostName
? "DNSServerSearchOrder: " + $strDNSServerSearchOrder
? "ServiceName: " + $objItem.ServiceName
? "WINSPrimaryServer: " + $objItem.WINSPrimaryServer
? "WINSSecondaryServer: " + $objItem.WINSSecondaryServer
?
Next
EndFunction
Break On
Dim $SO ,$Pause
$SO =SetOption ('Explicit' ,'On' )
$SO =SetOption ('NoVarsInStrings' ,'On' )
$SO =SetOption ('WrapAtEOL' ,'On' )
GetMACInfo (@WKSTA )
Color 'w+r'
? 'Completed, press a key to continue...'
Get $Pause
Function GetMACInfo(optional $sComputer )
If Not $sComputer $sComputer =@WKSTA EndIf
Dim $objWMIService ,$objItem ,$colItems ,$objShare ,$wbemFlagReturnImmediately ,$wbemFlagForwardOnly
Dim $strDefaultIPGateway ,$strDNSDomainSuffixSearchOrder ,$strDNSServerSearchOrder ,$strGatewayCostMetric
Dim $strIPAddress ,$strIPSecPermitIPProtocols ,$strIPSecPermitTCPPorts ,$strIPSecPermitUDPPorts ,$strIPSubnet
Dim $strIPXFrameType ,$strIPXNetworkNumber
$wbemFlagReturnImmediately =&10
$wbemFlagForwardOnly =&20
$objWMIService = GetObject ("winmgmts:\\" +$sComputer +"\root\CIMV2" )
$colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration" ,"WQL" ,$wbemFlagReturnImmediately +$wbemFlagForwardOnly )
For Each $objItem In $colItems
$strDefaultIPGateway =Join ($objItem.DefaultIPGateway ,"," )
$strDNSDomainSuffixSearchOrder =Join ($objItem.DNSDomainSuffixSearchOrder ,"," )
$strDNSServerSearchOrder =Join ($objItem.DNSServerSearchOrder ,"," )
$strGatewayCostMetric =Join ($objItem.GatewayCostMetric ,"," )
$strIPAddress =Join ($objItem.IPAddress ,"," )
$strIPSecPermitIPProtocols =Join ($objItem.IPSecPermitIPProtocols ,"," )
$strIPSecPermitTCPPorts =Join ($objItem.IPSecPermitTCPPorts ,"," )
$strIPSecPermitUDPPorts =Join ($objItem.IPSecPermitUDPPorts ,"," )
$strIPSubnet =Join ($objItem.IPSubnet ,"," )
$strIPXFrameType =Join ($objItem.IPXFrameType ,"," )
$strIPXNetworkNumber =Join ($objItem.IPXNetworkNumber ,"," )
? "Caption: " + $objItem.Caption
? "Description: " + $objItem.Description
? "Index: " + $objItem.Index
? "IPAddress: " + $strIPAddress
? "IPSubnet: " + $strIPSubnet
? "DefaultIPGateway: " + $strDefaultIPGateway
? "MACAddress: " + $objItem.MACAddress
? "DNSDomainSuffixSearchOrder: " + $strDNSDomainSuffixSearchOrder
? "DNSHostName: " + $objItem.DNSHostName
? "DNSServerSearchOrder: " + $strDNSServerSearchOrder
? "ServiceName: " + $objItem.ServiceName
? "WINSPrimaryServer: " + $objItem.WINSPrimaryServer
? "WINSSecondaryServer: " + $objItem.WINSSecondaryServer
?
Next
EndFunction
Break On
Dim $SO ,$Pause
$SO =SetOption ('Explicit' ,'On' )
$SO =SetOption ('NoVarsInStrings' ,'On' )
$SO =SetOption ('WrapAtEOL' ,'On' )
GetMACInfo (@WKSTA )
Color 'w+r'
? 'Completed, press a key to continue...'
Get $Pause
Function GetMACInfo(optional $sComputer )
If Not $sComputer $sComputer =@WKSTA EndIf
Dim $objWMIService ,$objItem ,$colItems ,$objShare ,$wbemFlagReturnImmediately ,$wbemFlagForwardOnly
Dim $strDefaultIPGateway ,$strDNSDomainSuffixSearchOrder ,$strDNSServerSearchOrder ,$strGatewayCostMetric
Dim $strIPAddress ,$strIPSecPermitIPProtocols ,$strIPSecPermitTCPPorts ,$strIPSecPermitUDPPorts ,$strIPSubnet
Dim $strIPXFrameType ,$strIPXNetworkNumber
$wbemFlagReturnImmediately =&10
$wbemFlagForwardOnly =&20
$objWMIService = GetObject ("winmgmts:\\" +$sComputer +"\root\CIMV2" )
$colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration" ,"WQL" ,$wbemFlagReturnImmediately +$wbemFlagForwardOnly )
For Each $objItem In $colItems
$strDefaultIPGateway =Join ($objItem.DefaultIPGateway ,"," )
$strDNSDomainSuffixSearchOrder =Join ($objItem.DNSDomainSuffixSearchOrder ,"," )
$strDNSServerSearchOrder =Join ($objItem.DNSServerSearchOrder ,"," )
$strGatewayCostMetric =Join ($objItem.GatewayCostMetric ,"," )
$strIPAddress =Join ($objItem.IPAddress ,"," )
$strIPSecPermitIPProtocols =Join ($objItem.IPSecPermitIPProtocols ,"," )
$strIPSecPermitTCPPorts =Join ($objItem.IPSecPermitTCPPorts ,"," )
$strIPSecPermitUDPPorts =Join ($objItem.IPSecPermitUDPPorts ,"," )
$strIPSubnet =Join ($objItem.IPSubnet ,"," )
$strIPXFrameType =Join ($objItem.IPXFrameType ,"," )
$strIPXNetworkNumber =Join ($objItem.IPXNetworkNumber ,"," )
? "Caption: " + $objItem.Caption
? "Description: " + $objItem.Description
? "Index: " + $objItem.Index
? "IPAddress: " + $strIPAddress
? "IPSubnet: " + $strIPSubnet
? "DefaultIPGateway: " + $strDefaultIPGateway
? "MACAddress: " + $objItem.MACAddress
? "DNSDomainSuffixSearchOrder: " + $strDNSDomainSuffixSearchOrder
? "DNSHostName: " + $objItem.DNSHostName
? "DNSServerSearchOrder: " + $strDNSServerSearchOrder
? "ServiceName: " + $objItem.ServiceName
? "WINSPrimaryServer: " + $objItem.WINSPrimaryServer
? "WINSSecondaryServer: " + $objItem.WINSSecondaryServer
?
Next
EndFunction
Break On
Dim $SO ,$Pause
$SO =SetOption ('Explicit' ,'On' )
$SO =SetOption ('NoVarsInStrings' ,'On' )
$SO =SetOption ('WrapAtEOL' ,'On' )
GetMACInfo (@WKSTA )
Color 'w+r'
? 'Completed, press a key to continue...'
Get $Pause
Function GetMACInfo(optional $sComputer )
If Not $sComputer $sComputer =@WKSTA EndIf
Dim $objWMIService ,$objItem ,$colItems ,$objShare ,$wbemFlagReturnImmediately ,$wbemFlagForwardOnly
Dim $strDefaultIPGateway ,$strDNSDomainSuffixSearchOrder ,$strDNSServerSearchOrder ,$strGatewayCostMetric
Dim $strIPAddress ,$strIPSecPermitIPProtocols ,$strIPSecPermitTCPPorts ,$strIPSecPermitUDPPorts ,$strIPSubnet
Dim $strIPXFrameType ,$strIPXNetworkNumber
$wbemFlagReturnImmediately =&10
$wbemFlagForwardOnly =&20
$objWMIService = GetObject ("winmgmts:\\" +$sComputer +"\root\CIMV2" )
$colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration" ,"WQL" ,$wbemFlagReturnImmediately +$wbemFlagForwardOnly )
For Each $objItem In $colItems
$strDefaultIPGateway =Join ($objItem.DefaultIPGateway ,"," )
$strDNSDomainSuffixSearchOrder =Join ($objItem.DNSDomainSuffixSearchOrder ,"," )
$strDNSServerSearchOrder =Join ($objItem.DNSServerSearchOrder ,"," )
$strGatewayCostMetric =Join ($objItem.GatewayCostMetric ,"," )
$strIPAddress =Join ($objItem.IPAddress ,"," )
$strIPSecPermitIPProtocols =Join ($objItem.IPSecPermitIPProtocols ,"," )
$strIPSecPermitTCPPorts =Join ($objItem.IPSecPermitTCPPorts ,"," )
$strIPSecPermitUDPPorts =Join ($objItem.IPSecPermitUDPPorts ,"," )
$strIPSubnet =Join ($objItem.IPSubnet ,"," )
$strIPXFrameType =Join ($objItem.IPXFrameType ,"," )
$strIPXNetworkNumber =Join ($objItem.IPXNetworkNumber ,"," )
? "Caption: " + $objItem.Caption
? "Description: " + $objItem.Description
? "Index: " + $objItem.Index
? "IPAddress: " + $strIPAddress
? "IPSubnet: " + $strIPSubnet
? "DefaultIPGateway: " + $strDefaultIPGateway
? "MACAddress: " + $objItem.MACAddress
? "DNSDomainSuffixSearchOrder: " + $strDNSDomainSuffixSearchOrder
? "DNSHostName: " + $objItem.DNSHostName
? "DNSServerSearchOrder: " + $strDNSServerSearchOrder
? "ServiceName: " + $objItem.ServiceName
? "WINSPrimaryServer: " + $objItem.WINSPrimaryServer
? "WINSSecondaryServer: " + $objItem.WINSSecondaryServer
?
Next
EndFunction
If OPEN (1 ,"%temp%\computerattribs.txt" , 5 )= 0
$out = WriteLine (1 , $strComp +"*" +$strLocation +"*" +$strDescription +"*" +$strOS +"*" +$strOSVer +"*" +$strOSSP +"*" +@crlf )
$x = CLOSE (1 )
EndIf
Next
Function ModifyLogonScript($DN ,$Script )
Dim $User , $Users
$Users = GetObject ('LDAP://' +$DN )
For Each $User In $Users
If $user.class = "USER"
If $User.loginscript < > $Script
? "Acct " +$User.SamAccountName +" = " + $User.loginscript + " < -> " + $Script
EndIf
$user.loginscript =$Script
$user.SetInfo
EndIf
Next
EndFunction
Edited by NTDOC (2005-02-23 08:29 AM )
Top
#134192 - 2005-02-23 08:14 AM
Re: VarName indexer
NTDOC_TEST
Lurker
Registered: 2005-02-23
Posts: 3
Okay will try some UBB posting too, but remove the HTML from it.Break On Dim $SO ,$Pause $SO =SetOption ('Explicit' ,'On' )$SO =SetOption ('NoVarsInStrings' ,'On' )$SO =SetOption ('WrapAtEOL' ,'On' ) Function ModifyLogonScript($DN ,$Script )Dim $User , $Users $Users = GetObject ('LDAP://' +$DN )For Each $User In $Users If $user.class = "USER" If $User.loginscript < > $Script ? "Acct " +$User.SamAccountName +" = " + $User.loginscript + " < -> " + $Script EndIf $user.loginscript =$Script $user.SetInfo EndIf Next EndFunction
Top
#134195 - 2005-02-23 03:03 PM
Re: VarName indexer
Kdyer
KiX Supporter
Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
Doc/Glenn, I am intersted.. Can you send me the code in e-mail? Thanks, Kent
Top
#134196 - 2005-02-23 04:41 PM
Re: VarName indexer
Glenn Barnas
KiX Supporter
Registered: 2003-01-28
Posts: 4402
Loc: New Jersey
We're still cleaning it up, but here's the current code. It generates a VarNames.txt in the same folder as your source file. This only works in HTM conversions due to a problem with the UBB parser that I haven't had time to fix yet.
;; KixGenerated: 2005/02/23 - 10:31:05
; UBB PostPrep 1.0.3.3 (Engine threads revision 1.0.1)
; ----------------------------------------------------------------------------------------------
; MINIMUM REQUIREMENTS
;
; KIXTART 4.20 (WKiX32)
; KIXFORMS 2.3.0 Beta 3 (build 41)
; ----------------------------------------------------------------------------------------------
; AUTHORs
; Jochen Polster - Form, Controls, Design, Codestarter
; Jooel Nieminen - Conversion Engine !
; ----------------------------------------------------------------------------------------------
; ACKNOWLEDGEMENTS
; Shawn Tassie (for Kixforms of course!)
; Richard Howarth (for pointing out the < br>-tag Issue and for being such a dude)
; All KiXtart Enthusiasts for which we wrote this
; ----------------------------------------------------------------------------------------------
; VERSION HISTORY
;
; 1.0.3.4 - 02/20/2005 Glenn Barnas - modularized source, updated conversion engines
; to support HTM & UBB, added variable name logging feature
;
; 1.0.3.3 - 06/06/2004 converted to support ubbThreads
; http://www.kixtart.org/ubbthreads/editpost.php?Cat=&Board=UBB13&Number=119546
;
; 1.0.3.2 - 09/25/2003 Form now remembers last size (somehow lost in 1.0.3.1)
; http://www.kixtart.org/cgi-bin/ultimatebb.cgi?ubb=get_topic&f=13&t=000687
;
; 1.0.3.1 - 09/25/2003 Fixed to reflect changed Anchor Properties, new engine added
; http://www.kixtart.org/board/ultimatebb.php?ubb=get_topic;f=13;t=000686
;
; 1.0.3 - 03/17/2003 Form now resizable
; http://www.kixtart.org/board/ultimatebb.php?ubb=get_topic;f=13;t=000568
;
; 1.0.2 - 03/10/2003 replaced Buttons with ToolButtons
; http://www.kixtart.org/board/ultimatebb.php?ubb=get_topic;f=13;t=000562
;
; 1.0.1 - 01/28/2003 bug-fixes to conversion engine, optional WordWrap added
; http://www.kixtart.org/board/ultimatebb.php?ubb=get_topic;f=13;t=000512
;
; 1.0 - 01/27/2003 Initial worthwhile release
; http://www.kixtart.org/board/ultimatebb.php?ubb=get_topic;f=13;t=000510
;
; 0.9 A - different very buggy Alpha releases not worth to mention
;
; 0.9 P - Preview Version(s) discussed on kixtart.org Bulletin board
; http://www.kixtart.org/board/ultimatebb.php?ubb=get_topic;f=13;t=000426
; ----------------------------------------------------------------------------------------------
break on
$ = setascii ("on" )
$ReqForms = 41
$Version = "1.0.3.4gb"
$Wordfile = @scriptdir + '\Wordfile.ini'
$Kix = substr (@kix ,1 ,4 )
if $Kix < "4.20"
$ = messagebox ('This Script requires at least KiXtart 4.20 ' ,'Version Check' ,4112 )
quit ()
endif
Global $SourceText [0 ], $TargetText [0 ], $Colors [7 ], $PathOpen , $PathSave , $ShowStatistics , $wrap , $WordFile
$Sections = "Comments" ,"Strings" ,"Numbers" ,"Commands" ,"Functions" ,"Macros" ,"Operators" ,"Variables"
;;
;;======================================================================
;;
;;FUNCTION EnumIni()
;;
;;ACTION Enumerates sections or keys of an INI file
;;
;;AUTHOR Glenn Barnas / FRIT-EROC
;;
;;SYNTAX EnumIni($File [, $Section])
;;
;;PARAMETERS $File - REQUIRED, path/name of INI file to examine
;;
;; $Section - OPTIONAL, Section name to parse
;;
;;REMARKS Returns an array containing the sections in an INI file, or
;; an array of each key in a specified section. Errors are returned
;; for non-existant files or INI file reads. If the specified file
;; contains no sections, or the specified section contains no keys,
;; a successful exit is returned with no array. Thus, a For Each loop
;; will properly perform no iterations if no data is returned.
;; CAUTION - no error is returned for empty files, or nonexistant sections.
;;
;;RETURNS Array of sections or keys in a section
;;
;;DEPENDENCIES none
;;
;;TESTED WITH Kix 4.2+, NT4, W2K, WXP, W2K3
;;
;;EXAMPLES $Sections = EnumIni('.\config.ini')
;; $Keys = EnumIni('.\config.ini', 'Common')
;
Function EnumIni($fSrcFile , OPTIONAL $fSectName )
Dim $fSectList
; die if the file doesn't exist
If Exist ($fSrcFile ) = 0
Exit 2
EndIf
; Get the list of sections or keys
$fSectList = ReadProfileString ($fSrcFile , $fSectName , '' )
; Return if error occurred
If @ERROR
Exit @ERROR
EndIf
; If len is >0, return an array of sections
; If len is 0, either no sections or keys exist, or an invalid section name was specified. Return nothing.
If Len ($fSectList ) > 0
$EnumIni = Split (left ($fSectList ,len ($fSectList )-1 ), Chr (10 ))
EndIF
Exit 0
EndFunction
; initialization
if exist ($Wordfile )
for $i = 0 to 7
$Colors [$i ] = readprofilestring ($Wordfile ,$Sections [$i ],"Color" )
next
$CTable = split (readprofilestring ($Wordfile ,"ColorTable" ,"Colors" ),',' )
$Commands = split (readprofilestring ($Wordfile ,"Commands" , "words" ),',' )
$Functions = split (readprofilestring ($Wordfile ,"Functions" , "words" ),',' )
$PathOpen = readprofilestring ($Wordfile ,"Global" ,"PathOpen" )
$PathSave = readprofilestring ($Wordfile ,"Global" ,"PathSave" )
$ShowStatistics = val (readprofilestring ($Wordfile ,"Global" ,"ShowStats" ))
$wrap = val (readprofilestring ($Wordfile ,"Global" ,"WordWrap" ))
$LastSize = split (readprofilestring ($Wordfile ,"Global" ,"FormSize" ),',' )
$LastLocation = split (readprofilestring ($Wordfile ,"Global" ,"FormLocation" ),',' )
if not ubound ($Commands )
or not ubound ($Functions )
or not ubound ($Colors )
$ = messagebox ('This Script requires a consistent wordfile' ,'File check' ,4112 )
quit ()
endif
else
$ = messagebox ('This Script requires a wordfile ' ,'File missing' ,4112 )
quit ()
endif
$frm = createobject ("Kixtart.Form" )
if val ($frm.Build ) < $ReqForms
$ = messagebox ('This Script requires Kixforms build ' + $ReqForms ,'Version check' ,4112 )
quit ()
endif
$frm.Size = 810 ,620
$frm.Caption = "Universal Postprep " + $Version
$frm.Icon = @scriptdir + "\Kix.ico"
$frm.Resizable = 1
$frm.MaxButton = 1
$frm.MinimumSize = 700 ,620
$frm.SizeGripStyle = 1
$frm.ClipChildren = 1
$lblPowered = $frm.Label ("Powered by" , $frm.ClientWidth -98 ,$frm.ClientHeight -90 ,90 ,20 )
$lblPowered.FontName = "Comic sans MS"
$lblPowered.FontBold = 1
$lblPowered.FontSize = 11
$lblPowered.ForeColor = Kixtart
$lblPowered.Anchor = 2 +8
$lblBuild = $frm.Label (" KiXtart " + $kix + @crlf
+ " KiXforms build " + $frm.Build ,
$frm.ClientWidth -98 ,$frm.ClientHeight -70 ,90 ,32 )
$lblBuild.FontName = "Comic sans MS"
$lblBuild.FontBold = 1
$lblBuild.FontSize = 7
$lblBuild.ForeColor = Kixtart
$lblBuild.Anchor = 2 +8
$hypBoard = $frm.HyperLink ("Bulletin Board" ,$frm.ClientWidth -87 , $frm.ClientHeight -37 , 100 , 20 )
$hypBoard.Value = "http://www.kixtart.org/ubbthreads/ubbthreads.php?Cat="
$hypBoard.ToolTip = $hypBoard.Value
$hypBoard.Anchor = 2 +8
$txtSource = $frm.TextBox (,3 ,5 )
$txtSource.Right = $frm.ClientWidth -110
$txtSource.Bottom = $frm.ClientHeight /2 -3
$txtSource.ScrollBars = 3
$txtSource.AcceptsTab = 1
$txtSource.FontName = "Courier New"
$txtSource.FontSize = 8
$txtSource.MultiLine = 1
$txtSource.Anchor = 1 +2 +4 +8
$txtSource.OnChange = "TextSource_Change()"
$txtSource.MaxLength = 0
$txtTarget = $frm.TextBox (,3 ,5 + $txtSource.Bottom )
$txtTarget.Right = $frm.ClientWidth - 110
$txtTarget.Bottom = $frm.ClientHeight - 20
$txtTarget.ScrollBars = 3
$txtTarget.FontName = "Courier New"
$txtTarget.FontSize = 8
$txtTarget.MultiLine = 1
$txtTarget.Anchor = 2 +4 +8
$txtTarget.MaxLength = 0
$lblStatus1 = $frm.Label ("" ,3 ,$frm.ClientHeight -17 ,$frm.ClientWidth /3 *2 ,16 )
$lblStatus1.BorderStyle = 5
$lblStatus1.Anchor = 2 +4 +8
$lblStatus2 = $frm.Label ("" ,$lblStatus1.Right +3 ,$frm.ClientHeight -17 ,$frm.ClientWidth /3 -6 ,16 )
$lblStatus2.BorderStyle = 5
$lblStatus2.Anchor = 2 +8
$prg = $lblStatus2.ProgressBar
$prg.Size = $frm.ClientWidth /3 -8 ,13
$prg.Style = 1
$prg.BorderStyle = 0
$prg.Value = 0
$prg.ForeColor = DarkBlue
$prg.Visible = 0
$btnOpen = btn_Create ($frm ,"Open..." ,$txtTarget.Right +9 ,5 ,92 ,25 ,1 ,5 ,"btnOpen_Click()" ,1 ,"1+8" )
$btnClear = btn_Create ($frm ,"Clear" ,$txtTarget.Right +9 ,$btnOpen.Bottom ,92 ,25 ,44 ,5 ,"btnClear_Click()" ,0 ,"1+8" )
$btnKeyWords = btn_Create ($frm ,"Keywords..." ,$txtTarget.Right +9 ,$btnClear.Bottom ,92 ,25 ,41 ,5 ,"btnKeyWords_Click()" ,1 ,"1+8" )
$btnColor = btn_Create ($frm ,"Set Colors..." ,$txtTarget.Right +9 ,$btnKeyWords.Bottom ,92 ,25 ,17 ,5 ,"btnColor_Click()" ,1 ,"1+8" )
$fraFormat = $frm.GroupBox ("Convert:" ,$txtTarget.Right +9 ,$btnColor.Bottom +5 ,92 ,239 )
$fraFormat.Anchor = 1 +8
dim $Top
$Top = 17
for $i = 0 to ubound ($Sections )
$ = execute ("$$txtFormat$i = $$fraFormat.TextBox($$Sections[$i],6,$Top,80,20)" )
$ = execute ("$$txtFormat$i.Caption = $$Sections[$i]" )
$ = execute ("$$txtFormat$i.ForeColor = &" +readprofilestring ($Wordfile ,$Sections [$i ],'Color' ))
$ = execute ("$$txtFormat$i.FontBold = -" +val (readprofilestring ($Wordfile ,$Sections [$i ],'Bold' )))
$ = execute ("$$txtFormat$i.Locked = 2" )
$ = execute ("$$txtFormat$i.TabStop = 0" )
$ = execute ("$$Top = $$txtFormat$i.Bottom + 3" )
next
$chkShowStats = $fraFormat.CheckBox ("Statistics" ,6 , $txtFormat7.Bottom +4 ,80 ,15 )
$chkShowStats.Value = $ShowStatistics
$chkShowStats.onclick = "chkShowStats_CLick($$chkShowStats.Value)"
$chkWordWrap = $fraFormat.CheckBox ("Borders" ,6 , $chkShowStats.Bottom +2 ,80 ,15 )
$chkWordWrap.Value = $wrap
$chkWordWrap.onclick = "chkWordWrap_CLick($$chkWordWrap.Value)"
$btnConvertH = btn_Create ($frm ,"Cvt HTM" ,$txtTarget.Right +9 ,$fraFormat.Bottom +10 ,92 ,25 ,36 ,5 ,"btnConvert_Click(0)" ,0 ,"1+8" )
$btnConvertU = btn_Create ($frm ,"Cvt UBB" ,$txtTarget.Right +9 ,$btnConvertH.Bottom , 92 ,25 ,36 ,5 ,"btnConvert_Click(1)" ,0 ,"1+8" )
$btnPreview = btn_Create ($frm ,"Preview" ,$txtTarget.Right +9 ,$btnConvertU.Bottom , 92 ,25 ,43 ,5 ,"btnPreview_Click($$txtTarget.text)" ,0 ,"1+8" )
$btnCopy = btn_Create ($frm ,"Copy All" ,$txtTarget.Right +9 ,$btnPreview.Bottom , 92 ,25 ,7 ,5 ,"btnCopy_Click()" ,0 ,"1+8" )
$btnSave = btn_Create ($frm ,"Save As..." ,$txtTarget.Right +9 ,$btnCopy.Bottom , 92 ,25 ,3 ,5 ,"btnSave_Click()" ,0 ,"1+8" )
if vartype ($LastSize ) > 8192 and ubound ($LastSize ) > 0
if val ($LastSize [0 ]) > 810 and val ($LastSize [1 ]) > 620
$frm.Size = val ($LastSize [0 ]),val ($LastSize [1 ])
endif
endif
$txtSource.SetFocus
if vartype ($LastLocation ) > 8192 and ubound ($LastLocation ) > 0
$frm.Location = val ($LastLocation [0 ]),val ($LastLocation [1 ])
else
$frm.Center
endif
$frm.Show
while $frm.Visible
$ = execute ($frm.DoEvents )
loop
$ = writeprofilestring ($Wordfile ,"Global" ,"FormSize" ,"" + $frm.ClientWidth + "," + $frm.ClientHeight )
$ = writeprofilestring ($Wordfile ,"Global" ,"FormLocation" ,"" + $frm.Left + "," + $frm.Top )
; Form Functions
function btn_Create($ob ,$z1 ,$z2 ,$z3 ,$z4 ,$z5 ,$z6 ,$z7 ,$z8 ,$z9 ,$z10 )
dim $ ,$!
$ = "$$"
$! = execute ('$$btn_Create=$$ob.ToolButton("$z1",$z2,$z3,$z4,$z5)
$$btn_Create.Icon=$z6
$$btn_Create.BorderStyle=$z7
$$btn_Create.onclick="$$z8"
$$btn_Create.Enabled=$z9
$$btn_Create.Anchor=$z10
' )
endfunction
function btnAdd_Click()
$frmAdd = createobject ("Kixtart.Form" )
$frmAdd.Caption = "Add " + $cboSel.Text
$frmAdd.Size = 200 ,100
$frmAdd.Location = $frm.Right -400 ,$frm.Top +142
$frmAdd.SysMenu = 0
$txtAdd = $frmAdd.TextBox ("" ,13 ,10 ,150 ,20 )
$txtAdd.OnChange = "if $$txtAdd.Text < > '' and ascan($$" +$cboSel.Text +",$$txtAdd.Text)=-1 $$btnOk.Enabled=1 else $$btnOk.Enabled=0 endif"
$btnOk = $frmAdd.Button ("OK" ,$frmAdd.ClientWidth /2 -83 ,$frmAdd.ClientHeight -30 ,80 ,25 )
$btnOk.BorderStyle = 5
$btnOk.Enabled = 0
$btnOk.onclick = "$$=$$lvw.Items.Add($$txtAdd.Text)
redim $$" +$cboSel.Text +"[0]
for $$i=1 to $$lvw.Items.Count redim preserve $$" +$cboSel.Text +"[$$i-1] $$" +$cboSel.Text +"[$$i-1]=$$lvw.Items($$i-1).Text next
$$=writeprofilestring($$Wordfile,$$cboSel.Text,'Words',join($$" +$cboSel.Text +",','))
for each $$item in $$lvw.SelectedItems $$Item.Selected = 0 next
$$txtAdd.SetFocus $$txtAdd.Text=''"
$btnEx = $frmAdd.Button ("Exit" ,$frmAdd.CLientWidth /2 +3 ,$frmAdd.ClientHeight -30 ,80 ,25 )
$btnEx.BorderStyle = 5
$btnEx.Cancel = 1
$btnEx.onclick = "$$frmAdd=0"
$frmAdd.Show
$txtAdd.SetFocus
while $frmAdd.Visible
$ = execute ($frmAdd.DoEvents )
loop
endfunction
function btnClear_Click()
$txtSource.Text = ''
$txtTarget.Text = ''
$lblStatus1.Text = ''
$btnSave.Enabled = 0
$btnCopy.Enabled = 0
$btnClear.Enabled = 0
$btnConvertH.Enabled = 0
$btnConvertU.Enabled = 0
$btnPreview.Enabled = 0
endfunction
function btnColor_Click()
dim $Left , $Top , $index
$index = 0 $Left = 7 $Top = 19
$frmDialog1 = createobject ("Kixtart.Form" )
$frmDialog1.Size = 245 ,233
$frmDialog1.Caption = "Set Colors"
$frmDialog1.Location = $frm.Right - $frmDialog1.ClientWidth - 120 , $frm.Top + $btnColor.Bottom - 2
$frmDialog1.ForeColor = MediumBlue
$frmDialog1.DrawWidth = 2
$frmDialog1.SysMenu = 0
$cboStrings = $frmDialog1.ComboBox
$cboStrings.List = $Sections
$cboStrings.Location = 5 ,8
$cboStrings.ListIndex = 0
$cboStrings.Style = 1
$cboStrings.Default = 1
$cboStrings.onclick = "$$index = cboStrings_CLick($$Index,$$cboStrings.ListIndex)"
$chkBold = $frmDialog1.CheckBox ("Bold" ,112 ,11 ,50 ,15 )
$chkBold.onclick = "chkBold_Click($$index)"
$chkBold.Value = val (readprofilestring ($Wordfile ,$Sections [0 ],"Bold" ))
$btnClose1 = $frmDialog1.Button ("Close" ,$frmDialog1.ClientWidth -75 ,7 ,70 ,25 )
$btnClose1.BorderStyle = 5
$btnClose1.Cancel = 1
$btnClose1.onclick = "$$frmDialog1=0"
$fraColor = $frmDialog1.Frame ("Colors:" ,5 ,40 ,230 ,163 )
for $i = 0 to ubound ($CTable )
$ = execute ("$$lblColor$i = $$fraColor.Label('',$Left,$Top,20,18)" )
$ = execute ("$$lblColor$i.BorderStyle = 2" )
$ = execute ("$$lblColor$i.BackColor = &" + $CTable [$i ])
$ = execute ("$$lblColor$i.onclick = 'Color_Change($$$$index,$i)'" )
$Left = $Left + 28
if $Left = 231
$Left = 7
$Top = $Top + 24
endif
next
$e = ascan ($CTable , $Colors [$index ])
$ = execute ("$$frmDialog1.Rectangle($$lblColor$e.Left+3,$$lblColor$e.Top+38,24,22)" )
$frm.Enabled = 0
$frmDialog1.Show
while $frmDialog1.Visible
$ = execute ($frmDialog1.DoEvents )
loop
$frm.Enabled = 1
endfunction
function btnConvert_Click($Format )
dim $StartTime , $EndTime , $HColors [7 ], $out , $i ,$fb
$txtSource.Locked = 2
$frm.MousePointer = 11
$prg.Visible = 1
$btnOpen.Enabled = 0
$btnKeyWords.Enabled = 0
$btnColor.Enabled = 0
$btnPreview.Enabled = 0
$btnCopy.Enabled = 0
$btnSave.Enabled = 0
$btnClear.Enabled = 0
for $i = 0 to ubound ($Colors )
$HColors [$i ] = right ($Colors [$i ],2 ) + substr ($Colors [$i ],3 ,2 ) + left ($Colors [$i ],2 )
$ = execute ("$$fb=''+$$fb+$$txtFormat$i.FontBold+' '" )
next
$fb =split (left ($fb ,len ($fb )-1 ))
$StartTime = @time + ':' + @msecs
If $Format
$out = kix2ubb ($txtSource.Text ,$HColors ,$fb ,$Functions ,$Commands ,$wrap )
Else
$out = kix2htm ($txtSource.Text ,$HColors ,$fb ,$Functions ,$Commands ,$wrap
"+code.substring(i,code.indexOf("\n",i))+" \n";
i=code.indexOf("\n",i);
break;
case '/':
if (code.charAt(i+1)=='*') {
tagged+="
"+code.substring(i,code.indexOf("*/",i)+1)+" ";
i=code.indexOf("*/",i)+1;
} else {
tagged+=c;
}
break;
case '<':
if (code.charAt(i+1)=='a' && code.charAt(i+2)==' ') {
tagged+=code.substring(i-1,code.indexOf("",i))+"";
i=code.indexOf("",i)+2;
} else {
if (code.charAt(i+1)=='b' && code.charAt(i+2)=='>') {
tagged+="
";
i+=2;
} else {
if (code.charAt(i+1)=='/' && code.charAt(i+2)=='b') {
tagged+=" ";
i+=3;
} else {
//tagged+=c;
tagged+="<";
}
}
}
break;
case '"':
tagged+="
"+code.substring(i,code.indexOf('"',i+1)+1)+" ";
if (code.indexOf('"',i+1) > -1) i=code.indexOf('"',i+1);
break;
case "'":
tagged+="
"+code.substring(i,code.indexOf("'",i+1)+1)+" ";
if (code.indexOf("'",i+1) > -1) i=code.indexOf("'",i+1);
break;
case '$':
var _var = code.substring(i).match(/\$[a-zA-Z0-9_!]*/);
tagged+="
" + _var[0] + " ";
i+= (_var[0].length) - 1;
break;
case '@':
var _var = code.substring(i).match(/\@[a-zA-Z0-9_!]*/);
if (-1 < macro.indexOf(_var[0].toUpperCase())) {
tagged+="
" + _var[0] + " ";
} else {
tagged+="
" + _var[0] + " ";
}
i+= (_var[0].length) - 1;
break;
case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
// var _var = code.substring(i).match(/\d/);
var _var = code.substring(i).match(/[0-9\.]+/);
tagged+="
" + _var[0] + " ";
i+= (_var[0].length) - 1;
break;
default:
var _var = c.match(/\w/);
if (_var == c) {
_var = code.substring(i).match(/[a-zA-Z0-9_!]*/);
if (-1 < comma.indexOf(_var[0].toLowerCase())) {
tagged+="
" + _var[0] + " ";
} else if (-1 < funcs.indexOf(_var[0].toLowerCase())) {
tagged+="
" + _var[0] + " ";
} else if (-1 < ops.indexOf(_var[0].toLowerCase())) {
tagged+="
" + _var[0] + " ";
} else {
tagged+="
" + _var[0] + " ";
}
i+= (_var[0].length) - 1;
} else {
tagged+="
" + c + " ";
}
}
}
return tagged;
}
var codes = document.getElementsByClassName("ubbcode-body");
var heads = document.getElementsByClassName("ubbcode-header");
for (var i=0; i < codes.length; i++) {
// if (codes[i].innerHTML.indexOf("[postprep") ==-1) {
if (heads[i].innerHTML.indexOf("Code:") !=-1) {
// heads[i].innerHTML=heads[i].innerHTML + '
';
// }
// } else {
heads[i].innerHTML=heads[i].innerHTML + '
';
}
}
for (var i=0, maxi = codes.length; i < maxi; i++) {
var tempah = codes[i].innerHTML;
if (tempah.indexOf("
") !=-1) {
tempah=tempah.substring(tempah.indexOf("")+5,tempah.indexOf(" "));
codes[i].innerHTML="" + dotag(tempah.substring()) + " ";
}
}
//var pres = document.getElementsByTagName("pre");
//for (var i=0, maxi = pres.length; i < maxi; i++) {
// var tempah = pres[i].innerHTML;
// if (tempah.indexOf("[postprep") !=-1) {
// tempah=tempah.substring((tempah.indexOf("]",tempah.indexOf("[postprep"))+1));
// pres[i].innerHTML=dotag(tempah);
// }
//}
function ytag(which_one) {
var codes = document.getElementsByClassName("ubbcode-body");
var thisone = codes[which_one].innerHTML;
codes[which_one].innerHTML = "" + dotag(thisone.substring(5+thisone.indexOf(""),thisone.indexOf(" "))) + " ";
var heads = document.getElementsByClassName("ubbcode-header");
heads[which_one].innerHTML = "Code:" + ' ';
}
function ttag(which_one) {
var codes = document.getElementsByClassName("ubbcode-body");
var thisone = "";
if (codes[which_one].innerText != undefined) {
thisone += codes[which_one].innerText;
} else {
thisone += codes[which_one].textContent;
}
codes[which_one].innerHTML = thisone + " ";
var heads = document.getElementsByClassName("ubbcode-header");
heads[which_one].innerHTML = "Code:" + ' ';
}