From 6958d9be8de1b3d3413c47fd2bf13e2590aabc89 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Fri, 23 Jun 2017 15:48:43 -0400 Subject: [PATCH] Updating for the member files. Add some setup for member file upload. not finished with it though. --- css/admin.css | 3 +- models/admin/import/index.php | 53 +++++++++++++++++++++++++++ sample-files/amenityData.csv | 2 + sample-files/categoryData.csv | 19 ++++++++++ sample-files/cityData.csv | 12 ++++++ sample-files/countyData.csv | 2 + sample-files/filesData.csv | 2 + sample-files/memberData.csv | 6 +++ sample-files/photosData.csv | 2 + sample-files/regionData.csv | 3 ++ views/admin/import/files.html | 44 +++++++++++++++++----- views/admin/import/filesValidate.html | 31 ++++++++++++++++ views/admin/import/index.html | 9 +---- views/admin/import/photos.html | 27 +++++++++++++- 14 files changed, 195 insertions(+), 20 deletions(-) create mode 100644 sample-files/amenityData.csv create mode 100644 sample-files/categoryData.csv create mode 100644 sample-files/cityData.csv create mode 100644 sample-files/countyData.csv create mode 100644 sample-files/filesData.csv create mode 100644 sample-files/memberData.csv create mode 100644 sample-files/photosData.csv create mode 100644 sample-files/regionData.csv create mode 100644 views/admin/import/filesValidate.html diff --git a/css/admin.css b/css/admin.css index 9cbaff71..065aa7be 100644 --- a/css/admin.css +++ b/css/admin.css @@ -761,4 +761,5 @@ input[type=submit], input[type=file] { .notice-link { cursor: pointer; -} \ No newline at end of file +} +.glm-import-td { padding:15px !important; margin: 0; } diff --git a/models/admin/import/index.php b/models/admin/import/index.php index cf374eb2..8fac51df 100644 --- a/models/admin/import/index.php +++ b/models/admin/import/index.php @@ -205,6 +205,7 @@ class GlmMembersAdmin_import_index $clearData = false; $haveMembers = false; $fileExists = false; + $isValid = false; // Check to see if they have members $haveMembers = $this->wpdb->get_var( "SELECT count(id) @@ -440,6 +441,25 @@ class GlmMembersAdmin_import_index break; + case 'filesValidate': + if ( isset( $_FILES ) ) { + move_uploaded_file( $_FILES['files_file']['tmp_name'], $uploadPath . '/filesData.csv' ); + } + if ( is_file( $uploadPath . '/filesData.csv' ) ) { + $fileExists = true; + } + // validate the header line + $fData = $this->readCSVFileHeaders( $uploadPath . '/filesData.csv' ); + $validate = array( 'member_id', 'file_url', 'file_name' ); + $isValid = ( $fData == $validate ); + // If the file validates then we're ready to process + $readyToProcess = $isValid; + // Set the view file + $view= 'filesValidate.html'; + $fileData = '
$_FILES: ' . print_r( $_FILES, true ) . '
'; + + break; + case 'photosProcess': // Setup the image processing require_once GLM_MEMBERS_PLUGIN_PATH . '/models/admin/ajax/imageUpload.php'; @@ -508,11 +528,43 @@ class GlmMembersAdmin_import_index case 'photos': // Set the view file $view= 'photos.html'; + unset( $fileData ); + if ( is_file( $uploadPath . '/photoData.csv' ) ) { + $fileExists = true; + $fileData['Photos'] = array( + 'field' => 'photos_file', + 'name' => 'photosData.csv', + 'exists' => true, + 'mtime' => filemtime( $uploadPath . '/photoData.csv' ), + ); + } else { + $fileData['Photos'] = array( + 'field' => 'photos_file', + 'name' => 'photosData.csv', + 'exists' => false, + ); + } break; case 'files': // Set the view file $view = 'files.html'; + unset( $fileData ); + if ( is_file( $uploadPath . '/filesData.csv' ) ) { + $fileExists = true; + $fileData['Files'] = array( + 'field' => 'photos_file', + 'name' => 'filesData.csv', + 'exists' => true, + 'mtime' => filemtime( $uploadPath . '/filesData.csv' ), + ); + } else { + $fileData['Files'] = array( + 'field' => 'files_file', + 'name' => 'filesData.csv', + 'exists' => false, + ); + } break; case 'default': @@ -548,6 +600,7 @@ class GlmMembersAdmin_import_index 'readyToProcess' => $readyToProcess, 'haveMembers' => $haveMembers, 'isValid' => $isValid, + 'sampleFileUrl' => GLM_MEMBERS_PLUGIN_BASE_URL . '/sample-files/', ); // Return status, suggested view, and data to controller diff --git a/sample-files/amenityData.csv b/sample-files/amenityData.csv new file mode 100644 index 00000000..c6b73ded --- /dev/null +++ b/sample-files/amenityData.csv @@ -0,0 +1,2 @@ +id,name +38,"Free Wireless Access" diff --git a/sample-files/categoryData.csv b/sample-files/categoryData.csv new file mode 100644 index 00000000..a7dd2861 --- /dev/null +++ b/sample-files/categoryData.csv @@ -0,0 +1,19 @@ +id,name,parent +1931,Accommodations,0 +1932,Hotels/Motels,1931 +1933,"Bed and Breakfast",1931 +1934,"Condo Rentals",1931 +1935,Resort,1931 +1936,Recreation,0 +1937,Golf,1936 +1938,Skiing,1936 +1939,Attractions,0 +1940,Dining,0 +1941,"Fine Dining",1940 +1944,Bar/Restaurant,1940 +1945,"Fast Food",1940 +1946,"Family Friendly",1939 +1947,Shopping,0 +1948,Boutiques,1947 +1949,"Gift and Specialty Items",1947 +1950,"New Category",1931 diff --git a/sample-files/cityData.csv b/sample-files/cityData.csv new file mode 100644 index 00000000..6460b807 --- /dev/null +++ b/sample-files/cityData.csv @@ -0,0 +1,12 @@ +id,name +744,"Harbor Springs" +745,"Traverse City" +746,Petoskey +747,Gaylord +748,Ludington +749,"Grand Haven" +750,"Silver Lake" +751,Midland +752,"Sault Ste Marie" +753,"Bay City" +754,"Mackinaw City" diff --git a/sample-files/countyData.csv b/sample-files/countyData.csv new file mode 100644 index 00000000..902c63cb --- /dev/null +++ b/sample-files/countyData.csv @@ -0,0 +1,2 @@ +"id","name" +1,"Emmet" diff --git a/sample-files/filesData.csv b/sample-files/filesData.csv new file mode 100644 index 00000000..ce3c12a9 --- /dev/null +++ b/sample-files/filesData.csv @@ -0,0 +1,2 @@ +member_id,file_url,file_name +3723,fs74-1388431354-17569.pdf,"http://is0.gaslightmedia.com/demo/original/Piece of Cake PHP" diff --git a/sample-files/memberData.csv b/sample-files/memberData.csv new file mode 100644 index 00000000..77033f12 --- /dev/null +++ b/sample-files/memberData.csv @@ -0,0 +1,6 @@ +id,member_name,status,descr,addr1,addr2,city,state,country,zip,mailing_addr1,mailing_addr2,mailing_city,mailing_state,mailing_zip,region,county,lat,lon,phone,toll_free,url,reservation_url,email,logo,categories,amenities +3723,"@AAAA Test",Active,"

Dictumst sed, et aliquam et sed, odio, pellentesque natoque, purus ac rhoncus! Magna turpis sagittis massa ac magna diam cum dictumst, habitasse ridiculus mauris, scelerisque porta porttitor diam mattis montes, dignissim est integer urna, lundium magna? Eros penatibus nascetur vut pulvinar massa? Tincidunt a adipiscing. Pulvinar nunc platea adipiscing sit enim elementum magna lectus. Et, adipiscing augue, nunc montes porttitor, magnis placerat rhoncus eros lundium ac. Nisi penatibus lundium cum? Arcu amet in turpis eros dignissim ridiculus placerat proin amet, quis, diam dolor placerat nisi porta ultrices, magna elementum platea pulvinar mus rhoncus nisi ac hac porta mattis. Et lundium proin dignissim augue scelerisque, ut sed duis massa, sociis, scelerisque proin non aliquam et. Penatibus, ac vel mus, lundium, proin.

+ +

Tempor, turpis augue scelerisque in urna mauris urna arcu vel parturient placerat, in pulvinar? Nisi auctor lundium purus tincidunt, nisi rhoncus et parturient. Scelerisque ridiculus augue aliquam cum rhoncus! Magnis parturient. Rhoncus cum amet dis est sociis placerat urna, risus! Montes, et a pulvinar quis dapibus cras magna adipiscing. Nec et parturient porttitor tincidunt cras habitasse diam aliquet pulvinar. Porttitor ut! Etiam eu elit amet! Mid integer cum cursus, dictumst odio rhoncus dictumst auctor rhoncus. Sagittis dictumst pulvinar sed non a! Magna, parturient, arcu porta dis, dapibus pellentesque habitasse? Nunc amet, egestas lacus turpis augue! Et, turpis non ut, tincidunt nunc? Elementum proin. Montes nascetur nunc ac adipiscing augue diam. Nisi ac non! Ultrices aliquet urna dapibus, pellentesque elit.

+ +

Porttitor nisi vel in nisi sociis placerat, urna parturient dignissim in, proin etiam, nunc! Nisi sed, sociis? Parturient auctor? Ridiculus? Est in integer, odio aenean quis. Odio pulvinar tempor. Ridiculus a? Habitasse, eros ultricies, dolor, et non mauris tempor a elit nunc ultricies odio sit. Vel turpis cum dolor dignissim nunc. Porta sed mauris turpis et. Aenean et! Penatibus. Magnis porta scelerisque augue rhoncus velit? Nec vel! Aliquet lectus, turpis ac, in mus sed! Rhoncus sed nunc risus lundium! Phasellus nec cursus integer nec! Sed egestas ridiculus velit massa, nisi sit tincidunt tincidunt? Duis lacus odio pid tempor pellentesque velit et nunc cum penatibus tortor ac pulvinar placerat mauris porttitor, porta. Augue porta tincidunt parturient et! Integer augue augue.

","120 E. Lake St",,746,MI,US,49770,,,,,,30,,45.374893,-84.958404,"(881) 231-0266","(881) 231-0268",http://www.gaslightmedia.com,,info@gaslightmedia.com,http://is0.gaslightmedia.com/demo/CKImage/is38-1352840253-62045.jpeg,"1948,1933,1944,1937",38 diff --git a/sample-files/photosData.csv b/sample-files/photosData.csv new file mode 100644 index 00000000..ede72a69 --- /dev/null +++ b/sample-files/photosData.csv @@ -0,0 +1,2 @@ +member_id,image,caption +3723,http://is0.gaslightmedia.com/demo/CKImage/is23-1287751840-06841.jpeg,Lightning diff --git a/sample-files/regionData.csv b/sample-files/regionData.csv new file mode 100644 index 00000000..d248912c --- /dev/null +++ b/sample-files/regionData.csv @@ -0,0 +1,3 @@ +id,name +30,Testing +31,. diff --git a/views/admin/import/files.html b/views/admin/import/files.html index 821a318b..300bb24f 100644 --- a/views/admin/import/files.html +++ b/views/admin/import/files.html @@ -1,18 +1,42 @@ {include file='admin/import/header.html'}

Data Import: Files

+
+ + - - - - - - - - - +
Total Member{$totalMembers}
Processed Member{$numberProcessed}
+ + + + + + + {foreach $fileData as $fileHeader => $file} + + + + + + {/foreach} + -
File TypeNew FileCurrent FileUpdated
+ {$fileHeader} + + + Sample {$fileHeader} File + + {if $file.exists} + {$fileHeader} File + {/if} + + {if $file.exists} + {$file.mtime|date_format:"%D %I:%M %p"} + {/if} +
+ + +
{include file='admin/footer.html'} diff --git a/views/admin/import/filesValidate.html b/views/admin/import/filesValidate.html new file mode 100644 index 00000000..6a8acaae --- /dev/null +++ b/views/admin/import/filesValidate.html @@ -0,0 +1,31 @@ +{include file='admin/import/header.html'} + +

Data Import: Photos Validation

+ + + + + + + + {if $readyToProcess} + + + + {/if} + +
+ {if $fileExists} + filesData.csv + {/if} + + {if $isValid} + Is Valid + {else} + Not Valid + {/if} +
+ Process Files +
+ +{include file='admin/footer.html'} diff --git a/views/admin/import/index.html b/views/admin/import/index.html index 91d57a5a..a04419e2 100644 --- a/views/admin/import/index.html +++ b/views/admin/import/index.html @@ -1,10 +1,5 @@ {include file='admin/import/header.html'} - +

Data Import Step 1: Upload files

@@ -26,7 +21,7 @@ - Sample {$fileHeader} File + Sample {$fileHeader} File {if $file.exists} diff --git a/views/admin/import/photos.html b/views/admin/import/photos.html index a2af2a21..b8219c51 100644 --- a/views/admin/import/photos.html +++ b/views/admin/import/photos.html @@ -7,8 +7,31 @@ - - + + + + + + {foreach $fileData as $fileHeader => $file} + + + + + + {/foreach}
Upload FileFile TypeNew FileCurrent FileUpdated
+ {$fileHeader} + + + Sample {$fileHeader} File + + {if $file.exists} + {$fileHeader} File + {/if} + + {if $file.exists} + {$file.mtime|date_format:"%D %I:%M %p"} + {/if} +
-- 2.17.1