+++ /dev/null
-<?php
-// Setup the brewbakers image url
-$dbImageURL = 'http://is0.gaslightmedia.com/brewbakers/CKImage/';
-//echo '<pre>$_REQUEST: ' . print_r( $_REQUEST, true ) . '</pre>';
-$rvLimit = false; // set to false to turn off limit
-
-// Setup the database connection to postgres
-$dbServer = 'ds4';
-$dbName = 'brewbakers';
-$dbUser = 'postgres';
-$resetdb = true;
-$rvs = array();
-$homes = array();
-$amenities = array();
-$amenityData = array();
-
-// 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;
-}
-// 1. Get the rvs data
-if ( !$failure ) {
- // Grab the RV data
- $sql = "
- SELECT r.*,
- b.name as brand_name,
- c.name as class_name,
- man.name as manufacturer_name
- FROM rvs r, brands b, manufacturer man, class c
- WHERE r.brand = b.id
- AND r.class = c.id
- AND r.manufacturer = man.id
- ORDER BY r.id";
- if ( $rvLimit ) {
- $sql .= " LIMIT $rvLimit OFFSET 0";
- }
- $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>';
- }
-}
-// 2. Get the homes data
-if ( !$failure ) {
- // Grab the Homes data
- $sql = "
- SELECT h.*,
- m.name as model_name,
- c.name as class_name,
- man.name as manufacturer_name
- FROM homes h, model m, manufacturer man, class c
- WHERE h.model = m.id
- AND h.class = c.id
- AND h.manufacturer = man.id
- ORDER BY h.id";
- $res = pg_query( $db, $sql );
- $rows = pg_num_rows( $res );
- if ( $rows == 0 ) {
- $templateData['genError'] = 'There does not appear to be any homes listed in this database!';
- $failure = true;
- } else {
- $homes = pg_fetch_all( $res );
- if ( count( $homes ) != $rows ) {
- $notice = pg_last_notice( $res );
- $templateData['genError'] = 'While reading base homes data, we did not receive the expected number of homes! ';
- if ( $notice ) {
- $templateData['genError'] .= 'Perhaps the following message will help.<br>'.$notice;
- }
- $failure = true;
- }
- //echo '<pre>$homes: ' . print_r( $homes, true ) . '</pre>';
- }
-}
-// Reset member data tables if needed
-if ( !$failure && $resetdb ) {
- // Reset the data
- $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX."members" );
- $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info" );
- $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX."category_member_info" );
- //$this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX."amenities" );
- $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX."amenity_ref" );
- $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX."custom_field_data" );
-}
-// 3. Get amenities data
-if ( !$failure ) {
- // Grab the amenity data
- $sql = "
- SELECT *
- FROM amenities
- 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 amenities listed in this database!';
- $failure = true;
- } else {
- $amenities = pg_fetch_all( $res );
- if ( count( $amenities ) != $rows ) {
- $notice = pg_last_notice( $res );
- $templateData['genError'] = 'While reading base amenity data, we did not receive the expected number of amenities! ';
- if ( $notice ) {
- $templateData['genError'] .= 'Perhaps the following message will help.<br>'.$notice;
- }
- $failure = true;
- }
- //echo '<pre>$amenities: ' . print_r( $amenities, true ) . '</pre>';
- }
-}
-// 4. Get amenity member relation data
-$numbAmenityMembers = 0;
-if ( !$failure ) {
- // Grab the amenity data
- $sql = "
- SELECT *
- FROM rvs_amenities
- 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 amenity relation listed in this database!';
- $failure = true;
- } else {
- $tmp = pg_fetch_all( $res );
- if ( count( $tmp ) != $rows ) {
- $notice = pg_last_notice( $res );
- $templateData['genError'] = 'While reading base amenity relation data, we did not receive the expected number of amenityData! ';
- if ( $notice ) {
- $templateData['genError'] .= 'Perhaps the following message will help.<br>'.$notice;
- }
- $failure = true;
- }
- $rvAmen = array();
- foreach ( $tmp as $x ) {
- // if rv entry hasn't been created yet, add it now
- if ( !isset( $rvAmen[$x['rvs_id']] ) ) {
- $rvAmen[$x['rvs_id']] = array();
- }
-
- $rvAmen[$x['rvs_id']][] = $x;
- $numbAmenityMembers++;
- }
- }
-}
-//echo '<pre>$rvAmen: ' . print_r( $rvAmen, true ) . '</pre>';
-//var_dump($rvAmen);
-//exit;
-function getCategoryId( $wpdb, $name, $parent )
-{
- // check to see if the category already exists
- return $wpdb->get_var(
- $wpdb->prepare(
- "SELECT id
- FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "categories
- WHERE name = %s
- AND parent = %d",
- $name,
- $parent
- )
- );
-}
-function getCustomFieldId( $wpdb, $name )
-{
- return $wpdb->get_var(
- $wpdb->prepare(
- "SELECT id
- FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_fields
- WHERE field_name = %s",
- $name
- )
- );
-}
-$customFieldIds = array(
- 'year' => getCustomFieldId( $this->wpdb, 'Year' ),
- 'model' => getCustomFieldId( $this->wpdb, 'Model' ),
- 'color' => getCustomFieldId( $this->wpdb, 'Color' ),
- 'length' => getCustomFieldId( $this->wpdb, 'Length' ),
- 'weight' => getCustomFieldId( $this->wpdb, 'UVW lbs' ),
- 'sleeping_capacity' => getCustomFieldId( $this->wpdb, 'Sleeping Capacity' ),
- 'slide_outs' => getCustomFieldId( $this->wpdb, 'Slide Outs' ),
- 'fresh_water_tank_size' => getCustomFieldId( $this->wpdb, 'Fresh Water (gal)' ),
- 'black_tank_size' => getCustomFieldId( $this->wpdb, 'Black Water (gal)' ),
- 'grey_tank_size' => getCustomFieldId( $this->wpdb, 'Gray Water (gal)' ),
- 'stock_numb' => getCustomFieldId( $this->wpdb, 'Stock #' ),
- 'msrp' => getCustomFieldId( $this->wpdb, 'MSRP' ),
- 'make' => getCustomFieldId( $this->wpdb, 'Make' ),
- 'bedrooms' => getCustomFieldId( $this->wpdb, 'Bedrooms' ),
- 'bathrooms' => getCustomFieldId( $this->wpdb, 'Bathrooms' ),
- 'sqft' => getCustomFieldId( $this->wpdb, 'Square Footage' ),
- 'just_arrived' => getCustomFieldId( $this->wpdb, 'Just Arrived' ),
- 'red_hot_deal' => getCustomFieldId( $this->wpdb, 'Red Hot Deal' ),
- 'used' => getCustomFieldId( $this->wpdb, 'Used' ),
-);
-//echo '<pre>$customFieldIds: ' . print_r( $customFieldIds, true ) . '</pre>';
-function addCustomFieldData( $wpdb, $customFieldIds, $ref_dest, $fieldName, $fieldValue )
-{
- // check the $fieldValue for t or f
- if ( $fieldValue ) {
- if ( $fieldValue == 't' ) {
- $fieldValue = 'Yes';
- } elseif ( $fieldValue == 'f' ) {
- $fieldValue = 'No';
- }
- }
- $wpdb->insert(
- GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . 'custom_field_data',
- array(
- 'field_id' => $customFieldIds[$fieldName],
- 'ref_dest' => $ref_dest,
- 'field_data' => ($fieldValue) ? $fieldValue: '',
- ),
- array( '%d', '%d', '%s' )
- );
-}
-// 5. Get categories
-// Setup three main level categories
-// Brands, Manufactures, and Classes
-function addNewCategory( $wpdb, $name, $parent )
-{
- $catId = getCategoryId( $wpdb, $name, $parent );
- if ( $catId ) {
- return $catId;
- } else {
- // Add the category
- $wpdb->insert(
- GLM_MEMBERS_PLUGIN_DB_PREFIX . 'categories',
- array(
- 'name' => $name,
- 'descr' => '',
- 'short_descr' => '',
- 'parent' => $parent
- ),
- array(
- '%s',
- '%s',
- '%s',
- '%d',
- )
- );
- return $wpdb->insert_id;
- }
-}
-// Grab the Brands from Brewbakers
-if ( !$failure ) {
- // Add new main level for Brands
- $rvBrandId = addNewCategory( $this->wpdb, 'Brands', 0 );
- //echo '<pre>$rvBrandId: ' . print_r( $rvBrandId, true ) . '</pre>';
- // Get all Brands and add them as sub categories
- $sql = "
- SELECT id,name
- FROM brands
- 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 brands listed in this database!';
- $failure = true;
- } else {
- $brands = pg_fetch_all( $res );
- if ( count( $brands ) != $rows ) {
- $notice = pg_last_notice( $res );
- $templateData['genError'] = 'While reading base brands data, we did not receive the expected number of brands! ';
- if ( $notice ) {
- $templateData['genError'] .= 'Perhaps the following message will help.<br>'.$notice;
- }
- $failure = true;
- }
- //echo '<pre>$brands: ' . print_r( $brands, true ) . '</pre>';
- foreach ( $brands as $key => $val ) {
- //echo '<pre>Adding category for ' . $val['name'] . ' parent ' . $rvBrandId . '</pre>';
- $newCatId = addNewCategory( $this->wpdb, $val['name'], $rvBrandId );
- }
- }
-}
-// Grab the Housing Manufacturers
-if ( !$failure ) {
- // Add new main level for Brands
- $homeManufacturerId = addNewCategory( $this->wpdb, 'Housing Manufacturers', 0 );
- //echo '<pre>$homeManufacturerId: ' . print_r( $homeManufacturerId, true ) . '</pre>';
- // Get all Manufactures from housing section and add them as sub categories
- $sql = "
- SELECT id,name
- FROM manufacturer
- WHERE section = 1
- 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 Housing Manufacturers listed in this database!';
- $failure = true;
- } else {
- $houseMan = pg_fetch_all( $res );
- if ( count( $houseMan ) != $rows ) {
- $notice = pg_last_notice( $res );
- $templateData['genError'] = 'While reading base Housing Manufacturers data, we did not receive the expected number of row! ';
- if ( $notice ) {
- $templateData['genError'] .= 'Perhaps the following message will help.<br>'.$notice;
- }
- $failure = true;
- }
- //echo '<pre>$houseMan: ' . print_r( $houseMan, true ) . '</pre>';
- foreach ( $houseMan as $key => $val ) {
- //echo '<pre>Adding category for ' . $val['name'] . ' parent ' . $homeManufacturerId . '</pre>';
- $newCatId = addNewCategory( $this->wpdb, $val['name'], $homeManufacturerId );
- }
- }
-}
-// Grab the RV Manufacturers
-if ( !$failure ) {
- // Add new main level for Brands
- $rvManufacturerId = addNewCategory( $this->wpdb, 'RV Manufacturers', 0 );
- //echo '<pre>$rvManufacturerId: ' . print_r( $rvManufacturerId, true ) . '</pre>';
- // Get all Manufactures from rvs section and add them as sub categories
- $sql = "
- SELECT id,name
- FROM manufacturer
- WHERE section = 2
- 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 RV Manufacturers listed in this database!';
- $failure = true;
- } else {
- $rvMan = pg_fetch_all( $res );
- if ( count( $rvMan ) != $rows ) {
- $notice = pg_last_notice( $res );
- $templateData['genError'] = 'While reading base RV Manufacturers data, we did not receive the expected number of row! ';
- if ( $notice ) {
- $templateData['genError'] .= 'Perhaps the following message will help.<br>'.$notice;
- }
- $failure = true;
- }
- //echo '<pre>$rvMan: ' . print_r( $rvMan, true ) . '</pre>';
- foreach ( $rvMan as $key => $val ) {
- //echo '<pre>Adding category for ' . $val['name'] . ' parent ' . $rvManufacturerId . '</pre>';
- $newCatId = addNewCategory( $this->wpdb, $val['name'], $rvManufacturerId );
- }
- }
-}
-// Grab the Housing Classes
-if ( !$failure ) {
- // Add new main level for Brands
- $homeClassId = addNewCategory( $this->wpdb, 'Housing Classes', 0 );
- //echo '<pre>$homeClassId: ' . print_r( $homeClassId, true ) . '</pre>';
- // Get all Manufactures from housing section and add them as sub categories
- $sql = "
- SELECT id,name
- FROM class
- WHERE section = 1
- 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 Housing Classes listed in this database!';
- $failure = true;
- } else {
- $houseClass = pg_fetch_all( $res );
- if ( count( $houseClass ) != $rows ) {
- $notice = pg_last_notice( $res );
- $templateData['genError'] = 'While reading base Housing Classes data, we did not receive the expected number of row! ';
- if ( $notice ) {
- $templateData['genError'] .= 'Perhaps the following message will help.<br>'.$notice;
- }
- $failure = true;
- }
- //echo '<pre>$houseClass: ' . print_r( $houseClass, true ) . '</pre>';
- foreach ( $houseClass as $key => $val ) {
- //echo '<pre>Adding category for ' . $val['name'] . ' parent ' . $homeClassId . '</pre>';
- $newCatId = addNewCategory( $this->wpdb, $val['name'], $homeClassId );
- }
- }
-}
-// Grab the RV Classes
-if ( !$failure ) {
- // Add new main level for Brands
- $rvClassId = addNewCategory( $this->wpdb, 'RV Classes', 0 );
- //echo '<pre>$rvClassId: ' . print_r( $rvClassId, true ) . '</pre>';
- // Get all Manufactures from rvs section and add them as sub categories
- $sql = "
- SELECT id,name
- FROM class
- WHERE section = 2
- 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 RV Classes listed in this database!';
- $failure = true;
- } else {
- $rvClass = pg_fetch_all( $res );
- if ( count( $rvClass ) != $rows ) {
- $notice = pg_last_notice( $res );
- $templateData['genError'] = 'While reading base RV Classes data, we did not receive the expected number of row! ';
- if ( $notice ) {
- $templateData['genError'] .= 'Perhaps the following message will help.<br>'.$notice;
- }
- $failure = true;
- }
- //echo '<pre>$rvClass: ' . print_r( $rvClass, true ) . '</pre>';
- foreach ( $rvClass as $key => $val ) {
- //echo '<pre>Adding category for ' . $val['name'] . ' parent ' . $rvClassId . '</pre>';
- $newCatId = addNewCategory( $this->wpdb, $val['name'], $rvClassId );
- }
- }
-}
-// Grab the Homes Models
-if ( !$failure ) {
- // Add new main level for Models
- $homeModelId = addNewCategory( $this->wpdb, 'Home Models', 0 );
- //echo '<pre>$homeModelId: ' . print_r( $homeModelId, true ) . '</pre>';
- // Get all Manufactures from rvs section and add them as sub categories
- $sql = "
- SELECT id,name
- FROM model
- WHERE section = 1
- ORDER BY name";
- $res = pg_query( $db, $sql );
- $rows = pg_num_rows( $res );
- if ( $rows == 0 ) {
- $templateData['genError'] = 'There does not appear to be any RV Models listed in this database!';
- $failure = true;
- } else {
- $homeModel = pg_fetch_all( $res );
- if ( count( $homeModel ) != $rows ) {
- $notice = pg_last_notice( $res );
- $templateData['genError'] = 'While reading base RV Models data, we did not receive the expected number of row! ';
- if ( $notice ) {
- $templateData['genError'] .= 'Perhaps the following message will help.<br>'.$notice;
- }
- $failure = true;
- }
- //echo '<pre>$homeModel: ' . print_r( $homeModel, true ) . '</pre>';
- foreach ( $homeModel as $key => $val ) {
- //echo '<pre>Adding category for ' . $val['name'] . ' parent ' . $homeModelId . '</pre>';
- $newCatId = addNewCategory( $this->wpdb, $val['name'], $homeModelId );
- }
- }
-}
-// 6. Get category member relation data
-// Read in all amenities
-if (!$failure) {
- $sql = "
- SELECT *
- FROM amenities
- ORDER BY name
- ;";
- $res = pg_query($db, $sql);
- $rows = pg_num_rows($res);
- if ($rows == 0) {
- $templateData['genError'] = 'There does not appear to be any amenities listed in this database!';
- $failure = true;
- } else {
- $tmp = pg_fetch_all($res);
- if (count($tmp) != $rows) {
- $notice = pg_last_notice($res);
- $templateData['genError'] = 'While reading amenity data, we did not receive the expected number of amenities! ';
- if ($notice) {
- $templateData['genError'] .= 'Perhaps the following message will help.<br>'.$notice;
- }
- $failure = true;
- } else {
-
- // Since there was no problem, we'll post-process the cities into an array indexed by city_id
- $amenity = array();
-
- // Reprocess into array indexed by amenity_id
- foreach ($tmp as $x) {
- $amenity[$x['id']] = $x;
- }
- //echo '<pre>$amenity: ' . print_r( $amenity, true ) . '</pre>';
- }
- }
-}
-function getAmenityId( $wpdb, $name )
-{
- return $wpdb->get_var(
- $wpdb->prepare(
- "SELECT id
- FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "amenities
- WHERE name = %s",
- $name
- )
- );
-}
-function addNewAmenity( $wpdb, $name )
-{
- $amenityId = getAmenityId( $wpdb, $name );
- if ( $amenityId ) {
- return $amenityId;
- } else {
- // Add the category
- $wpdb->insert(
- GLM_MEMBERS_PLUGIN_DB_PREFIX . 'amenities',
- array(
- 'active' => true,
- 'name' => $name,
- 'descr' => '',
- 'short_descr' => '',
- 'ref_type' => 20
- ),
- array(
- '%d',
- '%s',
- '%s',
- '%s',
- '%d'
- )
- );
- return $wpdb->insert_id;
- }
-}
-
-if (!$failure) {
- // Import Amenities
- while (list ($key, $val) = each ($amenity) ) {
- $amenityId = addNewAmenity( $this->wpdb, $val['name'] );
- $amenity[$key]['new_id'] = $amenityId;
- }
- //echo '<pre>new $amenity: ' . print_r( $amenity, true ) . '</pre>';
-}
-function getMemberTypeId( $wpdb, $name )
-{
- return $wpdb->get_var(
- $wpdb->prepare(
- "SELECT id
- FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_type
- WHERE name = %s",
- $name
- )
- );
-}
-function addNewMemberType( $wpdb, $name )
-{
- $memberTypeId = getMemberTypeId( $wpdb, $name );
- if ( $memberTypeId ) {
- return $memberTypeId;
- } else {
- // Add the category
- $wpdb->insert(
- GLM_MEMBERS_PLUGIN_DB_PREFIX . 'member_type',
- array(
- 'name' => $name,
- 'descr' => ''
- ),
- '%s'
- );
- return $wpdb->insert_id;
- }
-}
-// Member Types
-if (!$failure) {
- // Add member type for RV's
- $rvMemberType = addNewMemberType( $this->wpdb, 'RV' );
- // Add member type for Homes
- $homeMemberType = addNewMemberType( $this->wpdb, 'Home' );
-}
-if (!$failure) {
- // Import Members
- $numbMembersActive = 0;
- $numbMembersInactive = 0;
- $namesInserted = array();
- $membImportIssues = '';
- $haveMembImportIssues = false;
- $dupeNames = 0;
- while (list ($key, $val) = each ($homes) ) {
- // Member is active, so set to active-moderated
- $access = $this->config['access_numb']['Moderated'];
- $numbMembersActive++;
-
- // Check for duplicate name
- // Build out the Home name from year make model class
- $membName = sprintf(
- "%s %s %s",
- $val['year'],
- $val['make'],
- $val['class_name']
- );
- if (isset($namesInserted[$membName])) {
-
- // Bump dupe count and add to name to make this one unique
- $dupeNames++;
- $membName .= ' DUPE-'.$dupeNames;
-
- $membImportIssues .= '<li>Member Duplicate <b>'.$membName.'</b></li>';
- $haveMembImportIssues = true;
-
- }
- // Add main member record
- $res = $this->wpdb->insert(
- GLM_MEMBERS_PLUGIN_DB_PREFIX.'members',
- array(
- 'access' => $access,
- 'member_type' => $homeMemberType,
- 'created' => date('Y-m-d'),
- 'name' => $membName,
- 'member_slug' => sanitize_title($membName),
- 'featured' => ($val['featured'] == 't') ? 1: 0,
- 'old_member_id' => $val['id']
- ),
- array(
- '%d',
- '%d',
- '%s',
- '%s',
- '%s',
- '%d',
- '%d'
- )
- );
- $membID = $this->wpdb->insert_id;
- $member[$key]['new_id'] = $membID;
-
- // Add this member to the names inserted so we can check for duplicates
- $namesInserted[$membName] = true;
-
- // Insert Member Information Record
- $res = $this->wpdb->insert(
- GLM_MEMBERS_PLUGIN_DB_PREFIX.'member_info',
- array(
- 'member' => $membID,
- 'member_name' => $membName,
- 'status' => $this->config['status_numb']['Active'],
- 'reference_name' => 'Imported Member Information',
- 'descr' => preg_replace('%[\n\r]%', '', $val['description']),
- 'short_descr' => '',
- 'addr1' => '',
- 'addr2' => '',
- 'city' => 0,
- 'state' => 0,
- 'country' => '',
- 'zip' => '',
- 'lat' => 0,
- 'lon' => 0,
- 'region' => 0,
- 'phone' => '',
- 'toll_free' => '',
- 'url' => '',
- 'email' => '',
- 'logo' => '',
- 'cc_type' => 0,
- 'notes' => '',
- 'create_time' => $val['created'],
- 'modify_time' => ''
- ),
- array(
- '%d',
- '%s',
- '%d',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%d',
- '%s',
- '%s',
- '%s',
- '%f',
- '%f',
- '%d',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%d',
- '%s',
- '%s',
- '%s'
- )
- );
- $infoID = $this->wpdb->insert_id;
- $member[$key]['new_info_id'] = $infoID;
- $homeModel = $homeClass = $homeManufacturer = 0;
- $homeCat = array();
-
- // Add Member Categories
- // Get category id for the model_name
- $homeModel = getCategoryId( $this->wpdb, $val['model_name'], $homeModelId );
- if ( $homeModel ) {
- $homeCat[] = array(
- 'category' => $homeModel,
- 'member_info' => $infoID
- );
- }
- // Get category id for the class_name
- $homeClass = getCategoryId( $this->wpdb, $val['class_name'], $homeClassId );
- if ( $homeClass ) {
- $homeCat[] = array(
- 'category' => $homeClass,
- 'member_info' => $infoID
- );
- }
- // Get category id for the manufacturer_name
- $homeManufacturer = getCategoryId( $this->wpdb, $val['manufacturer_name'], $homeManufacturerId );
- if ( $homeManufacturer ) {
- $homeCat[] = array(
- 'category' => $homeManufacturer,
- 'member_info' => $infoID
- );
- }
- // Add Member Categories
- if (isset($homeCat)) {
- foreach ($homeCat as $catMemData) {
-
- $res = $this->wpdb->insert(
- GLM_MEMBERS_PLUGIN_DB_PREFIX.'category_member_info',
- $catMemData,
- array(
- '%d',
- '%d'
- )
- );
-
- }
- }
-
- // Add Member Amenities (only for rvs)
-
- // Add Custom Fields
- // year
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'year', $val['year'] );
- // make
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'make', $val['make'] );
- // color
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'color', $val['color'] );
- // Stock Number
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'stock_numb', $val['stock_numb'] );
- // MSRP
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'msrp', $val['msrp'] );
- // Bedrooms
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'bedrooms', $val['bedrooms'] );
- // Bathrooms
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'bathrooms', $val['bathrooms'] );
- // Square Footage
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'sqft', $val['sqft'] );
- // Used
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'used', $val['used'] );
-
- }
- //echo '<pre>$member: ' . print_r( $member, true ) . '</pre>';
-}
-
-$haveCatImportIssues = false;
-$catImportIssues = '';
-if (!$failure) {
- while (list ($key, $val) = each ($rvs) ) {
- // Member is active, so set to active-moderated
- $access = $this->config['access_numb']['Moderated'];
- $numbMembersActive++;
-
- // Check for duplicate name
- // Build out the Home name from year make model class
- $membName = sprintf(
- "%s %s %s",
- $val['year'],
- $val['model_name'],
- $val['stock_numb']
- );
- if (isset($namesInserted[$membName])) {
-
- // Bump dupe count and add to name to make this one unique
- $dupeNames++;
- $membName .= ' DUPE-'.$dupeNames;
-
- $membImportIssues .= '<li>Member Duplicate <b>'.$membName.'</b></li>';
- $haveMembImportIssues = true;
-
- }
- // Add main member record
- $res = $this->wpdb->insert(
- GLM_MEMBERS_PLUGIN_DB_PREFIX.'members',
- array(
- 'access' => $access,
- 'member_type' => $rvMemberType,
- 'created' => date('Y-m-d'),
- 'name' => $membName,
- 'member_slug' => sanitize_title($membName),
- 'featured' => ($val['featured'] == 't') ? 1: 0,
- 'old_member_id' => $val['id']
- ),
- array(
- '%d',
- '%d',
- '%s',
- '%s',
- '%s',
- '%d',
- '%d'
- )
- );
- $membID = $this->wpdb->insert_id;
- $member[$key]['new_id'] = $membID;
-
- // Add this member to the names inserted so we can check for duplicates
- $namesInserted[$membName] = true;
-
- // Insert Member Information Record
- $res = $this->wpdb->insert(
- GLM_MEMBERS_PLUGIN_DB_PREFIX.'member_info',
- array(
- 'member' => $membID,
- 'member_name' => $membName,
- 'status' => $this->config['status_numb']['Active'],
- 'reference_name' => 'Imported Member Information',
- 'descr' => preg_replace('%[\n\r]%', '', $val['description']),
- 'short_descr' => '',
- 'addr1' => '',
- 'addr2' => '',
- 'city' => 0,
- 'state' => 0,
- 'country' => '',
- 'zip' => '',
- 'lat' => 0,
- 'lon' => 0,
- 'region' => 0,
- 'phone' => '',
- 'toll_free' => '',
- 'url' => '',
- 'email' => '',
- 'logo' => '',
- 'cc_type' => 0,
- 'notes' => '',
- 'create_time' => $val['created'],
- 'modify_time' => ''
- ),
- array(
- '%d',
- '%s',
- '%d',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%d',
- '%s',
- '%s',
- '%s',
- '%f',
- '%f',
- '%d',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%d',
- '%s',
- '%s',
- '%s'
- )
- );
- $infoID = $this->wpdb->insert_id;
- $member[$key]['new_info_id'] = $infoID;
- $rvBrand = $rvClass = $rvManufacturer = 0;
- $rvCat = array();
-
- // Add Member Categories
- // Get category id for the brand_name
- $rvBrand = getCategoryId( $this->wpdb, $val['brand_name'], $rvBrandId );
- if ( $rvBrand ) {
- $rvCat[] = array(
- 'category' => $rvBrand,
- 'member_info' => $infoID
- );
- }
- // Get category id for the class_name
- $rvClass = getCategoryId( $this->wpdb, $val['class_name'], $rvClassId );
- if ( $rvClass ) {
- $rvCat[] = array(
- 'category' => $rvClass,
- 'member_info' => $infoID
- );
- }
- // Get category id for the manufacturer_name
- $rvManufacturer = getCategoryId( $this->wpdb, $val['manufacturer_name'], $rvManufacturerId );
- if ( $rvManufacturer ) {
- $rvCat[] = array(
- 'category' => $rvManufacturer,
- 'member_info' => $infoID
- );
- }
- // Add Member Categories
- if (isset($rvCat)) {
- foreach ($rvCat as $catMemData) {
-
- $res = $this->wpdb->insert(
- GLM_MEMBERS_PLUGIN_DB_PREFIX.'category_member_info',
- $catMemData,
- array(
- '%d',
- '%d'
- )
- );
-
- }
- }
-
- // Add Member Amenities (only for rvs)
- if (isset($rvAmen[$val['id']])) {
- foreach ($rvAmen[$val['id']] as $a) {
- // Check first if the amenity still exists
- // Brewbakers may have extra rvs_amenity records for amenities
- // that don't exists anymore.
- if ( isset( $amenity[$a['amenity_id']] ) ) {
- $res = $this->wpdb->insert(
- GLM_MEMBERS_PLUGIN_DB_PREFIX.'amenity_ref',
- array(
- 'amenity' => $amenity[$a['amenity_id']]['new_id'],
- 'ref_type' => $this->config['ref_type_numb']['MemberInfo'],
- 'ref_dest' => $infoID
- ),
- array(
- '%d',
- '%d',
- '%d'
- )
- );
- }
- }
- }
-
- // Add Custom Fields
- // year
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'year', $val['year'] );
- // Model
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'model', $val['model_name'] );
- // length
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'length', $val['length'] );
- // Weight
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'weight', $val['weight'] );
- // color
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'color', $val['color'] );
- // Stock Number
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'stock_numb', $val['stock_numb'] );
- // MSRP
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'msrp', $val['msrp'] );
- // Sleeping Capacity
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'sleeping_capacity', $val['sleeping_capacity'] );
- // Slide Outs
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'slide_outs', $val['slide_outs'] );
- // Fresh Water
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'fresh_water_tank_size', $val['fresh_water_tank_size'] );
- // Black Tank
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'black_tank_size', $val['black_tank_size'] );
- // Grey Tank
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'grey_tank_size', $val['grey_tank_size'] );
- // Just Arrived
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'just_arrived', $val['just_arrived'] );
- // Red Hot Heal
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'red_hot_deal', $val['red_hot_deal'] );
- // Used
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'used', $val['used'] );
-
- }
-
-}
-// If everything is OK, make data available to the template
-if (!$failure) {
-
- $templateData['numbMembers'] = count($member);
- $templateData['numbMembersActive'] = $numbMembersActive;
- $templateData['numbMembersInactive'] = $numbMembersInactive;
- $templateData['haveMembImportIssues'] = $haveMembImportIssues;
- $templateData['membImportIssues'] = $membImportIssues;
- $templateData['numbCategories'] = count($rvCat) + count($homeCat);
- $templateData['haveCatImportIssues'] = $haveCatImportIssues;
- $templateData['catImportIssues'] = $catImportIssues;
- $templateData['numbAmenities'] = count($amenity);
- $templateData['numbAmenityMembers'] = $numbAmenityMembers;
-
- // For testing only
- $templateData['member'] = $member;
- $templateData['amenity'] = $amenity;
- $templateData['rvAmen'] = $rvAmen;
-}
-
-
-if ($failure) {
- $requestedView = 'import.html';
-} else {
- $requestedView = 'import/brewbakers.html';
-}
+++ /dev/null
-<?php
-// Setup the brewbakers image url
-$dbImageURL = 'http://is0.gaslightmedia.com/brewbakers/CKImage/';
-
-// Setup the database connection to postgres
-$dbServer = 'ds4';
-$dbName = 'michigantrailmaps';
-$dbUser = 'postgres';
-$trails = array();
-$failure = false;
-
-// 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;
-}
-// Reset the custom field data table.
-$this->wpdb->query("DELETE FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_field_data");
-$this->wpdb->query("DELETE FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "counties");
-
-function getMemberInfoIdFromOldMemberId( $wpdb, $oldMemberId )
-{
- return $wpdb->get_var(
- $wpdb->prepare(
- "SELECT id
- FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_info
- WHERE member IN (
- SELECT id
- FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members
- WHERE old_member_id = %d)",
- $oldMemberId
- )
- );
-}
-function getCustomFieldId( $wpdb, $name )
-{
- return $wpdb->get_var(
- $wpdb->prepare(
- "SELECT id
- FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_fields
- WHERE field_name = %s",
- $name
- )
- );
-}
-$customFieldIds = array(
- 'reviewed' => getCustomFieldId( $this->wpdb, 'Reviewed' ),
- 'distance' => getCustomFieldId( $this->wpdb, 'Distance' ),
- 'trailtype' => getCustomFieldId( $this->wpdb, 'Type' ),
- 'terrain' => getCustomFieldId( $this->wpdb, 'Terrain' ),
- 'difficulty' => getCustomFieldId( $this->wpdb, 'Difficulty' ),
- 'nearest_city' => getCustomFieldId( $this->wpdb, 'Nearest City or Town' ),
- 'guide' => getCustomFieldId( $this->wpdb, 'Trail Guide' ),
- 'facilities' => getCustomFieldId( $this->wpdb, 'Facilities' ),
- 'hours' => getCustomFieldId( $this->wpdb, 'Hours & Fees' ),
- 'directions' => getCustomFieldId( $this->wpdb, 'Directions' ),
- 'information' => getCustomFieldId( $this->wpdb, 'Information' ),
-);
-//echo '<pre>$customFieldIds: ' . print_r( $customFieldIds, true ) . '</pre>';
-function addCustomFieldData( $wpdb, $customFieldIds, $ref_dest, $fieldName, $fieldValue )
-{
- // check the $fieldValue for t or f
- if ( $fieldValue ) {
- if ( $fieldValue == 't' ) {
- $fieldValue = 'Yes';
- } elseif ( $fieldValue == 'f' ) {
- $fieldValue = 'No';
- }
- }
- $wpdb->insert(
- GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . 'custom_field_data',
- array(
- 'field_id' => $customFieldIds[$fieldName],
- 'ref_dest' => $ref_dest,
- 'field_data' => ($fieldValue) ? $fieldValue: '',
- ),
- array( '%d', '%d', '%s' )
- );
-}
-
-// Read in all counties
-if (!$failure) {
- $sql = "
- SELECT *
- FROM members.county
- ;";
- $res = pg_query($db, $sql);
- $rows = pg_num_rows($res);
- if ($rows == 0) {
- $templateData['genError'] = 'There does not appear to be any counties listed in this database!';
- $failure = true;
- } else {
- $tmp = pg_fetch_all($res);
- if (count($tmp) != $rows) {
- $notice = pg_last_notice($res);
- $templateData['genError'] = 'While reading county data, we did not receive the expected number of counties! ';
- if ($notice) {
- $templateData['genError'] .= 'Perhaps the following message will help.<br>'.$notice;
- }
- $failure = true;
- } else {
-
- // Since there was no problem, we'll post-process the cities into an array indexed by city_id
- $county = array();
-
- // Reprocess into array indexed by state_id
- foreach ($tmp as $x) {
- $county[$x['county_id']] = $x;
- }
- }
- }
-}
-
-if (!$failure) {
- // Import Counties
- while (list ($key, $val) = each ($county) ) {
-
- $res = $this->wpdb->insert(
- GLM_MEMBERS_PLUGIN_DB_PREFIX.'counties',
- array(
- 'name' => $val['county_name'],
- 'descr' => '',
- 'short_descr' => ''
- ),
- array(
- '%s',
- '%s',
- '%s'
- )
- );
- $county[$key]['new_id'] = $this->wpdb->insert_id;
-
- }
-}
-
-if ( !$failure ) {
- $sql = "
- SELECT member_id,county,reviewed,distance,trailtype,terrain,difficulty,
- nearest_city,guide,facilities,hours,directions,information
- FROM members.member
- ORDER BY member_id";
- $res = pg_query($db, $sql);
- $rows = pg_num_rows($res);
- if ($rows == 0) {
- $templateData['genError'] = 'There does not appear to be any member files listed in this database!';
- $failure = true;
- } else {
- $trails = pg_fetch_all( $res );
- if ( count( $trails ) != $rows ) {
- $notice = pg_last_notice( $res );
- $templateData['genError'] = 'While reading base trails data, we did not receive the expected number of trails! ';
- if ( $notice ) {
- $templateData['genError'] .= 'Perhaps the following message will help.<br>'.$notice;
- }
- $failure = true;
- }
- }
-}
-//echo '<pre>$trails: ' . print_r( $trails, true ) . '</pre>';
-//echo '<pre>$customFieldIds: ' . print_r( $customFieldIds, true ) . '</pre>';
-//exit;
-$test = false;//true;
-if (!$failure) {
- // Import Members
- while (list ($key, $val) = each ($trails) ) {
- // Grab the new member info id from the old member_id field.
- $infoID = getMemberInfoIdFromOldMemberId( $this->wpdb, $val['member_id'] );
- if ( !$infoID ) {
- echo '<pre>$infoID: ' . print_r( $infoID, true ) . '</pre>';
- echo '<pre>$val[member_id]: ' . print_r( $val['member_id'], true ) . '</pre>';
- }
-
- if ( $infoID && !$test ) {
- // Update the county field for the member info record
- $res = $this->wpdb->update(
- GLM_MEMBERS_PLUGIN_DB_PREFIX . 'member_info',
- array(
- 'county' => (isset($county[$val['county']]) ? $county[$val['county']]['new_id']: 0)
- ),
- array('id' => $infoID ),
- array( '%d' ),
- array( '%d' )
- );
- // Add Custom Fields
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'reviewed', $val['reviewed'] );
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'distance', $val['distance'] );
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'trailtype', $val['trailtype'] );
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'terrain', $val['terrain'] );
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'difficulty', $val['difficulty'] );
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'nearest_city', $val['nearest_city'] );
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'guide', $val['guide'] );
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'facilities', $val['facilities'] );
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'hours', $val['hours'] );
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'directions', $val['directions'] );
- addCustomFieldData( $this->wpdb, $customFieldIds, $infoID, 'information', $val['information'] );
- }
-
- }
- //echo '<pre>$member: ' . print_r( $member, true ) . '</pre>';
-}
-
-$haveCatImportIssues = false;
-$catImportIssues = '';
-// If everything is OK, make data available to the template
-if (!$failure) {
-
- $templateData['numbMembers'] = count($trails);
-}
-
-
-if ($failure) {
- $requestedView = 'import.html';
-} else {
- $requestedView = 'import/trailmapsImport.html';
-}