summaryrefslogtreecommitdiff
path: root/conf/plugin/bureaucracy/subpagedb.php
diff options
context:
space:
mode:
Diffstat (limited to 'conf/plugin/bureaucracy/subpagedb.php')
-rw-r--r--conf/plugin/bureaucracy/subpagedb.php73
1 files changed, 73 insertions, 0 deletions
diff --git a/conf/plugin/bureaucracy/subpagedb.php b/conf/plugin/bureaucracy/subpagedb.php
new file mode 100644
index 0000000..e2aa175
--- /dev/null
+++ b/conf/plugin/bureaucracy/subpagedb.php
@@ -0,0 +1,73 @@
+<?php
+
+// Subpage Database script - stores all the data in a simple dokuwiki table
+// All data is stored in a page with extension .log and the same name than current page
+// How to use this:
+//
+// <form>
+// action script subpagedb.php
+// thanks "Thank you for register in. You can join the call in [[https://meet.jit.si/GTA-Webinar|this link]]"
+// Fieldset "About you"
+// hidden "Lang" "=en"
+// hidden "Date" "=@DATE@"
+// Textbox "Name"
+// email "E-Mail" !
+// select "Country" "Afghanistan|Åland Islands|Albania|"
+// yesno "Subscribe me for e-mail updates?" "=true value" "!false value"
+// submit "Register in"
+// </form>
+
+use dokuwiki\plugin\bureaucracy\interfaces\bureaucracy_handler_interface;
+
+class helper_plugin_bureaucracy_handler_subpagedb implements bureaucracy_handler_interface {
+ /**
+ * Log the form fields to DokuWiki's debug log
+ */
+
+ public function handleData($fields, $thanks)
+ {
+ global $INFO;
+
+ $n = 0;
+ $m = 0;
+
+ foreach($fields as $row){
+ if ($n != 0) {
+ if ($row->opt["label"] === 'E-Mail') {
+ $line = $line . ' | <' . $row->opt["value"] . '>';
+ } else {
+ $line = $line . ' | ' . $row->opt["value"];
+ }
+ if ($n === 1) {
+ $lang = $row->opt["value"];
+ }
+ }
+ $n++;
+ }
+ $filepath = $INFO['filepath'];
+
+ // unifica el registro si viene de idioma español
+ $store_tmp = str_replace("/es/","/",$filepath);
+ $store = str_replace(".txt",".log.txt",$store_tmp);
+ // // Abre el fichero para obtener el contenido existente
+ if(!is_file($store)){
+ foreach($fields as $row){
+ if ($m != 0) {
+ $header = $header . ' ^ ' . $row->opt["label"];
+ }
+ $m++;
+ }
+ $header = substr($header, 1);
+ file_put_contents($store, "$header\n"); // Save our content to the file.
+ }
+ $actual = file_get_contents($store);
+ $line = substr($line, 1);
+ $actual .= "$line\n";
+ // // Escribe el contenido al fichero
+ file_put_contents($store, $actual);
+ //
+
+ // dbglog($line);
+ return $thanks;
+ }
+}