Add some setup for member file upload.
not finished with it though.
.notice-link
{
cursor: pointer;
-}
\ No newline at end of file
+}
+.glm-import-td { padding:15px !important; margin: 0; }
$clearData = false;
$haveMembers = false;
$fileExists = false;
+ $isValid = false;
// Check to see if they have members
$haveMembers = $this->wpdb->get_var(
"SELECT count(id)
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 = '<pre>$_FILES: ' . print_r( $_FILES, true ) . '</pre>';
+
+ break;
+
case 'photosProcess':
// Setup the image processing
require_once GLM_MEMBERS_PLUGIN_PATH . '/models/admin/ajax/imageUpload.php';
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':
'readyToProcess' => $readyToProcess,
'haveMembers' => $haveMembers,
'isValid' => $isValid,
+ 'sampleFileUrl' => GLM_MEMBERS_PLUGIN_BASE_URL . '/sample-files/',
);
// Return status, suggested view, and data to controller
--- /dev/null
+id,name
+38,"Free Wireless Access"
--- /dev/null
+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
--- /dev/null
+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"
--- /dev/null
+"id","name"
+1,"Emmet"
--- /dev/null
+member_id,file_url,file_name
+3723,fs74-1388431354-17569.pdf,"http://is0.gaslightmedia.com/demo/original/Piece of Cake PHP"
--- /dev/null
+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,"<p>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.</p>
+
+<p>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.</p>
+
+<p>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.</p>","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
--- /dev/null
+member_id,image,caption
+3723,http://is0.gaslightmedia.com/demo/CKImage/is23-1287751840-06841.jpeg,Lightning
--- /dev/null
+id,name
+30,Testing
+31,.
{include file='admin/import/header.html'}
<h2>Data Import: Files</h2>
+ <form action="{$thisUrl}?page={$thisPage}" method="post" enctype="multipart/form-data">
+ <input type="hidden" name="glm_action" value="index" />
+ <input type="hidden" name="option" value="filesValidate" />
- <table class="glm-admin-table">
- <tr>
- <th>Total Member</th>
- <td>{$totalMembers}</td>
- </tr>
- <tr>
- <th>Processed Member</th>
- <td>{$numberProcessed}</td>
- </tr>
+ <table class="glm-admin-table">
+ <tr>
+ <th>File Type</th>
+ <th>New File</th>
+ <th>Current File</th>
+ <th>Updated</th>
+ </tr>
+ {foreach $fileData as $fileHeader => $file}
+ <tr>
+ <td class="glm-import-td">
+ {$fileHeader}
+ </td>
+ <td class="glm-import-td">
+ <input type="file" name="files_file">
+ <a href="{$sampleFileUrl}{$file.name}">Sample {$fileHeader} File</a>
+ </td>
+ <td class="glm-import-td">
+ {if $file.exists}
+ {$fileHeader} File
+ {/if}
+ </td>
+ <td class="glm-import-td">
+ {if $file.exists}
+ {$file.mtime|date_format:"%D %I:%M %p"}
+ {/if}
+ </td>
+ {/foreach}
+ </tr>
- </table>
+ </table>
+ <input type="submit" value="Continue" class="button button-primary submit-import">
+ </form>
{include file='admin/footer.html'}
--- /dev/null
+{include file='admin/import/header.html'}
+
+<h2>Data Import: Photos Validation</h2>
+
+<table class="glm-admin-table">
+
+ <tr>
+ <td>
+ {if $fileExists}
+ filesData.csv
+ {/if}
+ </td>
+ <td>
+ {if $isValid}
+ Is Valid
+ {else}
+ Not Valid
+ {/if}
+ </td>
+ </tr>
+ {if $readyToProcess}
+ <tr>
+ <td colspan="2">
+ <a href="{$thisUrl}?page={$thisPage}&glm_action=index&option=photosFiles" class="button">Process Files</a>
+ </td>
+ </tr>
+ {/if}
+
+</table>
+
+{include file='admin/footer.html'}
{include file='admin/import/header.html'}
-<style>
-.glm-import-td {
- padding:10px;
- margin: 0;
-}
-</style>
+
<h2>Data Import Step 1: Upload files</h2>
<form action="{$thisUrl}?page={$thisPage}" method="post" enctype="multipart/form-data">
</td>
<td class="glm-import-td">
<input type="file" name="{$file.field}">
- <a href="#">Sample {$fileHeader} File</a>
+ <a href="{$sampleFileUrl}{$file.name}">Sample {$fileHeader} File</a>
</td>
<td class="glm-import-td">
{if $file.exists}
<table class="glm-admin-table">
<tr>
- <th>Upload File</th>
- <td><input type="file" name="photos_file"></td>
+ <th>File Type</th>
+ <th>New File</th>
+ <th>Current File</th>
+ <th>Updated</th>
+ </tr>
+ {foreach $fileData as $fileHeader => $file}
+ <tr>
+ <td class="glm-import-td">
+ {$fileHeader}
+ </td>
+ <td class="glm-import-td">
+ <input type="file" name="photos_file">
+ <a href="{$sampleFileUrl}{$file.name}">Sample {$fileHeader} File</a>
+ </td>
+ <td class="glm-import-td">
+ {if $file.exists}
+ {$fileHeader} File
+ {/if}
+ </td>
+ <td class="glm-import-td">
+ {if $file.exists}
+ {$file.mtime|date_format:"%D %I:%M %p"}
+ {/if}
+ </td>
+ {/foreach}
</tr>
</table>