Created
November 8, 2011 16:05
-
-
Save chadhutchins/1348192 to your computer and use it in GitHub Desktop.
Helper functions to deal with EE custom member fields...
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// member_id not a required param, if member_id param not given | |
// it will use the current session's member_id, if a session doesn't | |
// exist, it'll return false | |
function _save_custom_member_field_value($field_name,$field_value,$member_id=false) | |
{ | |
// field_name required | |
if (empty($field_name) or is_null($field_name)) | |
{ | |
return false; | |
} | |
// use session data if member_id not supplied | |
$member_id = $member_id ? $member_id : $this->EE->session->userdata('member_id'); | |
if ($member_id == 0) | |
{ | |
// not logged in | |
return false; | |
} | |
$member_field_name = $this->_get_custom_member_field_column_name($field_name); | |
if ($member_field_name) | |
{ | |
$data = array( | |
$member_field_name => $field_value | |
); | |
$this->EE->db->where('member_id',$member_id); | |
$query = $this->EE->db->update('member_data',$data); | |
return $query; | |
} | |
else | |
{ | |
return false; | |
} | |
} | |
// member_id not a required param, if member_id param not given | |
// it will use the current session's member_id, if a session doesn't | |
// exist, it'll return false | |
function _get_custom_member_field_value($field_name,$member_id=false) | |
{ | |
// field_name required | |
if (empty($field_name) or is_null($field_name)) | |
{ | |
return false; | |
} | |
// use session data if member_id not supplied | |
$member_id = $member_id ? $member_id : $this->EE->session->userdata('member_id'); | |
if ($member_id == 0) | |
{ | |
// not logged in | |
return false; | |
} | |
$member_field_name = $this->_get_custom_member_field_column_name($field_name); | |
if ($member_field_name) | |
{ | |
$this->EE->db->select($member_field_name); | |
$this->EE->db->where('member_id',$member_id); | |
$query = $this->EE->db->get('member_data'); | |
if ($query->num_rows==1) | |
{ | |
return $query->row()->$member_field_name; | |
} | |
else | |
{ | |
return false; | |
} | |
} | |
else | |
{ | |
return false; | |
} | |
} | |
function _get_custom_member_field_column_name($field_name) | |
{ | |
// field_name required | |
if (empty($field_name) or is_null($field_name)) | |
{ | |
return false; | |
} | |
$this->EE->db->select('m_field_id'); | |
$this->EE->db->where('m_field_name',$field_name); | |
$query = $this->EE->db->get('member_fields'); | |
if ($query->num_rows==1) | |
{ | |
$row = $query->row(); | |
$field_id = $row->m_field_id; | |
$member_field_name = 'm_field_id_'.$field_id; | |
return $member_field_name; | |
} | |
else | |
{ | |
return false; | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment