Browse Source

Split by packages

Vova Tkach 6 years ago
parent
commit
3e2dcb2b10
3 changed files with 88 additions and 32 deletions
  1. 86 32
      engine.go
  2. 1 0
      engine/backend/backend.go
  3. 1 0
      engine/frontend/frontend.go

+ 86 - 32
engine.go

@@ -5,47 +5,36 @@ import (
 	"net/http"
 	"strings"
 
-	_ "github.com/go-sql-driver/mysql"
+	//_ "github.com/go-sql-driver/mysql"
 
 	"golang-fave/engine/wrapper"
-
 	templates "golang-fave/engine/wrapper/resources/templates"
 	utils "golang-fave/engine/wrapper/utils"
 )
 
 func handlerPage(wrapper *wrapper.Wrapper) bool {
-	if !(wrapper.R.URL.Path == "/cp" || strings.HasPrefix(wrapper.R.URL.Path, "/cp/")) {
-		return handlerFrontEnd(wrapper)
-	} else {
-		return handlerBackEnd(wrapper)
-	}
-}
+	mysql_conf_exists := utils.IsMySqlConfigExists(wrapper.DirVHostHome)
 
-func handlerFrontEnd(wrapper *wrapper.Wrapper) bool {
-	// Redirect to CP, if MySQL config file is not exists
-	if !utils.IsMySqlConfigExists(wrapper.DirVHostHome) {
-		(*wrapper.W).Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
-		http.Redirect(*wrapper.W, wrapper.R, wrapper.R.URL.Scheme+"://"+wrapper.R.Host+"/cp/", 302)
-		return true
+	is_front_end := true
+	if wrapper.R.URL.Path == "/cp" || strings.HasPrefix(wrapper.R.URL.Path, "/cp/") {
+		is_front_end = false
 	}
 
-	// Connect to database
-
-	// Else logic here
-	if wrapper.R.URL.Path == "/" {
-		return wrapper.TmplFrontEnd("index", nil)
-	}
-
-	return false
-}
-
-func handlerBackEnd(wrapper *wrapper.Wrapper) bool {
-	// MySQL config page
-	if !utils.IsMySqlConfigExists(wrapper.DirVHostHome) {
-		return wrapper.TmplBackEnd(templates.CpMySQL, nil)
+	if is_front_end {
+		// Front-end
+		if !mysql_conf_exists {
+			(*wrapper.W).Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
+			http.Redirect(*wrapper.W, wrapper.R, wrapper.R.URL.Scheme+"://"+wrapper.R.Host+"/cp/", 302)
+			return true
+		}
+	} else {
+		// Back-end
+		if !mysql_conf_exists {
+			return wrapper.TmplBackEnd(templates.CpMySQL, nil)
+		}
 	}
 
-	// Connect to database
+	// Connect to database or show error
 	mc, err := utils.MySqlConfigRead(wrapper.DirVHostHome)
 	if wrapper.EngineErrMsgOnError(err) {
 		return true
@@ -60,8 +49,73 @@ func handlerBackEnd(wrapper *wrapper.Wrapper) bool {
 		return true
 	}
 
-	// Check if any user exists
+	//
 
-	// Login page
-	return wrapper.TmplBackEnd(templates.CpLogin, nil)
+	// Redirect to CP, if MySQL config file is not exists
+	/*
+		if !utils.IsMySqlConfigExists(wrapper.DirVHostHome) {
+			if !(wrapper.R.URL.Path == "/cp" || wrapper.R.URL.Path == "/cp/") {
+				(*wrapper.W).Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
+				http.Redirect(*wrapper.W, wrapper.R, wrapper.R.URL.Scheme+"://"+wrapper.R.Host+"/cp/", 302)
+				return true
+			}
+		}
+	*/
+
+	/*
+		if !(wrapper.R.URL.Path == "/cp" || strings.HasPrefix(wrapper.R.URL.Path, "/cp/")) {
+			return handlerFrontEnd(wrapper)
+		} else {
+			return handlerBackEnd(wrapper)
+		}
+	*/
+
+	return false
 }
+
+// func handlerFrontEnd(wrapper *wrapper.Wrapper) bool {
+// 	// Redirect to CP, if MySQL config file is not exists
+// 	/*
+// 		if !utils.IsMySqlConfigExists(wrapper.DirVHostHome) {
+// 			(*wrapper.W).Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
+// 			http.Redirect(*wrapper.W, wrapper.R, wrapper.R.URL.Scheme+"://"+wrapper.R.Host+"/cp/", 302)
+// 			return true
+// 		}
+// 	*/
+
+// 	// Connect to database
+
+// 	// Else logic here
+// 	if wrapper.R.URL.Path == "/" {
+// 		return wrapper.TmplFrontEnd("index", nil)
+// 	}
+
+// 	return false
+// }
+
+// func handlerBackEnd(wrapper *wrapper.Wrapper) bool {
+// 	// MySQL config page
+// 	if !utils.IsMySqlConfigExists(wrapper.DirVHostHome) {
+// 		return wrapper.TmplBackEnd(templates.CpMySQL, nil)
+// 	}
+
+// 	// Connect to database
+// 	mc, err := utils.MySqlConfigRead(wrapper.DirVHostHome)
+// 	if wrapper.EngineErrMsgOnError(err) {
+// 		return true
+// 	}
+// 	db, err := sql.Open("mysql", mc.User+":"+mc.Password+"@tcp("+mc.Host+":"+mc.Port+")/"+mc.Name)
+// 	if wrapper.EngineErrMsgOnError(err) {
+// 		return true
+// 	}
+// 	defer db.Close()
+// 	err = db.Ping()
+// 	if wrapper.EngineErrMsgOnError(err) {
+// 		return true
+// 	}
+
+// 	// Check if any user exists
+
+// 	// Login page
+// 	return wrapper.TmplBackEnd(templates.CpLogin, nil)
+// }

+ 1 - 0
engine/backend/backend.go

@@ -0,0 +1 @@
+package backend

+ 1 - 0
engine/frontend/frontend.go

@@ -0,0 +1 @@
+package frontend