From 7c4169374de34e29571a89b4b8548c6668cc1cc7 Mon Sep 17 00:00:00 2001 From: Axtux Date: Tue, 6 Jun 2023 16:12:53 +0200 Subject: [PATCH 1/7] fix syntax errors --- html/db.php | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/html/db.php b/html/db.php index e0388ec..ea818bc 100644 --- a/html/db.php +++ b/html/db.php @@ -1,20 +1,19 @@ $this->servername, - "username" => $this->username, - "password" => $this->password, - "database" => $this->database, - ] = include('./config.php'); - } + // Get configuration + if (file_exists('./config.php')) { + $config = include('./config.php'); + $this->servername = $config['servername']; + $this->username = $config['username']; + $this->password = $config['password']; + $this->database = $config['database']; + } // Create connection try { From 813fb1e8be96dec32af63ffb7e05e00cbf94b516 Mon Sep 17 00:00:00 2001 From: Axtux Date: Tue, 6 Jun 2023 16:14:01 +0200 Subject: [PATCH 2/7] create tables even if database exists --- html/db.php | 47 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/html/db.php b/html/db.php index ea818bc..984d111 100644 --- a/html/db.php +++ b/html/db.php @@ -21,21 +21,26 @@ function __construct() { } catch (PDOException $e) { die('Connection failed: ' . $e->getMessage()); } - - //check if database exists - $st = $this->prepare("SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '{$this->database}'"); - $st->execute(); - if($st->rowCount() <= 0) $this->create(); - else $this->query("USE `{$this->database}`"); + // eventually create schema + $this->create(); } /** - * creates a new database + * creates schema if it does not exists */ function create() { - $this->query("CREATE DATABASE `{$this->database}`"); + //check if database exists + $st = $this->prepare("SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '{$this->database}'"); + $st->execute(); + if($st->rowCount() <= 0) { + $this->query("CREATE DATABASE `{$this->database}`"); + } $this->query("USE `{$this->database}`"); - $this->query(<<prepare("SELECT 1 FROM server"); + $st->execute(); + if($st->rowCount() <= 0) { + $q = <<query(<<query($q); + } + + $st = $this->prepare("SELECT 1 FROM user"); + $st->execute(); + if($st->rowCount() <= 0) { + $q = <<query("INSERT INTO `user` (`id`, `username`, `password`, `salt`, `level`) VALUES (1, 'admin', 0xa28d2e6472c306c6c57138f5f2c6ff25498e5d3ccd9a63a1bc591f4b5fe1dedd4b4044bcf1cc0b61767f6d7ce8198d94eb432d03fa082261ab4741734f07e9b2, 0xb2c17f0341921fe13306e0d6b4c952d90ad12ce176e962f5d7f28254c51e4345accaafc5d1f003fe346ab8a1bf52330317d1007237ca8f78abd9420d4b5524a3, 3)"); +EOL; + $this->query($q); + } + + // create admin + $st = $this->prepare("SELECT admin FROM user"); + $st->execute(); + if($st->rowCount() <= 0) { + $this->query("INSERT INTO `user` (`id`, `username`, `password`, `salt`, `level`) VALUES (1, 'admin', 0xa28d2e6472c306c6c57138f5f2c6ff25498e5d3ccd9a63a1bc591f4b5fe1dedd4b4044bcf1cc0b61767f6d7ce8198d94eb432d03fa082261ab4741734f07e9b2, 0xb2c17f0341921fe13306e0d6b4c952d90ad12ce176e962f5d7f28254c51e4345accaafc5d1f003fe346ab8a1bf52330317d1007237ca8f78abd9420d4b5524a3, 3)"); + } + + } } From e0c259dddd608b78d3b43e299903c5e69ce56eb5 Mon Sep 17 00:00:00 2001 From: Axtux Date: Tue, 6 Jun 2023 16:14:30 +0200 Subject: [PATCH 3/7] fix password change --- html/login.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/html/login.php b/html/login.php index c135ea3..b9386ca 100644 --- a/html/login.php +++ b/html/login.php @@ -21,9 +21,9 @@ if ($auth->hasLevel()) { if ($_POST['newpassword'] != $_POST['newpassword2']) $toReturn['msg'] = 'passwords didnt match'; - else if ($auth->login($auth->getUsername(), $_POST['password'])) + else if (!$auth->login($auth->getUsername(), $_POST['password'])) { $toReturn['msg'] = 'wrong password'; - else { + } else { $auth->updatePassword($_POST['newpassword']); $toReturn['response'] = true; } From e9da4ba6610499c1a106a50b22d5a9464dea90ab Mon Sep 17 00:00:00 2001 From: Axtux Date: Tue, 6 Jun 2023 16:14:43 +0200 Subject: [PATCH 4/7] fix empty broadcast --- html/wake.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/html/wake.php b/html/wake.php index 625cb65..0dfa13b 100644 --- a/html/wake.php +++ b/html/wake.php @@ -8,6 +8,9 @@ } else if(isset($_POST['mac'], $_POST['broadcast'])) { $broadcast = $_POST['broadcast']; + if(empty($broadcast)) { + $broadcast = '255.255.255.255'; + } $mac_array = explode(':', $_POST['mac']); $hwaddr = ''; From cee1b2eb8f1897f8c5b4bf65fecd783c20b90bc3 Mon Sep 17 00:00:00 2001 From: Axtux Date: Tue, 6 Jun 2023 16:40:33 +0200 Subject: [PATCH 5/7] title & mobile --- html/index.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/html/index.html b/html/index.html index 733b3da..640dcba 100644 --- a/html/index.html +++ b/html/index.html @@ -1,8 +1,9 @@ - Admin Page + Wake-On-Lan + From 6ea19e1dc8ae6a27cdfb34998e7ad214db9ab190 Mon Sep 17 00:00:00 2001 From: rstefko Date: Sat, 10 Dec 2022 12:29:32 +0100 Subject: [PATCH 6/7] Added Apple Web App support --- html/index.html | 3 +++ html/wol.png | Bin 0 -> 40670 bytes 2 files changed, 3 insertions(+) create mode 100644 html/wol.png diff --git a/html/index.html b/html/index.html index 640dcba..cd3ff90 100644 --- a/html/index.html +++ b/html/index.html @@ -4,6 +4,9 @@ Wake-On-Lan + + + diff --git a/html/wol.png b/html/wol.png new file mode 100644 index 0000000000000000000000000000000000000000..8af903c80f81d855e5f474229385e271c1837e81 GIT binary patch literal 40670 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 E11w7prT_o{ literal 0 HcmV?d00001 From e22b2b952f1f0e62ec16661cd90f81a81bee5e19 Mon Sep 17 00:00:00 2001 From: Axtux Date: Tue, 6 Jun 2023 16:50:57 +0200 Subject: [PATCH 7/7] Update SQL information --- README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 867e071..f947294 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,17 @@ A simple PHP WakeOnLan UI ###### Installation 1. Clone the repo and copy the `html` folder into your webroot -2. Change the lines below in `config.php` to fit your mysql setup *(DO NOT CREATE DB)* +2. Create SQL user: + +```bash +$ sudo mysql +mysql> CREATE DATABASE 'php-wol'; +mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; +mysql> GRANT ALL PRIVILEGES ON 'php-wol'.* TO 'username'@'localhost'; +mysql> FLUSH PRIVILEGES; + +``` +4. Change the lines below in `config.php` to fit your mysql setup ``` private $servername = "localhost";