From: Steve Sutton Date: Thu, 15 Nov 2018 21:27:12 +0000 (-0500) Subject: Setup list from login X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/index.cgi?a=commitdiff_plain;h=549d6179a7c196804e07691b60c6b5dbec4bc54a;p=WP-Plugins%2Fglm-member-db-itinerary.git Setup list from login session store and restore --- diff --git a/models/admin/ajax/itineraryList.php b/models/admin/ajax/itineraryList.php index 02eb39d..a41e137 100644 --- a/models/admin/ajax/itineraryList.php +++ b/models/admin/ajax/itineraryList.php @@ -95,6 +95,21 @@ class GlmMembersAdmin_ajax_itineraryList //extends GlmDataMemberInfo } } } + // If there's a logged in user remove the stored session data + if ( isset( $_SESSION['itinerary-auth'] ) && $auth_user_id = filter_var( $_SESSION['itinerary-auth'], FILTER_VALIDATE_INT ) ) { + $this->wpdb->delete( + GLM_MEMBERS_ITINERARY_PLUGIN_DB_PREFIX . 'session', + array( + 'ref_dest' => $member_id, + 'contact_dest' => $auth_user_id + ), + array( + '%d', + '%d' + ) + ); + } + } else { // add to the session $_SESSION['travel-list'][$member_id] = array( @@ -102,6 +117,26 @@ class GlmMembersAdmin_ajax_itineraryList //extends GlmDataMemberInfo 'ref_dest' => $member_id, 'page_slug' => $ref_page, ); + // If there's a logged in user store data in sessino table + if ( isset( $_SESSION['itinerary-auth'] ) && $auth_user_id = filter_var( $_SESSION['itinerary-auth'], FILTER_VALIDATE_INT ) ) { + $this->wpdb->insert( + GLM_MEMBERS_ITINERARY_PLUGIN_DB_PREFIX . 'session', + array( + 'ref_type' => '', + 'ref_dest' => $member_id, + 'contact_type' => '', + 'contact_dest' => $auth_user_id, + 'page_url' => $ref_page, + ), + array( + '%d', // ref_type + '%d', // ref_dest + '%d', // contact_type + '%d', // contact_dest + '%s', // page_url + ) + ); + } } } diff --git a/models/front/itinerary/list.php b/models/front/itinerary/list.php index 0024d03..28999ce 100755 --- a/models/front/itinerary/list.php +++ b/models/front/itinerary/list.php @@ -128,7 +128,6 @@ class GlmMembersFront_itinerary_list // extends GlmMembersFront_events_baseActio case 'create': // Get list of states $states = $this->config['states']; - // echo '
$states: ' . print_r( $states, true ) . '
'; $view = 'create.html'; break; case 'login': @@ -148,6 +147,25 @@ class GlmMembersFront_itinerary_list // extends GlmMembersFront_events_baseActio // Success login $_SESSION['itinerary-auth'] = $user_id; $userLoggedIn = true; + // Get any stored sessions + $storedSessions = $this->wpdb->get_results( + $this->wpdb->prepare( + "SELECT * + FROM " . GLM_MEMBERS_ITINERARY_PLUGIN_DB_PREFIX . "session + WHERE contact_dest = %d", + $user_id + ), + ARRAY_A + ); + if ( $storedSessions ) { + foreach ( $storedSessions as $store ) { + $_SESSION['travel-list'][$store['ref_dest']] = array( + 'ref_type' => 'member', + 'ref_dest' => $store['ref_dest'], + 'page_slug' => $store['page_url'] + ); + } + } } global $wp; $tripPlannerPage = get_permalink( $this->config['settings']['itinerary_page'] );