Import script for brewbakers
authorSteve Sutton <steve@gaslightmedia.com>
Mon, 3 Apr 2017 19:20:07 +0000 (15:20 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Mon, 3 Apr 2017 19:20:07 +0000 (15:20 -0400)
models/admin/management/import.php
models/admin/management/import/brewbakersImport.php [new file with mode: 0644]
setup/databaseScripts/drop_database_V1.1.27.sql
views/admin/management/import.html

index 777d5a8..473db85 100644 (file)
@@ -154,6 +154,11 @@ class GlmMembersAdmin_management_import
                 require GLM_MEMBERS_PLUGIN_PATH.'/models/admin/management/import/displayNewOldMemberIds.php';
                 break;
 
+            case 'importBrewbakers':
+                require GLM_MEMBERS_PLUGIN_PATH.'/models/admin/management/import/brewbakersImport.php';
+                exit;
+                break;
+
             default:
 
                 break;
diff --git a/models/admin/management/import/brewbakersImport.php b/models/admin/management/import/brewbakersImport.php
new file mode 100644 (file)
index 0000000..effa709
--- /dev/null
@@ -0,0 +1,55 @@
+<?php
+
+echo '<pre>$_REQUEST: ' . print_r( $_REQUEST, true ) . '</pre>';
+
+// Setup the database connection to postgres
+$dbServer = 'ds4';
+$dbName   = 'brewbakers';
+$dbUser   = 'postgres';
+
+// Create connection
+$connString = "host=$dbServer dbname=$dbName user=$dbUser";
+$db = @pg_connect($connString);
+if (!$db) {
+    $err = error_get_last();
+    $templateData['genError']  = 'There was a problem connecting to the database. The error message was...<br>'.$err['message'];
+    $failure = true;
+}
+if (!$failure) {
+    // Grab the RV data
+    $sql = "
+    SELECT *
+      FROM rvs
+     ORDER BY id";
+    $res = pg_query($db, $sql);
+    $rows = pg_num_rows($res);
+    if ($rows == 0) {
+        $templateData['genError']  = 'There does not appear to be any rvs listed in this database!';
+        $failure = true;
+    } else {
+        $rvs = pg_fetch_all($res);
+        if (count($rvs) != $rows) {
+            $notice = pg_last_notice($res);
+            $templateData['genError']  = 'While reading base rv data, we did not receive the expected number of rvs! ';
+            if ($notice) {
+                $templateData['genError'] .= 'Perhaps the following message will help.<br>'.$notice;
+            }
+            $failure = true;
+        }
+        echo '<pre>$rvs: ' . print_r( $rvs, true ) . '</pre>';
+    }
+}
+if (!$failure) {
+    // Get current db version
+    $dbVersion = GLM_MEMBERS_PLUGIN_DB_VERSION;
+
+    // Reset the database
+    if (!$this->deleteDataTables($dbVersion)) {
+        glmMembersAdmin::addNotice('<b>Unable to delete the database tables while resetting the database.</b><br>', 'AdminError');
+        break;
+    }
+    if (!$this->createDataTables($dbVersion)) {
+        glmMembersAdmin::addNotice('<b>Unable to create the database tables while resetting the database.</b><br>', 'AdminError');
+        break;
+    }
+}
index 5c742da..4977c6c 100644 (file)
@@ -17,6 +17,7 @@ DROP TABLE IF EXISTS
     {prefix}member_info,
     {prefix}member_type,
     {prefix}regions,
+    {prefix}counties,
     {prefix}settings_general,
     {prefix}settings_terms,
     {prefix}settings_theme,
index 70bc714..56eba1e 100644 (file)
@@ -19,7 +19,8 @@
                     <input type="radio" name="option" value="importOldMemberIds" class="import-type"> Import old member IDs only<br>
                     <input type="radio" name="option" value="importClicksViews" class="import-type"> Import member Clicks and Views<br>
                     <input type="radio" name="option" value="importMailingAddresses" class="import-type"> Import member Mailing Addresses<br>
-                    <input type="radio" name="option" value="displayOldNewMemberIds" class="import-type"> List old/new member IDs
+                    <input type="radio" name="option" value="displayOldNewMemberIds" class="import-type"> List old/new member IDs<br>
+                    <input type="radio" name="option" value="importBrewbakers" class="import-type"> Import Brewbakers
                 </td>
             </tr>
             <tr class="for-member-import all-import-fields">