From b99e033860b9a10a345d26fae156e51630c8ef4c Mon Sep 17 00:00:00 2001 From: Dave Umrysh Date: Mon, 22 Mar 2021 07:53:02 -0600 Subject: [PATCH] sigs/search --- get_sign.php | 119 +++++++++++++++++++++++++++++++++++++ qr_search.html | 142 ++++++++++++++++++++++++++++++++++++++++++++ save_sign.php | 155 +++++++++++++++++++++++++++++++++++++++++++++++++ signature.html | 129 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 545 insertions(+) create mode 100644 get_sign.php create mode 100644 qr_search.html create mode 100644 save_sign.php create mode 100644 signature.html diff --git a/get_sign.php b/get_sign.php new file mode 100644 index 0000000..a508f65 --- /dev/null +++ b/get_sign.php @@ -0,0 +1,119 @@ +0) + { + + // Update last active + $query='UPDATE devices SET last_active = "'.date('Y-m-d').'" WHERE api_key="' . mysqli_real_escape_string($connect, $apiKey) . '"'; + $result2 = mysqli_query ( $connect, $query ); + + + $row = mysqli_fetch_assoc($result); + $user_id = $row["user_id"]; + + // Is this a Matrix employee? + $query='SELECT user_type FROM users WHERE user_id="' . mysqli_real_escape_string($connect, $user_id) . '"'; + $result = mysqli_query ( $connect, $query ); + if ( ! $result ) + { + echo '{ "message": "Database error", "data": {}}'; + exit(); + } + if(mysqli_num_rows($result)>0) + { + $row = mysqli_fetch_assoc($result); + $user_type = $row["user_type"]; + + if(!($user_type=="0" || $user_type=="1")){ + // Else, are they allowed to see this document? + $query='SELECT site_id FROM serviceorder WHERE service_id = "'.mysqli_real_escape_string($connect, $service_id).'"'; + $result = mysqli_query ( $connect, $query ); + if ( ! $result ) + { + echo '{ "message": "Database error", "data": {}}'; + exit(); + } + if(mysqli_num_rows($result)>0) + { + + $row2 = mysqli_fetch_assoc($result); + + $query='SELECT site_id FROM siteaccess WHERE user_id="' . mysqli_real_escape_string($connect, $user_id) . '" AND site_id = "'.mysqli_real_escape_string($connect, $row2["site_id"]).'"'; + $result = mysqli_query ( $connect, $query ); + if ( ! $result ) + { + echo '{ "message": "Database error", "data": {}}'; + exit(); + } + if(mysqli_num_rows($result)<1) + { + echo '{ "message": "You do not have access to this site", "data": {}}'; + exit(); + } + }else{ + echo '{ "message": "Invalid Site", "data": {}}'; + exit(); + } + + } + + + $query='SELECT file_id FROM servicesignatures WHERE service_id="' . mysqli_real_escape_string($connect, $service_id) . '"'; + $result = mysqli_query ( $connect, $query ); + if ( ! $result ) + { + echo '{ "message": "Database error", "data": {}}'; + exit(); + } + if(mysqli_num_rows($result)>0) + { + $row = mysqli_fetch_assoc($result); + $file_id = $row["file_id"]; + + $file = $path . $file_id; + + echo '{ "message": "", "data": {"img":"data:image/png;base64,'.base64_encode(file_get_contents($file)).'"}}'; + + }else{ + echo '{ "message": "", "data": {"img":""}}'; + } + }else{ + echo '{ "message": "Database error", "data": {}}'; + } + }else{ + echo '{ "message": "Incorrect API credentials", "data": {}}'; + } +}else{ + echo '{ "message": "Invalid post variables", "data": {}}'; +} +?> \ No newline at end of file diff --git a/qr_search.html b/qr_search.html new file mode 100644 index 0000000..270b558 --- /dev/null +++ b/qr_search.html @@ -0,0 +1,142 @@ + + + + + + + + + + + + +
+ + +
+
+ +

+
+ + + + + + + + + + + \ No newline at end of file diff --git a/save_sign.php b/save_sign.php new file mode 100644 index 0000000..5e98d77 --- /dev/null +++ b/save_sign.php @@ -0,0 +1,155 @@ +0) + { + + // Update last active + $query='UPDATE devices SET last_active = "'.date('Y-m-d').'" WHERE api_key="' . mysqli_real_escape_string($connect, $apiKey) . '"'; + $result2 = mysqli_query ( $connect, $query ); + + + $row = mysqli_fetch_assoc($result); + $user_id = $row["user_id"]; + + // Is this a Matrix employee? + $query='SELECT user_type FROM users WHERE user_id="' . mysqli_real_escape_string($connect, $user_id) . '"'; + $result = mysqli_query ( $connect, $query ); + if ( ! $result ) + { + echo '{ "message": "Database error", "data": {}}'; + exit(); + } + if(mysqli_num_rows($result)>0) + { + $row = mysqli_fetch_assoc($result); + $user_type = $row["user_type"]; + + // Is this a valid Service ID + $query='SELECT service_id FROM serviceorder WHERE service_id="' . mysqli_real_escape_string($connect, $service_id) . '"'; + $result = mysqli_query ( $connect, $query ); + if ( ! $result ) + { + echo '{ "message": "Database error", "data": {}}'; + exit(); + } + if(mysqli_num_rows($result)>0) + { + + + if(!($user_type=="0" || $user_type=="1")){ + // Else, are they allowed to save this signature? + $query='SELECT site_id FROM serviceorder WHERE service_id = "'.mysqli_real_escape_string($connect, $service_id).'"'; + $result = mysqli_query ( $connect, $query ); + if ( ! $result ) + { + echo '{ "message": "Database error", "data": {}}'; + exit(); + } + if(mysqli_num_rows($result)>0) + { + + $row2 = mysqli_fetch_assoc($result); + + $query='SELECT site_id FROM siteaccess WHERE user_id="' . mysqli_real_escape_string($connect, $user_id) . '" AND site_id = "'.mysqli_real_escape_string($connect, $row2["site_id"]).'"'; + $result = mysqli_query ( $connect, $query ); + if ( ! $result ) + { + echo '{ "message": "Database error", "data": {}}'; + exit(); + } + if(mysqli_num_rows($result)<1) + { + echo '{ "message": "You do not have access to this site", "data": {}}'; + exit(); + } + }else{ + echo '{ "message": "Invalid Site", "data": {}}'; + exit(); + } + + } + + + // Update or insert? + $query='SELECT file_id FROM servicesignatures WHERE service_id="' . mysqli_real_escape_string($connect, $service_id) . '"'; + $result = mysqli_query ( $connect, $query ); + if ( ! $result ) + { + echo '{ "message": "Database error", "data": {}}'; + exit(); + } + if(mysqli_num_rows($result)>0) + { + $row = mysqli_fetch_assoc($result); + $file_id = $row["file_id"]; + + $query='UPDATE servicesignatures SET date = "'.date('Y-m-d').'" WHERE service_id = "'.mysqli_real_escape_string($connect, $service_id).'"'; + $result = mysqli_query ( $connect, $query ); + if ( ! $result ) + { + echo '{ "message": "Database error", "data": {}}'; + exit(); + } + }else{ + // Insert into the table + $query='INSERT INTO servicesignatures(service_id,date) VALUES("'.mysqli_real_escape_string($connect, $service_id).'","'.date('Y-m-d').'")'; + $result = mysqli_query ( $connect, $query ); + if ( ! $result ) + { + echo '{ "message": "Database error", "data": {}}'; + exit(); + } + $file_id = mysqli_insert_id($connect); + } + + + + $file = $path . $file_id; + file_put_contents($file, $imagedata); + + echo '{ "message": "'.$error.'", "data": {}}'; + + }else{ + echo '{ "message": "Invalid Service ID", "data": {}}'; + } + }else{ + echo '{ "message": "Database error", "data": {}}'; + } + }else{ + echo '{ "message": "Incorrect API credentials", "data": {}}'; + } +}else{ + echo '{ "message": "Invalid post variables", "data": {}}'; +} +?> \ No newline at end of file diff --git a/signature.html b/signature.html new file mode 100644 index 0000000..c330882 --- /dev/null +++ b/signature.html @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+

Enter your signature below: (clear signature)

+
+
+ +
+
+ +
+ + +
+

Currently saved signature:

+ +
+ + +
+ + + +
+
+ + + + + + + + +