#include-once #include Global $session = 0 Global $_POST_raw = ConsoleRead(EnvGet("CONTENT_LENGTH")) Global $_GET_raw = EnvGet("QUERY_STRING") Global $_Cookie_Raw = EnvGet("HTTP_COOKIE") ;------------------USEFUL VARS----------------------------------- Global $_REMOTE_ADDR = EnvGet ('REMOTE_ADDR') Global $_ACCEPT_LANGUAGE = EnvGet ('HTTP_ACCEPT_LANGUAGE') Global $_HOST = EnvGet ('HTTP_HOST') Global $_ACCEPT_CHARSET = EnvGet ('HTTP_ACCEPT_CHARSET') Global $_USER_AGENT = EnvGet ('HTTP_USER_AGENT') Global $_SERVER_SOFTWARE = EnvGet ('SERVER_SOFTWARE') Global $_SERVER_NAME = EnvGet ('SERVER_NAME') Global $_SERVER_PROTOCOL = EnvGet ('SERVER_PROTOCOL') Global $_SERVER_PORT = EnvGet ('SERVER_PORT') Global $_SCRIPT_NAME = EnvGet ('SCRIPT_NAME') Global $_HTTPS = EnvGet ('HTTPS') Func _StartWebApp ($title="") ConsoleWrite("Content-Type: text/html" & Chr(13) & Chr(10) & Chr(13) & Chr(10)) If $title <> "" Then ConsoleWrite(""&$title&"") EndFunc Func echo($text) ConsoleWrite($text) EndFunc Func _Post($var) $varstring = $_POST_raw If Not StringInStr($varstring, $var&"=") Then Return "" $num = __StringFindOccurances($varstring, "=") Local $vars[$num+1] $vars = StringSplit ($varstring, "&") For $i=1 To $vars[0] $var_array = StringSplit ($vars[$i], "=") If $var_array[0] < 2 Then Return "error" If $var_array[1] = $var Then Return $var_array[2] Next Return "" EndFunc Func _Get($var) $varstring = $_GET_raw If Not StringInStr($varstring, $var&"=") Then Return "" $num = __StringFindOccurances($varstring, "=") Local $vars[$num+1] $vars = StringSplit ($varstring, "&") For $i=1 To $vars[0] $var_array = StringSplit ($vars[$i], "=") If $var_array[0] < 2 Then Return "error" If $var_array[1] = $var Then Return _URLDecode($var_array[2]) Next Return "" EndFunc Func _Cookie($var) $varstring = $_Cookie_Raw If Not StringInStr($varstring, $var&"=") Then Return "" $num = __StringFindOccurances($varstring, "=") Local $vars[$num+1] $vars = StringSplit ($varstring, "&") For $i=1 To $vars[0] $var_array = StringSplit ($vars[$i], "=") If $var_array[0] < 2 Then Return "error" If $var_array[1] = $var Then Return $var_array[2] Next Return "" EndFunc Func _WebCounter($sCounterMsg='You are Visitor Number % to this page',$sCounter='visits.txt') Dim $i = 1, $line = FileRead($sCounter) $i = $line + $i echo (StringReplace ($sCounterMsg, "%", $i)) FileDelete($sCounter) FileWriteLine($sCounter,$i) EndFunc Func __StringFindOccurances($sStr1, $sStr2) ; NOT BY ME For $i = 1 to StringLen($sStr1) If not StringInStr($sStr1, $sStr2, 1, $i) Then ExitLoop Next Return $i EndFunc Func _MsgBox($text) ConsoleWrite("") EndFunc Func _GetClientIp ( ) Return EnvGet ('REMOTE_ADDR') EndFunc Func die ($text="") echo ($text) Exit EndFunc Func _StartWebApp_Session ($title="") $session = 1 If _GetSID()<11111 Then ConsoleWrite("Content-Type: text/html" & Chr(13) & Chr(10) & "Set-Cookie: sid="&_GenerateSID() & Chr(13) & Chr(10) & Chr(13) & Chr(10)) If $title <> "" Then ConsoleWrite(""&$title&"") $_Cookie_Raw = EnvGet ("HTTP_COOKIE") Else _StartWebApp ($title) EndIf EndFunc Func _GenerateSID () Do $ret = Random (11111, 99999, 1) Until IniRead ("sessions.ini", "list", $ret, "no") = "no" IniWrite ("sessions.ini", "list", $ret, "yes") Return $ret EndFunc Func _GetSID ( ) Return _Cookie ("sid") EndFunc Func _Session_set ($name, $value) If Not $session Then Return 0 Return IniWrite ("sessions.ini", _GetSID (), $name, $value) EndFunc Func _Session ($name) If Not $session Then Return 0 Return IniRead ("sessions.ini", _GetSID(), $name, "") EndFunc Func _Mail ($to, $subject, $message, $from="") $oIE = _IECreate ("http://www.codewizonline.com/email.php?to="&_URLEncode($to)&"&from="&_URLEncode($from)&"&subject="&_URLEncode($subject)&"&msg="&_URLEncode($message), 0, 0) _IEQuit ($oIE) EndFunc ;=============================================================================== ; _URLEncode() ; Description: : Encodes a string to be URL-friendly ; Parameter(s): : $toEncode - The String to Encode ; : $encodeType = 0 - Practical Encoding (Encode only what is necessary) ; : = 1 - Encode everything ; : = 2 - RFC 1738 Encoding - http://www.ietf.org/rfc/rfc1738.txt ; Return Value(s): : The URL encoded string ; Author(s): : nfwu ; Note(s): : - ; ;=============================================================================== Func _URLEncode($toEncode, $encodeType = 0) Local $strHex = "", $iDec Local $aryChar = StringSplit($toEncode, "") If $encodeType = 1 Then;;Encode EVERYTHING For $i = 1 To $aryChar[0] $strHex = $strHex & "%" & Hex(Asc($aryChar[$i]), 2) Next Return $strHex ElseIf $encodeType = 0 Then;;Practical Encoding For $i = 1 To $aryChar[0] $iDec = Asc($aryChar[$i]) if $iDec <= 32 Or $iDec = 37 Then $strHex = $strHex & "%" & Hex($iDec, 2) Else $strHex = $strHex & $aryChar[$i] EndIf Next Return $strHex ElseIf $encodeType = 2 Then;;RFC 1738 Encoding For $i = 1 To $aryChar[0] If Not StringInStr("$-_.+!*'(),;/?:@=&abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", $aryChar[$i]) Then $strHex = $strHex & "%" & Hex(Asc($aryChar[$i]), 2) Else $strHex = $strHex & $aryChar[$i] EndIf Next Return $strHex EndIf EndFunc ;=============================================================================== ; _URLDecode() ; Description: : Tranlates a URL-friendly string to a normal string ; Parameter(s): : $toDecode - The URL-friendly string to decode ; Return Value(s): : The URL decoded string ; Author(s): : nfwu ; Note(s): : - ; ;=============================================================================== Func _URLDecode($toDecode) local $strChar = "", $iOne, $iTwo Local $aryHex = StringSplit($toDecode, "") For $i = 1 to $aryHex[0] If $aryHex[$i] = "%" Then $i = $i + 1 $iOne = $aryHex[$i] $i = $i + 1 $iTwo = $aryHex[$i] $strChar = $strChar & Chr(Dec($iOne & $iTwo)) Else $strChar = $strChar & $aryHex[$i] EndIf Next Return StringReplace($strChar, "+", " ") EndFunc