diff --git a/AvH Plan/DataFetcher.swift b/AvH Plan/DataFetcher.swift index 928ebb0..9421ddf 100644 --- a/AvH Plan/DataFetcher.swift +++ b/AvH Plan/DataFetcher.swift @@ -37,7 +37,7 @@ class DataFetcher { func doAsync(do task: String, completionHandler: @escaping (_ substitutions: [Any]) -> ()) { DispatchQueue(label: "work-queue").async { let foodUrl = "https://djd4rkn355.github.io/food.html" - let url = "https://djd4rkn355.github.io/subst.html" + let url = "https://djd4rkn355.github.io/avh_substitutions.html" Alamofire.request(url).responseString { response in if let html = response.result.value { Alamofire.request(foodUrl).responseString { response in diff --git a/AvH Plan/LoginViewController.swift b/AvH Plan/LoginViewController.swift index 57f28cb..81d048d 100644 --- a/AvH Plan/LoginViewController.swift +++ b/AvH Plan/LoginViewController.swift @@ -13,15 +13,24 @@ class LoginViewController: UIViewController, WKNavigationDelegate { @IBOutlet weak var webView: WKWebView! let prefs = UserDefaults.standard + let request = URLRequest(url: URL(string: "https://307.joomla.schule.bremen.de/index.php/component/users/#top")!) override func viewDidLoad() { super.viewDidLoad() - let request = URLRequest(url: URL(string: "https://307.joomla.schule.bremen.de/index.php/component/users/#top")!) - self.webView.load(request) + self.reloadLoginPage(in: webView) self.webView.navigationDelegate = self } + func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) { + let page = webView.url?.absoluteString + if (page != "https://307.joomla.schule.bremen.de/index.php/component/users/profile?Itemid=171" + && page != "https://307.joomla.schule.bremen.de/index.php/component/users/#top" + && page != "https://307.joomla.schule.bremen.de/index.php/component/users/?task=user.login&Itemid=171") { + self.reloadLoginPage(in: webView) + } + } + func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { self.webView.configuration.websiteDataStore.httpCookieStore.getAllCookies { cookies in for cookie in cookies { @@ -32,6 +41,10 @@ class LoginViewController: UIViewController, WKNavigationDelegate { } } + private func reloadLoginPage(in webView: WKWebView) { + self.webView.load(request) + } + private func success() { self.prefs.set(true, forKey: "logged_in") if let s = storyboard?.instantiateViewController(withIdentifier: "FirstTime") as? UINavigationController {