From 1493011a262f0516e14bafb97e8e6ce93b3bf5bc Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Tue, 23 Jan 2018 13:21:26 -0500 Subject: [PATCH] Update to old_member_id field and import scripts. Updating the import script for issue with wmta and the remote cdn images for their logo's. Update the field column type for the old_member_id and changing it to TINYTEXT field. --- index.php | 4 +-- models/admin/import/index.php | 33 +++++++++++++++++-- ...1.1.33.sql => create_database_V1.1.34.sql} | 5 +-- setup/databaseScripts/dbVersions.php | 3 +- ..._V1.1.33.sql => drop_database_V1.1.34.sql} | 0 .../update_database_V1.1.34.sql | 15 +++++++++ 6 files changed, 52 insertions(+), 8 deletions(-) rename setup/databaseScripts/{create_database_V1.1.33.sql => create_database_V1.1.34.sql} (99%) rename setup/databaseScripts/{drop_database_V1.1.33.sql => drop_database_V1.1.34.sql} (100%) create mode 100644 setup/databaseScripts/update_database_V1.1.34.sql diff --git a/index.php b/index.php index 75296c5b..d6ff5d65 100644 --- a/index.php +++ b/index.php @@ -47,7 +47,7 @@ if (!defined('ABSPATH')) { */ define('GLM_MEMBERS_PLUGIN_VERSION', '2.10.20'); -define('GLM_MEMBERS_PLUGIN_DB_VERSION', '1.1.33'); +define('GLM_MEMBERS_PLUGIN_DB_VERSION', '1.1.34'); // Check if plugin version is not current in WordPress option and if needed updated it if (GLM_MEMBERS_PLUGIN_VERSION != get_option('glmMembersDatabasePluginVersion')) { @@ -732,4 +732,4 @@ function glmAssociateMemoryUsage() { $m = memory_get_usage(); $mu = $m - $GLOBALS['glmAssociateMemTracker']; return 'GLM Associate Memory Usage: '.number_format($mu,0).' of '.number_format($m,0).' Bytes'; -} \ No newline at end of file +} diff --git a/models/admin/import/index.php b/models/admin/import/index.php index 9de8530f..803b9ca6 100644 --- a/models/admin/import/index.php +++ b/models/admin/import/index.php @@ -305,7 +305,7 @@ class GlmMembersAdmin_import_index 'name' => 'memberData.csv', 'exists' => false, 'validate' => array( - 'id', 'member_name', 'status', 'descr', + 'id', 'member_name', 'status', 'short_descr', 'descr', 'addr1', 'addr2', 'city', 'state', 'country', 'zip', 'mailing_addr1', 'mailing_addr2', 'mailing_city', 'mailing_state', 'mailing_zip', 'region', 'county', 'lat', 'lon', 'phone', 'toll_free', @@ -825,6 +825,25 @@ class GlmMembersAdmin_import_index return $fileData; } + public function fetchRemoteImage($file, $path) + { + $filename = wp_unique_filename($path, basename($file)); + + $fp = fopen($path . '/' . $filename, 'w+'); + $ch = curl_init($file); + curl_setopt($ch, CURLOPT_TIMEOUT, 50); + curl_setopt($ch, CURLOPT_FILE, $fp); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); + $imgData = curl_exec($ch); + $httpCode = curl_getinfo($ch); + curl_close($ch); + fclose($fp); + // Set correct file permissions + $oldUmask = umask(0); + chmod( $path . '/' . $filename, 0660 ); + umask($oldUmask); + return $filename; + } /** * processFile * @@ -1103,10 +1122,17 @@ class GlmMembersAdmin_import_index if ( isset( $data['logo'] ) ) { $logo = filter_var( $data['logo'], FILTER_VALIDATE_URL ); if ( $logo ) { - $res = $ImageUpload->storeImage( $logo ); + // Transfer the image over to temp directory. + // echo '
$logo: ' . print_r( $logo, true ) . '
'; + $logoImage = $this->fetchRemoteImage( $logo, '/tmp' ); + // echo '
$logoImage: ' . print_r( '/tmp/'. $logoImage, true ) . '
'; + $res = $ImageUpload->storeImage( '/tmp/'. $logoImage ); + // echo '
$res: ' . print_r( $res, true ) . '
'; if ($res['newFileName']) { $data['logo'] = $res['newFileName']; } + // Remove the image from /tmp directory + unlink( '/tmp/'. $logoImage ); } } @@ -1163,7 +1189,8 @@ class GlmMembersAdmin_import_index 'status' => $profileStatus, 'reference_name' => 'Imported Member Information', 'descr' => $data['descr'], - 'short_descr' => $short_descr, + //'short_descr' => $short_descr, + 'short_descr' => $data['short_descr'], 'addr1' => $data['addr1'], 'addr2' => $data['addr2'], 'city' => ((isset($data['city']) && isset($this->cities[$data['city']]['new_id'])) ? $this->cities[$data['city']]['new_id']: 0), diff --git a/setup/databaseScripts/create_database_V1.1.33.sql b/setup/databaseScripts/create_database_V1.1.34.sql similarity index 99% rename from setup/databaseScripts/create_database_V1.1.33.sql rename to setup/databaseScripts/create_database_V1.1.34.sql index 5844b472..26daffa5 100644 --- a/setup/databaseScripts/create_database_V1.1.33.sql +++ b/setup/databaseScripts/create_database_V1.1.34.sql @@ -161,12 +161,13 @@ CREATE TABLE {prefix}members ( name TINYTEXT NULL, -- Member name member_slug TINYTEXT NULL, -- Member name slug for canonical URLs (lowercase, "-" for spaces, no punctuation) notes TEXT NULL, -- General notes - Not displayed in front-end - old_member_id INT NULL, -- Old member ID if imported from old database + old_member_id TINYTEXT NULL, -- Old member ID if imported from old database featured BOOLEAN DEFAULT '0', -- Whether the member is featured PRIMARY KEY (id), INDEX(name(20)), INDEX(member_slug(20)), - INDEX(created) + INDEX(created), + INDEX(old_member_id(20)) ); ---- diff --git a/setup/databaseScripts/dbVersions.php b/setup/databaseScripts/dbVersions.php index 70813043..edf1903a 100644 --- a/setup/databaseScripts/dbVersions.php +++ b/setup/databaseScripts/dbVersions.php @@ -64,7 +64,8 @@ $glmMembersDbVersions = array( '1.1.30' => array('version' => '1.1.30', 'tables' => 19, 'date' => '04/12/17'), '1.1.31' => array('version' => '1.1.31', 'tables' => 20, 'date' => '04/23/17'), '1.1.32' => array('version' => '1.1.32', 'tables' => 20, 'date' => '06/14/17'), - '1.1.33' => array('version' => '1.1.33', 'tables' => 22, 'date' => '01/15/18') + '1.1.33' => array('version' => '1.1.33', 'tables' => 22, 'date' => '01/15/18'), + '1.1.34' => array('version' => '1.1.34', 'tables' => 22, 'date' => '01/23/18'), ); diff --git a/setup/databaseScripts/drop_database_V1.1.33.sql b/setup/databaseScripts/drop_database_V1.1.34.sql similarity index 100% rename from setup/databaseScripts/drop_database_V1.1.33.sql rename to setup/databaseScripts/drop_database_V1.1.34.sql diff --git a/setup/databaseScripts/update_database_V1.1.34.sql b/setup/databaseScripts/update_database_V1.1.34.sql new file mode 100644 index 00000000..2e95b3ff --- /dev/null +++ b/setup/databaseScripts/update_database_V1.1.34.sql @@ -0,0 +1,15 @@ +-- Gaslight Media Members Database +-- File Created: 01/23/18 +-- Database Version: 1.1.34 +-- Database Update From Previous Version Script +-- +-- To permit each query below to be executed separately, +-- all queries must be separated by a line with four dashes. + +-- Alter the old_member_id to TINYTEXT +ALTER TABLE {prefix}members MODIFY old_member_id TINYTEXT NULL; + +---- + +-- Add new index +CREAOTE INDEX old_member_id ON {prefix}members (old_member_id(20)); -- 2.17.1