summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Eilertsen <haraldei@anduin.net>2021-01-17 22:12:28 +0100
committerHarald Eilertsen <haraldei@anduin.net>2021-01-17 22:12:28 +0100
commit6671fd89be0de385076eef4a663ac23034e3a95b (patch)
tree9976496ed0a84cde2334a4c73933a23742a83d17
parent6ecbb6d833d435c10cf4b1413945054cfad4895b (diff)
downloadgigologadmin-6671fd89be0de385076eef4a663ac23034e3a95b.tar.gz
gigologadmin-6671fd89be0de385076eef4a663ac23034e3a95b.tar.bz2
gigologadmin-6671fd89be0de385076eef4a663ac23034e3a95b.zip
Add shortcode to upload files.
-rw-r--r--giglogadmin.php2
-rw-r--r--includes/public/shortcodes/giglog_process_files.php67
2 files changed, 69 insertions, 0 deletions
diff --git a/giglogadmin.php b/giglogadmin.php
index da35bf7..1dc7bf0 100644
--- a/giglogadmin.php
+++ b/giglogadmin.php
@@ -20,6 +20,7 @@
if ( !class_exists( 'GiglogAdmin_Plugin' ) ) {
require_once __DIR__ . '/includes/public/shortcodes/giglog_bands.php';
require_once __DIR__ . '/includes/public/shortcodes/giglog_display_unprocessed.php';
+ require_once __DIR__ . '/includes/public/shortcodes/giglog_process_files.php';
class GiglogAdmin_Plugin
{
@@ -27,6 +28,7 @@ if ( !class_exists( 'GiglogAdmin_Plugin' ) ) {
add_shortcode('giglog_cities', 'giglogadmin_getfilters');
add_shortcode('giglog_bands', 'giglogadmin_getconcerts');
add_shortcode('giglog_unprocessed', 'giglogadmin_display_unprocessed');
+ add_shortcode('giglog_upload', 'giglogadmin_upload_files');
}
static function activate() {
diff --git a/includes/public/shortcodes/giglog_process_files.php b/includes/public/shortcodes/giglog_process_files.php
new file mode 100644
index 0000000..814c2f0
--- /dev/null
+++ b/includes/public/shortcodes/giglog_process_files.php
@@ -0,0 +1,67 @@
+<?php
+/*
+ * snippet used to uploaded files with concerts. File is tab delimited file.
+ * Band Venue Date TicketLink Eventlink. The form is at the end of this snippet
+ */
+
+function giglogadmin_upload_files() {
+ global $wpdb;
+ $output = "";
+ $dir = wp_upload_dir()['basedir'].'/concertlists/'; //the basedir is from file uploader plugin, namely the uploads folder in which I created a concertlist folder
+ if ( !file_exists($dir) ) {
+ mkdir( $dir );
+ }
+
+ $cfiles = scandir($dir);
+ foreach ($cfiles as $value) { //list all files in directory
+ $my_id = 0; //reset my_id which is used to check if anything was inserted
+ if (strlen($value) > 3 and (is_dir($dir . '/' . $value) == false)) {
+ $output .= 'Filename: ' . $value . '<br />';
+ $filecontent = file_get_contents($dir . '/' . $value);
+ $listcontent = str_replace(array(
+ "\r",
+ "\n"
+ ), '<br />', $filecontent); //tring to replace end of lines with brs for html
+
+ $output .= '<b>FILE CONTENT</b><br />';
+ $r = 1;
+ //processing each line of the file into a new row in wpg_files table
+ if (isset($_POST['InsertFileContent'])) {
+ $lines = new SplFileObject($dir . '/' . $value);
+ //and then execute a sql query here
+ $table = 'wpg_files';
+ foreach ($lines as $newconcert) {
+ $output .= '<li> ' . $newconcert . '</li>';
+ $wpdb->insert($table, array(
+ 'id' => '',
+ 'filename' => $value,
+ 'rowid' => $r,
+ 'rowcontent' => $newconcert
+ ));
+ $r++;
+ //$wpdb->print_error();
+ $output .= $wpdb->last_error;
+ $my_id = $wpdb->insert_id;
+ $output .= '<br />---------------<br />Inserted rowID ' . $my_id . '<br />';
+ } //end processing each line
+ } //end file processing
+
+
+ } //end if that checks whether filename is longer than 3 and is actually a file
+
+ if ($my_id > 0) //if anything was inserted, move file to handled
+ {
+ $output .= '<br />File <b><i> ' . $value . ' </i></b> will be movedto handled folder';
+ rename($dir . '/' . $value, $dir . '/handled/' . $value);
+ }
+
+ } //end looping through all folder content
+
+ if ($my_id > 0) {
+ $url1 = $_SERVER['REQUEST_URI'];
+ header("Refresh: 5; URL=$url1");
+ } //reload page
+
+ $output .= '<form method="POST" action=""><input type="submit" name="InsertFileContent" value="InsertFileContent"/></form>';
+ return $output;
+}