* @access public
*/
public $config;
+ /**
+ * Have a Member
+ *
+ * @var $haveMember
+ * @access public
+ */
+ public $haveMember = false;
+ /**
+ * Member ID
+ *
+ * @var $memberID
+ * @access public
+ */
+ public $memberID = false;
+ /**
+ * Member Data
+ *
+ * @var $memberData
+ * @access public
+ */
+ public $memberData = false;
+ /**
+ * Member Info Record ID
+ *
+ * @var $memberInfoID
+ * @access public
+ */
+ public $memberInfoID = false;
+ /**
+ * Have member Info
+ *
+ * @var $haveMemberInfo
+ * @access public
+ */
+ public $haveMemberInfo = false;
+ /**
+ * Member Info
+ *
+ * @var $memberInfo
+ * @access public
+ */
+ public $memberInfo = false;
+ /**
+ * Member Info Record is the Active Record
+ *
+ * @var $isActive
+ * @access public
+ */
+ public $isActive = false;
+ /**
+ * Category data for current member info record
+ *
+ * @var $categoryMemberInfo
+ * @access public
+ */
+ public $categoryMemberInfo = false;
+ /**
+ * Full list of categories
+ *
+ * @var $categories
+ * @access public
+ */
+ public $categories = false;
+ /**
+ * Have categories?
+ *
+ * @var $haveCategories
+ * @access public
+ */
+ public $haveCategories = false;
+ /**
+ * Have image gallery contents
+ *
+ * @var $haveImageGallery
+ * @access public
+ */
+ public $haveImageGallery = false;
+ /**
+ * Image Gallery
+ *
+ * @var $imageGallery
+ * @access public
+ */
+ public $imageGallery = false;
+ /**
+ * Amenities
+ *
+ * @var $amenities
+ * @access public
+ */
+ public $amenities = false;
+ /**
+ * Member Amenities
+ *
+ * @var $memberAmenities
+ * @access public
+ */
+ public $memberAmenities = false;
+ /**
+ * Regions
+ *
+ * @var $regions
+ * @access public
+ */
+ public $regions = false;
+ /**
+ * Have Regions Flag
+ *
+ * @var $haveRegions
+ * @access public
+ */
+ public $haveRegions = false;
+ /**
+ * Error Flag
+ *
+ * @var $error
+ * @access public
+ */
+ public $error = false;
/*
* Constructor
*/
public function modelAction ($actionData = false)
{
- // Set some default values
- $success = true;
- $memberID = 0;
- $haveMember = false;
- $memberInfoID = 0;
- $haveMemberInfo = false;
- $haveImageGallery = false;
- $isActive = false;
- $noActive = false;
- $categories = false;
- $haveCategories = false;
- $amenities = false;
- $haveAmenities = false;
- $memberAmenities = false;
- $haveMemberAmenities = false;
- $regions = false;
- $haveRegions = false;
- $error = false;
// Check for action option - Should be one of the values in the "switch" statement below
$option = false;
if ($actionData) {
if (!isset($actionData['member'])) {
- $memberID = $actionData['member']-0;
+ $this->memberID = $actionData['member']-0;
}
- $memberID = $actionData['member']-0;
+ $this->memberID = $actionData['member']-0;
$option = 'create';
// Otherwise it should be a user submission
} elseif (isset($_REQUEST['member'])) {
- $memberID = $_REQUEST['member']-0;
+ $this->memberID = $_REQUEST['member']-0;
// If a member info record ID is supplied, get that and make sure it's an integer
if (isset($_REQUEST['id'])) {
- $memberInfoID = $_REQUEST['id']-0;
- $haveMemberInfo = true;
+ $this->memberInfoID = $_REQUEST['id']-0;
+ $this->haveMemberInfo = true;
}
}
// If member ID not supplied - we shouldn't be here, so redirect to an error page
- if ($memberID <= 0) {
+ if ($this->memberID <= 0) {
if (GLM_MEMBERS_PLUGIN_ADMIN_DEBUG) {
glmMembersAdmin::addNotice("<b> Member ID expected but no ID was supplied.", 'Alert');
}
return array(
- 'status' => $success,
+ 'status' => true,
'menuItemRedirect' => 'error',
'modelRedirect' => 'index',
'view' => 'admin/error/index.html',
}
- // If we have a member info record, check if it's active
- if ($haveMemberInfo) {
+ // Determine if the current member info record active?
+ $this->isActive = $this->isActive();
- // Determine if this is the active record
- $sql = "
- SELECT status
- FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info
- WHERE id = $memberInfoID
- ;";
- $activeTest = $this->wpdb->get_row($sql, ARRAY_A);
-
- // If it is, then save that
- if ($activeTest['status'] == $this->config['status_numb']['Active']) {
- $isActive = true;
- }
-
- }
+ // Check for new cities being submitted
+ $this->checkNewCities();
// Get member base data
require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataMembers.php');
$Members = new GlmDataMembers($this->wpdb, $this->config);
- $memberData = $Members->getEntry($memberID);
- $this->fields['logo']['i_prefix'] = 'memb_'.$memberID.'_';
- $haveMember = true;
+ $this->memberData = $Members->getEntry($this->memberID);
+ $this->fields['logo']['i_prefix'] = 'memb_'.$this->memberID.'_';
+ $this->haveMember = true;
// If no member info record, assume that we need to create a new one
- if ($memberInfoID <= 0 && $option != 'addNew') {
+ if ($this->memberInfoID <= 0 && $option != 'addNew') {
$option = 'create';
}
// Setup to input a new member information record
case 'create':
- $memberInfo = $this->newEntry();
+ $this->memberInfo = $this->newEntry();
break;
// Process submission of a member information record update
case 'submit':
+ // Update submitted categories
+ $this->updateCategories();
+
+ // Update submitted amenities
+ $this->updateAmenities();
+
require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataImages.php');
$Images = new GlmDataImages($this->wpdb, $this->config);
// Update image gallery titles, descriptions, and image positions then return current image gallery
- $imageGallery = $Images->galleryImageDataUpdate($this->config['ref_type_numb']['MemberInfo'], $memberInfoID, 'galleryPositionOrder');
- $haveImageGallery = ($imageGallery != false);
+ $this->imageGallery = $Images->galleryImageDataUpdate($this->config['ref_type_numb']['MemberInfo'], $this->memberInfoID, 'galleryPositionOrder');
+ $this->haveImageGallery = ($this->imageGallery != false);
- if ($haveMemberInfo) {
+ if ($this->haveMemberInfo) {
// Update the member Info data
- $memberInfo = $this->updateEntry($memberInfoID);
+ $this->memberInfo = $this->updateEntry($this->memberInfoID);
break;
} else {
case 'addNew':
// Insert the new member info into the database
- $this->memberName = $memberData['name'];
- $memberInfo = $this->insertEntry();
- if ($memberInfo['status']) {
+ $this->memberName = $this->memberData['name'];
+ $this->memberInfo = $this->insertEntry();
+ if ($this->memberInfo['status']) {
+
+ $this->memberInfoID = $this->memberInfo['fieldData']['id'];
+ $this->haveMemberInfo = true;
+
+ // Update submitted categories
+ $this->updateCategories();
- $memberInfoID = $memberInfo['fieldData']['id'];
- $haveMemberInfo = true;
+ // Update submitted amenities
+ $this->updateAmenities();
// Also store member name for reference and sorting
$sql = "
UPDATE ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info
- SET member_name = '".addslashes($memberData['name'])."'
- WHERE id = $memberInfoID
+ SET member_name = '".addslashes($this->memberData['name'])."'
+ WHERE id = ".$this->memberInfoID."
;";
$this->wpdb->query($sql);
$CloneMemberInfo = new GlmMemberInfoClone($this->wpdb, $this->config);
// Clone the current member info
- $memberInfoID = $CloneMemberInfo->cloneMemberInfo($memberInfoID);
+ $this->memberInfoID = $CloneMemberInfo->cloneMemberInfo($this->memberInfoID);
-// $memberInfo = $this->editEntry($memberInfoID);
+ break;
// Default is to display the currently selected member information record in a form for updates
default:
// Edit the existing member
- $memberInfo = $this->editEntry($memberInfoID);
-
- // If we have member data
- if (is_array($memberInfo) && $memberInfo['status']) {
-
- // Say we do
- $haveMemberInfo = true;
-
- // Also get any image gallery images
- require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataImages.php');
- $Images = new GlmDataImages($this->wpdb, $this->config);
- $imageGallery = $Images->getGallery($this->config['ref_type_numb']['MemberInfo'], $memberInfoID);
- $haveImageGallery = ($imageGallery != false);
-
- // Otherwise
- } else {
-
- if (GLM_MEMBERS_PLUGIN_ADMIN_DEBUG) {
- glmMembersAdmin::addNotice("<b> Specified Member Information Record ID is invalid:</b> $memberInfoID", 'Alert');
- }
-
- $error = true;
-
- }
+ $this->memberInfo = $this->editEntry($this->memberInfoID);
break;
}
- // If we have a member ID and this was a submission with a new city (id < 0)
- if ($memberInfoID && isset($_REQUEST['city']) && $_REQUEST['city'] == -1 && isset($_REQUEST['newCityName']) && trim($_REQUEST['newCityName']) != '') {
-
- // Clean up city name
- $cName = trim(filter_var($_REQUEST['newCityName']));
-
- // Try to add the city
- require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataCities.php');
- $Cities = new GlmDataCities($this->wpdb, $this->config);
- $cID = $Cities->addCity($cName);
-
- // If we got a city id back
- if (is_int($cID) && $cID > 0) {
-
- // Update the city selected for this memberInfo record
- $sql = "
- UPDATE ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info
- SET city = $cID
- WHERE id = $memberInfoID
- ;";
- $this->wpdb->query($sql);
-
- // Get updated member information for editing.
- $memberInfo = $this->editEntry($memberInfoID);
- }
-
- }
-
// If we had a fatal error, redirect to the error page
- if ($error) {
+ if ($this->error) {
return array(
- 'status' => $success,
+ 'status' => true,
'menuItemRedirect' => 'error',
'modelRedirect' => 'index',
'view' => 'admin/error/index.html',
}
/*
- * Get a sorted list of categories.
+ * Get a sorted list of categories to use for picklists.
* These will be sorted so sub-categories fall under their
* respective category.
*/
require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataCategories.php');
$Categories = new GlmDataCategories($this->wpdb, $this->config);
- $categories = $Categories->getListSortedParentChild();
- if (is_array($categories) && count($categories) > 0) {
- $haveCategories = true;
- }
+ $this->categories = $Categories->getListSortedParentChild();
- // Get list of Available Member Amenities
+ // Get list of Available Member Amenities to use for picklists
require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataAmenities.php');
$Amenities = new GlmDataAmenities($this->wpdb, $this->config);
- $amenities = $Amenities->getList("T.ref_type = ".$this->config['ref_type_numb']['MemberInfo']);
- if (is_array($amenities) && count($amenities) > 0) {
- $haveAmenities = true;
- }
+ $this->amenities = $Amenities->getList("T.ref_type = ".$this->config['ref_type_numb']['MemberInfo']);
// Get list of Amenities selected for this Member
- $memberAmenities = $Amenities->getAmenityRef($this->config['ref_type_numb']['MemberInfo'], $memberID);
- if (is_array($memberAmenities) && count($memberAmenities) > 0) {
- $haveMemberAmenities = true;
- }
+ $this->memberAmenities = $Amenities->getAmenityRef($this->config['ref_type_numb']['MemberInfo'], $this->memberID);
// Lastly, if we have member info, and if this record is active, we need to check for other active records and other things
- $categoryMemberInfo = false;
- if ($haveMemberInfo) {
+ if ($this->haveMemberInfo) {
-// *** Need to Modularize this
-
- // Determine if this is the active record
- $sql = "
- SELECT status
- FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info
- WHERE id = $memberInfoID
- ;";
- $activeTest = $this->wpdb->get_row($sql, ARRAY_A);
+ // Check if the updated info record was set to active
+ $activeTest = $this->isActive();
// If the current record is now active and wasn't before
- if ($activeTest['status'] == $this->config['status_numb']['Active'] && !$isActive) {
+ if ($activeTest == $this->config['status_numb']['Active'] && !$this->isActive) {
// Change any others for this member to inactive
$sql = "
UPDATE ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info
SET status = ".$this->config['status_numb']['Inactive']."
- WHERE member = $memberID
+ WHERE member = ".$this->memberID."
AND status = ".$this->config['status_numb']['Active']."
- AND id != $memberInfoID
+ AND id != ".$this->memberInfoID."
;";
$this->wpdb->query($sql);
}
- // Instatiate categoryMemberInfo class
- require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataCategoryMemberInfo.php');
- $CategoryMemberInfo = new GlmDataCategoryMemberInfo($this->wpdb, $this->config);
+ } // Have member info
- // Get any selected categories
- $selectedCategories = array();
- $newCategory = false;
- if (isset($_REQUEST['category']) && is_array($_REQUEST['category']) && count($_REQUEST['category']) > 0) {
+ // If we have member data
+ if (is_array($this->memberInfo) && $this->memberInfo['status']) {
- /*
- * For each selected category
- *
- * Note that categories are submitted with either a positive key, which indicates
- * that it represents an existing category, or a negative key, which indicates
- * that the user is trying to add it to the list of categories.
- *
- */
- foreach ($_REQUEST['category'] as $key) {
+ // Say we do
+ $this->haveMemberInfo = true;
- // Make sure key is an integer
- $key = intval($key -0);
+ // Also get any image gallery images
+ require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataImages.php');
+ $Images = new GlmDataImages($this->wpdb, $this->config);
+ $this->imageGallery = $Images->getGallery($this->config['ref_type_numb']['MemberInfo'], $this->memberInfoID);
+ $this->haveImageGallery = ($this->imageGallery != false);
- // If negative, this is a new category that needs to be added to the category table
- if ($key < 0) {
+ // Otherwise
+ } else {
- $newCategory = true;
+ if (GLM_MEMBERS_PLUGIN_ADMIN_DEBUG) {
+ glmMembersAdmin::addNotice("<b> Specified Member Information Record ID is invalid:</b> $this->memberInfoID", 'Alert');
+ }
- // Check if a parent is specified
- $parent = 0;
- if ($_REQUEST['newCatParent'][$key] != '') {
- $parent = $_REQUEST['newCatParent'][$key] -0;
- } elseif ($_REQUEST['newCatParentName'][$key]) {
- $parent = $_REQUEST['newCatParentName'][$key];
- }
+ $this->error = true;
- // Clean up the category name
- $category = filter_var($_REQUEST['newCategory'][$key]);
+ }
- // Add it to the category table and get the new category ID
- $categoryID = $Categories->addCategory($category, $parent);
- // If we got a new category ID, ad it to the array of currently selected categoryMemberInfo records
- if ($categoryID) {
- $selectedCategories[$categoryID] = $categoryID;
- }
- // Otherwise if it's positive, the category is an existing one
- } else if ($key > 0) {
+ if (GLM_MEMBERS_PLUGIN_ADMIN_DEBUG_VERBOSE) {
+ glmMembersAdmin::addNotice($this->memberInfo, 'DataBlock', 'Member Data');
+ }
- $selectedCategories[$key] = $key;
+ // Compile template data
+ $templateData = array(
+ 'memberID' => $this->memberID,
+ 'member' => $this->memberData,
+ 'memberInfoID' => $this->memberInfoID,
+ 'memberInfo' => $this->memberInfo,
+ 'availableCategories' => $this->categories,
+ 'availableAmenities' => $this->amenities,
+ 'haveImageGallery' => $this->haveImageGallery,
+ 'imageGallery' => $this->imageGallery,
+ 'noActive' => $this->noActiveInfoRecord(),
+ 'time' => time()
+ );
- }
+ // Return status, suggested view, and data to controller
+ return array(
+ 'status' => true,
+ 'menuItemRedirect' => false,
+ 'modelRedirect' => false,
+ 'view' => 'admin/member/memberInfo.html',
+ 'data' => $templateData
+ );
- // A zero index should never happen, but we ignore them anyway
+ }
- // If there's selected categories
- if (count($selectedCategories) > 0) {
- // Update the selected categories for this member information record, returns new list
- $categoryMemberInfo = $CategoryMemberInfo->setMemberInfoCategories($memberInfoID, $selectedCategories);
+ /*
+ * Check for new Cities being submitted
+ *
+ * @return void
+ */
+ public function checkNewCities()
+ {
- }
+ // If we have a member ID and this was a submission with a new city (id < 0)
+ if ($this->memberInfoID && isset($_REQUEST['city']) && $_REQUEST['city'] == -1 && isset($_REQUEST['newCityName']) && trim($_REQUEST['newCityName']) != '') {
+
+ // Clean up city name
+ $cName = trim(filter_var($_REQUEST['newCityName']));
- // If there's been a new category
- if ($newCategory) {
+ // Try to add the city
+ require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataCities.php');
+ $Cities = new GlmDataCities($this->wpdb, $this->config);
+ $cID = $Cities->addCity($cName);
- // Get the full category list again
- $categories = $Categories->getListSortedParentChild();
+ // If we got a city id back
+ if (is_int($cID) && $cID > 0) {
- }
+ // Update the city selected for this memberInfo record
+ $sql = "
+ UPDATE ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info
+ SET city = $cID
+ WHERE id = ".$this->memberInfoID."
+ ;";
+ $this->wpdb->query($sql);
- } // For each category being submitted
+ // Update submitted city value to use the new ID
+ $_REQUEST['city'] = $cID;
- // Otherwise if this is a submission and there's no categories submitted, so make sure there's none stored
- } elseif (isset($_REQUEST['option']) && $_REQUEST['option'] == 'submit') {
- $CategoryMemberInfo->clearMemberInfoCategories($memberInfoID);
}
- // Now get the (possibly updated) category list for this member info record
- $categoryMemberInfo = $CategoryMemberInfo->getListWithParents($memberInfoID);
+ }
+ }
- /*
- * Get and store any selected amenities
- *
- * Makes an array of amenities IDs then stores that
- */
- $selectedAmenities = array();
- $newAmenity = false;
- if (isset($_REQUEST['amenity']) && is_array($_REQUEST['amenity']) && count($_REQUEST['amenity']) > 0) {
+ /*
+ * Check it there's no active information record
+ *
+ * @return boolean
+ */
+ public function noActiveInfoRecord()
+ {
- // For each selected amenity
- foreach ($_REQUEST['amenity'] as $key) {
+ // If we have a member record
+ if ($this->haveMember) {
- // Make sure key is an integer
- $key = intval($key -0);
+ // Determine if there are any active info records for this member
+ $sql = "
+ SELECT count(id) as numbActive
+ FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info
+ WHERE status = ".$this->config['status_numb']['Active']."
+ ;";
+ $activeTest = $this->wpdb->get_row($sql, ARRAY_A);
- // Add to selected amenities list
- $selectedAmenities[$key] = $key;
+ // If count is 0 then there are no active info records
+ if ($activeTest['numbActive'] == 0) {
+ return true;
+ }
- } // For each amityy being submitted
+ }
- // Update the selected amenities for this member information record, returns new list
- $memberAmenities = $Amenities->updateAmenityRef($this->config['ref_type_numb']['MemberInfo'], $memberID, $selectedAmenities);
+ return false;
- // Otherwise if this is a submission and there's no categories submitted, so make sure there's none stored
- } elseif (isset($_REQUEST['option']) && $_REQUEST['option'] == 'submit') {
- $memberAmenities = $Amenities->updateAmenityRef($this->config['ref_type_numb']['MemberInfo'], $memberID);
- }
+ }
- } // Have member info
- // If we have a member record
- if ($haveMember) {
+ /*
+ * Check if current member information record is active
+ *
+ * @return boolean
+ */
+ public function isActive()
+ {
- // Determine if there are any active info records for this member
+ // If we have a member info record, check if it's active
+ if ($this->memberInfoID) {
+
+ // Determine if this is the active record
$sql = "
- SELECT count(id) as numbActive
+ SELECT status
FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info
- WHERE status = ".$this->config['status_numb']['Active']."
- ;";
+ WHERE id = ".$this->memberInfoID."
+ ;";
$activeTest = $this->wpdb->get_row($sql, ARRAY_A);
- // If count is 0 then there are no active info records
- if ($activeTest['numbActive'] == 0) {
- $noActive = true;
+ // If it is, then save that
+ if ($activeTest['status'] == $this->config['status_numb']['Active']) {
+ return true;
}
+ return false;
}
- // Reload member data to make sure it's up to date (might put some logic in this some day)
- $memberData = $Members->getEntry($memberID);
+ }
- if (GLM_MEMBERS_PLUGIN_ADMIN_DEBUG_VERBOSE) {
- glmMembersAdmin::addNotice($memberInfo, 'DataBlock', 'Member Data');
- }
+ /*
+ * Update categories for the current submission
+ *
+ * @return void
+ */
+ public function updateCategories()
+ {
- // Compile template data
- $templateData = array(
- 'haveMember' => $haveMember,
- 'memberID' => $memberID,
- 'member' => $memberData,
- 'haveMemberInfo' => $haveMemberInfo,
- 'memberInfoID' => $memberInfoID,
- 'memberInfo' => $memberInfo,
- 'haveCategories' => $haveCategories,
- 'categories' => $categories,
- 'categoryMemberInfo' => $categoryMemberInfo,
- 'haveAmeenities' => $haveAmenities,
- 'amenities' => $amenities,
- 'haveMemberAmenities' => $haveMemberAmenities,
- 'memberAmenities' => $memberAmenities,
- 'haveImageGallery' => $haveImageGallery,
- 'imageGallery' => $imageGallery,
- 'noActive' => $noActive,
- 'time' => time()
- );
+ // Instatiate the dataCategories class
+ require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataCategories.php');
+ $Categories = new GlmDataCategories($this->wpdb, $this->config);
- // Return status, suggested view, and data to controller
- return array(
- 'status' => $success,
- 'menuItemRedirect' => false,
- 'modelRedirect' => false,
- 'view' => 'admin/member/memberInfo.html',
- 'data' => $templateData
- );
+ // Instatiate categoryMemberInfo class
+ require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataCategoryMemberInfo.php');
+ $CategoryMemberInfo = new GlmDataCategoryMemberInfo($this->wpdb, $this->config);
+
+ // Get any selected categories
+ $selectedCategories = array();
+ $newCategory = false;
+ if (isset($_REQUEST['category']) && is_array($_REQUEST['category']) && count($_REQUEST['category']) > 0) {
+
+ /*
+ * For each selected category
+ *
+ * Note that categories are submitted with either a positive key, which indicates
+ * that it represents an existing category, or a negative key, which indicates
+ * that the user is trying to add it to the list of categories.
+ *
+ */
+ foreach ($_REQUEST['category'] as $key) {
+
+ // Make sure key is an integer
+ $key = intval($key -0);
+
+ // If negative, this is a new category that needs to be added to the category table
+ if ($key < 0) {
+
+ $newCategory = true;
+
+ // Check if a parent is specified
+ $parent = 0;
+ if ($_REQUEST['newCatParent'][$key] != '') {
+ $parent = $_REQUEST['newCatParent'][$key] -0;
+ } elseif ($_REQUEST['newCatParentName'][$key]) {
+ $parent = $_REQUEST['newCatParentName'][$key];
+ }
+
+ // Clean up the category name
+ $category = filter_var($_REQUEST['newCategory'][$key]);
+
+ // Add it to the category table and get the new category ID
+ $categoryID = $Categories->addCategory($category, $parent);
+
+ // If we got a new category ID, add it to the array of currently selected categoryMemberInfo records
+ if ($categoryID) {
+ $selectedCategories[$categoryID] = $categoryID;
+ }
+
+ // Otherwise if it's positive, the category is an existing one
+ } else if ($key > 0) {
+
+ $selectedCategories[$key] = $key;
+
+ }
+
+ // If there's selected categories
+ if (count($selectedCategories) > 0) {
+
+ // Update the selected categories for this member information record, returns new list
+ $CategoryMemberInfo->setMemberInfoCategories($this->memberInfoID, $selectedCategories);
+
+ }
+
+ // If there's been a new category
+ if ($newCategory) {
+
+ // Get the full category list again
+ $this->categories = $Categories->getListSortedParentChild();
+
+ }
+
+ } // For each category being submitted
+
+ // Otherwise if this is a submission and there's no categories submitted, so make sure there's none stored
+ } elseif (isset($_REQUEST['option']) && $_REQUEST['option'] == 'submit') {
+ $CategoryMemberInfo->clearMemberInfoCategories($this->memberInfoID);
+ }
}
+ /*
+ * Update amenities for the current submission
+ *
+ * @return void
+ */
+ public function updateAmenities()
+ {
+
+ // Instantiate Amenities data class
+ require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataAmenities.php');
+ $Amenities = new GlmDataAmenities($this->wpdb, $this->config);
+
+ $selectedAmenities = array();
+ $newAmenity = false;
+ if (isset($_REQUEST['amenity']) && is_array($_REQUEST['amenity']) && count($_REQUEST['amenity']) > 0) {
+
+ // For each selected amenity
+ foreach ($_REQUEST['amenity'] as $key) {
+
+ // Make sure key is an integer
+ $key = intval($key -0);
+
+ // Add to selected amenities list
+ $selectedAmenities[$key] = $key;
+
+ } // For each amityy being submitted
+
+ // Update the selected amenities for this member information record, returns new list
+ $this->memberAmenities = $Amenities->updateAmenityRef($this->config['ref_type_numb']['MemberInfo'], $this->memberID, $selectedAmenities);
+
+ // Otherwise if this is a submission and there's no categories submitted, make sure there's none stored
+ } elseif (isset($_REQUEST['option']) && $_REQUEST['option'] == 'submit') {
+ $this->memberAmenities = $Amenities->updateAmenityRef($this->config['ref_type_numb']['MemberInfo'], $this->memberID);
+ }
+
+ }
+
}
?>