/** * Update member data when a contact is updated. * @param $contact The contact data array. * @param $op The operation being performed. */ function member_contact_api($contact, $op) { // Check whether the contact is a member if (!isset($contact['member'])) { return $contact; } $esc_cid = mysql_real_escape_string($contact['cid']); switch ($op) { case 'create': // Add member $member = $contact['member']; $sql = "\n INSERT INTO `member`\n (`cid`)\n VALUES\n ('{$esc_cid}')"; $res = mysql_query($sql); if (!$res) { crm_error(mysql_error()); } $contact['member']['cid'] = $contact['cid']; // Save memberships if (isset($member['membership'])) { foreach ($member['membership'] as $i => $membership) { $membership['cid'] = $contact['cid']; $membership = member_membership_save($membership); $contact['member']['membership'][$i] = $membership; } } break; case 'update': // TODO break; case 'delete': member_delete($contact['cid']); break; } return $contact; }
/** * Handle membership update request. * * @param $sid The sid of the membership to update. * @return The url to display on completion. */ function command_member_membership_update() { global $esc_post; // Verify permissions if (!user_access('member_edit')) { error_register('Permission denied: member_edit'); return crm_url('members'); } if (!user_access('member_membership_edit')) { error_register('Permission denied: member_membership_edit'); return crm_url('members'); } // Construct membership object and save $membership = array('sid' => $_POST['sid'], 'cid' => $_POST['cid'], 'pid' => $_POST['pid'], 'start' => $_POST['start'], 'end' => $_POST['end']); member_membership_save($membership); return crm_url("contact&cid={$_POST['cid']}&tab=plan"); }