Example #1
0
/**
 * 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;
}
Example #2
0
/**
 * 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");
}