HEX
Server: Apache
System: Linux www3.pit.tblive.com 5.14.0-687.38.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 12 17:19:12 EDT 2026 x86_64
User: awaldron (1020)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //home/awaldron/_domains/api.alanwaldron.com/v1/members.php
<?php

//**********************************************************************************************************//
// Method: GET
// Endpoint: members/list
// Description: Returns an array of all active / inactive members
// Params: none
function get_v1_members_list( $args, $body, $uid, $is_admin, $db ) {
    validate_token( $uid );
    validate_admin( $is_admin );

    $sql = "SELECT m.*, p.plan_name, p.plan_price, p.plan_type, g.paid_thru FROM members as m
            LEFT JOIN group_member as gm ON gm.member_id=m.member_id
            LEFT JOIN groups as g on gm.group_id=g.group_id
            LEFT JOIN plans as p on g.plan_id=p.plan_id
            WHERE m.visible=1 
            ORDER BY m.lname, m.fname";

    $members = qSet( $db, $sql );

    response(200, ['success'=>true,'members'=>$members]);

}


//**********************************************************************************************************//
// Method: POST
// Endpoint: members/search
// Description: Returns an array of all active / inactive members
// Params: none
function post_v1_members_search( $args, $body, $uid, $is_admin, $db ) {
    $rules = [
        'lname' => 'req'
    ];
    validate_body( $body, $rules, $uid );

    $sql = "SELECT m.*, p.plan_name, p.plan_price, p.plan_type, g.paid_thru FROM members as m
            LEFT JOIN group_member as gm ON gm.member_id=m.member_id
            LEFT JOIN groups as g on gm.group_id=g.group_id
            LEFT JOIN plans as p on g.plan_id=p.plan_id
            WHERE LOWER(m.lname) LIKE '%".strtolower($body['lname'])."%'
            ORDER BY m.lname, m.fname";

    if (strlen($body['lname']) >= 3) {
        $members = qSet( $db, $sql );
        response(200, ['success'=>true,'members'=>$members]);
    } else {
        response(200, ['success'=>true,'members'=>[],'message'=>'more characters required ('.$body['lname'].' '.strlen($body['lname']).')']);
    }


}



//**********************************************************************************************************//
// Method: GET
// Endpoint: members/detail/:id
// Description: Returns group details
// Params: none
function get_v1_members_detail( $args, $body, $uid, $is_admin, $db ) {
    validate_token( $uid );
    //validate_admin( $is_admin );
    $user_id = $args[0];
    $method = $args[1];

    if ($method === 'member') {
        $group_id = qVal($db, "SELECT group_id FROM group_member WHERE member_id=".$user_id);
    } else {
        $group_id = qVal($db, "SELECT group_id FROM group_user WHERE user_id=".$user_id);
    }
    $plan_id = qVal($db, "SELECT plan_id FROM groups WHERE group_id=".$group_id);

    $sql1 = "SELECT m.*, p.*, gm.*, g.* FROM members as m
            LEFT JOIN group_member as gm ON gm.member_id=m.member_id
            LEFT JOIN groups as g on gm.group_id=g.group_id
            LEFT JOIN plans as p on g.plan_id=p.plan_id
            WHERE gm.group_id = ".$group_id."
            ORDER BY m.lname, m.fname";

    $sql2 = "SELECT A.*, B.lname, B.fname, B.email FROM payments A, users B WHERE A.group_id=".$group_id." AND A.user_id=B.user_id ORDER BY A.pay_date DESC";
    $sql3 = "SELECT * FROM plans WHERE plan_id=".$plan_id;

    $members = qSet( $db, $sql1 );
    $payments = qSet( $db, $sql2 );
    $plan = qRow( $db, $sql3 );

    response(200, ['success'=>true,
        'members'=>$members,
        'payments'=>$payments,
        'groupId'=>$group_id,
        'plan'=>$plan
    ]);

}



//**********************************************************************************************************//
// Method: POST
// Endpoint: member
// Description: Add a member to the members table
// Params: fname, lname, email, phone, address
function post_v1_members_member( $args, $body, $uid, $is_admin, $db ) {
    $rules = [
        'fname' => 'req',
        'lname' => 'req',
    ];
    validate_body( $body, $rules, $uid );

    $group_id = $args[0];

    $ins = "INSERT INTO members (`lname`, `fname`, `email`, `phone`, `address1`, `address2`, `city`, `state`, `zip`, `mailcode`) VALUES (";
    $ins .= "'".$body['lname']."', '".$body['fname']."', '".$body['email']."', '".preg_replace("/[^0-9]/", "", $body['phone'] )."', ";
    $ins .= "'".$body['address1']."', '".$body['address2']."', '".$body['city']."', '".$body['state']."', '".$body['zip']."', '".randomString(16)."')";
    $db->query($ins);

    $member_id = $db->insert_id;

    if (!empty($member_id)) {
        $db->query("INSERT INTO group_member (`member_id`,`group_id`, `lead`) VALUES (".$member_id.", ".$group_id.", 0)");
    }

    if (!empty($member_id) && empty($db->error)) {
        response( 200, ['success'=>true, 'member_id'=>$member_id]);
    } else {
        response( 200, ['success'=>false, 'error'=>$db->error]);
    }
}



//**********************************************************************************************************//
// Method: PUT
// Endpoint: members/member/:id
// Description: Update a member in the members table
// Params: fname, lname, email, phone, address
function put_v1_members_member( $args, $body, $uid, $is_admin, $db ) {
    $rules = [
        'fname' => 'req',
        'lname' => 'req',
    ];
    validate_body( $body, $rules, $uid );

    $mem_id = $args[0];
    $member = qRow($db, "SELECT * FROM members WHERE member_id=".$mem_id);

    $upd = "UPDATE members SET ";
    $upd .= "lname='".$body['lname']."', ";
    $upd .= "fname='".$body['fname']."', ";
    $upd .= "email='".$body['email']."', ";
    $upd .= "phone='".preg_replace("/[^0-9]/", "", $body['phone'] )."', ";
    $upd .= "address1='".$body['address1']."', ";
    $upd .= "address2='".$body['address2']."', ";
    $upd .= "city='".$body['city']."', ";
    $upd .= "state='".$body['state']."', ";
    $upd .= "zip='".$body['zip']."', ";
    $upd .= "visible='".$body['visible']."', ";
    $upd .= "maillist='".$body['maillist']."' ";
    $upd .= "WHERE member_id=".$mem_id;

    $usr = "UPDATE users SET ";
    $usr .= "lname='".$body['lname']."', ";
    $usr .= "fname='".$body['fname']."', ";
    $usr .= "email='".$body['email']."' ";
    $usr .= "WHERE email='".$member['email']."'";

    $db->query($usr);
    $db->query($upd);

    if ($db->affected_rows) {
        response( 200, ['success'=>true, 'mem'=>$member, 'sql'=>$upd]);
    } else if ($db->affected_rows===0) {
        response( 200, ['success'=>false, 'error'=>'No changes submitted.']);
    } else {
        response( 200, ['success'=>false, 'error'=>$db->error]);
    }

}



//**********************************************************************************************************//
// Method: GET
// Endpoint: members/list
// Description: Returns an array of all active / inactive members
// Params: none
function get_v1_members_init( $args, $body, $uid, $is_admin, $db ) {
    validate_token( $uid );
    validate_admin( $is_admin );

    $sql1 = "SELECT m.*, p.*, g.paid_thru FROM members as m
            LEFT JOIN group_member as gm ON gm.member_id=m.member_id
            LEFT JOIN groups as g on gm.group_id=g.group_id
            LEFT JOIN plans as p on g.plan_id=p.plan_id
            ORDER BY m.lname, m.fname";

    $members = qSet( $db, $sql1 );

    response(200, ['success'=>true,'members'=>$members]);

}



//**********************************************************************************************************//
// Method: GET
// Endpoint: members/households
// Description: Returns an array of all active / inactive members
// Params: none
function get_v1_members_households( $args, $body, $uid, $is_admin, $db ) {
    validate_token( $uid );

    $sql1 = "SELECT * FROM groups as g
                LEFT JOIN group_member as gm ON gm.group_id=g.group_id
                LEFT JOIN members as m ON gm.member_id=m.member_id
                WHERE g.plan_id=2
                ORDER BY g.group_id ASC, m.lname ASC, m.fname ASC
                ";

    $households = qSet( $db, $sql1 );

    $groups = [];
    foreach ($households as $hh) {
	    $groups[$hh['group_id']] .= ", ".$hh['fname'].' '.$hh['lname'];
    }
    
    $g = [];
    foreach ($groups as $gid => $g_title) {
	    $g[] = ['group_id'=>$gid, 'group_title' => substr($g_title, 2)];
	}
    
    response(200, ['success'=>true,'households'=>$g]);

}


//**********************************************************************************************************//
// Method: PUT
// Endpoint: members/household
// Description: Add a member to an existing household account.
// Params: member_id, group_id
function put_v1_members_household( $args, $body, $uid, $is_admin, $db ) {
    validate_token( $uid );
    $rules = [
        'group_id' => 'req',
        'member_id' => 'req'
    ];
    validate_body( $body, $rules, $uid );

    $user_id = qVal($db, "SELECT user_id FROM members WHERE member_id=".$body['member_id']);
    $old_group_id = qVal($db,"SELECT group_id FROM group_member WHERE member_id=".$body['member_id']);

    $db->query("UPDATE group_member SET lead=0, group_id=".$body['group_id']." WHERE member_id=".$body['member_id']);
    $db->query("UPDATE group_user SET group_id=".$body['group_id']." WHERE user_id=".$user_id);
    $db->query("UPDATE payments SET group_id=".$body['group_id']." WHERE group_id=".$old_group_id);

    response(200, ['success'=>true]);
}



//**********************************************************************************************************//
// Method: POST
// Endpoint: members/group
// Description: Creates a new group in the groups table
// Params: none
function post_v1_members_group( $args, $body, $uid, $is_admin, $db ) {
    validate_token( $uid );

    $db->query("INSERT INTO groups (user_id, plan_id, paid_thru) VALUES (0, ".$body['group_id'].", 1999)");
    $group_id = $db->insert_id;

    response(200, ['success'=>true,'group_id'=>$group_id]);
}


//**********************************************************************************************************//
// Method: POST
// Endpoint: members/plan
// Description: Creates a new group and add the new member to the group
// Params: none
function post_v1_members_plan( $args, $body, $uid, $is_admin, $db ) {
    validate_token( $uid );
    $rules = [
        'fname' => 'req',
        'lname' => 'req',
        'plan_id' => 'req'
    ];
    validate_body( $body, $rules, $uid );

    // CREATE GROUP
    $db->query("INSERT INTO groups (user_id, plan_id, paid_thru) VALUES (0, ".$body['plan_id'].", 1999)");
    $group_id = $db->insert_id;

    // CREATE MEMBER
    $ins = "INSERT INTO members (`lname`, `fname`, `email`, `phone`, `address1`, `address2`, `city`, `state`, `zip`) VALUES (";
    $ins .= "'".$body['lname']."', '".$body['fname']."', '".$body['email']."', '".preg_replace("/[^0-9]/", "", $body['phone'] )."', ";
    $ins .= "'".$body['address1']."', '".$body['address2']."', '".$body['city']."', '".$body['state']."', '".$body['zip']."')";
    $db->query($ins);
    $member_id = $db->insert_id;

    // ADD MEMBER TO GROUP
    if (!empty($member_id)) {
        $db->query("INSERT INTO group_member (`member_id`,`group_id`, `lead`) VALUES (".$member_id.", ".$group_id.", 1)");
    }

    if (!empty($member_id) && empty($db->error)) {
        response( 200, ['success'=>true, 'member_id'=>$member_id]);
    } else {
        response( 200, ['success'=>false, 'error'=>$db->error]);
    }
}





//**********************************************************************************************************//
// Method: POST
// Endpoint: members/exists
// Description: Checks if a users email, first and last name for dups
// Params: none

function post_v1_members_exists( $args, $body, $uid, $is_admin, $db ) {
	

	$rules = [
        'fname' => 'req',
        'lname' => 'req',
        'email' => 'req,email'
    ];
    validate_body( $body, $rules, $uid );

	
	// CHECK FOR DUPLICATES

    $sel1 = "SELECT * FROM users WHERE email='".$body['email']."' OR (fname='".addslashes($body['fname'])."' AND lname='".addslashes($body['lname'])."')";
    $sel2 = "SELECT * FROM members WHERE email='".$body['email']."' OR (fname='".addslashes($body['fname'])."' AND lname='".addslashes($body['lname'])."')";
    $res1 = qset($db, $sel1);
    $res2 = qset($db, $sel2);

   
    if (count($res1) || count($res2)) {
	    response( 200, ['success'=>false, 'error'=>"It appears an account for this member already exists.", 'sel1' => $sel1, 'sel2' => $sel2, 'res1' => $res1, 'res2'=>$res2]);
    } else {
	    response( 200, ['success'=>true]);
    }

    
    //response( 200, ['success'=>true]);
}



//**********************************************************************************************************//
// Method: POST
// Endpoint: members/create
// Description: Creates a new group and add the new member to the group
// Params: none

function post_v1_members_create( $args, $body, $uid, $is_admin, $db ) {

    $rules = [
        'fname' => 'req',
        'lname' => 'req',
        'email' => 'req,email',
        'plan_id' => 'req',
    ];
    validate_body( $body, $rules, $uid );


    $u = $body;

    $queries = [];
    
    
    // Check if Member already exists
    //post_v1_members_exists( $args, $body, $uid, $is_admin, $db );
    

    // GENERATE A PASSWORD
    $password = randomPassword(12);


    // CREATE A USER
    $ins = "INSERT INTO users (lname, fname, email, orig_pw, password_hash, active, created_at, updated_at) VALUES ";
    $ins .= "( '".addslashes($u['lname'])."', '".addslashes($u['fname'])."', '".$u['email']."', '".$password."', '".password_hash($password, PASSWORD_BCRYPT)."', 1, ".time().", ".time()." )";
    $db->query($ins);
    $user_id = $db->insert_id;
    $queries[] = $ins;

    // CREATE GROUP
    $ins = "INSERT INTO groups (user_id, plan_id, paid_thru) VALUES ($user_id, ".$u['plan_id'].", 1999)";
    $db->query($ins);
    $group_id = $db->insert_id;
    $queries[] = $ins;

    // CREATE MEMBER
    $ins = "INSERT INTO members (`lname`, `fname`, `email`, `phone`, `address1`, `address2`, `city`, `state`, `zip`, `user_id`) VALUES (";
    $ins .= "'".addslashes($u['lname'])."', '".addslashes($u['fname'])."', '".$u['email']."', '".preg_replace("/[^0-9]/", "", $u['phone'] )."', ";
    $ins .= "'".addslashes($u['address1'])."', '".addslashes($u['address2'])."', '".addslashes($u['city'])."', '".$u['state']."', '".$u['zip']."', '".$user_id."')";
    $db->query($ins);
    $member_id = $db->insert_id;
    $queries[] = $ins;

    // ADD MEMBER TO GROUP
    if (!empty($member_id)) {
        $ins = "INSERT INTO group_member (`member_id`,`group_id`, `lead`) VALUES (".$member_id.", ".$group_id.", 1)";
        $db->query($ins);
        $queries[] = $ins;
    }

    // ADD USER AS AUTHORIZED MEMBER OF GROUP
    if (!empty($member_id)) {
        $ins = "INSERT INTO group_user (`group_id`, `user_id`) VALUES (".$group_id.", ".$user_id.")";
        $db->query($ins);
        $queries[] = $ins;
    }

    // SEND WELCOME MESSAGE TO USER
//    $email_data = [
//        'from' => 'Alan Waldron||awaldron@pennhillscdc.org',
//        'to' => $member_id,
//        'subject' => 'Welcome to the Penn Hills CDC!',
//        'body' => '
//            <p>Your Penn Hills CDC membership account has been created and is ready to view at <a href="https://members.pennhillscdc.org">https://members.pennhillscdc.org</a></p>
//            <p>You can sign in with these credentials:</p>
//            <p><b>Email:</b> '.$u['email'].'<br/><b>Password:</b> '.$password.'</p>
//            <p>Here you can manage your membership profile, make membership payments, change your password, and manage your PHCDC preferences.</p>
//            <p>If you have any questions regarding your account, please contact Communications Committee Chair, Alan Waldron, at <a href="mailto:alan.waldron@pennhillscdc.org">alan.waldron@pennhillscdc.org</a></p>
//         ',
//         'respond' => false
//    ];
//    post_v1_mail_send( '', $email_data, $uid, $is_admin, $db );

    if (!empty($user_id) && !empty($group_id) && !empty($member_id) && empty($db->error)) {
        response( 200, ['success'=>true, 'member_id'=>$member_id, 'group_id'=>$group_id, 'user_id'=>$user_id]); //'queries'=>$queries,
    } else {
        response( 200, ['success'=>false, 'error'=>$db->error]);
    }
}



//**********************************************************************************************************//
// Method: POST
// Endpoint: members/account
// Description: Creates a new group and add the new member to the group
// Params: none

function post_v1_members_account( $args, $body, $uid, $is_admin, $db ) {

    $bodytest = $body['new_user'];
    $bodytest['year_applied'] = $body['year_applied'];

    $rules = [
        'fname' => 'req',
        'lname' => 'req',
        'phone' => 'req',
        'address1' => 'req',
        'city' => 'req',
        'state' => 'req',
        'zip' => 'req',
        'email' => 'req,email',
        'password' => 'req',
        'plan_id' => 'req',
        'year_applied' => 'req'
    ];
    validate_body( $bodytest, $rules, $uid );

    $u = $body['new_user'];
    $queries = [];
    
    // Check if Member already exists
    //post_v1_members_exists( $args, $body, $uid, $is_admin, $db );

    // CREATE A USER
    $ins = "INSERT INTO users (lname, fname, email, password_hash, active, created_at, updated_at) VALUES ";
    $ins .= "( '".addslashes($u['lname'])."', '".addslashes($u['fname'])."', '".$u['email']."', '".password_hash($u['password'], PASSWORD_BCRYPT)."', 1, ".time().", ".time()." )";
    $db->query($ins);
    $user_id = $db->insert_id;
    $queries[] = $ins;

    // CREATE GROUP
    $ins = "INSERT INTO groups (user_id, plan_id, paid_thru) VALUES ($user_id, ".$u['plan_id'].", ".$body['year_applied'].")";
    $db->query($ins);
    $group_id = $db->insert_id;
    $queries[] = $ins;

    // CREATE MEMBER
    $ins = "INSERT INTO members (`lname`, `fname`, `email`, `phone`, `address1`, `address2`, `city`, `state`, `zip`, `user_id`) VALUES (";
    $ins .= "'".addslashes($u['lname'])."', '".addslashes($u['fname'])."', '".$u['email']."', '".preg_replace("/[^0-9]/", "", $u['phone'] )."', ";
    $ins .= "'".addslashes($u['address1'])."', '".addslashes($u['address2'])."', '".addslashes($u['city'])."', '".$u['state']."', '".$u['zip']."', '".$user_id."')";
    $db->query($ins);
    $member_id = $db->insert_id;
    $queries[] = $ins;

    // ADD MEMBER TO GROUP
    if (!empty($member_id)) {
        $ins = "INSERT INTO group_member (`member_id`,`group_id`, `lead`) VALUES (".$member_id.", ".$group_id.", 1)";
        $db->query($ins);
        $queries[] = $ins;
    }

    // ADD USER AS AUTHORIZED MEMBER OF GROUP
    if (!empty($member_id)) {
        $ins = "INSERT INTO group_user (`group_id`, `user_id`) VALUES (".$group_id.", ".$user_id.")";
        $db->query($ins);
        $queries[] = $ins;
    }

    // LOG PAYMENT
    $ins = "INSERT INTO payments ";
    $ins .= "(group_id, user_id, pay_date, pay_amount, pay_method, pay_type, logged_by, pay_details, pay_data) ";
    $ins .= "VALUES (";
    $ins .= $group_id.", ";
    $ins .= $user_id.", ";
    $ins .= $body['pay_date'].", ";
    $ins .= $body['pay_amount'].", ";
    $ins .= "'".addslashes($body['pay_method'])."', ";
    $ins .= "'".addslashes($body['pay_type'])."', ";
    $ins .= $user_id.", ";
    $ins .= "'".addslashes($body['pay_details'])."', ";
    $ins .= "'".serialize($body['pay_data'])."'";
    $ins .= ")";
    $ins_result = $db->query($ins);

    // SEND WELCOME MESSAGE TO USER
    $email_data = [
        'from' => 'Alan Waldron||awaldron@pennhillscdc.org',
        'to' => $member_id,
        'subject' => 'Welcome to the Penn Hills CDC!',
        'body' => '
            <p>Your Penn Hills CDC membership account has been created and is ready to view at <a href="https://members.pennhillscdc.org">https://members.pennhillscdc.org</a></p>
            <p>You can sign in with these credentials:</p>
            <p><b>Email:</b> '.$u['email'].'<br/><b>Password:</b> (Your Password)</p>
            <p>Here you can manage your membership profile, make membership payments, change your password, and manage your PHCDC preferences.</p>
            <p>If you have any questions regarding your account, please contact Communications Committee Chair, Alan Waldron, at <a href="mailto:alan.waldron@pennhillscdc.org">alan.waldron@pennhillscdc.org</a></p>
         ',
         'respond' => false
    ];
    post_v1_mail_send( '', $email_data, $uid, $is_admin, $db );
    
    
    // SEND ALERT TO THE BOARD
    $email_data = [
        'from' => 'Alan Waldron||awaldron@pennhillscdc.org',
        'to' => 'test',
        'testEmail' => 'board@pennhillscdc.org',
        'subject' => 'PHCDC: New Member Registered!',
        'body' => '
            <p><b>A new member has registered on the PHCDC Members Portal!</p>
            <p><b>Name:</b> '.$u['fname'].' '.$u['lname'].'
            	<br/><b>Email:</b> '.$u['email'].'
            	<br/><b>Address:</b> '.$u['address1'].' '.$u['address2'].', '.$u['city'].', '.$u['state'].' '.$u['zip'].'
            	<br/><b>Paid Through:</b> '.$body['year_applied'].'
            </p>
         ',
         'respond' => false
    ];
    post_v1_mail_send( '', $email_data, $uid, $is_admin, $db );


    if (!empty($user_id) && !empty($group_id) && !empty($member_id) && empty($db->error)) {
        response( 200, ['success'=>true, 'member_id'=>$member_id, 'group_id'=>$group_id, 'user_id'=>$user_id]);
    } else {
        response( 200, ['success'=>false, 'queries'=>$queries, 'error'=>$db->error]);
    }
}




//**********************************************************************************************************//

function get_v1_members_update( $args, $body, $uid, $is_admin, $db ) {

    $members = qSet( $db, "SELECT * FROM members" );

//    foreach ($members as $m) {
//        $phone = preg_replace("/[^0-9]/", "", $m['phone'] );
//        $db->query("UPDATE members SET phone=".$phone." WHERE member_id=".$m['member_id']);
//    }

    response(200, ['success'=>true]);
}





//**********************************************************************************************************//
// Method: POST
// Endpoint: members/create
// Description: Creates a new group and add the new member to the group
// Params: none

/*
function get_v1_members_invite( $args, $body, $uid, $is_admin, $db ) {

	// GET ALL USERS
    $sql = "SELECT m.*, u.orig_pw, p.plan_name, p.plan_price, p.plan_type, g.paid_thru FROM members as m
            LEFT JOIN group_member as gm ON gm.member_id=m.member_id
            LEFT JOIN groups as g on gm.group_id=g.group_id
            LEFT JOIN plans as p on g.plan_id=p.plan_id
            LEFT JOIN users as u on u.user_id=m.user_id
            WHERE m.user_id < 508 AND u.admin=0 AND m.email <> ''
            ORDER BY m.lname, m.fname
            LIMIT 1000 OFFSET 5";  //m.member_id=1001

    $members = qSet( $db, $sql );
    
    $i = 0;
    $out = [];
    
	foreach ($members as $m) {
		    // SEND WELCOME MESSAGE TO USER
		    $pay_status = '';
		    switch( $m['paid_thru'] ) {
				case '2023': $pay_status = "Your membership is paid through the end of 2023 so no payment is due at this time. Thank you for your continued support of our mission!"; 
							 break;
				case '2022': $pay_status = "Your membership is paid through the end of 2022. To prevent a lapse in your membership, please submit your 2023 payment at your earliest convenience.
							 Thank you for your continued support of our mission!"; 
				 			 break;
				case '1999': $pay_status = "As someone who has yet become a PHCDC member, we'd like to ask you to please consider doing so as your annual dues help support PHCDC programs 
							 and gives you the opportunity to vote in board elections and participate on our board and committees."; 
				 			 break;
				default: $pay_status = "As a former member of the PHCDC, we'd like to ask you to please consider re-joining us as your annual dues help support PHCDC programs 
							 and gives you the opportunity to vote in board elections and participate on our board and committees."; 
				 			 break;
		    }
		    $email_data = [
		        'from' => 'Penn Hills CDC||alan.waldron@pennhillscdc.org',
		        'to' => $m['member_id'],
		        'subject' => 'Welcome to the PHCDC Membership Portal!',
		        'body' => '
		        	<p>The Penn Hills CDC has launched a <b>NEW</b> web portal that allows you to manage your PHCDC membership online.</p>
		            <p>To access your account, please visit <a href="https://members.pennhillscdc.org">https://members.pennhillscdc.org</a></p>
		            <p>Once there, you can sign in with these credentials:</p>
		            <p><b>Email:</b> '.$m['email'].'
		            	<br/><b>Password:</b> '.$m['orig_pw'].'</p>
	            	<p><hr/><p><b>Membership Status:</b><br/>'.$pay_status.'<hr/></p>
		            <p>Through the membership portal, you can manage your membership profile, make membership payments, change your password, and manage your PHCDC email preferences.</p>
		            <p>If you have any questions regarding your account, please contact Communications Committee Chair, Alan Waldron, at <a href="mailto:alan.waldron@pennhillscdc.org">alan.waldron@pennhillscdc.org</a> or reply to this email.</p>
		         ',
		         'respond' => false
		    ];
		    $email_data['body'] = preg_replace("/\s+/", " ", $email_data['body']);
		    $email_data['body'] = trim($email_data['body']);

		    post_v1_mail_send( '', $email_data, $uid, $is_admin, $db );
		    
		    //1$out[] = $email_data;
		    $i++;

	}

    response(200, ['success'=>true,'emails_sent'=>$i]);

}
*/






function get_v1_members_createusers( $args, $body, $uid, $is_admin, $db ) {

//    $members = qSet( $db, "SELECT * FROM members" );
//
//    foreach ($members as $m) {
//        // GET THE USER'S GROUP ID
//        $group_id = qVal( $db, "SELECT group_id FROM group_member WHERE member_id=".$m['member_id'] );
//
//        // CHECK IF USER HAS AN ACCOUNT
//        $user_id = qVal($db, "SELECT user_id FROM users WHERE email='".$m['email']."'");
//
//        if (!$user_id) {
//            // ADD TO USER TABLE
//            $password = randomPassword(12);
//
//            $ins = "INSERT INTO users (lname, fname, email, orig_pw, password_hash, active, created_at, updated_at) VALUES
//            ( '".$m['lname']."', '".$m['fname']."', '".$m['email']."', '".$password."', '".password_hash($password, PASSWORD_BCRYPT)."', 1, ".time().", ".time()." )";
//            $db->query($ins);
//
//            // GET USER ID
//            $user_id = qVal($db, "SELECT MAX(user_id) FROM users");
//
//            // ADD TO GROUP_USER
//            $ins2 = "INSERT INTO group_user (group_id, user_id) VALUES ( ".$group_id.", ".$user_id.")";
//            $db->query($ins2);
//        }
//    }
//
//    response(200, ['success'=>true]);
}


//
//function get_v1_members_resetpws($args, $body, $uid, $is_admin, $db ) {
//
//    $users = qSet( $db, "SELECT * FROM users" );
//
//    foreach ($users as $u) {
//        if ($u['admin']==0) {
//            //echo '<pre>', print_r($u), '</pre>';
//            // UPDATE THE USER'S PASSWORD
//            $password = randomPassword(10);
//            $db->query( "UPDATE users SET password_hash='".password_hash($password, PASSWORD_BCRYPT)."', orig_pw='".$password."' WHERE user_id=".$u['user_id'] );
//        }
//    }
//
//    response(200, ['success'=>true, 'error'=>$db->error]);
//}




function get_v1_members_setuser( $args, $body, $uid, $is_admin, $db ) {

/*
   $members = qSet( $db, "SELECT m.member_id, m.lname, m.fname, m.email, m.user_id as m_user_id, u.user_id as u_user_id 
   							FROM members as m 
   							LEFT JOIN users as u on m.email = u.email 
   							WHERE m.email <> ''
   				");
   							
   $out = [];

   foreach ($members as $m) {
	   if ($m['m_user_id'] !== $m['u_user_id']) {
		   $out[] = $m;
		   $db->query( "UPDATE members SET user_id=".$m['u_user_id']." WHERE member_id=".$m['member_id'] );
	   }
   }

   response(200, ['success'=>true]);
*/
}

// balkey biekman branch