let daddy = angular.module("daddy", ["ngRoute", "ngAnimate", "ngCookies"]) // let server = "http://127.0.0.1:7001" let server = "https://www.inkletblot.com:32368" daddy.controller("bodyCtrlr", function($scope, $cookies, stateData){ $scope.state = stateData.state let user = $cookies.getObject('user') if (user == null) { stateData.logOut() } else { stateData.setUser(user) } }) daddy.controller("headerCtrlr", function($scope){ $scope.subtitle = "Inks forum." }) daddy.controller("navCtrlr", function($scope, $location, $cookies, stateData){ $scope.setLogin = () => { $location.path("/login") } $scope.setSignup = () => { $location.path("/signup") } $scope.setForum = () => { $location.path("/") stateData.setPage('forum') } $scope.setTopics = () => { $location.path("/topics") stateData.setPage('topics') } $scope.setTopicCreate = () => { $location.path("/topics/create") stateData.setPage('topics') } $scope.setCategories = () => { $location.path("/categories") stateData.setPage('categories') } $scope.setCategoryCreate = () => { $location.path("/categories/create") stateData.setPage('categories') } switch ($location.path()) { case "": case "/": $scope.setForum() break case "/topics": $scope.setTopics() // this has to be done in the controller break case "/topics/create": $scope.setTopicCreate() break case "/categories": $scope.setCategories() // this has to be done in the controller break case "/catagories/create": $scope.setCategoryCreate() break case "/login": $scope.setLogin() break case "/signup": $scope.setSignup() break } $scope.logOut = () => { stateData.logOut() } }) // naming conventions here are very confusing: // the main topics page is topic and the specific topics page is topics, by specific I mean the :topicNo one. // the same goes for categories, category is the main page and the spcefics are categories. daddy.config(function ($routeProvider) { $routeProvider.when("/", {templateUrl : "views/home.html", controller : "forumCtrlr"}) $routeProvider.when("/topics/create", {templateUrl : "views/create_topic.html", controller : "createTopicCtrlr"}) $routeProvider.when("/topics", {templateUrl : "views/topic.html", controller : "topicCtrlr"}) $routeProvider.when("/topics/:topicNo", {templateUrl : "views/topics.html", controller : "topicsCtrlr"}) $routeProvider.when("/categories/create", {templateUrl : "views/create_category.html", controller : "createCategoryCtrlr"}) $routeProvider.when("/categories", {templateUrl : "views/category.html", controller : "categoryCtrlr"}) $routeProvider.when("/categories/:catNo", {templateUrl : "views/categories.html", controller : "categoriesCtrlr"}) $routeProvider.when("/login", {templateUrl : "views/login.html", controller : "loginCtrlr"}) $routeProvider.when("/signup", {templateUrl : "views/signup.html", controller : "signupCtrlr"}) $routeProvider.otherwise({template : "

404 ... no clue fam ... try something else?

"}) }) daddy.factory('stateData', function($cookies){ let state = { page : "forum", title : "Forum;", user : { userNo : null, userName : null, userLevel : 0 } } setPage = (newPage) => { state.page = newPage switch (state.page) { case "forum": state.title = "Forum;" break case "topics": state.title = "Topics;" break case "categories": state.title = "Categories;" break } } logOut = () => { $cookies.remove('user') state.user.userNo = null state.user.userName = null state.user.userLevel = 0 } setUser = (user) => { state.user.sessionID = user.sessionID state.user.userNo = user.userNo state.user.userName = user.userName state.user.userLevel = user.userLevel } return { state : state, setPage : setPage, logOut: logOut, setUser: setUser } }) function getDate() { let date = new Date() let out = date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDate() + " - " + date.getHours() + ":" + date.getMinutes() return out } function validateEmail(email) { var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return re.test(String(email).toLowerCase()); }