summaryrefslogtreecommitdiffstats
path: root/web/include
diff options
context:
space:
mode:
Diffstat (limited to 'web/include')
-rw-r--r--web/include/api.php31
-rw-r--r--web/include/misc.php36
2 files changed, 67 insertions, 0 deletions
diff --git a/web/include/api.php b/web/include/api.php
new file mode 100644
index 0000000..c13b15c
--- /dev/null
+++ b/web/include/api.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Functions for intercting with the remote API.
+ *
+ * @package volse.faktura.web
+ */
+
+namespace Faktura\API;
+
+define('API_URL', 'http://postgrest:3000');
+
+function call(string $method, string $resource, mixed $data = null): string {
+ $ch = curl_init();
+ curl_setopt($ch, CURLOPT_URL, API_URL . '/' . $resource);
+ curl_setopt($ch, CURLOPT_HEADER, 'Accept: application/json');
+ curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
+ curl_setopt($ch, CURLOPT_TIMEOUT, 5);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+
+ $result = curl_exec($ch);
+
+ if ($result === false) {
+ echo curl_error($ch);
+ die();
+ }
+
+ curl_close($ch);
+
+ return $result;
+}
+
diff --git a/web/include/misc.php b/web/include/misc.php
new file mode 100644
index 0000000..15b5cea
--- /dev/null
+++ b/web/include/misc.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Misc utility functions
+ *
+ * @package volse.faktura.web
+ */
+
+/**
+ * Escape an input string so that it's safe fr use in a html context.
+ *
+ * @param string $input The unescaped input string.
+ *
+ * @return A string that's safe for use in html tags.
+ */
+function esc_html(?string $input): string {
+ if (empty($input)) {
+ return '';
+ }
+
+ return htmlspecialchars($input, ENT_NOQUOTES | ENT_HTML5);
+}
+
+/**
+ * Escape input so that it's safe for use in html attrubutes.
+ *
+ * @param string $input The unescaped input string.
+ *
+ * @return A string that's safe for use in html attibutes.
+ */
+function esc_attr(?string $input): string {
+ if (empty($input)) {
+ return '';
+ }
+
+ return htmlspecialchars($input, ENT_QUOTES | ENT_HTML5);
+}