}
}
}
+ // 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(
'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
+ )
+ );
+ }
}
}
case 'create':
// Get list of states
$states = $this->config['states'];
- // echo '<pre>$states: ' . print_r( $states, true ) . '</pre>';
$view = 'create.html';
break;
case 'login':
// 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'] );