#cs ---------------------------------------------------------------------------- # Copyright 2009 Pierre-Yves Gosset. # # This copyrighted material is made available to anyone wishing to use, modify, # copy, or redistribute it subject to the terms and conditions of the GNU # General Public License v.2. This program is distributed in the hope that it # will be useful, but WITHOUT ANY WARRANTY expressed or implied, including the # implied warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the GNU General Public License for more details. You should have # received a copy of the GNU General Public License along with this program; if # not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth # Floor, Boston, MA 02110-1301, USA. # # Author(s): Pierre-Yves Gosset #ce ---------------------------------------------------------------------------- Opt("GUIOnEventMode", 1) #Region ### START Koda GUI section ### Form=I:\framakey_work\webapps\PortableWordPress-fr\Other\Framakey-WebAppManager\config.kxf $ConfigWindow = GUICreate("Configuration avancée", 492, 421, 243, 133) GUISetOnEvent($GUI_EVENT_CLOSE, "ConfigWindowClose") GUISetOnEvent($GUI_EVENT_MINIMIZE, "ConfigWindowMinimize") GUISetOnEvent($GUI_EVENT_MAXIMIZE, "ConfigWindowMaximize") GUISetOnEvent($GUI_EVENT_RESTORE, "ConfigWindowRestore") $Group1 = GUICtrlCreateGroup("ZMWS", 24, 88, 441, 153) $InputZmwsPort = GUICtrlCreateInput("80", 327, 142, 57, 21) GUICtrlSetOnEvent($InputZmwsPort, "InputZmwsPortChange") $BtnZmwsStatus = GUICtrlCreateButton(l("status"), 408, 104, 43, 25, 0) GUICtrlSetBkColor($BtnZmwsStatus, 0xFF0000) GUICtrlSetOnEvent($BtnZmwsStatus, "BtnZmwsStatusClick") $BtnZmwsStop = GUICtrlCreateButton(l("Stop"), 136, 104, 83, 25, 0) GUICtrlSetOnEvent($BtnZmwsStop, "BtnZmwsStopClick") $BtnZmwsRestart = GUICtrlCreateButton(l("Re_start"), 40, 104, 83, 25, 0) GUICtrlSetOnEvent($BtnZmwsRestart, "BtnZmwsRestartClick") $CbxZmwsNolog = GUICtrlCreateCheckbox("nolog", 40, 144, 89, 17) GUICtrlSetOnEvent($CbxZmwsNolog, "CbxZmwsNologClick") $CbxZmwsBrowse = GUICtrlCreateCheckbox("browse", 40, 176, 89, 17) GUICtrlSetOnEvent($CbxZmwsBrowse, "CbxZmwsBrowseClick") $CbxZmwsClosebrowser = GUICtrlCreateCheckbox("closebrowser", 40, 208, 89, 17) GUICtrlSetOnEvent($CbxZmwsClosebrowser, "CbxZmwsClosebrowserClick") $CbxZmwsQuiet = GUICtrlCreateCheckbox("quiet", 160, 144, 73, 17) GUICtrlSetOnEvent($CbxZmwsQuiet, "CbxZmwsQuietClick") $CbxZmwsNoIndex = GUICtrlCreateCheckbox("noindex", 160, 208, 73, 17) GUICtrlSetOnEvent($CbxZmwsNoIndex, "CbxZmwsNoIndexClick") $CbxZmwsUniqueport = GUICtrlCreateCheckbox("unique-port", 160, 176, 73, 17) GUICtrlSetOnEvent($CbxZmwsUniqueport, "CbxZmwsUniqueportClick") $CbxZmwsBind = GUICtrlCreateCheckbox("bind", 256, 208, 49, 17) GUICtrlSetOnEvent($CbxZmwsBind, "CbxZmwsBindClick") $InputZmwsWebdir = GUICtrlCreateInput($zmws_webdir, 328, 176, 129, 21) GUICtrlSetOnEvent($InputZmwsWebdir, "InputZmwsWebdirChange") $CbxZmwsWebdir = GUICtrlCreateCheckbox("webdir", 256, 176, 65, 17) GUICtrlSetOnEvent($CbxZmwsWebdir, "CbxZmwsWebdirClick") $BtnZmwStopAll = GUICtrlCreateButton(l("StopAll"), 232, 104, 83, 25, 0) GUICtrlSetOnEvent($BtnZmwStopAll, "BtnZmwStopAllClick") GUICtrlSetTip($BtnZmwStopAll, l("StopAllZMWS")) $CbxZmwsPort = GUICtrlCreateCheckbox("Port", 256, 144, 65, 17) GUICtrlSetOnEvent($CbxZmwsPort, "CbxZmwsPortClick") $ZmwsIPAddressBind = _GUICtrlIpAddress_Create($ConfigWindow, 328, 208, 130, 21) _GUICtrlIpAddress_Set($ZmwsIPAddressBind, "127.0.0.1") GUICtrlCreateGroup("", -99, -99, 1, 1) $Group2 = GUICtrlCreateGroup(l("MySQL"), 24, 248, 441, 121) $BtnMysqLStatus = GUICtrlCreateButton(l("Status"), 408, 264, 43, 25, 0) GUICtrlSetBkColor($BtnMysqLStatus, 0xFF0000) GUICtrlSetOnEvent($BtnMysqLStatus, "BtnMysqLStatusClick") $BtnMysqlStop = GUICtrlCreateButton(l("Stop"), 136, 264, 83, 25, 0) GUICtrlSetOnEvent($BtnMysqlStop, "BtnMysqlStopClick") $BtnMysqlRestart = GUICtrlCreateButton(l("Re_Start"), 40, 264, 83, 25, 0) GUICtrlSetOnEvent($BtnMysqlRestart, "BtnMysqlRestartClick") $InputMysqLPort = GUICtrlCreateInput("3306", 101, 306, 60, 21) GUICtrlSetOnEvent($InputMysqLPort, "InputMysqLPortChange") $CbxMysqlPort = GUICtrlCreateCheckbox("Port", 40, 308, 60, 17) GUICtrlSetOnEvent($CbxMysqlPort, "CbxMysqlPortClick") $LabelMysqlSynchronize = GUICtrlCreateLabel(l("SynchronizeMySQLPort"), 40, 336, 280, 25, 0) ;GUICtrlSetOnEvent($BtnMysqlSynchronize, "BtnMysqlSynchronizeClick") $BtnSynchroHelp = GUICtrlCreateButton("?", 285, 326, 27, 25, 0) GUICtrlSetOnEvent($BtnSynchroHelp, "BtnSynchroHelpClick") $BtnMysqlStopAll = GUICtrlCreateButton("Tout arrêter", 232, 264, 83, 25, 0) GUICtrlSetOnEvent($BtnMysqlStopAll, "BtnMysqlStopAllClick") GUICtrlSetTip($BtnMysqlStopAll, l("StopAllMySQL")) GUICtrlCreateGroup("", -99, -99, 1, 1) $GroupFKWAM = GUICtrlCreateGroup(l("FKWAM"), 24, 16, 441, 65) $ComboLang = GUICtrlCreateCombo("", 89, 42, 57, 25) GUICtrlSetOnEvent($ComboLang, "ComboLangChange") $LabelLang = GUICtrlCreateLabel(l("Language"), 40, 44, 40, 17) GUICtrlSetOnEvent($LabelLang, "LabelLangClick") $CbxDisplayHelp = GUICtrlCreateCheckbox(l("DisplayHelp"), 256, 43, 169, 17) GUICtrlSetOnEvent($CbxDisplayHelp, "CbxDisplayHelpClick") GUICtrlCreateGroup("", -99, -99, 1, 1) $LabelCfgHelp = GUICtrlCreateLabel(l("HelpStep1")&@CRLF&l("HelpStep2")&@CRLF&l("HelpStep3"), 20, 374, 255, 80, 0) $BtnSave = GUICtrlCreateButton(l("Save"), 384, 384, 75, 25, 0) GUICtrlSetOnEvent($BtnSave, "BtnSaveClick") $BtnCancel = GUICtrlCreateButton(l("Cancel"), 296, 384, 75, 25, 0) GUICtrlSetOnEvent($BtnCancel, "BtnCancelClick") GUISetState(@SW_HIDE) #EndRegion ### END Koda GUI section ### $configWindowIsOpen=False Func BtnCancelClick() GUISetState(@SW_HIDE, $ConfigWindow) $configWindowIsOpen=false EndFunc Func BtnMysqlRestartClick() GUICtrlSetBkColor($BtnMysqlStatus, 0xFFCC00) MySQL_RESTART() EndFunc Func BtnMysqLStatusClick() EndFunc Func BtnMysqlStopAllClick() GUICtrlSetBkColor($BtnMysqlStatus, 0xFFCC00) While ProcessExists($mysql_bin_name)>0 $pid=ProcessExists($mysql_bin_name) ProcessClose($pid) TrayTip(l("MYSQL"), l("StopMysqlServerNb") & $pid,3) Sleep(2000) WEnd EmptyTrayTip() EndFunc Func BtnMysqlStopClick() GUICtrlSetBkColor($BtnMysqlStatus, 0xFFCC00) MySQL_STOP() EndFunc Func BtnMysqlSynchronizeClick() ;NotYetImplemented() EndFunc Func BtnSaveClick() SAVE_CONFIG_WINDOW_VARIABLES() MsgBox(32,l("ConfigurationModification"), l("ModificationsSaved")) EndFunc Func BtnSynchroHelpClick() InfoShowWindow(l("SynchroHelp")) EndFunc Func BtnZmwsRestartClick() GUICtrlSetBkColor($BtnZmwsStatus, 0xFFCC00) ZMWS_START() EndFunc Func BtnZmwsStatusClick() EndFunc Func BtnZmwsStopClick() GUICtrlSetBkColor($BtnZmwsStatus, 0xFFCC00) ZMWS_STOP() EndFunc Func BtnZmwStopAllClick() GUICtrlSetBkColor($BtnZmwsStatus, 0xFFCC00) While ProcessExists($zmws_bin_name)>0 $pid=ProcessExists($zmws_bin_name) ProcessClose($pid) TrayTip(l("ZMWS"), l("StopZmwsServerNb") & $pid,3) Sleep(2000) WEnd EmptyTrayTip() EndFunc Func CbxDisplayHelpClick() ;NotYetImplemented() EndFunc Func CbxZmwsBindClick() If GuiCtrlRead($CbxZmwsBind)=$GUI_CHECKED Then GUICtrlSetState($ZmwsIPAddressBind, $GUI_ENABLE) Else GUICtrlSetState($ZmwsIPAddressBind, $GUI_DISABLE) EndIf EndFunc Func CbxZmwsBrowseClick() ;NotYetImplemented() EndFunc Func CbxZmwsClosebrowserClick() ;NotYetImplemented() EndFunc Func CbxZmwsNoIndexClick() ;NotYetImplemented() EndFunc Func CbxZmwsNologClick() ;NotYetImplemented() EndFunc Func CbxZmwsPortClick() If GuiCtrlRead($CbxZmwsPort)=$GUI_CHECKED Then GUICtrlSetState($InputZmwsPort, $GUI_ENABLE) Else GUICtrlSetState($InputZmwsPort, $GUI_DISABLE) EndIf EndFunc Func CbxZmwsQuietClick() ;NotYetImplemented() EndFunc Func CbxZmwsUniqueportClick() ;NotYetImplemented() EndFunc Func CbxZmwsWebdirClick() If GuiCtrlRead($CbxZmwsWebdir)=$GUI_CHECKED Then GUICtrlSetState($InputZmwsWebdir, $GUI_ENABLE) Else GUICtrlSetState($InputZmwsWebdir, $GUI_DISABLE) EndIf NotYetImplemented() EndFunc Func ComboLangChange() ;NotYetImplemented() EndFunc Func ConfigWindowClose() GUISetState(@SW_HIDE, $ConfigWindow) $configWindowIsOpen=false EndFunc Func ConfigWindowMaximize() EndFunc Func ConfigWindowMinimize() $configWindowIsOpen=false EndFunc Func ConfigWindowRestore() $configWindowIsOpen=True EndFunc Func InputMysqLPortChange() MsgBox(32,l("ConfigurationModification"), l("PleaseSaveAndCloseProcess") ) EndFunc Func InputZmwsPortChange() MsgBox(32,l("ConfigurationModification"), l("PleaseSaveAndCloseProcess") ) EndFunc Func InputZmwsWebdirChange() MsgBox(32,l("ConfigurationModification"), l("PleaseSaveAndCloseProcess") ) EndFunc Func LabelLangClick() EndFunc Func CbxMysqlPortClick() If GuiCtrlRead($CbxMysqlPort)=$GUI_CHECKED Then GUICtrlSetState($InputMysqLPort, $GUI_ENABLE) Else GUICtrlSetState($InputMysqLPort, $GUI_DISABLE) EndIf EndFunc Func NotYetImplemented() MsgBox(32, l("NotYetImplemented"), l("NotYetImplementedText")) EndFunc Func ConfigWindowUpdate() TCPStartup ( ) While $configWindowIsOpen=True if ZMWS_GET_STATUS() = true Then GUICtrlSetBkColor($BtnZmwsStatus, 0x00FF00) Else GUICtrlSetBkColor($BtnZmwsStatus, 0xFF0000) EndIf ;MsgBox(32,$HTTP_LOOPBACK,TCPConnect( $HTTP_LOOPBACK, 3306)) if TCPConnect( $HTTP_LOOPBACK, $mysql_port)<>-1 Then GUICtrlSetBkColor($BtnMysqLStatus, 0x00FF00) Else GUICtrlSetBkColor($BtnMysqLStatus, 0xFF0000) EndIf Sleep(5000) WEnd TCPShutdown ( ) EndFunc ; ================ Get configuration variables ======================== Func GET_WAM_CONFIG_VARIABLES() $WAMlang = IniRead($config_file, "Config", "Lang", GUESSLANG()) $WAMLog = IniRead($config_file, "Config", "Log", False) $WAMSplashTimeout = IniRead($config_file, "Config", "SplashTimeout", 0) $DisplayHelp=IniRead($config_file, "Config", "DisplayHelp", "False") $mysql_port = IniRead($config_file, "MYSQL", "port", "Auto") $zmws_bin_name = IniRead($config_file, "ZMWS", "bin_name", "ZazouMiniWebServer.exe") $zmws_port = IniRead($config_file, "ZMWS", "port", "80") $zmws_browse = IniRead($config_file, "ZMWS", "browse", "False") $zmws_unique_port = IniRead($config_file, "ZMWS", "unique-port", "False") $zmws_quiet = IniRead($config_file, "ZMWS", "quiet", "False") $zmws_nolog = IniRead($config_file, "ZMWS", "nolog", "False") $zmws_closebrowser = IniRead($config_file, "ZMWS", "closebrowser", "False") $zmws_noindex = IniRead($config_file, "ZMWS", "noindex", "False") $zmws_webdir = IniRead($config_file, "ZMWS", "webdir", "False") $zmws_bind = IniRead($config_file, "ZMWS", "bind", "False") $zmws_stops = IniRead($config_file, "ZMWS", "stop", "False") GUICtrlSetData($ComboLang, GetLangList(), $WAMlang) If $DisplayHelp<>"False" Then GuiCtrlSetState($CbxDisplayHelp, $GUI_CHECKED) EndIf if $mysql_port<>"Auto" Then $mysql_port_option =" --port="&$mysql_port GUICtrlSetData($InputMysqLPort, $mysql_port) GuiCtrlSetState($InputMysqLPort, $GUI_ENABLE) GuiCtrlSetState($CbxMysqlPort, $GUI_CHECKED) Else $mysql_port_option="" ;$mysql_port=$mysql_default_port GUICtrlSetData($InputMysqLPort, $mysql_port) GuiCtrlSetState($InputMysqLPort, $GUI_DISABLE) GuiCtrlSetState($CbxMysqlPort, $GUI_UNCHECKED) EndIf if $zmws_port<>"False" Then $zmws_port_option =" -p "&$zmws_port GUICtrlSetData($InputZmwsPort, $zmws_port) GuiCtrlSetState($InputZmwsPort, $GUI_ENABLE) GuiCtrlSetState($CbxZmwsPort, $GUI_CHECKED) Else $zmws_port_option="" $zmws_port="80" GUICtrlSetData($InputZmwsPort, $zmws_port) GuiCtrlSetState($InputZmwsPort, $GUI_DISABLE) GuiCtrlSetState($CbxZmwsPort, $GUI_UNCHECKED) EndIf If $zmws_browse<>"False" Then $zmws_browse_option=" -browse" GuiCtrlSetState($CbxZmwsBrowse, $GUI_CHECKED) Else $zmws_browse_option="" GuiCtrlSetState($CbxZmwsBrowse, $GUI_UNCHECKED) EndIf If $zmws_stops<>"False" Then $zmws_stops_option = " -stop" ;GuiCtrlSetState($CbxZmwsBrowse, $GUI_CHECKED) Else $zmws_stops_option="" ;GuiCtrlSetState($CbxZmwsBrowse, $GUI_UNCHECKED) EndIf If $zmws_unique_port<>"False" Then $zmws_unique_port_option = " -unique-port" GuiCtrlSetState($CbxZmwsUniqueport, $GUI_CHECKED) Else $zmws_unique_port_option="" GuiCtrlSetState($CbxZmwsUniqueport, $GUI_UNCHECKED) EndIf If $zmws_quiet<>"False" Then $zmws_quiet_option = " -quiet" GuiCtrlSetState($CbxZmwsQuiet, $GUI_CHECKED) Else $zmws_quiet_option="" GuiCtrlSetState($CbxZmwsQuiet, $GUI_UNCHECKED) EndIf If $zmws_nolog<>"False" Then $zmws_nolog_option = " -nolog" GuiCtrlSetState($CbxZmwsNolog, $GUI_CHECKED) Else $zmws_nolog_option="" GuiCtrlSetState($CbxZmwsNolog, $GUI_UNCHECKED) EndIf If $zmws_closebrowser<>"False" Then $zmws_closebrowser_option = " -closebrowser" GuiCtrlSetState($CbxZmwsClosebrowser, $GUI_CHECKED) Else $zmws_closebrowser_option="" GuiCtrlSetState($CbxZmwsClosebrowser, $GUI_UNCHECKED) EndIf If $zmws_noindex<>"False" Then $zmws_noindex_option = " -noindex" GuiCtrlSetState($CbxZmwsNoIndex, $GUI_CHECKED) Else $zmws_noindex_option="" GuiCtrlSetState($CbxZmwsNoIndex, $GUI_UNCHECKED) EndIf If $zmws_webdir<>"False" Then ;$zmws_webdir_option = " -webdir " & $zmws_webdir GuiCtrlSetState($CbxZmwsWebdir, $GUI_CHECKED) GuiCtrlSetState($InputZmwsWebdir, $GUI_ENABLE) Else ;$zmws_webdir_option=" -webdir " & $zmws_default_webdir GuiCtrlSetState($CbxZmwsWebdir, $GUI_UNCHECKED) GuiCtrlSetState($InputZmwsWebdir, $GUI_DISABLE) EndIf If $zmws_bind<>"False" Then $zmws_bind_options = " -bind "& $zmws_bind _GUICtrlIpAddress_Set($ZmwsIPAddressBind, $zmws_bind) GuiCtrlSetState($CbxZmwsBind, $GUI_CHECKED) GuiCtrlSetState($ZmwsIPAddressBind, $GUI_ENABLE) Else $zmws_bind_options="" GuiCtrlSetState($CbxZmwsBind, $GUI_UNCHECKED) GuiCtrlSetState($ZmwsIPAddressBind, $GUI_DISABLE) _GUICtrlIpAddress_Set($ZmwsIPAddressBind, $HTTP_LOOPBACK) EndIf Return EndFunc Func SAVE_CONFIG_WINDOW_VARIABLES() SAVE_CONFIG_WINDOW_ITEM($ComboLang, "Config", "Lang", GuiCtrlRead($ComboLang), GuiCtrlRead($ComboLang) ) SAVE_CONFIG_WINDOW_ITEM($CbxDisplayHelp, "Config", "DisplayHelp") SAVE_CONFIG_WINDOW_ITEM($CbxZmwsNolog, "ZMWS", "nolog") SAVE_CONFIG_WINDOW_ITEM($CbxZmwsUniqueport, "ZMWS", "unique-port") SAVE_CONFIG_WINDOW_ITEM($CbxZmwsClosebrowser, "ZMWS", "closebrowser") SAVE_CONFIG_WINDOW_ITEM($CbxZmwsNoIndex, "ZMWS", "noindex") SAVE_CONFIG_WINDOW_ITEM($CbxZmwsBrowse, "ZMWS", "browse") SAVE_CONFIG_WINDOW_ITEM($CbxZmwsQuiet, "ZMWS", "quiet") SAVE_CONFIG_WINDOW_ITEM($CbxZmwsPort, "ZMWS", "port", GuiCtrlRead($InputZmwsPort)) SAVE_CONFIG_WINDOW_ITEM($CbxZmwsBind, "ZMWS", "bind", _GUICtrlIpAddress_Get($ZmwsIPAddressBind)) SAVE_CONFIG_WINDOW_ITEM($CbxZmwsWebdir, "ZMWS", "webdir", GuiCtrlRead($InputZmwsWebdir)) SAVE_CONFIG_WINDOW_ITEM($CbxMysqlPort, "MYSQL", "port", GuiCtrlRead($InputMysqLPort)) GET_WAM_CONFIG_VARIABLES() ; we reload all values EndFunc Func SAVE_CONFIG_WINDOW_ITEM($item, $section, $key, $valueIfTrue="True", $valueIfFalse="False", $condition="1") If GuiCtrlRead($item)=$condition Then IniWrite($config_file, $section, $key, $valueIfTrue) Else IniWrite($config_file, $section, $key, $valueIfFalse) EndIf EndFunc