示例#1
0
 public function process_get($member_id, $subquery)
 {
     switch ($member_id) {
         case "search":
             return search_member_by_email($subquery);
             break;
         case "daily":
             $member_ids = get_all_member_ids();
             foreach ($member_ids as $member_id) {
                 $official_dob = get_team_member_official_dob_by_member_id($member_id);
                 $d = date('m-d', strtotime($official_dob));
                 $c = date('m-d');
                 if ($d == $c) {
                     $members = get_other_members_for_team_member($member_id);
                     $this->member_id = $member_id;
                     $this->official_dob = get_team_member_official_dob_by_member_id($member_id);
                     $this->email = get_team_member_email_by_id($member_id);
                     $this->first_name = get_team_member_name_by_team_member_id($member_id);
                     $this->birthday_members = $members;
                     send_daily_birthday_alert($this);
                 }
             }
             break;
         case "weekly":
             $admin_ids = get_all_admin_ids();
             foreach ($admin_ids as $member_id) {
                 if (count(get_upcoming_birthdays($member_id)) > 0) {
                     $members = get_upcoming_birthdays($member_id);
                     $this->member_id = $member_id;
                     $this->email = get_team_member_email_by_id($member_id);
                     $this->first_name = get_team_member_name_by_team_member_id($member_id);
                     $this->birthday_members = $members;
                     send_weekly_birthday_alert($this);
                 }
             }
             break;
     }
     switch ($subquery) {
         case "celebrations":
             $team_member_celebration = get_celebrations_by_member_id($member_id);
             return $team_member_celebration;
             break;
         case "transactions":
             $transactions = get_member_transactions_by_member_id($member_id);
             return $transactions;
             break;
         case "upcoming-birthdays":
             $members = get_upcoming_birthdays($member_id);
             return $members;
             break;
         default:
             $team_members = get_member_details_by_member_id($member_id);
             return $team_members;
             break;
     }
 }
function get_upcoming_birthdays($member_id)
{
    $current_month = date('m');
    $current_date = date('d');
    $connection = connect();
    $members = get_other_members_for_team_member($member_id);
    $sql = "SELECT member_id, first_name,last_name,official_dob  FROM team_members WHERE member_id in (" . implode(',', $members) . ") and ((Month(official_dob) = " . $current_month . " and Day(official_dob) >= " . $current_date . ") OR Month(official_dob) = " . ($current_month + 1) . ")";
    $result = $connection->query($sql);
    disconnect($connection);
    $member_details = array();
    if ($result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            $member_detail = array('id' => $row["member_id"], 'first_name' => $row["first_name"], 'last_name' => $row["last_name"], 'dob' => $row["official_dob"]);
            $member_details[] = $member_detail;
        }
    }
    usort($member_details, function ($a, $b) {
        return strcmp(date("m-d", strtotime($a['dob'])), date("m-d", strtotime($b['dob'])));
    });
    return $member_details;
}