adding schema checking for the member db import
authorAnthony Talarico <talarico@gaslightmedia.com>
Fri, 27 Oct 2017 20:41:28 +0000 (16:41 -0400)
committerAnthony Talarico <talarico@gaslightmedia.com>
Fri, 27 Oct 2017 20:41:28 +0000 (16:41 -0400)
adding input field to change the db schema for old sites incase they
aren't members by default

models/admin/management/import/members.php
views/admin/management/import.html

index 5190211..8c49627 100644 (file)
@@ -15,6 +15,15 @@ if (!$dbServer || $dbServer == '' || $dbServer != trim($_REQUEST['dbServer'])) {
     $failure = true;
 }
 
+// Check schema
+$dbSchema = preg_replace("/[^a-zA-Z0-9]+/", "", trim($_REQUEST['dbSchema']));
+$templateData['dbSchema'] = array('value' => $dbSchema, 'problem' => false);
+if (!$dbSchema || $dbSchema == '' || $dbSchema != trim($_REQUEST['dbSchema'])) {
+    $templateData['dbSchema']['problem'] = 'Schema not found.';
+    $failure = true;
+}
+$dbSchema = isset($dbSchema) ? $dbSchema : 'members';
+
 // Check database port #
 $dbPort = preg_replace("/[^0-9]+/", "", trim($_REQUEST['dbPort']));
 $templateData['dbPort'] = array('value' => $dbPort, 'problem' => false);
@@ -75,7 +84,7 @@ if (!$failure) {
             (
             SELECT 1
               FROM information_schema.schemata AS exists
-             WHERE schema_name = 'members'
+             WHERE schema_name = '$dbSchema'
             ) AS isMembers
     ;";
     $res = pg_query($db, $sql);
@@ -93,7 +102,7 @@ if (!$failure) {
 if (!$failure) {
     $sql = "
         SELECT *
-          FROM members.member
+          FROM $dbSchema.member
          ORDER BY member_id
     ;";
     $res = pg_query($db, $sql);
@@ -118,7 +127,7 @@ if (!$failure) {
 if (!$failure) {
     $sql = "
             SELECT *
-              FROM members.amenity
+              FROM $dbSchema.amenity
              ORDER BY amenity_name
         ;";
     $res = pg_query($db, $sql);
@@ -153,7 +162,7 @@ $numbAmenityMembers = 0;
 if (!$failure) {
     $sql = "
             SELECT *
-              FROM members.member_amenity
+              FROM $dbSchema.member_amenity
         ;";
     $res = pg_query($db, $sql);
     $rows = pg_num_rows($res);
@@ -193,7 +202,7 @@ if (!$failure) {
 if (!$failure) {
     $sql = "
             SELECT *
-              FROM members.ccard_type
+              FROM $dbSchema.ccard_type
         ;";
     $res = pg_query($db, $sql);
     $rows = pg_num_rows($res);
@@ -228,7 +237,7 @@ $membCcard = array();
 if (!$failure) {
     $sql = "
             SELECT *
-              FROM members.member_ccard_type
+              FROM $dbSchema.member_ccard_type
         ;";
     $res = pg_query($db, $sql);
     $rows = pg_num_rows($res);
@@ -271,7 +280,7 @@ $catImportIssues = '';
 if (!$failure) {
     $sql = "
             SELECT *
-              FROM members.category
+              FROM $dbSchema.category
              ORDER BY category_id
         ;";
     $res = pg_query($db, $sql);
@@ -357,7 +366,7 @@ if (!$failure) {
 if (!$failure) {
     $sql = "
             SELECT *
-              FROM members.member_category
+              FROM $dbSchema.member_category
         ;";
     $res = pg_query($db, $sql);
     $rows = pg_num_rows($res);
@@ -396,7 +405,7 @@ if (!$failure) {
 if (!$failure) {
     $sql = "
             SELECT *
-              FROM members.city
+              FROM $dbSchema.city
              ORDER BY city_name
         ;";
     $res = pg_query($db, $sql);
@@ -431,7 +440,7 @@ if (!$failure) {
 if (!$failure) {
     $sql = "
             SELECT *
-              FROM members.state
+              FROM $dbSchema.state
              ORDER BY state_name
         ;";
     $res = pg_query($db, $sql);
@@ -465,7 +474,7 @@ if (!$failure) {
 if (!$failure) {
     $sql = "
             SELECT *
-              FROM members.region
+              FROM $dbSchema.region
         ;";
     $res = pg_query($db, $sql);
     $rows = pg_num_rows($res);
@@ -499,7 +508,7 @@ $numbImagesFound = 0;
 if (!$failure) {
     $sql = "
             SELECT *
-              FROM members.member_photos
+              FROM $dbSchema.member_photos
         ;";
     $res = pg_query($db, $sql);
     $rows = pg_num_rows($res);
index 9e2b9a0..5ce7b9f 100644 (file)
                     <input class="glm-form-text-input-medium" type="text" name="dbUser" placeholder="(user with read access to this database)" value="{if isset($dbUser)}{$dbUser.value}{/if}">
         {if isset($dbUser)}
                     <p class="glm-error">{$dbUser.problem}</p>
+       {/if}
+                </td>
+            </tr>
+            <tr class="all-import-fields">
+                <th>Database Schema: </th>
+                <td>
+                    <input class="glm-form-text-input-medium" type="text" name="dbSchema" placeholder="(i.e. public, members)" value="{if isset($dbSchema)}{$dbSchema.value}{/if}">
+        {if isset($dbSchema)}
+                    <p class="glm-error">{$dbSchema.problem}</p>
        {/if}
                 </td>
             </tr>